深入探討 BLOOM,一個多語言大型語言模型,檢視其開發、技術規格、應用以及旨在實現 AI 民主化的倫理考量。
背景
大型語言模型(LLM)的出現深刻影響了自然語言處理(NLP)的格局,並在各個領域中找到廣泛應用。然而,它們的開發主要局限於資源豐富的組織,形成了限制公眾取用的排他性門檻。
這種情況提出了一個關鍵問題:如果有辦法讓這些強大的語言模型變得普及,那會怎樣?於是 BLOOM 應運而生。
本文提供 BLOOM 的全面概述,從其起源開始,然後深入探討其技術細節和使用指南。同時也討論其限制與倫理意涵。
什麼是 BLOOM?
BLOOM 是「BigScience Large Open-science Open-access Multilingual Language Model」的縮寫,代表朝著語言模型技術民主化邁出的重要一步。

BLOOM 由來自 39 個國家、超過 1200 位貢獻者(包括大量來自美國的參與者)協作打造,體現了真正的全球性努力。此計畫由 BigScience 與 Hugging Face 及法國 NLP 社群共同主導,超越了地理與機構的界線。
這個開源的僅解碼器 Transformer 模型擁有 1760 億個參數,並從 ROOTS 語料庫中汲取訓練資料——該語料庫包含了橫跨 59 種語言的數百個來源,其中包括 46 種口語語言和 13 種程式語言。
以下是訓練語言分佈的圓餅圖:

值得注意的是,BLOOM 在各種基準測試中展現了卓越的表現,並透過多任務提示微調進一步提升。
這項努力的高峰是在巴黎的 Jean Zay 超級電腦上進行了為期 117 天的嚴格訓練(3 月 11 日至 7 月 6 日),並獲得了法國研究機構 CNRS 和 GENCI 的大量計算補助。
除了技術實力之外,BLOOM 還是國際合作與集體追求科學進步的見證。
BLOOM 的組成部分
根據論文所述,BLOOM 模型的組成部分包含幾個顯著元素:
設計方法:團隊優先考慮了與公開工具和程式碼庫相容的可擴展模型系列。他們在較小模型上進行消融實驗,以優化組件和超參數,並將零樣本泛化作為評估架構選擇的關鍵指標。
架構與預訓練目標:BLOOM 採用 Transformer 架構,特別是因果僅解碼器模型。這種方法被認為是實現零樣本泛化能力最有效的方式,優於編碼器-解碼器和其他僅解碼器架構。
建模細節:
- ALiBi 位置嵌入:選擇 ALiBi 而非傳統的位置嵌入,它直接根據鍵-查詢距離調整注意力分數,促進更平滑的訓練並提升效能。
- 嵌入層 LayerNorm:在嵌入層之後立即加入額外的層歸一化,增強了訓練穩定性。這項決定部分受到最終訓練中使用 bfloat16 的影響,因為 bfloat16 比 float16 更穩定。
這些組成部分強調了團隊在創新與既有技術之間取得平衡,以優化模型效能與穩定性的努力。
除了架構組件之外,還有兩個相關面向:
- 資料預處理:這包括了去重和隱私編輯等關鍵步驟,特別是對於隱私問題較高的來源。
- 提示資料集:BLOOM 使用多任務提示微調,以其強大的零樣本任務泛化能力而聞名。

如何使用 BLOOM
為了確保有效利用資源,為 BLOOM 模型進行適當的工作區配置至關重要。主要步驟概述如下。
首先,使用 transformer 庫來提供與 BLOOM 模型以及更廣泛的其它基於 transformer 的模型進行互動的介面。
使用 nvidia-smi,我們檢查可用 GPU 的屬性,以確保我們擁有執行模型所需的計算資源。

從 transformers 和 torch 庫中匯入操作所需的模組。torch 專門用於配置預設張量類型,從而利用 GPU 加速。
接著,鑑於 GPU 的使用,使用 set_default_tensor_type 函數配置 torch 庫,以確保使用 GPU。

取得 BLOOM 模型存取權
目標模型是 70 億參數的 BLOOM 模型,可從 BigScience 的 Hugging Face 儲存庫中以 bigscience/bloom-1b7 存取,對應其唯一識別碼。
接下來,我們從 Hugging Face 檢索預訓練的 BLOOM 模型和分詞器,並透過使用 set_seed 函數設定任何非浮點數值來確保可重現性。雖然為種子選擇的具體值並不重要,但使用非浮點數值至關重要。
此外,對於對 LangChain 在資料工程中的應用感興趣的資料工程師,我們的文章「Introduction to LangChain for Data Engineering & Data Applications」提供了利用 LangChain 的見解。它涵蓋了 LangChain 解決的問題,並提供了資料使用案例的範例。
最後,我們對提示進行分詞並映射到適當的模型設備,然後在解碼後生成模型的結果。
只需幾行程式碼,我們就能使用 BLOOM 模型生成有意義的內容。

使用 BLOOM 模型生成的故事
BLOOM 的使用案例與應用
與任何技術創新一樣,BLOOM 有適合和不適合的應用領域。本節將檢視其適當與不當的使用案例,強調可以最佳利用其能力的領域,以及需要謹慎的領域。掌握這些限制對於負責任且有效率地利用 BLOOM 的潛力至關重要。
BLOOM 的預期用途
- 多語言內容生成:BLOOM 精通 59 種語言,擅長製作多樣且包容的內容。在語言包容性至關重要的全球通訊、教育和媒體領域,這項屬性極具價值。
- 程式碼與軟體開發:BLOOM 在程式語言方面的訓練使其成為軟體開發工作中的寶貴資產。它可以協助從程式碼生成到除錯等任務,並作為初學者程式設計師的教育輔助工具。
- 研究與學術:在學術領域,BLOOM 是語言學分析和 AI 研究的強大資源,可提供有關語言模式、AI 行為等方面的洞見。
- 自然語言處理:BLOOM 可以與其他大型語言模型(LLM)整合並結合使用,以執行各種自然語言處理任務。與其他 LLM 的整合可以在語言相關應用中提供更多的多樣性、靈活性和增強的效能。
以下是 BLOOM 與 novita.ai 成功整合的範例:

