在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](https://juejin.cn/post/7371365854012293131 "https://juejin.cn/post/7371365854012293131")

相关推荐
Coder_Boy_34 分钟前
技术发展的核心规律是「加法打底,减法优化,重构平衡」
人工智能·spring boot·spring·重构
会飞的老朱3 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º4 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee6 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º7 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys7 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56787 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子7 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
未来侦察班7 小时前
一晃13年过去了,苹果的Airdrop依然很坚挺。
macos·ios·苹果vision pro
智驱力人工智能8 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算