适合初学者的 Python 代码演练 (ft. MLX)
欢迎来到雲闪世界。本文展示了如何使用 Google Colab 上的单个(免费)GPU 微调 LLM。虽然该示例(以及许多其他示例)可以在 Nvidia 硬件上轻松运行,但它们并不容易适应 M 系列 Mac。介绍一种在 Mac 上本地微调 LLM 的简单方法。
随着开源大型语言模型 (LLM) 和高效微调方法的兴起,构建自定义 ML 解决方案从未如此简单。现在,任何拥有单个 GPU 的人都可以在本地机器上微调 LLM。
然而,由于苹果的 M 系列芯片,Mac 用户在很大程度上被排除在这一趋势之外。这些芯片采用统一的内存框架,无需 GPU。因此,许多用于运行和训练 LLM 的(以 GPU 为中心的)开源工具与现代 Mac 计算能力不兼容(或没有充分利用)。
在发现 MLX Python 库之前,我几乎放弃了在本地培养法学硕士的梦想。
美拉尼西亚
MLX是 Apple 机器学习研究团队开发的 Python 库,用于在 Apple 芯片上高效运行矩阵运算。这很重要,因为矩阵运算是神经网络底层的核心计算。
MLX 的主要优势在于它充分利用了 M 系列芯片的统一内存范式,这使得中等系统(如我的 M1 16GB)能够在大型模型(例如 Mistral 7b Instruct)上运行微调作业。
虽然该库没有用于训练 Hugging Face 等模型的高级抽象,但有一个LoRA 的示例实现,可以轻松破解并适应其他用例。
这正是我在下面的例子中所做的。
示例代码:微调 Mistral 7b 指令
我不会使用 Hugging Face 的 Transformers 库和 Google Colab,而是使用 MLX 库和我的本地机器(2020 Mac Mini M1 16GB)。