每当我们在公有云或者私有云发布训练好的大数据模型,为了方便大家辨识、理解和运用,参照huggingface所制定的标准制作一个Model Card展示页,是种非常好的模型展示和组织形式。
下面就是一个Model Card 的示例,我试着把它翻译成了中文,源网址,并且提供了Markdown的模板,供大家参考。在这里你可以看到它的指导手册,以后有时间我也把它翻译过来。
Falcon-180B是一个1800亿参数的因果解码器模型,它由TII(Technology Innovation Institut)公司研发,基于RefinedWeb增强的语料库,使用3万5千亿个Token进行训练。它提供了Falcon-180B TII License(猎鹰180 TII许可证) 和 Acceptable Use Policy(使用条款).
论文将很快发布 😊
🤗 要开始使用Falcon(推理、微调、量化等),我们建议阅读 HF这篇伟大的博客 或者 这篇 Falcon-40B的发布版!
请注意因为180B大于transformers(转换)
+acccelerate(加速)
可以轻松处理的值, 我们建议使用Text Generation Inference(文本生成推断).
您 至少需要400GB内存 才能使用Falcon-180B快速进行推理.
💸 想找一个更小、更便宜的模型吗? Falcon-7B 和 Falcon-40B 是 Falcon-180B 的小兄弟!
💥 Falcon LLMs 需要 PyTorch 2.0 才能使用 transformers
!
大型语言模型研究;作为进一步专业化和微调特定用例(例如,摘要、文本生成、聊天机器人等)的基础
没有对风险和mitigation(抱歉不知道这个词怎么翻译)进行充分评估就在生产环境中使用;任何可能被认为是不负责任或有害的用例。
Falcon-180B主要接受英语、德语、西班牙语和法语的训练,意大利语、葡萄牙语、波兰语、荷兰语、罗马尼亚语、捷克语和瑞典语的能力有限。它不会适当地推广到其他语言。此外,由于它是在代表网络的大规模语料库上进行训练的,它将携带网上常见的刻板印象和偏见。
我们建议Falcon-180B的用户考虑对其进行微调,以适应感兴趣的特定任务集,并且在生产环境中使用界限和适当的预防措施。
要完全以 bfloat16
精度运行模型您需要大约8张A100 80GB计算卡或者等效容量。
(以下是Python代码)
from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch
model = "tiiuae/falcon-180b"
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-180B 使用 3万5千亿个Token,使用 RefinedWeb, 一个高质量的过滤和消除重复的网络数据集。我们用策划的语料库进行了增强。我们精心策划的copora的重要组成部分受到The Pile的启发 (Gao et al., 2020).
数据集 | 比例 | Tokens | 来源 |
---|---|---|---|
RefinedWeb-English | 75% | 750B | 大量的网络爬虫数据 |
RefinedWeb-Europe | 7% | 70B | 来自欧洲的网络爬虫数据 |
Books 书籍 | 6% | 60B | |
Conversations 会话 | 5% | 50B | Reddit, StackOverflow, HackerNews |
Code 代码 | 5% | 50B | |
Technical 技术 | 2% | 20B | arXiv, PubMed, USPTO, etc. |
RefinedWeb-欧洲 数据集由以下语言组成:
语言 | 多语种的笔记 | Tokens |
---|---|---|
德语 | 26% | 18B |
西班牙语 | 24% | 17B |
法语 | 23% | 16B |
意大利语 | 7% | 5B |
葡萄牙语 | 4% | 3B |
波兰语 | 4% | 3B |
荷兰语 | 4% | 3B |
罗马尼亚语 | 3% | 2B |
捷克语 | 3% | 2B |
瑞典语 | 2% | 1B |
所有的数据由Falcon Token标记器进行Token化.
Falcon-180B 使用4096块Tesla A100 40GB计算卡进行训练, 使用3D并行化策略(TP=8, PP=8, DP=64)与ZeRO相结合.
超级参数 | 值 | 备注 |
---|---|---|
精度 | bfloat16 |
|
优化器 | AdamW | |
学习率 | 1.25e-4 | 4B tokens warm-up, cosine decay to 1.25e-5 |
权重衰减 | 1e-1 | |
Z-loss | 1e-4 | |
批处理大小 | 2048 | 100B tokens ramp-up |
训练于于2023年初开始。
即将发布论文.
有关早期结果,请参阅 OpenLLM Leaderboard 排行榜。
Falcon-180B 是在因果关系语言模型上建立的因果关系解码语言模型 (i.e., 预测下一个Token).
该体系架构广泛改编自GPT-3论文 (Brown et al., 2020), 并且有着以下几方面的不同:
对于多重查询,我们使用一个内部变量,该变量使用每个张量平行度的独立键和值(所谓的多组)。
超参数 | 值 | 备注 |
---|---|---|
层数 | 80 | |
d_model |
14848 | |
head_dim |
64 | Reduced to optimise for FlashAttention |
字典 | 65024 | |
序列长度 | 2048 |
Falcon-180B 在 AWS SageMaker 上训练, 使用 P4d 实例中多达 4,096 个 A100 40GB GPUs。
Falcon-180B 是基于定制的分布式训练代码库 Gigatron 进行训练的。 它采用了 3D 并行方法,并结合了 ZeRO 和高性能的 Triton 内核(如 FlashAttention 等)。
将很快推出 😊 (实际上这次). 同时,您可以使用以下信息进行引用:
@article{falcon,
title={The Falcon Series of Language Models: Towards Open Frontier Models},
author={Almazrouei, Ebtesam and Alobeidli, Hamza and Alshamsi, Abdulaziz and Cappelli, Alessandro and Cojocaru, Ruxandra and Alhammadi, Maitha and Daniele, Mazzotta 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}
}
falconllm@tii.ae
{{ model_summary | default("", true) }}
{{ model_description | default("", true) }}
{{ direct_use | default("[More Information Needed]", true)}}
{{ downstream_use | default("[More Information Needed]", true)}}
{{ out_of_scope_use | default("[More Information Needed]", true)}}
{{ bias_risks_limitations | default("[More Information Needed]", true)}}
{{ bias_recommendations | default("Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.", true)}}
Use the code below to get started with the model.
{{ get_started_code | default("[More Information Needed]", true)}}
{{ training_data | default("[More Information Needed]", true)}}
{{ preprocessing | default("[More Information Needed]", true)}}
{{ speeds_sizes_times | default("[More Information Needed]", true)}}
{{ testing_data | default("[More Information Needed]", true)}}
{{ testing_factors | default("[More Information Needed]", true)}}
{{ testing_metrics | default("[More Information Needed]", true)}}
{{ results | default("[More Information Needed]", true)}}
{{ results_summary | default("", true) }}
{{ model_examination | default("[More Information Needed]", true)}}
Carbon emissions can be estimated using the Machine Learning Impact calculator presented in Lacoste et al. (2019).
{{ model_specs | default("[More Information Needed]", true)}}
{{ compute_infrastructure | default("[More Information Needed]", true)}}
{{ hardware_requirements | default("[More Information Needed]", true)}}
{{ software | default("[More Information Needed]", true)}}
BibTeX:
{{ citation_bibtex | default("[More Information Needed]", true)}}
APA:
{{ citation_apa | default("[More Information Needed]", true)}}
{{ glossary | default("[More Information Needed]", true)}}
{{ more_information | default("[More Information Needed]", true)}}
{{ model_card_authors | default("[More Information Needed]", true)}}
{{ model_card_contact | default("[More Information Needed]", true)}}