模型概述
模型特點
模型能力
使用案例
🚀 BLOOM LM
BLOOM LM 是 BigScience 推出的大型開放科學、開放訪問的多語言語言模型,可用於文本生成等多種自然語言處理任務,為相關領域的研究和應用提供了強大支持。
📚 詳細文檔
目錄
模型詳情
基礎信息
點擊展開
開發者:BigScience (網站)
- 所有協作者要麼是志願者,要麼與他們的僱主達成了協議。(參與者的進一步細分信息即將公佈。)
模型類型:基於 Transformer 的語言模型
版本:1.0.0
支持語言:多種;詳見訓練數據
許可證:RAIL 許可證 v1.0 (鏈接)
預計發佈日期:2022 年 7 月 11 日,星期一
諮詢問題請發送至:bigscience-contact@googlegroups.com
引用格式:BigScience, BigScience Language Open-science Open-access Multilingual (BLOOM) Language Model. International, May 2021 - May 2022
資助方:
- 法國政府。
- Hugging Face (網站)。
- 貢獻者所在的組織。(組織的進一步細分信息即將公佈。)
技術規格
點擊展開
如需瞭解複製訓練的完整詳情,請參閱 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 網絡:與其他類型節點共享網絡
- 軟件:
訓練
訓練日誌:Tensorboard 鏈接
- 訓練輪數:1
- 日期:
- 開始時間:2022 年 3 月 11 日,太平洋標準時間上午 11:42
- 結束時間:2022 年 7 月 5 日
- 估計訓練成本:相當於 200 萬 - 500 萬美元的雲計算費用(包括初步實驗和其他模型規模)
- 服務器訓練地點:法國法蘭西島大區
分詞
BLOOM 分詞器(鏈接)是一個學習型子詞分詞器,使用以下方法進行訓練:
- 字節級字節對編碼(BPE)算法
- 簡單的預分詞規則,無歸一化處理
- 詞彙表大小為 250,680
它是在語料庫的一個初步版本的子集上,按語言進行 alpha 加權訓練得到的。
環境影響
使用方式
點擊展開
預期用途
本模型旨在推動大型語言模型(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 | 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 | 678,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 |
風險與侷限性
點擊展開
模型可能存在以下問題:
- 過度代表某些觀點,而對其他觀點代表不足
- 包含刻板印象
- 包含個人信息
- 生成:
- 仇恨性、辱罵性或暴力性語言
- 歧視性或偏見性語言
- 可能不適合所有場景的內容,包括色情內容
- 出現錯誤,包括將不正確的信息當作事實輸出
- 生成無關或重複的輸出
評估
點擊展開
評估指標
本部分描述了計算性能的不同方法及其原因。
包括:
指標 | 選擇原因 |
---|---|
困惑度 | 訓練期間量化模型改進的標準指標 |
交叉熵 損失 | 語言模型的標準目標函數 |
以及針對特定任務的多種不同指標。(評估協議完成後將公佈更多評估指標。)
影響因素
本部分列出了 BLOOM 模型的一些不同方面。重點關注那些可能導致模型行為出現高方差的方面。
- 語言,如英語或約魯巴語
- 領域,如新聞專線或故事
- 人口統計學特徵,如性別或國籍
評估結果
訓練時評估: 截至 2022 年 5 月 25 日,太平洋標準時間 15:00:
- 訓練損失:2.7
- 驗證損失:3.1
- 困惑度:21.9
(模型訓練結束後將公佈更多評估分數。)
建議
點擊展開
- 間接用戶在處理由大語言模型生成的內容時應被告知。
- 用戶應瞭解風險與侷限性,並在必要時提供適當的年齡聲明或屏蔽界面。
- 使用大語言模型進行預訓練的模型應包含更新後的模型卡片。
- 模型用戶應為受影響者提供反饋機制,如用於接收評論的電子郵件地址。
術語表與計算方法
點擊展開
- 損失: 計算模型所學內容與數據顯示內容(“真實情況”)之間的差異。損失越低越好。訓練過程旨在最小化損失。
- 困惑度: 基於模型對新數據概率的估計。困惑度越低越好。如果模型在預測下一個標記時 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
初始結果
使用臨時檢查點進行的初始提示實驗
模型卡片作者
文檔中未提及相關內容,故跳過該章節。



