英文

Chat & support: my new Discord server

Want to contribute? TheBloke's Patreon page

TII's Falcon 7B Instruct GGML

这些文件是GGML格式的模型文件,用于 TII's Falcon 7B Instruct .

这些文件在llama.cpp、 text-generation-webui或KoboldCpp中无法使用。

GGCC是在llama.cpp的新分支中创建的新格式,引入了这种基于Falcon GGML的支持: cmp-nc/ggllm.cpp .

目前这些文件也无法与之前支持Falcon的代码一起使用,比如LoLLMs Web UI和ctransformers。但是很快将会添加支持。

可用的仓库

提示模板:Falcon

User: prompt
Assistant:

兼容性

要构建带有Falcon支持和CUDA加速的cmp-nct分支的llama.cpp,请尝试以下步骤:

git clone https://github.com/cmp-nct/ggllm.cpp
cd ggllm.cpp
rm -rf build && mkdir build && cd build && cmake -DGGML_CUBLAS=1 .. && cmake --build . --config Release

在Windows上编译:开发者cmp-nct的注意事项:“我个人使用VScode进行编译。使用Microsoft编译器进行CUDA支持编译时,选择“社区版构建工具”是必不可少的。否则CUDA将无法编译。”

一旦编译完成,您可以像使用llama.cpp一样使用bin/falcon_main。例如:

bin/falcon_main -t 8 -ngl 100 -b 1 -m falcon-7b-instruct.ggccv1.q4_0.bin -enc -p "write a story about llamas"

参数 -enc 应该自动使用模型的正确提示模板,所以您只需输入所需的提示。

无论您的VRAM有多少,都可以指定 -ngl 100 ,它将自动检测可用于使用的VRAM量。

根据您的系统性能表现,调整 -t 8 (要使用的CPU核心数)。不要超过您拥有的物理CPU核心数。

-b 1 将批量大小减小为1。这稍微降低了提示评估时间,但释放了VRAM以将更多模型加载到GPU上。如果您发现提示评估速度过慢并且有足够的空闲VRAM,可以删除此参数。

有关详细信息和说明,请参见 https://github.com/cmp-nct/ggllm.cpp

提供的文件

Name Quant method Bits Size Max RAM required Use case
falcon-7b-instruct.ggccv1.q4_0.bin q4_0 4 4.06 GB 6.56 GB Original quant method, 4-bit.
falcon-7b-instruct.ggccv1.q4_1.bin q4_1 4 4.51 GB 7.01 GB Original quant method, 4-bit. Higher accuracy than q4_0 but not as high as q5_0. However has quicker inference than q5 models.
falcon-7b-instruct.ggccv1.q5_0.bin q5_0 5 4.96 GB 7.46 GB Original quant method, 5-bit. Higher accuracy, higher resource usage and slower inference.
falcon-7b-instruct.ggccv1.q5_1.bin q5_1 5 5.42 GB 7.92 GB Original quant method, 5-bit. Even higher accuracy, resource usage and slower inference.
falcon-7b-instruct.ggccv1.q8_0.bin q8_0 8 7.67 GB 10.17 GB Original quant method, 8-bit. Almost indistinguishable from float16. High resource use and slow. Not recommended for most users.

注意:上述RAM数据假设没有GPU卸载。如果层被卸载到GPU上,这将减少RAM使用量并使用VRAM。

Discord

如需进一步支持以及有关这些模型和人工智能的讨论,请加入我们:

TheBloke AI's Discord server

感谢和如何贡献

感谢 chirper.ai 团队!

很多人问我是否可以做出贡献。我喜欢提供模型和帮助他人,并希望能有更多的时间来做这些事情,以及扩大到像精细调整/训练这样的新项目上。

如果您有能力和意愿提供贡献,我将非常感激,并将帮助我继续提供更多的模型,并开始新的人工智能项目。

捐赠者将优先获得关于任何AI/LLM/模型问题和请求的支持,可以进入私人Discord房间,以及其他福利。

特别感谢:Luke from CarbonQuill,Aemon Algiz。

Patreon特别提及:RoA,Lone Striker,Gabriel Puliatti,Derek Yates,Randy H,Jonathan Leane,Eugene Pentland,Karl Bernard,Viktor Bowallius,senxiiz,Daniel P. Andersen,Pierre Kircher,Deep Realms,Cory Kujawski,Oscar Rangel,Fen Risland,Ajan Kanaga,LangChain4j,webtim,Nikolai Manek,Trenton Dambrowitz,Raven Klaugh,Kalila,Khalefa Al-Ahmad,Chris McCloskey,Luke @flexchar,Ai Maven,Dave,Asp the Wyvern,Sean Connelly,Imad Khwaja,Space Cruiser,Rainer Wilmers,subjectnull,Alps Aficionado,Willian Hasse,Fred von Graf,Artur Olbinski,Johann-Peter Hartmann,WelcomeToTheClub,Willem Michiel,Michael Levine,Iucharbius,Spiking Neurons AB,K,biorpg,John Villwock,Pyrater,Greatston Gnanesh,Mano Prime,Junyu Yang,Stephen Murray,John Detwiler,Luke Pendergrass,terasurfer,Pieter,zynix,Edmond Seymore,theTransient,Nathan LeClaire,vamX,Kevin Schuppel,Preetika Verma,ya boyyy,Alex,SuperWojo,Ghost,Joseph William Delisle,Matthew Berman,Talal Aujan,chris gileta,Illia Dulskyi。

