版本 1.0 / 26.May.2022
本节提供给希望了解模型的任何人的信息。
点击展开开发者:BigScience( website )
模型类型:基于Transformer的语言模型
版本:1.0.0
语言:多种;请参阅训练数据
许可:RAIL许可证v1.0( link )
预计发布日期:2022年7月11日星期一
提出问题:bigscience-contact@googlegroups.com
引用:BigScience,BigScience Language开放科学开放获取多语言(BLOOM)语言模型。国际,2021年5月-2022年5月
资助方:
法国政府。
Hugging Face( website )。
贡献者组织。 (组织的详细分布将很快公布。)
本节提供给从事模型开发的人士。
点击展开请查看 the BLOOM training README ,以了解完整的复制训练细节。
模型架构:基于Megatron-LM GPT2进行修改(参见 paper , BLOOM Megatron code ):
目标函数:交叉熵,使用平均降低(参见 API documentation )。
计算基础设施:Jean Zay公共超级计算机,由法国政府提供(参见 announcement )。
训练日志: Tensorboard link
BLOOM标记器( link )是一个经过训练的子词标记器,使用以下方式进行训练:
它是使用预处理文本的1.5TB子集进行训练的,转换为350B个唯一标记(请参阅标记器部分)。
训练超级计算机Jean Zay( website )主要使用核能。它产生的热量被再利用用于加热校园住房。
估计的碳排放量:(在训练完成后即可公布)
估计的电力使用量:(在训练完成后即可公布)
本节回答了关于模型的预期使用方式的问题,讨论了可能受模型影响的用户,并描述了模型的超出范围或误用。它为考虑使用模型或受到模型影响的任何人提供信息。
点击展开创建此模型是为了促进大型语言模型(LLMs)的公共研究。LLMs旨在用于语言生成或作为可以进一步用于特定任务的预训练基础模型。以下用例并非详尽无遗。
直接使用本节介绍用户不应该使用模型进行的操作。
有关详细使用限制,请参见 BLOOM License ,附件A。以下列表并非详尽无遗,但列出了一些容易预见的问题用例。
超出范围的使用故意使用模型进行伤害、违反人权或其他恶意活动是对该模型的误用。这包括:
本节提供训练数据的高级概述。对于想要了解模型学习的基本知识的人士来说,这是相关的。
点击展开有关每个数据集的详细信息,请参见各个 Data Cards 。
训练数据包括:
饼图显示了训练数据中各种语言的分布。
下表显示了尼日尔-刚果语和印度语系语言在训练数据中的进一步分布。
点击展开Niger Congo | Percentage | Indic | Percentage |
---|---|---|---|
Chi Tumbuka | 0.00002 | Assamese | 0.01 |
Kikuyu | 0.00004 | Odia | 0.04 |
Bambara | 0.00004 | Gujarati | 0.04 |
Akan | 0.00007 | Marathi | 0.05 |
Xitsonga | 0.00007 | Punjabi | 0.05 |
Sesotho | 0.00007 | Kannada | 0.06 |
Chi Chewa | 0.0001 | Nepali | 0.07 |
Setswana | 0.0002 | Telugu | 0.09 |
Northern Sotho | 0.0002 | Malayalam | 0.10 |
Fon | 0.0002 | Urdu | 0.10 |
Kirundi | 0.0003 | Tamil | 0.20 |
Wolof | 0.0004 | Bengali | 0.50 |
Kuganda | 0.0004 | Hindi | 0.70 |
Chi Shona | 0.001 | ||
Isi Zulu | 0.001 | ||
Igbo | 0.001 | ||
Xhosa | 0.001 | ||
Kinyarwanda | 0.003 | ||
Yoruba | 0.006 | ||
Swahili | 0.02 |
下表显示了编程语言的分布。
点击展开Extension | Language | Number of files |
---|---|---|
java | Java | 5,407,724 |
php | PHP | 4,942,186 |
cpp | C++ | 2,503,930 |
py | Python | 2,435,072 |
js | JavaScript | 1,905,518 |
cs | C# | 1,577,347 |
rb | Ruby | 6,78,413 |
cc | C++ | 443,054 |
hpp | C++ | 391,048 |
lua | Lua | 352,317 |
go | GO | 227,763 |
ts | TypeScript | 195,254 |
C | C | 134,537 |
scala | Scala | 92,052 |
hh | C++ | 67,161 |
H | C++ | 55,899 |
tsx | TypeScript | 33,107 |
rs | Rust | 29,693 |
phpt | PHP | 9,702 |
c++ | C++ | 1,342 |
h++ | C++ | 791 |
php3 | PHP | 540 |
phps | PHP | 270 |
php5 | PHP | 166 |
php4 | PHP | 29 |
本节确定了可预见的风险和误解。
点击展开模型可能会:
本节描述了评估协议并提供结果。
点击展开本节描述了计算性能的不同方式以及原因。
包括:
Metric | Why chosen |
---|---|
Perplexity | Standard metric for quantifying model improvements during training |
Cross Entropy Loss | Standard objective for language models. |
以及特定任务的多种不同度量标准(评估协议完成后即可公布更多评估指标)。
本节列出了BLOOM模型的一些不同方面。重点是可能导致模型行为差异很大的方面。
结果基于 因素 和 指标 。
零样本评估:
请参阅此存储库的JSON文件: https://github.com/bigscience-workshop/evaluation-results
Task | Language | Metric | BLOOM-2B5 |
---|---|---|---|
arc_challenge | eng | acc ↑ | 0.28 |
arc_easy | eng | acc ↑ | 0.595 |
axb (Median of 10 prompts) | eng | acc ↑ | 0.443 |
axg (Median of 10 prompts) | eng | acc ↑ | 0.5 |
boolq (Median of 11 prompts) | eng | acc ↑ | 0.617 |
cb (Median of 15 prompts) | eng | acc ↑ | 0.304 |
cola (Median of 5 prompts) | eng | acc ↑ | 0.611 |
copa (Median of 9 prompts) | eng | acc ↑ | 0.63 |
crows_pairs_english (Median of 6 prompts) | eng | acc ↑ | 0.497 |
crows_pairs_french (Median of 7 prompts) | fra | acc ↑ | 0.503 |
diabla (Median of 2 prompts) | eng | acc ↑ | 0.289 |
gsarti/flores_101_afr | afr | byte_perplexity ↓ | 6.501 |
gsarti/flores_101_amh | amh | byte_perplexity ↓ | 3.973 |
gsarti/flores_101_ara | ara | byte_perplexity ↓ | 1.808 |
gsarti/flores_101_asm | asm | byte_perplexity ↓ | 5.699 |
gsarti/flores_101_ast | ast | byte_perplexity ↓ | 3.925 |
gsarti/flores_101_azj | azj | byte_perplexity ↓ | 6.943 |
gsarti/flores_101_bel | bel | byte_perplexity ↓ | 3.614 |
gsarti/flores_101_ben | ben | byte_perplexity ↓ | 5.121 |
gsarti/flores_101_bos | bos | byte_perplexity ↓ | 5.653 |
gsarti/flores_101_bul | bul | byte_perplexity ↓ | 2.701 |
gsarti/flores_101_cat | cat | byte_perplexity ↓ | 2.305 |
gsarti/flores_101_ceb | ceb | byte_perplexity ↓ | 6.291 |
gsarti/flores_101_ces | ces | byte_perplexity ↓ | 5.447 |
gsarti/flores_101_ckb | ckb | byte_perplexity ↓ | 3.726 |
gsarti/flores_101_cym | cym | byte_perplexity ↓ | 12.539 |
gsarti/flores_101_dan | dan | byte_perplexity ↓ | 5.183 |
gsarti/flores_101_deu | deu | byte_perplexity ↓ | 3.118 |
gsarti/flores_101_ell | ell | byte_perplexity ↓ | 2.468 |
gsarti/flores_101_eng | eng | byte_perplexity ↓ | 2.019 |
gsarti/flores_101_est | est | byte_perplexity ↓ | 9.117 |
gsarti/flores_101_fas | fas | byte_perplexity ↓ | 3.058 |
gsarti/flores_101_fin | fin | byte_perplexity ↓ | 6.847 |
gsarti/flores_101_fra | fra | byte_perplexity ↓ | 1.998 |
gsarti/flores_101_ful | ful | byte_perplexity ↓ | 11.466 |
gsarti/flores_101_gle | gle | byte_perplexity ↓ | 8.681 |
gsarti/flores_101_glg | glg | byte_perplexity ↓ | 3.03 |
gsarti/flores_101_guj | guj | byte_perplexity ↓ | 4.955 |
gsarti/flores_101_hau | hau | byte_perplexity ↓ | 10.758 |
gsarti/flores_101_heb | heb | byte_perplexity ↓ | 3.6 |
gsarti/flores_101_hin | hin | byte_perplexity ↓ | 4.713 |
gsarti/flores_101_hrv | hrv | byte_perplexity ↓ | 5.822 |
gsarti/flores_101_hun | hun | byte_perplexity ↓ | 6.44 |
gsarti/flores_101_hye | hye | byte_perplexity ↓ | 3.658 |
gsarti/flores_101_ibo | ibo | byte_perplexity ↓ | 5.565 |
gsarti/flores_101_ind | ind | byte_perplexity ↓ | 2.16 |
gsarti/flores_101_isl | isl | byte_perplexity ↓ | 8.082 |
gsarti/flores_101_ita | ita | byte_perplexity ↓ | 2.969 |
gsarti/flores_101_jav | jav | byte_perplexity ↓ | 7.057 |
gsarti/flores_101_jpn | jpn | byte_perplexity ↓ | 2.776 |
gsarti/flores_101_kam | kam | byte_perplexity ↓ | 11.073 |
gsarti/flores_101_kan | kan | byte_perplexity ↓ | 5.552 |
gsarti/flores_101_kat | kat | byte_perplexity ↓ | 2.523 |
gsarti/flores_101_kaz | kaz | byte_perplexity ↓ | 3.39 |
gsarti/flores_101_kea | kea | byte_perplexity ↓ | 8.919 |
gsarti/flores_101_kir | kir | byte_perplexity ↓ | 3.729 |
gsarti/flores_101_kor | kor | byte_perplexity ↓ | 3.933 |
gsarti/flores_101_lao | lao | byte_perplexity ↓ | 2.908 |
gsarti/flores_101_lav | lav | byte_perplexity ↓ | 7.777 |
gsarti/flores_101_lin | lin | byte_perplexity ↓ | 7.525 |
gsarti/flores_101_lit | lit | byte_perplexity ↓ | 7.369 |
gsarti/flores_101_ltz | ltz | byte_perplexity ↓ | 8.801 |
gsarti/flores_101_lug | lug | byte_perplexity ↓ | 8.483 |
gsarti/flores_101_luo | luo | byte_perplexity ↓ | 11.976 |
gsarti/flores_101_mal | mal | byte_perplexity ↓ | 4.616 |
gsarti/flores_101_mar | mar | byte_perplexity ↓ | 5.483 |
gsarti/flores_101_mkd | mkd | byte_perplexity ↓ | 2.966 |
gsarti/flores_101_mlt | mlt | byte_perplexity ↓ | 15.005 |
gsarti/flores_101_mon | mon | byte_perplexity ↓ | 3.411 |
gsarti/flores_101_mri | mri | byte_perplexity ↓ | 7.474 |
gsarti/flores_101_msa | msa | byte_perplexity ↓ | 2.571 |
gsarti/flores_101_mya | mya | byte_perplexity ↓ | 2.414 |
gsarti/flores_101_nld | nld | byte_perplexity ↓ | 4.128 |
gsarti/flores_101_nob | nob | byte_perplexity ↓ | 5.403 |
gsarti/flores_101_npi | npi | byte_perplexity ↓ | 5.199 |
gsarti/flores_101_nso | nso | byte_perplexity ↓ | 8.155 |
gsarti/flores_101_nya | nya | byte_perplexity ↓ | 8.18 |
gsarti/flores_101_oci | oci | byte_perplexity ↓ | 4.862 |
gsarti/flores_101_orm | orm | byte_perplexity ↓ | 12.912 |
gsarti/flores_101_ory | ory | byte_perplexity ↓ | 5.189 |
gsarti/flores_101_pan | pan | byte_perplexity ↓ | 4.698 |
gsarti/flores_101_pol | pol | byte_perplexity ↓ | 4.626 |
gsarti/flores_101_por | por | byte_perplexity ↓ | 1.975 |
gsarti/flores_101_pus | pus | byte_perplexity ↓ | 4.496 |
gsarti/flores_101_ron | ron | byte_perplexity ↓ | 4.965 |
gsarti/flores_101_rus | rus | byte_perplexity ↓ | 2.05 |
gsarti/flores_101_slk | slk | byte_perplexity ↓ | 6.451 |
gsarti/flores_101_slv | slv | byte_perplexity ↓ | 6.62 |
gsarti/flores_101_sna | sna | byte_perplexity ↓ | 8.462 |
gsarti/flores_101_snd | snd | byte_perplexity ↓ | 5.466 |
gsarti/flores_101_som | som | byte_perplexity ↓ | 11.959 |
gsarti/flores_101_spa | spa | byte_perplexity ↓ | 1.897 |
gsarti/flores_101_srp | srp | byte_perplexity ↓ | 2.871 |
gsarti/flores_101_swe | swe | byte_perplexity ↓ | 5.055 |
gsarti/flores_101_swh | swh | byte_perplexity ↓ | 3.697 |
gsarti/flores_101_tam | tam | byte_perplexity ↓ | 4.539 |
gsarti/flores_101_tel | tel | byte_perplexity ↓ | 5.807 |
gsarti/flores_101_tgk | tgk | byte_perplexity ↓ | 3.599 |
gsarti/flores_101_tgl | tgl | byte_perplexity ↓ | 5.667 |
gsarti/flores_101_tha | tha | byte_perplexity ↓ | 2.366 |
gsarti/flores_101_tur | tur | byte_perplexity ↓ | 4.885 |
gsarti/flores_101_ukr | ukr | byte_perplexity ↓ | 2.724 |
gsarti/flores_101_umb | umb | byte_perplexity ↓ | 12.767 |
gsarti/flores_101_urd | urd | byte_perplexity ↓ | 1.98 |
gsarti/flores_101_uzb | uzb | byte_perplexity ↓ | 12.002 |
gsarti/flores_101_vie | vie | byte_perplexity ↓ | 1.766 |
gsarti/flores_101_wol | wol | byte_perplexity ↓ | 9.144 |
gsarti/flores_101_xho | xho | byte_perplexity ↓ | 7.403 |
gsarti/flores_101_yor | yor | byte_perplexity ↓ | 5.913 |
gsarti/flores_101_zho_simpl | zho_simpl | byte_perplexity ↓ | 2.277 |
gsarti/flores_101_zho_trad | zho_trad | byte_perplexity ↓ | 2.518 |
gsarti/flores_101_zul | zul | byte_perplexity ↓ | 8.534 |
headqa | esp | acc ↑ | 0.264 |
hellaswag | eng | acc ↑ | 0.412 |
logiqa | eng | acc ↑ | 0.207 |
mathqa | eng | acc ↑ | 0.25 |
mc_taco | eng | em ↑ | 0.119 |
mnli (Median of 15 prompts) | eng | acc ↑ | 0.355 |
mnli_mismatched (Median of 15 prompts) | eng | acc ↑ | 0.352 |
mrpc | eng | acc ↑ | 0.586 |
multirc (Median of 11 prompts) | eng | acc ↑ | 0.538 |
openbookqa | eng | acc ↑ | 0.216 |
piqa | eng | acc ↑ | 0.708 |
prost | eng | acc ↑ | 0.227 |
pubmedqa | eng | acc ↑ | 0.616 |
qnli | eng | acc ↑ | 0.507 |
qqp (Median of 7 prompts) | eng | acc ↑ | 0.384 |
race | eng | acc ↑ | 0.352 |
rte (Median of 6 prompts) | eng | acc ↑ | 0.477 |
sciq | eng | acc ↑ | 0.892 |
sst (Median of 6 prompts) | eng | acc ↑ | 0.518 |
triviaqa | eng | acc ↑ | 0.042 |
tydiqa_primary (Median of 24 prompts) | eng | acc ↑ | 0.301 |
webqs | eng | acc ↑ | 0.017 |
wic (Median of 11 prompts) | eng | acc ↑ | 0.502 |
winogrande | eng | acc ↑ | 0.586 |
wnli (Median of 6 prompts) | eng | acc ↑ | 0.472 |
wsc (Median of 11 prompts) | eng | acc ↑ | 0.442 |
humaneval | python | pass@1 ↑ | 0.155 |
humaneval | python | pass@10 ↑ | 0.322 |
humaneval | python | pass@100 ↑ | 0.555 |
训练时评估:
截至2022年5月25日15:00 PST:
本节提供有关警告和潜在缓解措施的信息。
点击展开本节定义常见术语以及如何计算指标。
点击展开博客文章详细介绍了数据集创建过程中的设计选择: https://bigscience.huggingface.co/blog/building-a-tb-scale-multilingual-dataset-for-language-modeling
介绍如何选择架构、大小、形状和预训练持续时间的博客文章概要: https://bigscience.huggingface.co/blog/what-language-model-to-train-if-you-have-two-million-gpu-hours
关于架构/优化器的更多详细信息: https://github.com/bigscience-workshop/bigscience/tree/master/train/tr11-176B-ml
关于硬件/工程方面的博客文章: https://bigscience.huggingface.co/blog/which-hardware-to-train-a-176b-parameters-model
关于训练使用的分布式设置的详细信息: https://github.com/bigscience-workshop/bigscience/tree/master/train/tr11-176B-ml
训练期间的Tensorboard更新: https://huggingface.co/bigscience/tr11-176B-ml-logs/tensorboard#scalars&tagFilter=loss
关于如何进行训练、负面结果的洞察力: https://github.com/bigscience-workshop/bigscience/blob/master/train/lessons-learned.md
在工程方面进行准备期间克服的障碍的详细信息(不稳定性、优化训练吞吐量、许多技术技巧和问题): https://github.com/bigscience-workshop/bigscience/blob/master/train/tr11-176B-ml/chronicles.md
使用临时检查点进行的初始提示实验: https://huggingface.co/spaces/bigscience/bloom-book
按时间顺序和花费的时间排序。
Margaret Mitchell,Giada Pistilli,Yacine Jernite,Ezinwanne Ozoani,Marissa Gerchick,Nazneen Rajani,Sasha Luccioni,Irene Solaiman,Maraim Masoud,Somaieh Nikpoor,Carlos Muñoz Ferrandis,Stas Bekman,Christopher Akiki,Danish Contractor,David Lansky,Angelina McMillan-Major,Tristan Thrush,Suzana Ilić,Gérard Dupont,Shayne Longpre,Manan Dey,Stella Biderman,Douwe Kiela,Emi Baylor,Teven Le Scao,Aaron Gokaslan,Julien Launay,Niklas Muennighoff