BLOOM 的不當用途
- 敏感資料處理:BLOOM 並非專為處理敏感個人資料或機密資訊而設計。潛在的隱私外洩或資料濫用風險使其不適合此類用途。
- 高風險決策:不建議在需要精確準確度的情境(例如醫療診斷或法律判決)中使用 BLOOM。與大多數大型語言模型一樣,該模型固有的限制可能在這些關鍵領域導致錯誤或誤導性的結果。
- 人類互動替代:不應將 BLOOM 視為人類互動的替代品,特別是在需要情緒智慧的領域,如諮詢、外交或個人化教學。該模型缺乏人類互動中固有的細微理解與同理心。
BLOOM 的目標使用者
- 開發人員與資料科學家:軟體開發和資料科學領域的專業人士依賴 BLOOM 進行程式碼輔助、除錯和資料分析等任務,從而提高生產力和效率。
- 研究人員與學者:語言學家、AI 研究人員和學者利用 BLOOM 進行語言研究、AI 行為分析以及推動 NLP 研究,為學術討論和科學進步做出貢獻。
- 內容創作者與翻譯人員:作家、記者和翻譯人員利用 BLOOM 以多種語言生成和翻譯內容,提升其創作產出並擴大受眾範圍。
- 企業與組織:各行業的公司間接受益於 BLOOM 的能力,體驗到 AI 驅動服務的改善、客戶互動的增強以及資料處理流程的簡化,從而促進業務成長和創新。
- 教育機構:學生和教育工作者都可以透過將 BLOOM 的語言處理能力融入的教育工具和資源中受益,從而促進更好的學習體驗和教學方法。
限制與倫理考量
部署 BLOOM 就像任何大型語言模型(LLM)一樣,必須面對一系列倫理考量和限制。理解這些面向對於負責任的使用以及預測該技術的更廣泛影響至關重要。本節深入探討部署 BLOOM 所涉及的倫理意涵、風險和內在限制。
倫理考量
- 資料偏見與公平性:一個主要的倫理問題是 BLOOM 可能延續或加劇其訓練資料中固有的偏見。這可能會影響其輸出結果的公平性和公正性,在需要無偏見處理的情境中帶來倫理困境。
- 隱私問題:雖然 BLOOM 並非專為處理敏感個人資訊而設計,但其訓練資料的廣泛性可能無意中包含此類資料。如果 BLOOM 生成的輸出基於或洩露了敏感資訊,則存在隱私外洩的風險。
BLOOM 的限制
- 上下文理解:儘管 BLOOM 很複雜,但它可能缺乏某些任務所需的細微上下文和文化理解,從而在細微情境中可能導致不準確或不適當的輸出。
- 語言的演化特性:BLOOM 在靜態資料集上進行訓練,這意味著它可能難以跟上語言的動態變化,包括新俚語、術語或文化指涉。
重要性與爭議
BLOOM 的開發與發布具有重大的現實世界意涵,包括其影響以及所引起的爭議。本節將深入探討這些面向,並從 BLOOM 研究論文中汲取見解。
BLOOM 的現實世界影響
- AI 技術的民主化:BLOOM 代表了朝著 AI 技術民主化邁出的一步。由 BigScience(一項涉及來自 38 個國家超過 1200 人的協作努力)開發,BLOOM 是一個開放存取模型,在包含 59 種語言的多元語料庫上進行訓練。這種包容性的參與和可及性與大型語言模型開發中常見的排他性形成對比。
- 多樣性與包容性:該計畫對語言、地理和科學多樣性的投入值得注意。用於 BLOOM 訓練的 ROOTS 語料庫涵蓋了廣泛的語言和程式語言,反映了在 AI 開發中對包容性和代表性的承諾。
爭議與挑戰
- 社會與倫理問題:BLOOM 的開發承認了大型語言模型開發中固有的社會限制和倫理困境。BigScience 研討會實施了一份倫理章程來指導該計畫,優先考慮包容性、多樣性、開放性、可重複性和責任。這些原則被編織到專案的各個方面,從資料集策劃到模型評估。
- 環境與資源問題:像 BLOOM 這樣的大型語言模型的出現引起了環境問題,因為它們需要大量的計算資源。這些模型的訓練(通常只有資源充足的組織才能進行)對能源消耗和碳足跡有影響。
結論
BLOOM 代表了自然語言處理領域一項突破性的進展,提供了一個多功能工具,在各個領域具有廣泛的應用。其協作開發強調了對 AI 技術民主化和促進語言模型開發包容性的承諾。然而,必須解決倫理考量(包括資料偏見和隱私問題),以確保負責任的使用。儘管存在這些挑戰,BLOOM 仍具有巨大潛力,能夠推動多語言內容生成、軟體開發、研究和教育領域的創新與進步。透過擁抱包容性和責任的原則,BLOOM 計畫為道德 AI 開發樹立了標準。當我們在部署像 BLOOM 這樣的大型語言模型的複雜性中導航時,採取積極主動的方法對於利用其變革能力同時減輕風險至關重要。
novita.ai,無限創意的一站式平台,讓您存取 100 多個 API。從圖像生成和語言處理到音訊增強和影片處理,採用便宜的按用量付費模式,讓您在建立自己的產品時無需擔憂 GPU 維護。立即免費試用。
推薦閱讀
