模型概述
模型特點
模型能力
使用案例
🚀 BLOOM LM
BigScience大型開放科學、開放訪問的多語言語言模型
該模型旨在推動大語言模型的公開研究,可用於文本生成等任務,也能作為預訓練基礎模型進行特定任務的微調。
🚀 快速開始
本文檔提供了BLOOM LM模型的詳細信息,包括模型詳情、使用場景、訓練數據、風險與侷限、評估結果等內容,幫助你瞭解和使用該模型。
📚 詳細文檔
模型詳情
基礎信息
本部分為想了解模型的人提供相關信息。
點擊展開
開發者: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通信網絡:完全專用子網
- 磁盤IO網絡:與其他類型節點共享網絡
- 軟件:
訓練
訓練日誌: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日下午3:00(太平洋標準時間):
- 訓練損失:2.3
- 驗證損失:2.9
- 困惑度:16
建議
本部分提供了警告信息和潛在的緩解措施。
點擊展開
- 間接用戶在處理由大語言模型生成的內容時應被告知。
- 用戶應瞭解風險與侷限,並在必要時提供適當的年齡聲明或屏蔽界面。
- 使用大語言模型進行預訓練的模型應包含更新後的模型卡片。
- 模型用戶應為受影響者提供反饋機制,如用於接收評論的電子郵件地址。
術語表和計算方法
本部分定義了常用術語以及指標的計算方法。
點擊展開
- 損失: 計算模型所學內容與數據實際情況(“真實值”)之間的差異。損失越低越好。訓練過程旨在最小化損失。
- 困惑度: 基於模型對新數據概率的估計。困惑度越低越好。如果模型在預測下一個標記時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/bigsc
模型卡片作者
暫未提供相關內容。
許可證
本模型使用的許可證為:bigscience - bloom - rail - 1.0。詳細信息請參閱BLOOM許可證。



