在看到 @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