Goekdeniz-Guelmez/mlx-lm-lora

Train Large Language Models on MLX.

解决的问题

MLX-LM-LoRA 提供了一个全面的工具包,用于在 Apple Silicon 上本地微调大型语言模型(LLM)。它支持使用多种高效训练方法和偏好优化算法,对 Llama、Mistral、Qwen 和 Gemma 等模型进行自定义,从而减少对昂贵云 GPU 基础设施的依赖。

工作原理

该项目利用 MLX 框架优化 Mac 硬件上的训练。支持多种训练类型,包括 LoRA(低秩适应)、DoRA(权重分解低秩适应)、全精度训练和量化训练(QLoRA)。

实现了广泛的训练算法:

  • 监督微调(SFT):标准的指令微调。
  • 偏好优化:包括 DPO、CPO、ORPO 和在线 DPO,这些方法可在无需独立奖励模型的情况下将模型对齐到人类偏好。
  • 强化学习:实现了 GRPO、GSPO、Dr. GRPO、DAPO、RLHF Reinforce 和 PPO。
  • 量化感知训练(QAT):在训练期间模拟量化效果,以提升最终量化模型的性能。

适用人群

  • AI 开发者:希望在 Apple Silicon 上运行和微调 LLM 的人。
  • 机器学习工程师:希望在本地实验不同偏好优化和 RLHF 技术的研究人员。
  • 模型定制者:希望集成量化感知训练以在量化后保持模型质量的用户。

主要亮点

  • Apple Silicon 优化:专为 MLX 框架构建。
  • 广泛的算法支持:涵盖从基础 SFT 到高级 GRPO 和 PPO 的全部内容。
  • QAT 集成:支持在 SFT、DPO 和 ORPO 训练期间进行 4-16 位量化投影。
  • 灵活的配置:支持命令行标志和 YAML 配置文件。
  • 自定义奖励函数:允许用户为 GRPO 训练定义自己的 Python 基础奖励函数。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch