在mac m1基于llama.cpp运行deepseek

lama.cpp是一个高效的机器学习推理库,目标是在各种硬件上实现LLM推断,保持最小设置和最先进性能。llama.cpp支持1.5位、2位、3位、4位、5位、6位和8位整数量化,通过ARM NEON、Accelerate和Metal支持Apple芯片,使得在MAC M1处理器上运行Deepseek大模型成为可能。

1 下载llama.cpp

git clone https://github.com/ggerganov/llama.cpp.git

如果clone异常,直接下载release版本,链接如下,然后解压缩https://github.com/ggml-org/llama.cpp/archive/refs/tags/b5857.tar.gz

2 安装llama.cpp

创建环境

conda create -n llama.cpp python=3.12

conda activate llama.cpp

安装依赖

pip install -r requirements.txt

编译

conda install cmake

mkdir build

cd build

cmake .. -DLLAMA_METAL=ON

cmake --build . --config Release

-DLLAMA_METAL=ON启用Metal支持,利用mac的GPU加速

3 测试llama.cpp

  1. GGUF转化

提前下载hf格式的模型文件../DeepSeek-R1-Distill-Qwen-7B,将模型文件转化为GGUF模型文件。GGUF是一种用于GGML推断的文件格式。转化代码convert_hf_to_gguf.py在llama.cpp主目录。

cd .. # 切换到llama.cpp主目录

python convert_hf_to_gguf.py ../DeepSeek-R1-Distill-Qwen-7B

转化后GGUF模型文件../DeepSeek-R1-Distill-Qwen-7B/DeepSeek-R1-Distill-Qwen-7B-F16.gguf

  1. int4量化

刚编译好的量化程序llama-quantize在build/bin目录。

cd build

./bin/llama-quantize ../../DeepSeek-R1-Distill-Qwen-7B/DeepSeek-R1-Distill-Qwen-7B-F16.gguf ../../DeepSeek-R1-Distill-Qwen-7B/model-q4_0.gguf Q4_0

量化后的gguf int4文件../../DeepSeek-R1-Distill-Qwen-7B/model-q4_0.gguf

3)测试量化

量化推理命令/llama-cli也在build/bin目录,运行示例如下。

./bin/llama-cli -m ../../DeepSeek-R1-Distill-Qwen-7B/model-q4_0.gguf -p "你好?新加坡首都在哪里" -n 128

reference


llama.cpp release

https://github.com/ggml-org/llama.cpp/releases

llama.cpp里面的Q8_0,Q6_K_M,Q4_K_M量化原理是什么?

https://www.zhihu.com/question/633365088

LLM-Llama在 MAC M1上体验Llama.cpp和通义千问Qwen 1.5-7B

https://juejin.cn/post/7371365854012293131

相关推荐
limuyang22 小时前
我在 2核2G 云主机上跑 OpenViking:一次关于云主机、模型选型与长期成本的真实复盘
人工智能·开源·ai编程
zhangfeng11334 小时前
com.apple.quarantine 并不是乱码,而是 macOS Gatekeeper 给下载文件自动打上的“隔离属性
macos·策略模式
Shulex4 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
Java后端的Ai之路4 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
情 九4 小时前
MCP 实战 06:把 HTTP 接口接成工具,让 AI 帮你查数据
人工智能·网络协议·http·mcp
码农小旋风5 小时前
Ray分布式计算引擎介绍
人工智能·架构
火山引擎和TA的超级拍档们5 小时前
产品情报局 08 | AI 内容助手:全网热点驱动,一站式打通内容生产全链路
人工智能
Binovate缤江数智5 小时前
水泵远程开关之后,还需要管什么?数智开关在无人值守泵站中的监测、保护与能耗分析
人工智能·物联网
素男5 小时前
两个月不是六十天
人工智能·agent·self-becoming·ai长期记忆·ai自我介绍