REFERENCE 0002 / 2026-10-10 核实
小模型,完整闭环
M2 Pro · 32 GB 统一内存 · 先验证短输出与小批次。
首轮模型
Qwen/Qwen2.5-0.5B-Instruct:官方模型卡列出 0.49B 参数、24 层、支持中文,许可为 Apache-2.0。它已做过指令后训练,是本实验的起点。官方模型卡
首轮用非量化权重加 LoRA,减少精度与导出变量。按 0.49B × 2 字节估算,BF16 权重约 0.98 GB;这只是权重下限估算,训练还需要激活、梯度、优化器状态、缓存,GRPO 还涉及参考模型与多次采样。
32 GB 适合把这个规模作为起点,这是工程判断。尚未测得峰值内存和速度;先做少量更新,记录 MLX 峰值与 macOS 内存压力,再决定预算。统一内存机制见 MLX 官方说明。
| 选择 | 用途 | 取舍 |
|---|---|---|
| Qwen2.5-0.5B-Instruct | 本轮默认 | 小、中文、指令模板简单;任务正确率需要实测。 |
| Qwen3-0.6B | 后续迁移实验 | 同样很小,但需统一训练与服务的思考模式和模板。官方卡 |
| 更大模型 | 首轮之后 | 只有基线、训练信号与内存证据支持时再升级。 |
工具各做什么
| 工具 | 职责 | 本轮命令 |
|---|---|---|
| MLX | Apple Silicon 数组与自动微分 | 由训练与推理库调用 |
| 官方 MLX-LM | 转换、SFT、adapter 融合、推理服务 | mlx_lm.convert / lora / fuse / server |
| 社区 mlx-lm-lora | GRPO 与自定义奖励 | mlx_lm_lora.train --train-mode grpo |
| 本工作区 lab.py | 规则标准答案、合成数据、评估与 API 留证 | self-check / data / evaluate / api-check |
来源:MLX-LM 官方仓库、GRPO 实现维护者仓库。社区实现的依赖与训练行为要独立验证。
产物流向:原始 MLX 权重 → SFT adapter → 融合的 SFT 权重 → GRPO adapter → 融合的最终权重 → HTTP 服务。固定 SFT 权重也作为 RL 的参考模型。
首次训练前速查
- 确认 arm64 Python 3.11+ 与 MLX 设备;使用工作区独立环境。
- 运行 oracle 与奖励反例检查;冻结数据 seed、hash 和 system prompt。
- SFT 和 GRPO 各做少量更新;检查有限损失、真实参数变化、保存与重载。
- 用同一个消息模板评分;GRPO 数据显式带 system,避免默认 XML 模板。
- 任何模型增大、量化或模板变化都生成新实验版本,不混入原对照。
候选版本:mlx 0.32.3、mlx-lm 0.32.0、mlx-lm-lora 5.8.6。已核对发布源码,运行兼容性仍待冒烟。官方库发布 · 社区库发布