模型概述
模型特點
模型能力
使用案例
🚀 BLOOM LM
BigScience研發的大型開放科學、開放訪問的多語言語言模型,可用於文本生成等任務,支持多種自然語言和編程語言。
📚 詳細文檔
目錄
模型詳情
模型描述
本部分為想了解該模型的用戶提供相關信息。
- 開發者:BigScience(網站)
- 所有協作者要麼是志願者,要麼與他們的僱主達成了協議。(參與者的進一步細分信息即將公佈。)
- 模型類型:基於Transformer的語言模型
- 版本:1.0.0
- 支持語言:多種;詳見訓練數據
- 許可證:RAIL許可證v1.0(鏈接)
- 預計發佈日期:2022年7月11日,星期一
- 資助方:
- 法國政府。
- Hugging Face(網站)。
- 貢獻者所在的組織。(組織的進一步細分信息即將公佈。)
用途
本部分解答了關於模型預期用途的問題,討論了模型的潛在用戶(包括受模型影響的用戶),並描述了超出模型適用範圍或濫用模型的情況。它為考慮使用該模型或受模型影響的用戶提供了信息。
預期用途
該模型旨在推動大型語言模型(LLM)的公開研究。LLM可用於文本生成,或作為預訓練基礎模型,進一步針對特定任務進行微調。以下用例並非詳盡無遺。
- 直接用途
- 文本生成
- 探索語言模型生成語言的特性
- 示例:完形填空測試、反事實推理、重新構建框架後的生成
- 下游用途
- 利用語言模型的任務包括:信息提取、問答、摘要生成
超出適用範圍的使用和濫用
本部分說明了用戶不應如何使用該模型。 請參閱BLOOM許可證附件A,瞭解詳細的使用限制。以下列表並非詳盡無遺,但列出了一些容易預見的有問題的使用場景。
- 超出適用範圍的使用
在高風險場景中使用該模型超出了其適用範圍。該模型並非為關鍵決策而設計,也不適用於對個人生計或福祉有重大影響的用途。模型輸出的內容可能看似事實,但實際上並不正確。
- 超出適用範圍的使用包括:
- 在生物醫學、政治和法律、金融領域的使用
- 用於評估或評分個人,如用於就業、教育或信貸
- 將模型用於關鍵的自動決策、生成事實性內容、創建可靠的摘要或生成必須正確的預測
- 超出適用範圍的使用包括:
- 濫用
故意使用該模型造成傷害、侵犯人權或進行其他惡意活動,均屬於對該模型的濫用。這包括:
- 垃圾郵件生成
- 虛假信息和影響操作
- 詆譭和誹謗
- 騷擾和虐待
- 欺騙
- 未經同意的模仿和假冒
- 未經同意的監視
- 未按照RAIL許可證使用限制的規定對模型進行歸因就生成內容
預期用戶
- 直接用戶
- 普通公眾
- 研究人員
- 學生
- 教育工作者
- 工程師/開發者
- 非商業實體
- 社區倡導者,包括人權和公民權利組織
- 間接用戶
- 使用直接用戶創建的衍生產品的用戶,如使用具有預期用途的軟件的用戶
- 使用許可證中描述的模型衍生產品的用戶
- 其他受影響方
- 大型語言模型提及的個人和群體
- 接觸到大型語言模型輸出內容或基於其輸出做出決策的個人和群體
- 其原創作品被納入大型語言模型的個人和群體
偏差、風險和侷限性
本部分識別了可預見的危害和誤解。 模型可能存在以下問題:
- 過度代表某些觀點,而對其他觀點代表不足
- 包含刻板印象
- 包含個人信息
- 生成:
- 仇恨性、辱罵性或暴力性語言
- 歧視性或偏見性語言
- 可能不適合所有場景的內容,包括色情內容
- 出現錯誤,包括將不正確的信息當作事實輸出
- 生成無關或重複的輸出
建議
本部分提供了警告和潛在緩解措施的信息。
- 間接用戶在處理由大型語言模型創建的內容時,應被告知這一情況。
- 用戶應瞭解風險和侷限性,並根據需要包含適當的年齡聲明或屏蔽界面。
- 使用大型語言模型進行預訓練的模型應包含更新後的模型卡片。
- 模型用戶應提供受影響方反饋的機制,如用於接收評論的電子郵件地址。
訓練數據
本部分提供了訓練數據的高級概述。對於想了解模型學習基礎的用戶來說,這部分內容很有參考價值。 每個數據集的詳細信息可在單獨的數據卡片中找到。 訓練數據包括:
- 45種自然語言
- 12種編程語言
- 1.5TB的預處理文本,轉換為3500億個唯一標記(更多信息請參閱標記器部分)
語言
餅圖展示了訓練數據中語言的分佈情況。
以下表格展示了訓練數據中尼日爾 - 剛果語系和印度 - 雅利安語系語言的進一步分佈情況。
尼日爾 - 剛果語系 | 百分比 | 印度 - 雅利安語系 | 百分比 | |
---|---|---|---|---|
奇通布卡語 | 0.00002 | 阿薩姆語 | 0.01 | |
基庫尤語 | 0.00004 | 奧里亞語 | 0.04 | |
班巴拉語 | 0.00004 | 古吉拉特語 | 0.04 | |
阿坎語 | 0.00007 | 馬拉地語 | 0.05 | |
聰加語 | 0.00007 | 旁遮普語 | 0.05 | |
塞索托語 | 0.00007 | 卡納達語 | 0.06 | |
奇切瓦語 | 0.0001 | 尼泊爾語 | 0.07 | |
茨瓦納語 | 0.0002 | 泰盧固語 | 0.09 | |
北索托語 | 0.0002 | 馬拉雅拉姆語 | 0.10 | |
豐語 | 0.0002 | 烏爾都語 | 0.10 | |
基隆迪語 | 0.0003 | 泰米爾語 | 0.20 | |
沃洛夫語 | 0.0004 | 孟加拉語 | 0.50 | |
盧幹達語 | 0.0004 | 印地語 | 0.70 | |
奇紹納語 | 0.001 | |||
祖魯語 | 0.001 | |||
伊博語 | 0.001 | |||
科薩語 | 0.001 | |||
盧旺達語 | 0.003 | |||
約魯巴語 | 0.006 | |||
斯瓦希里語 | 0.02 |
以下表格展示了編程語言的分佈情況。
文件擴展名 | 編程語言 | 文件數量 |
---|---|---|
java | Java | 5407724 |
php | PHP | 4942186 |
cpp | C++ | 2503930 |
py | Python | 2435072 |
js | JavaScript | 1905518 |
cs | C# | 1577347 |
rb | Ruby | 678413 |
cc | C++ | 443054 |
hpp | C++ | 391048 |
lua | Lua | 352317 |
go | GO | 227763 |
ts | TypeScript | 195254 |
C | C | 134537 |
scala | Scala | 92052 |
hh | C++ | 67161 |
H | C++ | 55899 |
tsx | TypeScript | 33107 |
rs | Rust | 29693 |
phpt | PHP | 9702 |
c++ | C++ | 1342 |
h++ | C++ | 791 |
php3 | PHP | 540 |
phps | PHP | 270 |
php5 | PHP | 166 |
php4 | PHP | 29 |
評估
本部分描述了評估協議並提供了評估結果。
評估指標
本部分描述了計算性能的不同方法及其原因。 包括:
指標 | 選擇原因 |
---|---|
困惑度 | 用於量化模型在訓練過程中改進情況的標準指標 |
交叉熵 損失 | 語言模型的標準目標函數 |
此外,針對特定任務還有多種不同的評估指標。(評估協議完成後將提供更多評估指標。)
影響因素
本部分列出了影響BLOOM模型的一些不同方面。重點關注那些可能導致模型行為出現較大差異的方面。
- 語言,如英語或約魯巴語
- 領域,如新聞專線或故事
- 人口統計學特徵,如性別或國籍
評估結果
評估結果基於影響因素和評估指標。 訓練時評估: 截至2022年5月25日太平洋標準時間15:00:
- 訓練損失:2.0
- 驗證損失:2.2
- 困惑度:8.9 (模型訓練結束後將提供更多評估分數。)
環境影響
訓練用的超級計算機Jean Zay(網站)主要使用核能。其產生的熱量被用於為校園住房供暖。 預計碳排放量:(訓練完成後公佈。) 預計耗電量:(訓練完成後公佈。)
技術規格
本部分為從事模型開發的人員提供信息。 有關重複訓練的詳細信息,請參閱BLOOM訓練README。
- 模型架構:基於Megatron - LM GPT2修改(參見論文,BLOOM Megatron代碼):
- 目標函數:均值縮減的交叉熵(參見API文檔)。
- 計算基礎設施:法國政府提供的Jean Zay公共超級計算機(參見公告)。
- 硬件:384個A100 80GB GPU(48個節點):
- 額外預留32個A100 80GB GPU(4個節點)
- 每個節點8個GPU,使用NVLink 4 GPU間連接,4條OmniPath鏈路
- CPU:AMD
- 每個節點CPU內存:512GB
- 每個節點GPU內存:640GB
- 節點間連接:Omni - Path架構(OPA)
- NCCL通信網絡:專用子網
- 磁盤I/O網絡:與其他類型節點共享的網絡
- 軟件:
- 硬件:384個A100 80GB GPU(48個節點):
訓練
- 訓練日誌:Tensorboard鏈接
- 訓練吞吐量:每個GPU約150 TFLOPs
- 訓練輪數:1(當前目標)
- 訓練日期:
- 開始時間:2022年3月11日太平洋標準時間上午11:42
- 結束時間:2022年7月5日
- 預計訓練成本:相當於200 - 500萬美元的雲計算成本(包括初步實驗和其他模型規模)
- 服務器訓練地點:法國法蘭西島大區
標記化
BLOOM標記器(鏈接)是一個經過學習的子詞標記器,使用以下方法進行訓練:
- 字節級字節對編碼(BPE)算法
- 簡單的預標記規則,無歸一化
- 詞彙表大小為250680 它是在語料庫的一個初步版本的子集上使用每種語言的alpha加權進行訓練的。
引用
引用格式:BigScience, BigScience Language Open - science Open - access Multilingual (BLOOM) Language Model. International, May 2021 - May 2022
術語表和計算方法
本部分定義了常用術語以及如何計算評估指標。
- 損失:模型學習結果與數據實際情況(“真實值”)之間差異的計算。損失越低越好。訓練過程旨在最小化損失。
- 困惑度:基於模型對新數據概率的估計。困惑度越低越好。如果模型在預測下一個標記時100%正確,則困惑度為1。從數學上講,這是使用熵來計算的。
- 高風險場景:如歐盟提議的人工智能(AI)法案中確定的“高風險人工智能系統”和“不可接受風險人工智能系統”。
- 關鍵決策:如美國提議的算法問責法案中定義的決策。
- 人權:包括世界人權宣言中定義的權利。
- 個人數據和個人信息:個人數據和信息在多個數據保護法規中都有定義,如歐盟通用數據保護條例中的“個人數據”;南非共和國個人信息保護法中的“個人信息”;中華人民共和國個人信息保護法中的“個人信息”。
- 敏感特徵:包括人權(參見世界人權宣言第2條)和個人信息法規(參見GDPR第9條;個人信息保護法第1章)中特別保護的類別。
- 欺騙:故意誤導個人相信虛假信息的行為,例如在社交媒體上創建偽裝成真人的殭屍機器人或聊天機器人,或者在未讓消費者知曉文本是機器生成的情況下生成文本文檔。
更多信息
數據集創建
詳細介紹數據集創建過程中設計選擇的博客文章: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



