Mac M4 芯片运行大模型指南,包括模型微调与推理

发布于:2025-06-12 ⋅ 阅读:(17) ⋅ 点赞:(0)

Mac M4 芯片运行大模型指南,模型微调与推理

背景

在国补、教育优惠、京东会员500优惠券等众多优惠之下。
我拿下了Macmini M4 16G 内存万兆网卡。在机器到手的第一时间,马上开始折腾如何炼丹。

模型推理 Ollama

首选 Ollama,通过多线程、协程、多进程等方式调用大模型的API 。
同时也可以使用 llama.cpp 。

Ollama 的底层基于 llama.cpp,它做了很多封装和增强,主要体现在以下几个方面:

✅ Ollama 与 llama.cpp 的关系

项目 内容
核心推理引擎 使用 llama.cpp 作为底层推理引擎(尤其是 .gguf 格式模型)
模型格式 支持 llama.cppGGUF 格式模型
硬件加速 使用 llama.cpp 的 MPS(Apple Silicon)、CUDA、CPU 推理能力
多平台支持 提供 macOS、Linux、Windows 上的一键安装与运行方式
封装 提供了简单的命令行接口 (ollama run, ollama pull, ollama create)
扩展功能 可以本地部署多个模型、支持 REST API、支持自定义模型 Modelfile

✅ ollama 的作用

Ollama 可以看成是 llama.cpp 的「产品化版本」,对开发者和终端用户更友好:

  • 提供后台服务(自动管理模型、资源)
  • 提供模型版本管理
  • 提供 REST API 接口(方便开发集成)
  • 支持自定义系统提示、上下文管理
  • 更易与前端、终端集成

🔍 举例说明:

# llama.cpp 运行方式(原始)
./main -m model.gguf -p "你好"

# ollama 运行方式(封装)
ollama run llama3 "你好"

两者底层执行的是类似的 GGUF 模型推理逻辑,但 ollama 管理了模型下载、缓存、资源分配、上下文窗口扩展等内容。


如果你想:

  • 更底层控制(自定义编译优化、显存分配等) → 选择 llama.cpp
  • 快速集成和部署、搭建本地 API → 选择 Ollama

踩坑

本来想使用 vllm 基于 Mac 的 mps 做加速。但是。
下述资料也说明了 vllm 不支持 Mac的mps加速。

模型微调 unsloth

首选 unsloth 微调框架。虽然LLamaFactory也支持 Mac,但并不推荐。
因为 unsloth 的内存占用更小,微调速度更快。