sambanova/bloomchat

This repo contains the data preparation, tokenization, training and inference code for BLOOMChat. BLOOMChat is a 176 billion parameter multilingual chat model based on BLOOM.

什麼是 BLOOMChat

BLOOMChat 是一個基於開源 BLOOM-176B 語言模型的 1760 億參數多語系聊天模型。SambaNova 使用指令遵循資料(OpenChatKit OIG、Dolly 2.0 和 OpenAssistant OASST1)對 BLOOM 進行微調,使其行為類似於能回答問題、生成文字並處理多種語言的對話助理。


倉庫包含哪些內容?

領域 倉庫中可找到的內容
資料準備 data_prep/ 中的腳本,進一步清理並合併三個來源資料集,生成兩個可用於分詞的 JSONL 檔案。
分詞 tokenization_prep/ 中的 Bash 包裝器,呼叫 SambaNova 的 generative_data_prep 工具,將 JSONL 檔案轉換為 HDF5 令牌串流與分割檔案。
訓練 training/ 中的參考腳本,用於 SambaNova 內部的 可重構資料流單元(RDU)。展示了超參數與兩階段微調流程(先在 OIG 上,再在 Dolly 2.0 + OASST1 上)。
推論(GPU) 使用 Hugging Face 的 transformers-bloom-inference 倉庫在標準 GPU 上執行發布模型的逐步指南,包含程式碼的小修補與 bf16 與 int8 精度的範例指令。
推論(RDU) 指向 rdu_quick_start/ 資料夾的連結,其中包含透過 SambaFlow SDK 在 SambaNova 的 RDU 上執行模型的程式碼。
元資料 Hugging Face 上模型的連結、部落格文章、Discord 社群與引用區塊。

哪些人可能會使用它?

目標使用者 為何重要
研究人員 提供可重現的完整流程(資料準備 → 分詞 → 訓練),適用於超大型多語系 LLM,以及在 RDU 上使用的精確超參數。
開發者 提供 GPU(使用 transformers)與 SambaNova 硬體的即用型推論腳本,以及建議的生成設定(temperature 0.8,top-p 0.9 等)。
ML 工程師 展示如何將 SambaNova 的 generative_data_prepSambaFlow SDK 整合到訓練-推論工作流程中。
社群成員 可存取 Discord 頻道與 Hugging Face Space,可直接與模型對話。

如何快速上手(快速入門摘要)

  1. 克隆倉庫 並安裝所需的 Python 套件(pip install datasets 加上 Pipfile 中列出的相依性)。
  2. 準備資料 – 在 data_prep/ 中執行兩個 Python 腳本,產生 oasst1_dolly.jsonlbloom_ock_100K_each.jsonl
  3. 分詞 – 將 tokenization_prep/ 中的兩個 Bash 腳本指向本地的 SambaNova generative_data_prep 倉庫;它們會在 *_out/ 下輸出 HDF5 令牌檔案。
  4. 訓練 – 倉庫僅包含 RDU 訓練腳本(無法在一般 GPU 上執行)。它們對於理解兩階段微調排程非常有用。
  5. GPU 推論 – 克隆 huggingface/transformers-bloom-inference,套用 README 中顯示的兩個小修補,然後執行其中一個範例指令,例如:
    python -m inference_server.cli \
      --model_name sambanovasystems/BLOOMChat-176B-v1 \
      --model_class AutoModelForCausalLM \
      --dtype bf16 \
      --deployment_framework hf_accelerate \
      --generate_kwargs '{"do_sample": true, "temperature": 0.8, "repetition_penalty": 1.2, "top_p": 0.9, "max_new_tokens": 512}'
    
  6. RDU 推論 – 按照 rdu_quick_start/ 的說明操作,如有 SambaNova RDU 存取權限,請使用 SambaFlow SDK。

BLOOMChat 的獨特之處

  • 規模與多語系性 – 1760 億參數,支援多種語言生成。
  • 指令微調 – 模型已針對聊天式互動進行優化,而非原始文字續寫。
  • 硬體感知 – 訓練利用了 SambaNova 的專有 RDU 架構;倉庫記錄了該環境下的完整工作流程。
  • 開源透明 – 所有資料預處理、分詞與(部分)訓練腳本均公開,最終模型權重託管於 Hugging Face 上。

接下來該做什麼?

  • 在 README 中連結的 Hugging Face Space 上與模型互動。
  • 加入 Discord 社群以取得支援與更新。
  • 探索資料 – 檢查準備好的 JSONL 檔案與分詞後的 HDF5 目錄,以理解指令資料。
  • 適配該流程 – 將來源資料集替換為自己的領域資料,按相同步驟在 RDU 上或經修改後在 GPU 集群上微調大型 LLM。

  • 上述所有陳述均直接取自倉庫的 README;未推斷任何額外功能。*

相關

  • Dispatch
  • 專案
  • Dispatch
  • 專案
  • Dispatch