【亲测免费】 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
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0188- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00