当前位置: 首页 > java >正文

【升级版】从零到一训练一个 0.6B 的 MoE 大语言模型

前文:从零到一训练一个 0.6B 的 MoE 大语言模型,本次升级完全重新从零开始重新训练。主要升级如下:

  1. 替换预训练数据集,使用序列猴子通用文本数据集进行预训练。
  2. 使用更先进的训练方法。
  3. 新增思考模式控制,可通过添加/think和/no think控制是否思考。
  4. 新增思考预算功能,可控制思考token长度。

效果展示

快速开始

  1. 确保本机已安装python3
  2. clone或下载项目:https://github.com/qibin0506/Cortex
  3. 安装依赖 pip3 install -r requirements.txt
  4. 下载checkpoint https://www.modelscope.cn/models/qibin0506/Cortex-V2/resolve/master/dpo.bin,并放置到项目根目录
  5. 执行 python3 app.py运行项目,访问链接http://0.0.0.0:8080/ 即可体验

训练细节

Cortex V2采用更加先进的训练方式进行训练,具体情况如下;

预训练

预训练过程采用两阶段训练模式

阶段1阶段2
train_pretrain_stage0.pytrain_pretrain_stage1.py
上下文长度为512,在较短训练文本上进行训练采用YaRN技术将上下文扩展至2048,并在长文本序列上继续训练
后训练

后训练过程采用四阶段训练模式

阶段1阶段2阶段3阶段4
train_cot.pytrain_grpo.pytrain_mix.pytrain_dpo.py
在纯COT数据集上进行SFT,让模型原生支持思考模式采用GSPO技术,提升模式的逻辑思考能力使用COT和非COT混合数据集上进行SFT,让模式支持思考控制和思考预算能力使用DPO进行对齐训练

继续训练

本项目提供各个阶段训练完成后的checkpoint, 可根据自己需求选择checkpoint继续训练。
checkpoint下载:https://www.modelscope.cn/models/qibin0506/Cortex-V2/files
训练方式:

  1. 确定继续训练的阶段,修改file_dataset.py中对应阶段的FileDataset中的文件,然后使用smart_train进行训练,例如重新进行dpo,则执行smart_train train_dpo.py
  2. 本项目GSPO阶段是在4x5090进行训练,其他阶段都是在4x4090进行训练,同时utils.py中的配置数据也是按照对应硬件配置确定,如有不同的训练设备可自行修改utils.py进行适配。
  3. file_dataset.py文件用来管理数据集文件,可按需修改,数据集文件会自动下载,使用完成后会自动删除,无需人工管理。
详细介绍参考项目Github: https://github.com/qibin0506/Cortex
http://www.xdnf.cn/news/18569.html

相关文章:

  • 云原生俱乐部-k8s知识点归纳(8)
  • day40-tomcat
  • k8s之 Pod 资源管理与 QoS
  • Angular初学者入门第三课——工厂函数(精品)
  • 日志搜索系统前端页面(暂无后端功能)
  • webrtc弱网-SendSideBandwidthEstimation类源码分析与算法原理
  • 手机横屏适配方案
  • 20250823给荣品RD-RK3588开发板刷Rockchip原厂的Buildroot【linux-5.10】时调通AP6275P的WIFI【源码部分】
  • ArkTS 语言全方位解析:鸿蒙生态开发新选择
  • 【AI基础:神经网络】17、神经网络基石:从MP神经元到感知器全解析 - 原理、代码、异或困境与突破
  • 线程间Bug检测工具Canary
  • uniapp 页面跳转及字符串转义
  • Redis学习笔记 ----- 缓存
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(八)按键事件
  • 大语言模型应用开发——利用OpenAI函数与LangChain结合从文本构建知识图谱搭建RAG应用全流程
  • 【KO】前端面试七
  • 20250823给荣品RD-RK3588开发板刷Rockchip原厂的Android14【EVB7的V10】时调通AP6275P的WIFI
  • react相关知识
  • GitLab CI:Auto DevOps 全解析,告别繁琐配置,拥抱自动化未来
  • 运行npm run命令报错“error:0308010C:digital envelope routines::unsupported”
  • 二叉树的经典算法与应用
  • 【网安干货】--操作系统基础(上)
  • USRP采集的WiFi信号绘制星座图为方形
  • 新手向:异步编程入门asyncio最佳实践
  • K8s 实战:Pod 版本更新回滚 + 生命周期管控
  • 嵌入式学习日记(33)TCP
  • 【UnityAS】Unity Android Studio 联合开发快速入门:环境配置、AAR 集成与双向调用教程
  • CMake link_directories()详细介绍与使用指南
  • STM32F1 GPIO介绍及应用
  • C/C++三方库移植到HarmonyOS平台详细教程(补充版so库和头文件形式)