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_prep 和 SambaFlow SDK 集成到训练-推理工作流中。 |
| 社区成员 | 可访问 Discord 频道和 Hugging Face Space,可直接与模型对话。 |
如何快速上手(快速入门摘要)
- 克隆仓库 并安装所需的 Python 包(
pip install datasets加上Pipfile中列出的依赖项)。 - 准备数据 – 在
data_prep/中运行两个 Python 脚本,生成oasst1_dolly.jsonl和bloom_ock_100K_each.jsonl。 - 分词 – 将
tokenization_prep/中的两个 Bash 脚本指向本地的 SambaNovagenerative_data_prep仓库;它们会在*_out/下输出 HDF5 令牌文件。 - 训练 – 仓库仅包含 RDU 训练脚本(无法在普通 GPU 上运行)。它们对于理解两阶段微调调度非常有用。
- 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}' - 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