Goekdeniz-Guelmez/mlx-lm-lora

Train Large Language Models on MLX.

MLX-LM-LoRA

它是什么 一个 Python 库,允许你在 Apple 芯片 Mac 上使用 MLX 框架微调大型语言模型(LLM)。它添加了一套高效的训练方法——LoRA、DoRA、全精度和量化训练(QLoRA、QAT)——以及大量基于偏好的优化算法(DPO、ORPO、RLHF、PPO 等)。

为什么重要 训练 LLM 通常需要强大的 GPU。MLX-LM-LoRA 使得在 MacBook 或 Mac Studio 上也能做到这一点,利用 Apple GPU 和 MLX 内置的低内存技巧。它还捆绑了许多最新的对齐训练技术,因此研究人员和爱好者可以在不离开 Apple 生态系统的情况下,尝试基于人类反馈的强化学习、偏好优化和量化感知训练。

主要特性(根据 README 描述)

  • 模型支持:适用于上游 MLX-LM 项目支持的任何模型(Llama、Mistral、Qwen、Gemma、OLMo、MiniCPM 等)。
  • 训练方法:
    • LoRA(低秩适配器)和 DoRA(权重分解 LoRA)
    • 全精度微调
    • 量化训练(4、6、8 位 QLoRA)
    • 用于 SFT、DPO、ORPO、DSLA 的量化感知训练(QAT)
  • 优化算法:
    • 监督微调(SFT)
    • 直接偏好优化(DPO)
    • 比值比偏好优化(ORPO)
    • 方向与相似性感知潜在对齐(DSLA)
    • 对比偏好优化(CPO)
    • 组相对策略(GRPO、GSPO、Dr. GRPO、DAPO)
    • 基于人类反馈的强化学习变体(RLHF-Reinforce、PPO、KL-PO)
  • 自定义偏好模型:你可以训练自己的偏好模型用于在线训练循环。
  • 内存技巧:梯度累积、检查点、循环训练保护、编译优化器更新,以保持 Apple 芯片上的 RAM 使用率低。
  • 配置:所有选项通过命令行标志或 YAML 配置文件暴露;标志覆盖配置。

安装

pip install -U mlx-lm-lora

该包发布在 PyPI 上,并采用 Apache 2.0 许可证。

快速开始

mlx_lm_lora.train \
  --model <model-id> \
  --train \
  --data <dataset-id> \
  --iters 600

将 <model-id> 替换为 MLX-LM hub 中的模型(例如,Goekdeniz-Guelmez/Josiefied-Qwen2.5-0.5B-Instruct-abliterated-v1),将 <dataset-id> 替换为 mlx-community hub 上的数据集。

如何使用

  1. 选择训练模式 – --train-mode sft、dpo、orpo、dsla、grpo 等。
  2. 选择适配类型 – --train-type lora(默认)、dora 或 full。
  3. 可选量化 – 添加 --qat-enable 并设置 --qat-bits(2-16)用于 QAT,或使用 --quantize 4 用于 QLoRA。
  4. 提供数据集 – 库接受 JSONL 文件,包含提示/完成对(SFT)或偏好三元组(prompt、chosen、rejected)。
  5. 运行 – CLI 流式显示进度并自动写入检查点。

示例:LoRA SFT

mlx_lm_lora.train \
  --model Goekdeniz-Guelmez/Josiefied-Qwen2.5-0.5B-Instruct-abliterated-v1 \
  --train \
  --train-mode sft \
  --train-type lora \
  --data mlx-community/hermes-3 \
  --batch-size 4 \
  --learning-rate 1e-5 \
  --iters 1000

示例:启用 QAT 的 DPO

mlx_lm_lora.train \
  --model <model> \
  --train \
  --train-mode dpo \
  --data <pref-dataset> \
  --qat-enable \
  --qat-bits 4

在哪里找到更多 所有笔记本、示例 YAML 配置和逐步演练都位于配套仓库:Goekdeniz-Guelmez/mlx-lm-lora-example-notebooks。

谁可能使用它

  • 在 Mac 上原型设计新对齐目标的研究人员。
  • 希望为特定任务微调小型 LLM 而无需租用 GPU 云的开发者。
  • 在普通硬件上演示 LLM 训练流程的教育工作者。

TL;DR:MLX-LM-LoRA 是一个功能齐全、专注于 Apple 芯片的库,用于微调 LLM,支持 LoRA、量化以及广泛的基于偏好的训练算法,全部可通过简单的 CLI 运行。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目