Repolode
DLLXW

DLLXW/baby-llama2-chinese

从头预训练并指令微调小参数量中文 LLaMA2 模型的完整代码,单张 24G 显卡即可运行。

Star
2,923
Fork
354
未关闭 Issue
42
最近提交
2个月前

这是什么?

Baby-Llama2-Chinese 是一个面向学习的项目,从头搭建一个小参数量的中文 LLaMA2 风格语言模型,覆盖语料分词、预训练、指令微调(SFT)和推理全流程。项目目标是在单张 24G 显卡上得到一个具备基础中文问答能力的聊天模型。

项目采用 ChatGLM2-6B 的分词器(词表大小 64793,可用 uint16 存储),将 Wikipedia 中文、百度百科、C4_zh、悟道等语料预处理为二进制文件。预训练通过 torchrun 在多卡上运行,SFT 阶段只对回答部分计算损失。项目同时发布了 92M 至 218M 参数的预训练权重,以及面向日常对话和医疗问答的微调版本。

仓库还包含数据清洗脚本(短文本过滤、MinHash 与 SimHash 去重),以及统一推理入口 infer.py,可自动从 checkpoint 推断模型维度。奖励模型和强化学习部分目前仍在规划中。

核心功能

  • 01在一个仓库中覆盖分词器构建、预训练和全参数 SFT 微调。
  • 02在单张 24G 显卡上预训练 92M 至 218M 参数的中文模型。
  • 03使用 ChatGLM2-6B 分词器将语料预处理为 uint16 二进制文件。
  • 04提供 MinHash 与 SimHash 去重脚本用于语料清洗。
  • 05infer.py 可自动识别维度,加载预训练和 SFT 权重进行推理。
  • 06公开提供预训练和微调后的模型权重下载。

适用场景

  • 学习小型 LLaMA 风格模型从零开始预训练与微调的完整流程。
  • 在有限显卡资源上试验中文预训练语料。
  • 对比模型大小和词表大小对预训练效果的影响。
  • 基于现有 SFT 数据构建小型垂直领域对话模型,如医疗问答。

快速上手

  1. 1

    从百度网盘下载已分词的预训练语料(约118G)

  2. 2

    将数据放入 ./data 目录并运行数据处理脚本

    python data_process.py
  3. 3

    在4张GPU上使用 torchrun 运行预训练(README示例配置)

    torchrun --standalone --nproc_per_node=4 pretrain.py
  4. 4

    运行SFT指令微调

    python sft.py

使用前须知

  • README中的预训练示例需要多张GPU,作者提到其4张3090的硬件限制了模型和语料规模。
  • 完整预训练语料约118G,需要从百度网盘下载。
  • 大部分数据和模型下载都托管在百度网盘上,在国外使用可能不便。
  • 文档主要为中文,强化学习阶段仍标注为待做。

标签

常见问题

baby-llama2-chinese 是什么?
从头预训练并指令微调小参数量中文 LLaMA2 模型的完整代码,单张 24G 显卡即可运行。 Baby-Llama2-Chinese 是一个面向学习的项目,从头搭建一个小参数量的中文 LLaMA2 风格语言模型,覆盖语料分词、预训练、指令微调(SFT)和推理全流程。项目目标是在单张 24G 显卡上得到一个具备基础中文问答能力的聊天模型。
baby-llama2-chinese 可以免费使用吗?用的什么许可证?
baby-llama2-chinese 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
baby-llama2-chinese 还在维护吗?
半年内有更新。baby-llama2-chinese 最近一次提交是在 2026年8月13日。
baby-llama2-chinese 适合用来做什么?
学习小型 LLaMA 风格模型从零开始预训练与微调的完整流程。 在有限显卡资源上试验中文预训练语料。 对比模型大小和词表大小对预训练效果的影响。 基于现有 SFT 数据构建小型垂直领域对话模型,如医疗问答。
baby-llama2-chinese 怎么安装和运行?
从百度网盘下载已分词的预训练语料(约118G) 将数据放入 ./data 目录并运行数据处理脚本: python data_process.py 在4张GPU上使用 torchrun 运行预训练(README示例配置): torchrun --standalone --nproc_per_node=4 pretrain.py 运行SFT指令微调: python sft.py
在哪里获取 baby-llama2-chinese?
源代码和安装说明在 GitHub 上:https://github.com/DLLXW/baby-llama2-chinese

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目