网易首页 > 网易号 > 正文 申请入驻

在 Mac 上微调一切大模型

0
分享至

聊个让我非常兴奋的项目——mlx-tune

一句话概括:在你的 Mac 上,用 Unsloth 的 API 微调一切

LLM、视觉模型、TTS、STT、OCR、Embedding,全都能在 Apple Silicon 上本地微调

Mac 用户的微调困境

做大模型微调的同学应该都有过这种体验:想在本地跑个小实验验证下 idea,结果发现 Unsloth 依赖 Triton,而 Triton 不支持 Mac

于是你只剩两条路:

  1. 1. 花钱开云 GPU —— 就跑个 100 条数据的实验,有必要吗?

  2. 2. 用 mlx-lm 原生 API —— 但代码和 完全不兼容,到了云上还得重写一遍

mlx-tune(github.com/ARahim3/mlx-tune)的作者也遇到了一模一样的问题

他的解决思路非常简单粗暴:把 MLX 包装成 Unsloth 的 API

你在 Mac 上写的训练脚本,换个 import 就能直接在 CUDA 集群跑

# Unsloth (CUDA)                        # MLX-Tune (Apple Silicon)
from unsloth import FastLanguageModel from mlx_tune import FastLanguageModel
from trl import SFTTrainer from mlx_tune import SFTTrainer


# 后面的代码一模一样!

这才是真正解决问题的设计

下面这张图清楚展示了 mlx-tune 的工作流——本地原型验证,改个 import 就能上云训练:


功能有多全?看完吓一跳

它支持的训练方法比很多正经公司的内部工具都全:

语言模型训练:

  • SFT :基础指令微调,这是最常用的

  • DPO / ORPO / KTO / SimPO :各种偏好学习方法全覆盖

  • GRPO :DeepSeek R1 风格的多生成 + 奖励训练

  • CPT :持续预训练,支持解耦学习率

多模态训练:

  • Vision :支持 Gemma 4、Qwen3.5、PaliGemma、LLaVA、Pixtral 等 VLM 微调

  • TTS :Orpheus、OuteTTS、Spark-TTS、Sesame/CSM、Qwen3-TTS 五个 TTS 模型

  • STT :Whisper、Moonshine、Qwen3-ASR、NVIDIA Canary、Voxtral 五个 STT 模型

  • Embedding :BERT、ModernBERT、Qwen3-Embedding、Harrier,支持对比学习

  • OCR :DeepSeek-OCR、GLM-OCR、olmOCR、Qwen-VL,内置 CER/WER 指标

进阶能力:

  • MoE 微调 :支持 39+ 种 MoE 架构,包括 Qwen3.5-35B、Mixtral、DeepSeek 系列

  • Gemma 4 Audio :12 层 Conformer 音频塔,原生处理 16kHz 音频

  • LFM2 :Liquid AI 的混合卷积+GQA 架构

说真的,一个社区项目做到这个程度,相当离谱

全景架构一览——从 API 到硬件的五层设计:


快速上手

安装很简单,推荐用 uv:

# 标准安装
uv pip install mlx-tune


# 带音频支持
uv pip install 'mlx-tune[audio]'
brew install ffmpeg

来个最基础的 SFT 微调示例:

from mlx_tune import FastLanguageModel, SFTTrainer, SFTConfig
from datasets import load_dataset

# 加载模型(4bit 量化,省显存)
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="mlx-community/Llama-3.2-1B-Instruct-4bit",
max_seq_length=2048,
load_in_4bit=True,
)

# 加 LoRA
model = FastLanguageModel.get_peft_model(
model,
r=16,
target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
lora_alpha=16,
)

# 加载数据集
dataset = load_dataset("yahma/alpaca-cleaned", split="train[:100]")

# 训练
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
tokenizer=tokenizer,
args=SFTConfig(
output_dir="outputs",
per_device_train_batch_size=2,
learning_rate=2e-4,
max_steps=50,
),
)
trainer.train()

# 保存:三种格式随你选
model.save_pretrained("lora_model") # LoRA 适配器
model.save_pretrained_merged("merged", tokenizer) # 合并后的完整模型
model.save_pretrained_gguf("model", tokenizer) # GGUF 格式,直接给 Ollama 用

如果你用过 Unsloth,这代码看着是不是特别眼熟?对,就是同一套 API

视觉模型微调

VLM 微调也是同样简洁的体验:

from mlx_tune import FastVisionModel, UnslothVisionDataCollator, VLMSFTTrainer
from mlx_tune.vlm import VLMSFTConfig

