Cortex 2.0是一个个人可承担训练成本的0.6B的MoE LLM,推理时激活参数仅为0.2B。目前已完成预训练到DPO全流程训练,并提供训练各个阶段checkpoint下载,下载地址:https://www.modelscope.cn/models/qibin0506/Cortex-V2。
🔥Cortex 2.5正在训练中,使用更高质量的预训练数据集,预期整体提升模型能力。
2025.9.8 更新内容:
- 新增57M参数量的蒸馏模型,同时开源logits蒸馏训练代码:
train_distill.py - 训练数据集和app中的模型自动下载逻辑替换为使用modelscope下载。
2025.8.29 更新内容:
- 优化器从Adam替换为Lion,训练更省显存;需升级llm_trainer到0.8.2版本。
2025.8.28 更新内容:
- dpo训练修改为2个epoch,同时增加nll_loss,并重新训练dpo。
2025.8.23 更新内容:
- 替换预训练数据集,使用序列猴子通用文本数据集进行预训练。
- 使用更先进的训练方法。
- 新增思考模式控制,可通过添加/think和/no think控制是否思考。
- 新增思考预算功能,可控制思考token长度。
| 思考模式 | 非思考模式 | 思考预算 |
|---|---|---|
![]() |
![]() |
![]() |
- 确保本机已安装python3
- clone或下载本项目
- 安装依赖
pip3 install -r requirements.txt - 执行
python3 app.py运行项目,首次访问会下载模型文件,等待服务准备完成后,访问链接http://0.0.0.0:8080/ 即可体验
本项目模型和训练代码完全开源并解耦。
- 模型代码并作为通用LLM(支持VLM)项目开放在https://github.com/qibin0506/llm-model
- 训练代码支持Pretrain、SFT、GRPO、GSPO、DPO等训练方式,代码完成度较高,上手简单,项目开放在https://github.com/qibin0506/llm_trainer
Cortex 2.0采用多阶段预训练和多阶段后训练的方式进行训练,开启训练使用smart_train xxx.py,如果需要在指定GPU上进行训练,可以使用smart_train xxx.py --include localhost:1,2,4。训练文件名称可以参考下面详细介绍。
注意:每个阶段训练完成后需要处理一下保存的checkpoint,手动保存一下log目录下的内容,然后删除log目录。例如,使用deepspeed训练时需要将ckpt_dir里的checkpoint转换为bin文件保存下来,然后删除log和ckpt_dir目录。
# 如果需要,复制一份log日志存档
cp -r ./log ./log_pretrain0/
# 删除log
rm -fr ./log
# 开始处理checkpoint
cd ./ckpt_dir
# 转换checkpoint
python3 zero_to_fp32.py ./ ../
cd ..
# ckpt_dir没用了,可以直接删除
rm-fr ./ckpt_dir
# 下次训练,会自动加载last_checkpoint.bin里的权重,参考utils.py文件里的init_state_dict设置
mv pytorch_model.bin last_checkpoint.bin预训练过程采用两阶段训练模式
| stage0 | stage1 |
|---|---|
| train_pretrain_stage0.py | train_pretrain_stage1.py |
| 上下文长度为512,在较短训练文本上进行训练 | 采用YaRN技术将上下文扩展至2048,并在长文本序列上继续训练 |
后训练过程采用四阶段训练模式
| COT SFT | GSPO | MIX SFT | DPO |
|---|---|---|---|
| train_cot.py | train_grpo.py | train_mix.py | train_dpo.py |
| 在纯COT数据集上进行SFT,让模型原生支持思考模式 | 采用GSPO技术,提升模式的逻辑思考能力 | 使用COT和非COT混合数据集上进行SFT,让模式支持思考控制和思考预算能力 | 使用DPO进行对齐训练 |
本项目提供各个阶段训练完成后的checkpoint, 可根据自己需求选择checkpoint继续训练。 checkpoint下载:https://www.modelscope.cn/models/qibin0506/Cortex-V2/files 训练方式:
- 确定继续训练的阶段,修改
file_dataset.py中对应阶段的FileDataset中的文件,然后使用smart_train进行训练,例如重新进行dpo,则执行smart_train train_dpo.py - 本项目GSPO阶段是在4x5090进行训练,其他阶段都是在4x4090进行训练,同时
utils.py中的配置数据也是按照对应硬件配置确定,如有不同的训练设备可自行修改utils.py进行适配。 file_dataset.py文件用来管理数据集文件,可按需修改,数据集文件会自动下载,使用完成后会自动删除,无需人工管理。



