前言:

本文介绍怎样在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

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