model, processor = FastVisionModel.from_pretrained(
"mlx-community/Qwen3.5-0.8B-bf16",
)

model = FastVisionModel.get_peft_model(
model,
finetune_vision_layers=True, # 视觉层也微调
finetune_language_layers=True,
r=16, lora_alpha=16,
)

# 训练(数据集格式和 Unsloth 一致)
FastVisionModel.for_training(model)
trainer = VLMSFTTrainer(
model=model,
tokenizer=processor,
data_collator=UnslothVisionDataCollator(model, processor),
train_dataset=dataset,
args=VLMSFTConfig(max_steps=30, learning_rate=2e-4),
)
trainer.train()

Gemma 4、Qwen3.5、PaliGemma、LLaVA、Pixtral 都支持

你甚至可以用 Vision GRPO 来训练视觉推理能力

TTS 微调:在 Mac 上克隆声音

这个功能我觉得特别有意思——在 Mac 上本地微调 TTS 模型:

from mlx_tune import FastTTSModel, TTSSFTTrainer, TTSSFTConfig, TTSDataCollator
from datasets import load_dataset, Audio

# 自动检测模型类型、编码器和 token 格式
model, tokenizer = FastTTSModel.from_pretrained(
"mlx-community/orpheus-3b-0.1-ft-bf16"
)
model = FastTTSModel.get_peft_model(model, r=16, lora_alpha=16)

dataset = load_dataset("MrDragonFox/Elise", split="train[:100]")
dataset = dataset.cast_column("audio", Audio(sampling_rate=24000))

trainer = TTSSFTTrainer(
model=model, tokenizer=tokenizer,
data_collator=TTSDataCollator(model, tokenizer),
train_dataset=dataset,
args=TTSSFTConfig(output_dir="./tts_output", max_steps=60),
)
trainer.train()

Orpheus、OuteTTS、Spark-TTS、Sesame/CSM、Qwen3-TTS 都支持

想做声音克隆或者风格化 TTS,再也不用租 GPU 了

工作流全景

mlx-tune 的定位非常清晰:本地原型 → 云端量产

本地 Mac (mlx-tune)              云端 GPU (Unsloth)
├── 快速实验 ├── 大规模训练
├── 小数据集验证 ├── 完整数据集
├── 秒级迭代 ├── 生产级优化
└── 同一套代码 ─────────────────── └── 同一套代码

训练完还能直接导出:

  • HuggingFace 格式 :标准保存

  • GGUF :直接丢给 Ollama / llama.cpp

  • push_to_hub :一键推到 HuggingFace Hub

它适合谁?

我觉得 mlx-tune 最适合这几类人:

  1. 1. Mac 用户 + 微调需求 :你有 M1/M2/M3/M4/M5,想在本地跑微调实验,这是最佳选择

  2. 2. 混合工作流用户 :本地调试、云端训练,代码无缝迁移

  3. 3. 多模态探索者 :想同时玩 LLM、Vision、TTS、STT、OCR 微调的人

  4. 4. 学习者 :想理解微调原理,在本地快速迭代比去 Colab 排队强太多

局限性也得说清楚:

  • • 训练速度肯定比不上 A100 + Unsloth,这是物理定律决定的

  • • GGUF 导出对量化模型有限制,建议用非量化基座模型

  • • 内存受限于 Mac 的统一内存(不过 Mac Studio 最高 512GB,够用了)

如果你是 Mac 用户,又对微调大模型感兴趣,强烈建议试试

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
丢掉一哥宝座的阿尔卡拉斯继续保卫积分,下一站是去年获得亚军的巴塞罗那

丢掉一哥宝座的阿尔卡拉斯继续保卫积分,下一站是去年获得亚军的巴塞罗那

云隐南山
2026-04-13 18:02:13
特朗普威胁中国:若军援伊朗,再加50%关税!外交部一句话回怼

特朗普威胁中国:若军援伊朗,再加50%关税!外交部一句话回怼

鱼语昱雨轩
2026-04-13 19:41:39
53岁董卿近况曝光!在上海与父母同住,离婚传闻背后真相浮出水面

53岁董卿近况曝光!在上海与父母同住,离婚传闻背后真相浮出水面

起喜电影
2026-04-12 10:06:46
52岁男子一年后血管斑块消失!养成6个习惯,斑块或可慢慢消失

52岁男子一年后血管斑块消失!养成6个习惯,斑块或可慢慢消失

