
MacBook Pro(M芯片) 搭建DeepSeek R1运行环境(硬件加速)
怎样在Mac系统上搭建DeepSeek离线推理运行环境, MacOS, Llama.cpp, Homebrew, XCode,CMake
前言:
本文介绍怎样在Mac系统上搭建DeepSeek离线推理运行环境;Mac系统做大模型理是有一些先天优势的:
1. 统一内存架构 (Unified Memory Architecture, UMA)
Apple Silicon芯片,如M1、M2、M3和M4,采用了统一内存架构(UMA),这意味着CPU、GPU和NPU共用同一块内存。这种设计带来了以下几个优势:
-
高效的数据共享:CPU、GPU和NPU可以快速共享数据,无需数据拷贝,从而减少了延迟。
-
节省内存:统一内存架构避免了各个处理单元之间的数据冗余,节省了内存空间。
2. 高内存带宽
Apple Silicon芯片的内存带宽非常高,特别是M1 Ultra和M2 Ultra等高端型号。这使得GPU和NPU能够快速访问内存中的数据,从而提高了图形处理和机器学习任务的效率。
3. 动态内存分配
由于内存是共享的,系统可以根据需要动态分配内存给CPU、GPU和NPU。这意味着当GPU需要更多内存进行图形处理时,可以临时从系统内存中借用。这种灵活性对于处理大规模数据集和复杂计算任务非常有用。
4.M芯片的算力和Nvidia显卡对比:
芯片型号 | NPU算力 (TOPS) | 算力TOPS相同的NVIDIA显卡型号 | NVIDIA显卡显存 |
---|---|---|---|
M1 | 11 TOPS | GTX 1660 Ti / GTX 1650 | 6GB / 4GB |
M2 | 15.8 TOPS | RTX 2060 Super / RTX 2060 | 6GB / 6GB / 8GB |
M3 | 18 TOPS | RTX 3060 Ti / RTX 3070 | 8GB / 8GB / 12GB |
M4 | 38 TOPS | RTX 3080 / RTX 3090 | 10GB / 12GB / 24GB |
虽然从算力上看,M1开始的芯片只能和非主流NV显卡相当,但是由于Mac系统的UMA框架优势,超强的内存管理框架,实际在大模型(单卡情况)训练,微调,推理时整体性能超过算力相当的nvidia显卡。
环境概述:
具体内存,硬盘,电脑需要配置参看这篇介绍:DeepSeek 8B,14B,32B,70B在ubuntu,mac上的性能测试结果-CSDN博客
硬盘空间:
配置 | 配置要求 | 备注 |
---|---|---|
硬盘、内存 | 最低8G |
DeepSeek R1 8B量化后模型 3.3GB , 8G内存无压力 DeepSeek R1 14B量化后模型 5.7GB, 8G内存勉强运行 DeepSeek R1 32B量化后模型 8.4GB,最低16G内存 |
系统版本 | 14.6 | |
编译环境 | XCode, HomeBrew, cmake, Git |
XCode: 16 Homebrew 4.3.24 cmake version 3.27.4 git-lfs/3.3.0 |
Llama.cpp | master分支 | https://github.com/ggml-org/llama.cpp |
环境准备:
1.先通过App store安装 XCode软件。
安装后在命令行执行,安装命令行编译工具:
xcode-select --install
2.安装HomeBrew:
先检查是否已安装brew工具,已安装跳过:
brew --version
如果返回版本号代表已安装,未安装执行下面:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
如遇到其他问题,请直接访问官网:
macOS(或 Linux)缺失的软件包的管理器 — Homebrew
3.安装git, git-lfs, cmake:
brew install cmake git git-lfs
编译项目:
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
MAC系统的显卡标识是metal,默认硬件开启加速编译:
cmake -B build
cmake --build build --config Release
检查其他编译参数参见:https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md
下载DeepSeek模型:
下载模型:
https://huggingface.co/unsloth/DeepSeek-R1-Distill-Llama-8B-GGUF/tree/main
https://huggingface.co/unsloth/DeepSeek-R1-Distill-Qwen-14B-GGUF/tree/main
https://huggingface.co/unsloth/DeepSeek-R1-Distill-Qwen-32B-GGUF/tree/main
根据自己机器的配置,任意下一种就可以,每个guff文件都是独立的模型,不需要下载所有。
它们只是不同的量化版本。
运行DeepSeek模型:
./build/bin/llama-server -m ./models/DeepSeek-xxxxxx.guff --host 0.0.0.0
启动成功后可以看到这样的提示,浏览器中输入http://127.0.0.1:8080
更多推荐
所有评论(0)