Python 库,逐层加载大语言模型,让 70B 级模型可在单张 4GB 显卡上推理,无需量化。
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
从百度网盘下载已分词的预训练语料(约118G)
- 2
将数据放入 ./data 目录并运行数据处理脚本
python data_process.py - 3
在4张GPU上使用 torchrun 运行预训练(README示例配置)
torchrun --standalone --nproc_per_node=4 pretrain.py - 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 数据每日更新。
相关项目
用 PyTorch 从零实现的 Transformer 大模型训练教程与代码库,涵盖预训练、SFT、奖励模型、DPO/PPO/GRPO 与文本生成。
一个极简、易于修改的 LLM 训练框架,覆盖分词、预训练、微调、评估到对话推理全流程,可在单台 GPU 节点上运行。
Hugging Face 推出的库,用 SFT、GRPO、DPO、KTO 等方法对 Transformer 语言模型做后训练。
一个免费开源的大语言模型微调与后训练框架,通过 YAML 文件进行配置。
通过一份 YAML 配置完成 LLM 微调与后训练的命令行工具,支持在低显存消费级显卡上训练。