Cortex 是一个致力于让个人开发者也能承担训练成本的开源 LLM 项目,实现了从零开始构建大模型的全过程,代码完全开源且解耦。
主要能力
- 全链路训练代码开源:覆盖 Pretrain(预训练)、Midtrain(上文适应)、SFT(指令微调)、DPO(偏好优化)以及 PPO(强化学习)全生命周期训练流。
- 国产芯片适配:首次在国产芯片(MLU370 × 4)完成全流程训练。
- 极致轻量 MoE 架构:采用混合专家(MoE)设计,模型总参数量仅 0.1B,推理激活参数低至约 67M,可在极低算力设备上实现超高推理吞吐。
- LLM as Judge 驱动的 PPO 训练:在强化学习阶段引入大语言模型作为裁判提供反馈信号,提升对齐训练的质量与效率。
- 前沿架构特性扩展:新增对 Attention Residuals(注意力残差)机制的支持,默认关闭,可在 utils.py 中修改 ENABLE_ATTN_RES 开启。
- 思考控制:支持通过添加 /think 和 /no think 标签选择开启或关闭思考模式。
- 高度解耦:模型定义(qibin0506/llm_model)与训练框架(qibin0506/llm_trainer)分离为独立仓库。
使用方式
环境准备
确保 Python >= 3.10。
获取代码
git clone https://github.com/qibin0506/Cortex.git
cd Cortex
安装依赖
pip3 install -r requirements.txt
启动服务
python3 app.py
首次运行将自动下载模型文件,启动后访问 http://0.0.0.0:8080/ 即可体验。
训练流程
训练过程分为四个主要阶段,请按顺序执行。
- 监控:日志位于 ./log 目录。查看指标:
vis_log ./log/log.txt;查看学习率:vis_lr ./log/lr.txt。 - Checkpoint 转换:每个阶段结束后,DeepSpeed 的 Checkpoint 需要转换为标准 bin 文件以便下一阶段加载。
- PPO 阶段:包含 Policy Model 和 Value Model 的联合训练。采用 LLM as Judge 作为奖励模型,可通过设置 JUDGE_API_KEY(必选)、JUDGE_BASE_URL(可选,默认为 siliconflow.cn)、JUDGE_MODEL(可选,默认为 DeepSeek-V3.2)选择适合自己的 LLM 作为奖励模型。注意:如果 JUDGE_BASE_URL、JUDGE_MODEL 选择默认,JUDGE_API_KEY 需要去 siliconflow 申请。
模型体验
Cortex 3.1 MoE 模型已发布,支持通过添加 /think 和 /no think 标签控制是否开启思考。可访问 ModelScope 创空间直接体验模型效果。
适用场景
适合个人开发者、研究者和学习者进行大语言模型的全流程训练实践,尤其适合在有限算力条件下探索 MoE 架构、强化学习对齐(PPO)以及国产芯片训练。
限制
关于项目的具体硬件要求、训练数据规模、模型性能指标、许可证信息等,资料中暂未提供。