在看到 @karpathy 的 nanochat 后,我对在 Mac 上本地使用 GRPO 微调的想法变得着迷。 我已经让它工作了,并在这里开源了整个项目。 这是 nanochat 处理 GSM8K 数据集的步骤,虽然可能对它来说有点过于复杂 😅
最困难的部分是,nanochat没有完整的MLX支持。 它仅以PyTorch .pt文件的形式存在,并带有自定义的tiktoken分词器。 必须: - 构建PyTorch → MLX转换器 - 理解分词器格式 - 使其与GRPO一起工作
在这个仓库中,我详细介绍了如何将nanochat转换为MLX。 适用于两种模型: - 原始的20层 - Karpathy的更大32层(d32) 转换后 → 在您想要的任何数据集上运行GRPO。
这是一项实验性的工作,但我认为它展示了一个可能的未来:在专业数据集上对本地模型进行强有力的微调。 该仓库还包括: - 将模型转换为 MLX 的工具 - 推理工具 - GRPO 可以与任何模型一起使用(不仅仅是 nanochat!)
15.68K