大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。
图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG
我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。
展菲:您的前沿技术领航员
👋 大家好,我是展菲!
📱 全网搜索“展菲”,即可纵览我在各大平台的知识足迹。
📣 公众号“Swift社区”,每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。
💬 微信端添加好友“fzhanfei”,与我直接交流,不管是项目瓶颈的求助,还是行业趋势的探讨,随时畅所欲言。
📅 最新动态:2025 年 3 月 17 日
快来加入技术社区,一起挖掘技术的无限潜能,携手迈向数字化新征程!
文章目录
摘要
DeepSeek 模型现在很火,不管是做 NLP 还是代码生成,效果都很能打。很多人想在自己电脑上跑起来试试,但是又被复杂的部署流程劝退了——环境装不对、模型下不全、显卡用不上……这篇文章就是给你准备的,手把手教你在本地搭个能跑的 DeepSeek 环境,从 0 到成功输出结果,搞清楚每一步到底在做啥。
引言
其实不管是做项目验证还是日常调试,把模型在本地跑起来真的很有帮助。你可以完全控制输入输出,也不用每次都连云端,更方便调试逻辑、调模型参数,省时省力。但很多人卡在环境搭建上,装个 Python、CUDA、Pytorch,光装这些就一下午起步,稍有一步错了,模型直接跑不起来。
所以我们来把这个过程拆解一下,把该避的坑都给你提前标出来,还附上可跑通的示例代码,完全基于 DeepSeek 开源模型,支持 GPU 推理。
本地部署前的准备
系统要求
建议系统:Linux(推荐 Ubuntu 20.04)或 Mac(有 M 系芯片也能跑,不过 GPU 支持有限)
Windows 也能用,但推荐使用 WSL2 跑 Ubuntu,稳定性更好。
Python 版本和依赖
建议使用 Python 3.10,兼容性最好。
建议使用 venv
或者 conda
来建个隔离环境,方便后期维护:
python3 -m venv deepseek-env
source deepseek-env/bin/activate
安装依赖库
核心库是 transformers
和 torch
:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 如果你有NVIDIA GPU
pip install transformers accelerate
模型下载与加载
下载 DeepSeek 模型
推荐使用 Hugging Face Transformers 接口拉取模型,例如:
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-coder-1.3b-base")
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-coder-1.3b-base", device_map="auto")
注意:这一步可能需要科学上网,或者你可以用 huggingface-cli login
先登录自己的账号,加快下载速度。
本地运行推理任务
来个简单的推理示例,给模型输点代码问题,它回你一个合理的补全:
import torch
prompt = "def fibonacci(n):\n"
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
输出内容类似:
def fibonacci(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
看到这里就说明你本地环境基本是搞定了!
常见问题汇总(QA)
Q:没有 NVIDIA 显卡还能跑吗?
A:可以,但速度会非常慢。建议最起码是 6GB 显存起步,模型太大容易 OOM。
Q:模型下载太慢?
A:推荐提前登录 Hugging Face,加速下载,或者用镜像源(但要注意数据一致性)。
Q:遇到 “no module named transformers”?
A:没装库,pip install transformers
走起。
Q:为什么显卡没动静?
A:看看 PyTorch 是否检测到了 CUDA:
import torch
print(torch.cuda.is_available())
总结
整篇文章我们从零开始搭建了本地 DeepSeek 推理环境,其实整个流程并不复杂,难的是一步出错就全盘皆错。只要按着步骤来,尤其是在依赖版本和 GPU 设置上稍微细心一点,完全可以顺利在本地跑起来。
未来展望
DeepSeek 不止可以推理,也能微调和训练。等你搞定本地部署之后,可以尝试做一些实验:
-
加点你自己的数据做个代码风格定制;
-
换模型试试 DeepSeek Chat 类的模型;
-
接个 Web 前端做一个“小型 Copilot”。
这些都不难,后面我也会继续写相关的部署与微调教程。