M4 Mac mini运行DeepSeek-R1模型

前言

最近DeepSeek大模型很火,实际工作中也有使用,很多人觉得需要很好的显卡才能跑起来,至少显存需要很高,但实际上一般的核显机器也能跑起来,只不过内存要求要大,对于个人而言,实际上Mac M芯片的内存也行,就是有点贵(戏称黄金内存)😅,实际上AMD也有专门供给AI的APU AI Max系列(增大内存带宽和通道)或者NVIDIA的定制机,当然真实生产力另说。

实际体验

还是使用Ollama启动器:M2 Mac mini跑Llama3_在m2上运行llama3-8b-CSDN博客

这一块就不说了,说点真实体验

执行模型拉取,笔者使用M4 macmini 丐版可以运行14b模型,运行流畅

ollama run deepseek-r1:14b

大约9G左右

内存并没怎么占用,经测试使用Intel 12400 Ubuntu核显都能跑,但是速度要比macmini慢一些,建议如果是核显机器跑7b或者8b模型,毕竟是运行模型并不是训练模型并不怎么耗显存。

预测:8G的电脑可以跑7b或者8b的模型,占用应该在6G左右

16G的电脑跑14b模型,占用在9G左右

32G电脑可以跑32b模型,占用估计24G左右

UI

笔者以前基本上不使用UI,直接就是命令行,其实也没事,不过图形化还是可以增加使用效率,这里就用一个免费的软件ChatBox为例,当然也可以使用docker运行各种UI,也是免费的,我这里为了不允许docker,就用了桌面端软件。

简单设置一下就可以用了

我这里使用的Ollama,如果使用其他启动器,相对应即可,这个UI已经默认选择就配置好了API接口(启动器官网有相关说明)。

然后选择

其他的也可以自己设置,随便问一个问题

相对于Llama3,中文不会水土不服

使用体验而言,14b已经很不错了,当然模型越大越好,但是越大的模型就越需要显存。

总结

仅仅是分享体验感受,实际上体验本地的AI模型的门槛是很低的,一般的Intel 核显就行,也需要一定的显存,不过不是特别消耗,如果实在不足那么也可以降低模型的大小,当然蒸馏模型越小失真就越严重,物理定律是不能违背的。另外也可以配置一个UI界面,如果是生产环境就建议部署docker应用,自己本地体验实际上用免费的桌面软件就好了。

### 部署 DeepSeek 的可行性分析 对于 Mac Mini M4 芯片设备而言,部署 DeepSeek 是可行的。M系列芯片具有强大的性能表现,在处理机器学习任务方面表现出色[^1]。 ### 准备工作 为了顺利安装和运行 DeepSeek ,需要先确认系统环境配置: - macOS 版本应保持最新更新状态 - 安装 Xcode 命令行工具 `xcode-select --install` - 使用 Homebrew 来管理依赖包 `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` ### 创建虚拟环境 建议创建 Python 虚拟环境来隔离项目依赖关系: ```bash python3 -m venv deepseek-env source deepseek-env/bin/activate pip install --upgrade pip setuptools wheel ``` ### 获取 DeepSeek 模型及相关库 通过 Git 克隆官方仓库获取最新的源码文件,并按照说明文档中的指导完成必要的软件包安装: ```bash git clone https://github.com/deepseek-lab/deepseek.git cd deepseek pip install . ``` ### 测试模型推理速度 可以编写简单的脚本来评估模型在本地硬件上的实际执行效率: ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch device = "mps" if torch.backends.mps.is_available() else "cpu" model_name_or_path = "deepseek-lab/deepseek-r1" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path) model = AutoModelForCausalLM.from_pretrained(model_name_or_path).to(device) prompt = "Once upon a time," input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device) with torch.no_grad(): generated_ids = model.generate(input_ids=input_ids,max_length=50) print(tokenizer.decode(generated_ids[0], skip_special_tokens=True)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值