www.撸撸社

核心内容摘要

定格惊艳:全课体人镜头下的不朽瞬间
亚洲热热色:一场跨越经纬的感官盛宴与独特风情之约

78起飞教程9.1

新手友好Unsloth开源框架Mac安装全攻略附

常见问题你是不是也遇到过这样的困扰想在Mac上微调一个大语言模型刚打开Unsloth官网却发现文档里清清楚楚写着“仅支持Linux和Windows”点进GitHub Issues一翻发现从2023年起就有几十位开发者在追问“Mac支持什么时候来”而最新一条回复停留在2025年3月——一个尚未合并的PR正在等待验证。

别急。

这篇文章不是告诉你“Mac不支持”而是手把手带你用真正可用、已实测通过、适配Apple Silicon芯片的方式在你的MacBook Pro或Mac Studio上成功跑起Unsloth。

全程无需外接显卡、不依赖Docker虚拟机、不折腾CUDA驱动——只用原生Metal加速就能享受2倍训练速度、70%显存节省的轻量化微调体验。

全文基于真实环境macOS Sonoma

1

7 Apple M2 Pro / M3 Max反复验证所有命令可直接复制粘贴每一步都标注了为什么这么做、哪里容易踩坑、出错了怎么快速定位。

哪怕你从未用过conda、没碰过LoRA、连pip install -e是什么都不清楚——这篇就是为你写的。

为什么官方不支持Mac但你其实可以

1 官方现状Linux/Windows优先Mac处于“实验性支持”阶段打开Unsloth GitHub主页你会在README顶部看到明确说明Supports Linux WindowsmacOS is not officially supported这不是一句客套话。

Unsloth底层重度依赖PyTorch的CUDA后端与FlashAttention优化而macOS原生不提供CUDA支持。

过去几年团队资源聚焦于企业级GPU集群场景Mac被列为低优先级平台。

但现实是越来越多AI学习者、独立开发者、教育工作者使用Mac进行模型探索。

他们不需要千卡训练只需要在本地快速验证一个LoRA微调流程、调试提示词工程、生成小规模指令数据集——这些完全可以在Apple Silicon芯片上高效完成。

2 突破点PR #1289 —— 苹果芯片专用分支正式落地转机出现在2025年3月社区贡献者shashikanth-a提交了关键PR #1289标题直击痛点Add Apple Silicon support via MLX backend。

这个PR没有强行把CUDA塞进Mac而是做了更聪明的事全面切换至MLX框架Apple官方推出的专为Apple芯片设计的机器学习库重写核心算子注意力机制、RoPE位置编码、LoRA注入全部适配Metal GPU保留全部API兼容性unsloth.mlx模块接口与原unsloth几乎一致老代码改两行就能跑零CUDA依赖彻底告别torch.cuda.is_available()报错更重要的是——它已通过M1/M2/M3全系芯片实测包括训练Llama-

3.

B-InstructFP16精度2048序列长度微调Qwen2-

5B4-bit量化加载导出GGUF格式供llama.cpp推理所以严格来说Mac不是“不支持”而是走了一条更干净、更原生的技术路径。

安装前必读3个关键前提与避坑指南

1 前提一必须使用Python

12非

13Unsloth的MLX后端目前不兼容Python

13。

如果你刚升级系统python --version显示

13请立即降级# 推荐用conda管理避免污染系统Python conda create -n unsloth_env python

12 conda activate unsloth_env验证方式python -c import sys; print(sys.version) # 正确输出应为

3.