感谢所有慷慨的赞助人和捐助者!

Falcon 7B Instruct原始模型卡片

✨ Falcon-7B-Instruct

Falcon-7B-Instruct是 TII 基于 Falcon-7B 构建的具有7B参数的只解码器模型,并在混合指令/对话数据集上进行了微调。它根据Apache 2.0许可协议提供。

论文即将推出 ?。

? 我们推荐阅读 this great blogpost fron HF ,以了解如何开始使用Falcon(推断、微调、量化等)。

为什么使用Falcon-7B-Instruct?

? 这是一个指令模型,可能不适合进一步微调。如果您有兴趣构建自己的指令/对话模型,我们建议从 Falcon-7B 开始。

? 寻找更强大的模型? Falcon-40B-Instruct 是Falcon-7B-Instruct的大哥!

from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch

model = "tiiuae/falcon-7b-instruct"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto",
)
sequences = pipeline(
   "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:",
    max_length=200,
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

? Falcon LLMs在使用transformers进行快速推断时需要PyTorch 2.0!

要了解如何通过Falcon进行快速推断,请查看 Text Generation Inference !在本 blogpost 中阅读更多详细信息。

您需要至少16GB内存来快速运行Falcon-7B-Instruct的推断。

Falcon-7B-Instruct模型卡片

模型细节

模型描述

  • 开发者: https://www.tii.ae
  • 模型类型:只解码器模型;
  • 语言(NLP):英语和法语;
  • 许可证:Apache 2.0;
  • 从模型进行微调: Falcon-7B

模型来源

  • 论文:即将推出。

使用

直接使用

Falcon-7B-Instruct已经在指令和对话数据集的混合中进行了微调。

超出范围的使用

在没有充分评估风险和减轻措施的情况下进行生产使用;任何可能被认为是不负责任或有害的用例。

偏见、风险和限制

Falcon-7B-Instruct主要是在英语数据上进行训练的,对其他语言的泛化能力不足。此外,由于它是在代表Web的大规模语料库上训练的,它会携带常见的在线偏见和刻板印象。

建议

我们建议Falcon-7B-Instruct的用户制定相应的风险控制措施,并为任何生产用途采取适当的预防措施。

如何开始使用模型

from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch

model = "tiiuae/falcon-7b-instruct"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    tokenizer=tokenizer,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto",
)
sequences = pipeline(
   "Girafatron is obsessed with giraffes, the most glorious animal on the face of this Earth. Giraftron believes all other animals are irrelevant when compared to the glorious majesty of the giraffe.\nDaniel: Hello, Girafatron!\nGirafatron:",
    max_length=200,
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

训练细节

训练数据

Falcon-7B-Instruct是在250M标记的指令/对话数据集混合上进行微调的。

Data source Fraction Tokens Description
12336321 65% 164M chat
12337321 25% 62M instruct
12338321 5% 11M instruct
12339321 5% 13M massive web crawl

数据使用Falcon- 7B / 40B 分词器进行分词。

评估

论文即将推出。

请参阅 OpenLLM Leaderboard 以获取初步结果。

请注意,该模型变体并未针对NLP基准进行优化。

技术规格

有关预训练的更多信息,请参阅 Falcon-7B .

模型架构和目标

Falcon-7B是一个只解码器模型,训练任务是进行因果语言建模(即预测下一个标记)。

该架构广泛借鉴了GPT-3论文( Brown et al., 2020 ),但有以下区别:

Hyperparameter Value Comment
Layers 32
d_model 4544 Increased to compensate for multiquery
head_dim 64 Reduced to optimise for FlashAttention
Vocabulary 65024
Sequence length 2048

计算基础设施

硬件

Falcon-7B-Instruct在AWS SageMaker上进行训练,使用P4d实例上的32个A100 40GB GPU。

软件

Falcon-7B-Instruct是使用定制的分布式训练代码库Gigatron进行训练的。它使用三维并行性方法结合ZeRO和高性能的Triton内核(如FlashAttention等)。

引用

论文即将推出 ?。在此期间,您可以使用以下信息进行引用:

@article{falcon40b,
  title={{Falcon-40B}: an open large language model with state-of-the-art performance},
  author={Almazrouei, Ebtesam and Alobeidli, Hamza and Alshamsi, Abdulaziz and Cappelli, Alessandro and Cojocaru, Ruxandra and Debbah, Merouane and Goffinet, Etienne and Heslow, Daniel and Launay, Julien and Malartic, Quentin and Noune, Badreddine and Pannier, Baptiste and Penedo, Guilherme},
  year={2023}
}

要了解有关预训练数据集的更多信息,请参见 ? RefinedWeb paper

@article{refinedweb,
  title={The {R}efined{W}eb dataset for {F}alcon {LLM}: outperforming curated corpora with web data, and web data only},
  author={Guilherme Penedo and Quentin Malartic and Daniel Hesslow and Ruxandra Cojocaru and Alessandro Cappelli and Hamza Alobeidli and Baptiste Pannier and Ebtesam Almazrouei and Julien Launay},
  journal={arXiv preprint arXiv:2306.01116},
  eprint={2306.01116},
  eprinttype = {arXiv},
  url={https://arxiv.org/abs/2306.01116},
  year={2023}
}

许可协议

Falcon-7B-Instruct根据Apache 2.0许可证提供。

联系方式

falconllm@tii.ae