当前位置: 首页 > ops >正文

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

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

    • 背景
    • 模型推理 Ollama
      • 🔍 举例说明:
      • 踩坑
    • 模型微调 unsloth

背景

在国补、教育优惠、京东会员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加速。

  • 小白入门:使用vLLM在本机MAC上部署大模型
  • Does vllm support the Mac/Metal/MPS? #1441

模型微调 unsloth

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

http://www.xdnf.cn/news/13202.html

相关文章:

  • Spring Boot 与 Kafka 的深度集成实践(三)
  • 多模态分类案例实现
  • 可视化如何全方位赋能销售工作
  • Rust 学习笔记:通过 Send 和 Sync trait 实现可扩展并发性
  • 常用的OceanBase调优配置参数
  • Vue 的 v-model 指令详解
  • 2023年全国研究生数学建模竞赛华为杯D题区域双碳目标与路径规划研究求解全过程文档及程序
  • C# 中常用的 字符串截取方法
  • 代码解读——ReferenceNet
  • 深入理解Linux DRM显示子系统:架构、实战项目与关键问题全解析
  • 相机camera开发之差异对比核查二:测试机和对比机的差异提交对比
  • 项目又延期?如何用“灵活IT人力外包”快速补位技术缺口
  • Android高性能音频与图形开发:OpenSL ES与OpenGL ES最佳实践
  • NexusTerminal一款视频移动端的webSSH
  • 人工操舵是如何操作的?介绍人工操舵的经验和规律
  • 云原生核心技术 (4/12): Docker 进阶:镜像优化实战与 Docker Compose 揭秘
  • Python----OpenCV(图像处理——图像的多种属性、RGB与BGR色彩空间、HSB、HSV与HSL、ROI区域)
  • Dual-Port MIPI to HDMI 2.0,4k@60Hz
  • Java + Spring Boot项目枚举(Enum)目录建议
  • Couchbase 可观测性最佳实践
  • 二十、【用户管理与权限 - 篇二】前端交互:实现用户管理界面
  • C++17 std::string_view:性能与便捷的完美结合
  • 【习题】应用程序框架基础
  • 蓝桥杯国赛训练 day3
  • C++ 8.1 内联函数
  • 【Nginx系列】Nginx 负载均衡策略之 least_conn
  • shell脚本--查看应用的cpu 和 内存使用率 并把最新告警内容显示出来
  • Huggingface-CLI的使用
  • AIStarter 4.0 苹果版体验评测|轻松部署 ComfyUI 与 DeepSeek 的 AI 工具箱
  • 二刷苍穹外卖 day01