岐黄传人孙大夫
2026-03-28 20:35:03
美48架F-35直扑东北,解放军警告:敢动就全歼

美48架F-35直扑东北,解放军警告:敢动就全歼

老沮系戏精北鼻
2026-04-13 15:07:38
尤文花3.3M租来"饮水机管理员",4000万买断条款已自动触发

尤文花3.3M租来"饮水机管理员",4000万买断条款已自动触发

热血体育社
2026-04-13 18:19:08
封锁霍尔木兹海峡?伊议长:享受现在的油价吧,很快你就会怀念的

封锁霍尔木兹海峡?伊议长:享受现在的油价吧,很快你就会怀念的

清沐执笔
2026-04-13 20:15:48
快讯!伊朗革命卫队明确宣布了!

快讯!伊朗革命卫队明确宣布了!

达文西看世界
2026-04-13 09:35:22
忍无可忍!25万捷克人上街怒吼:我们拒绝成为下一个匈牙利

忍无可忍!25万捷克人上街怒吼:我们拒绝成为下一个匈牙利

阿凫爱吐槽
2026-03-24 17:59:04
孕妇买200水果被丈夫骂后选择打胎,还称这是及时止损

孕妇买200水果被丈夫骂后选择打胎,还称这是及时止损

映射生活的身影
2026-04-13 20:08:53
1462万!科大讯飞有人中彩票赢麻了!

1462万!科大讯飞有人中彩票赢麻了!

天天开柒
2026-04-12 11:48:28
纪委监委大数据监督有多强?违纪行为早已被模型精准锁定

纪委监委大数据监督有多强?违纪行为早已被模型精准锁定

奇思妙想生活家
2026-04-13 16:41:56
大陆之行结束,郑丽文下飞机后讲出3句话,赖清德终于怕了

大陆之行结束,郑丽文下飞机后讲出3句话,赖清德终于怕了

阿柒的讯
2026-04-13 12:57:04
一滴水放大400万倍后,我们会看到什么?

一滴水放大400万倍后,我们会看到什么?

心中的麦田
2026-04-12 19:08:36
巴西前模特:17岁就坐过爱泼斯坦飞机,如今要特朗普老婆身败名裂

巴西前模特:17岁就坐过爱泼斯坦飞机,如今要特朗普老婆身败名裂

芭比衣橱
2026-04-13 19:26:10
行程结束,郑丽文返回台湾,下飞机后讲出3句话,赖清德终于怕了

行程结束,郑丽文返回台湾,下飞机后讲出3句话,赖清德终于怕了

风流女汉
2026-04-13 08:12:13
中国篮协致信:感谢湖北!

中国篮协致信:感谢湖北!

湖报体育
2026-04-13 20:01:53
13号午评:创业板指冲高回落,所有人都注意,大盘后市开始这样看

13号午评:创业板指冲高回落,所有人都注意,大盘后市开始这样看

春江财富
2026-04-13 11:53:05
欧阳妮妮被质疑针对妹妹,曝光欧阳娜娜素颜,自己全妆叫对方保姆

欧阳妮妮被质疑针对妹妹,曝光欧阳娜娜素颜,自己全妆叫对方保姆

萌神木木
2026-04-13 17:57:47
输不起!李添荣赛后和场边球迷击掌,被北京工作人员粗暴推搡+爆粗

输不起!李添荣赛后和场边球迷击掌,被北京工作人员粗暴推搡+爆粗

818体育
2026-04-13 09:39:11
2026-04-13 20:51:00
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3316文章数 11130关注度
往期回顾 全部

科技要闻

"抄作业"近四年,马斯克版微信周五上线

头条要闻

媒体:欧尔班败选不仅是一国之事 牵扯到与中国的关系

头条要闻

媒体:欧尔班败选不仅是一国之事 牵扯到与中国的关系

体育要闻

一支球队不够烂,也是一种悲哀

娱乐要闻

初代“跑男团”合体,邓超、鹿晗缺席

财经要闻

今夜,出大事了,3种结果

汽车要闻

不止命名更纯粹 领克10/10+要做纯电操控新王

态度原创

教育
亲子
健康
房产
公开课

教育要闻

燕子飞时 | 麦田团队动态20260413期

亲子要闻

以为只是小小的不舒服 这么小就要遭这份罪,当妈满心心疼,婆婆

干细胞抗衰4大误区,90%的人都中招

房产要闻

6000亿投资盛宴,全球巨头齐聚,海南又要干件大事!

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版