【亲测免费】 Phi2-Chinese-0.2B:从零开始训练你的中文小模型
项目介绍
Phi2-Chinese-0.2B 是一个开源的实验性项目,旨在帮助开发者从零开始训练自己的中文小模型。该项目提供了完整的代码和模型权重,尽管预训练数据较少,但其灵活性和可定制性使其成为初学者和进阶开发者的理想选择。如果你需要效果更好的中文小模型,可以参考项目 ChatLM-mini-Chinese。
项目技术分析
数据清洗
Phi2-Chinese-0.2B 在数据清洗阶段进行了多种处理,包括句末添加句号、繁体转简体、删除重复标点符号、NFKC Unicode标准化等。这些步骤确保了数据的高质量,为后续的模型训练奠定了坚实的基础。
Tokenizer 训练
项目采用了 byte level 的 BPE 分词器,并提供了 char level 和 byte level 两种分词器的训练代码。Tokenizer 训练非常吃内存,建议在大数据集时进行采样以节省资源。
CLM 因果模型预训练
通过使用 bell open source 的数据集 BELLE,项目进行了无监督预训练。预训练过程中,模型输入和输出相同,计算交叉熵损失时需要错开一位。
SFT 指令微调
SFT 训练的数据格式经过精心设计,模型计算损失时会忽略标记 "##回答:" 之前的部分,确保模型能够正确理解指令。
RLHF 优化
项目采用了更简单、更节省显存的 DPO 偏好优化方法,通过构造 prompt、chosen 和 rejected 三列数据,对 SFT 模型进行微调。
项目及技术应用场景
Phi2-Chinese-0.2B 适用于多种应用场景,包括但不限于:
- 对话系统:模型可以用于构建智能对话系统,提供自然语言交互能力。
- 文本生成:通过微调,模型可以生成高质量的中文文本,适用于写作、摘要生成等任务。
- 检索式生成(RAG):项目提供了 RAG 的具体实现代码,适用于需要结合检索和生成能力的应用场景。
项目特点
- 开源与可定制:项目完全开源,开发者可以根据自己的需求进行定制和扩展。
- 实验性:项目为实验性质,随时可能进行大改,适合愿意尝试和探索的开发者。
- 高效训练:支持 flash attention 2 加速,提升训练效率。
- 灵活的 Tokenizer:提供两种分词器训练代码,适应不同数据集的需求。
- RLHF 优化:采用 DPO 方法进行偏好优化,提升模型性能。
结语
Phi2-Chinese-0.2B 是一个极具潜力的开源项目,适合那些希望从零开始训练中文小模型的开发者。无论你是初学者还是经验丰富的开发者,这个项目都能为你提供丰富的资源和灵活的定制选项。赶快加入我们,一起探索中文模型的无限可能吧!
项目地址:Phi2-Chinese-0.2B
模型权重:Hugging Face
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00