x (如

3.

12.

小贴士不要用brew install python

12Homebrew安装的Python可能缺少_ctypes等关键模块导致MLX编译失败。

务必用conda或pyenv。

2 前提二确认你的Mac搭载Apple Silicon芯片本方案仅适用于M1/M2/M3系列芯片含Pro/Max/Ultra版本。

Intel MacCore i5/i7/i9因缺乏Metal GPU加速能力无法运行MLX后端。

验证方法arch # 输出应为arm64若输出i386或x86_64请停止阅读本文——你当前设备不在支持范围内。

3 前提三磁盘空间预留至少15GBMLX编译过程会下载MLX核心库~200MBMetal Shader缓存首次运行自动生成~3GB模型权重Llama-

3.

B约5GBQwen2-

5B约3GB虚拟环境与依赖~2GB建议执行前检查df -h ~ | grep -E ^(Filesystem|.*%) # 确保Available列 15G

四步极简安装从零到可运行

1 第一步克隆苹果芯片专用分支切记不要克隆官方main分支必须使用shashikanth-a维护的apple_silicon_support分支# 创建工作目录推荐放在用户主目录下避免权限问题 mkdir -p ~/projects/unsloth-mac cd ~/projects/unsloth-mac # 克隆专用分支比git clone快且避免网络中断 curl -L https://github.com/shashikanth-a/unsloth/archive/refs/heads/apple_silicon_support.tar.gz | tar xz mv unsloth-apple_silicon_support unsloth cd unsloth验证进入目录后执行ls -la应看到pyproject.toml文件。

这是安装入口。

2 第二步创建并激活conda环境# 创建独立环境名称可自定义但建议保持unsloth_env conda create -n unsloth_env python

12 conda activate unsloth_env # 升级pip确保兼容性 pip install --upgrade pip

3 第三步安装MLX及核心依赖Unsloth的Mac版依赖MLX生态需手动预装# 安装MLX官方推荐方式 pip install mlx mlx-optimize mlx-lm # 安装Hugging Face生态必须否则tokenizer报错 pip install transformers datasets accelerate safetensors # 安装额外工具日志、进度条等 pip install tqdm tensorboard

4 第四步安装Unsloth本体开发模式# 在unsloth项目根目录执行即包含pyproject.toml的目录 pip install -e .[huggingface]成功标志终端无红色报错末尾出现类似提示Successfully installed unsloth-

2025.

0若报错ModuleNotFoundError: No module named mlx说明第三步MLX未装好请返回重试。

若报错error: subprocess-exited-with-error大概率是Python版本不对请执行python --version确认。

安装验证3条命令确认一切就绪

1 检查环境是否激活conda env list | grep * # 星号标记当前激活环境 # 应看到unsloth_env /opt/anaconda3/envs/unsloth_env

2 验证Unsloth CLI可用性python unsloth-cli.py --help正确输出显示完整的参数列表如--model_name,--r,--max_steps等开头有图标。

这说明CLI入口已注册后续可直接用命令行启动训练。

3 运行最小化测试脚本创建test_install.pyfrom unsloth.mlx import mlx_utils from unsloth import is_bfloat16_supported print( Unsloth MLX模块导入成功) print( bfloat16支持状态:, is_bfloat16_supported()) # 尝试加载一个超小模型仅测试加载逻辑不实际训练 try: model, tokenizer, config mlx_utils.load_pretrained( unsloth/Llama-

3.

B-Instruct, dtypefloat16, load_in_4bitTrue, ) print( 模型加载成功Llama-

3.

B) except Exception as e: print( 模型加载失败:, str(e))运行python test_install.py全部打印“”即表示安装完成可进入实战环节。

5.

常见问题速查手册附解决方案

1 问题ImportError: dlopen(...mlx.so) failed原因MLX未正确安装或Python版本不匹配解决执行pip uninstall mlx -y pip install mlx确认python --version为

3.

x若仍失败尝试pip install --force-reinstall --no-deps mlx

2 问题OSError: Unable to open file加载模型时原因Hugging Face token未配置或模型名拼写错误解决登录HFhuggingface-cli login获取token后粘贴检查模型名是否准确访问 HF Model Hub 确认存在替换为更轻量模型测试unsloth/Llama-

3.

B-Instruct

3 问题训练时显存爆满MemoryError原因Apple Silicon统一内存被Metal缓存占满解决降低--per_device_train_batch_sizeMac建议设为1或2添加--gradient_accumulation_steps 8补偿batch size启动前清理缓存rm -rf ~/Library/Caches/com.apple.metal/

4 问题NameError: name unsloth_cli is not defined原因误用了旧版文档中的API官方main分支写法解决Mac版必须用unsloth.mlx模块所有导入语句改为# 正确Mac专用 from unsloth.mlx import mlx_utils, lora as mlx_lora # 错误Linux/Windows版 from unsloth import is_bfloat16_supported

5 问题训练速度慢于预期10 tokens/sec原因未启用Metal GPU加速或CPU占用过高解决检查Activity Monitor → GPU History确认有持续GPU占用关闭Chrome、Final Cut等GPU密集型应用在训练脚本开头添加import os os.environ[MLX_DISABLE_MPS] 0 # 强制启用Metal

下一步用5分钟跑通第一个微调任务安装只是起点。

现在你已拥有一个开箱即用的Mac本地LLM微调环境。

接下来只需3个命令就能让Llama-

3.

B学会回答你的专属问题#

准备一个极简数据集保存为data.json echo [{instruction:解释量子计算,input:,output:量子计算利用量子比特的叠加和纠缠特性...}] data.json #

启动微调自动处理数据加载、LoRA注入、训练循环 python unsloth-cli.py \ --model_name unsloth/Llama-

3.

B-Instruct \ --dataset data.json \ --r 8 \ --max_steps 20 \ --per_device_train_batch_size 1 \ --output_dir ./my_finetuned_model #

加载并测试训练完成后执行 python -c from unsloth.mlx import mlx_utils model, tokenizer, _ mlx_utils.load_pretrained(./my_finetuned_model) inputs tokenizer(解释量子计算, return_tensorsnp) outputs model.generate(**inputs, max_new_tokens

print(tokenizer.decode(outputs[0])) 你将看到模型用你指定的风格生成答案——整个过程无需离开终端不依赖云服务所有数据留在本地。

获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

在线百科-在线百科应用

相关标签

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123