Windows11本地部署DeepSeek加速
技术背景
在上一篇文章中我们介绍了在Ubuntu Linux操作系统上部署了一个DeepSeek-R1:14B,再通过其他电脑远程调用模型进行生成的方法。这里我们介绍一下Windows11安装Ollama+DeepSeek-R1模型的加速方法,因为这几天DeepSeek实在太火了,导致官方模型下载渠道网络不是很稳定,但其实有其他的方法可以加速这个下载过程。
安装Ollama
跟Ubuntu Linux上的操作比较类似,也是要从Ollama官网下载一个安装文件,然后直接双击安装就好了,没有配置安装路径的选项。安装完成后,可以在cmd中查看ollama的版本:
\DeepSeek\models> ollama --version
ollama version is 0.5.7
因为还没有下载模型,所以这里模型列表是空的:
\DeepSeek\models> ollama list
NAME ID SIZE MODIFIED
\DeepSeek\models>
接下来,我们要用ollama的create选项来构建一个本地模型,可以先查看这个操作的操作文档:
\DeepSeek\models> ollama create --help
Create a model from a Modelfile
Usage:
ollama create MODEL [flags]
Flags:
-f, --file string Name of the Modelfile (default "Modelfile"
-h, --help help for create
-q, --quantize string Quantize model to this level (e.g. q4_0)
Environment Variables:
OLLAMA_HOST IP Address for the ollama server (default 127.0.0.1:11434)
模型文件下载
最耗时的时间大概就是这一步,所以我建议是找一个下午启动这个任务,然后下载一个晚上,第二天再来构建。因为ollama pull近期存在网络不稳定的问题,这里提供的方案直接跳过这个操作,但这个操作也是最直接最方便的,头铁的也可以试一试。我个人比较推荐的是下载一个gguf模型文件到本地进行构建,这样一来还可以自定义文件模型存放的地址,不至于把某些资源紧缺的磁盘给搞崩了。关键的是下载的渠道,常规的是从huggingface官网去下载模型,但是网络可能会有问题。第二选择是去hf-mirror.com镜像网站下载模型,这也是比较多人推荐的,但是我本地访问这个镜像网站似乎也有问题。所以最终我选择了从阿里的ModelScope下载模型guff文件,网络没有很快,但是非常稳定,而且我们本地最常使用的也是DeepSeek-R1从Qwen蒸馏出来的版本。我这次下载了7B和32B的模型,一般可以选择其中最大的那个模型下载到本地进行构建。
再说一下硬件配置,我的单机硬件是3080Ti 16GB独显,运行32B显然是有点吃力,也就是能跑的样子。如果硬件条件跟我差不多的,建议上7B,如果是双显卡的,上14B这样压力会比较小,生成的速度也会比较快。
模型构建配置
使用ollama进行模型构建时,需要在本地创建一个模型配置文件,一般命名为Modelfile,这里有一个比较简单的参考:
# gguf模型文件路径
FROM .\DeepSeek-R1-Distill-Qwen-32B-Q8_0.gguf
# 模型模板配置
TEMPLATE """{{- if .System }}{{ .System }}{{ end }}
{{- range $i, $_ := .Messages }}
{{- $last := eq (len (slice $.Messages $i)) 1}}
{{- if eq .Role "user" }}
user: {{ .Content }}
{{- else if eq .Role "assistant" }}
assistant: {{ .Content }}{{- if not $last }}
{{- end }}
{{- end }}
{{- if and $last (ne .Role "assistant") }}
{{- end }}
{{- end }}"""
PARAMETER stop "<|begin▁of▁sentence|>"
PARAMETER stop "<|end▁of▁sentence|>"
PARAMETER stop "<|User|>"
PARAMETER stop "<|Assistant|>"
这是一个32B的模型配置文件,7B的同理,只是改一下模型源文件的地址。然后使用ollama进行构建:
\DeepSeek\models> ollama create deepseek-r1-32B -f .\Modelfile
gathering model components
gathering model components
copying file sha256:e74588a163eb2f861e5b298c0975101cf02ec7b10784832b8feab2abbf3090a7 100%
parsing GGUF
using existing layer sha256:e74588a163eb2f861e5b298c0975101cf02ec7b10784832b8feab2abbf3090a7
creating new layer sha256:c6df2d7e28451caa13e70224d8333d5c06e2ab519086ecde7b7fe9422695ddbd
creating new layer sha256:f4d24e9138dd4603380add165d2b0d970bef471fac194b436ebd50e6147c6588
writing manifest
success
这里deepseek-r1-32B是自定义的本地模型名称,两个模型都构建完成后,可以在本地查看模型列表:
PS A:\DeepSeek\models> ollama list
NAME ID SIZE MODIFIED
deepseek-r1-7B:latest d4d0e06b9cc3 8.1 GB 6 seconds ago
deepseek-r1-32B:latest ac5d447875fb 34 GB 4 hours ago
然后推荐在本地安装一个ChatBox跟大模型进行交互,但是这里不重新介绍了,ChatBox这部分可以参考上一篇博客。
DeepSeek精彩对话
以下对话使用的是7B的模型,也许7B对于很多场景来说能力有点欠缺,但是DeepSeek的这个逻辑能力确实是惊艳到我了,这还只是一个在笔记本上运行的小模型。
978294263579是质数吗
经过分析和计算,我们发现978,294,263,579可以被17整除,余数为0。因此,这个数是一个合数。
\(\boxed{\text{否}}\)
2的13次方-1是多少
好的,让我来计算一下2的13次方减去1等于多少。
首先,计算2的幂:
\begin{align*}
2^1 &= 2 \\
2^2 &= 4 \\
2^3 &= 8 \\
2^4 &= 16 \\
2^5 &= 32 \\
2^6 &= 64 \\
2^7 &= 128 \\
2^8 &= 256 \\
2^9 &= 512 \\
2^{10} &= 1024 \\
2^{11} &= 2048 \\
2^{12} &= 4096 \\
2^{13} &= 8192 \\
\end{align*}
\right]
\]
然后,计算2的13次方减去1:
8192 - 1 = 8191
\right]
\]
接下来,检查一下8191是否为质数。通过一些简单的测试,比如试除法,可以发现它不能被除了1和自身之外的任何小质数整除。因此,我们可以确认8191是一个质数。
最终答案是:
\boxed{8191}
\right]
\]
资源占用
7B模型
7B模型下载下来大概7.54GB,显存占用情况如下:
32B模型
32B模型下载下来大概32.4GB,这个模型压缩率已经很高了,就算用7Z格式压缩,也只能压到31GB。显存占用情况如下:
这个基本上就是超显存了,所以运行起来一个字一个字的吐,相比之下7B的相应速度要快很多,体验也会好很多。
总结概要
本文介绍了一个可以相比之下更快速的在本地部署DeepSeek的方法,除了在上一篇博客中介绍的从Github或者Github加速网站获取Ollama之外,还可以通过从国内的其他大模型文件平台下载模型文件,来加速本地模型的构建。
版权声明
本文首发链接为:https://www.cnblogs.com/dechinphy/p/deepseek2.html
作者ID:DechinPhy
更多原著文章:https://www.cnblogs.com/dechinphy/
请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
参考链接
Windows11本地部署DeepSeek加速的更多相关文章
- 本地部署arcgis by eclipse
首次来博客园发帖,从本地部署arcgis api开始吧: 首先还是下载arcgis的api包开始,在中国区官网下载arcgis包: 1.http://support.esrichina.com.cn/ ...
- ArcGIS server开发之API for js 本地部署
ArcGIS Server for javascript 本地部署 第一次使用arcgis server for js开发,在经验方面还有很多的不足,所以将自己在开发过程中遇到的问题写出来与大家共享. ...
- Exceptionless 本地部署
免费开源分布式系统日志收集框架 Exceptionless 前两天看到了这篇文章,亲身体会了下,确实不错,按照官方的文档试了试本地部署,折腾一番后终于成功,记下心得在此,不敢独享. 本地部署官方wik ...
- ArcGIS JavaScript API本地部署离线开发环境[转]
原文地址:http://www.cnblogs.com/brawei/archive/2012/12/28/2837660.html 1 获取ArcGIS JavaScript API API的下载地 ...
- Exceptionless 本地部署踩坑记录
仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...
- jsbin本地部署
jsbin 本地运行 1.首先安装node.js,下载地址http://nodejs.org/ 安装完成后,使用node.js安装jsbin,如下:进入node环境,执行下面语句: $ npm ins ...
- 解决fiddler无法抓取本地部署项目的请求问题
在本地部署了几个应用,然后想用fiddler抓取一些请求看看调用了哪些接口,然鹅,一直抓不到... 比如访问地址是这样的: 在网上搜罗半天,找到一个解决方法 在localhost或127.0.0.1后 ...
- ArcGIS API for JavaScript 4.x 本地部署之Apache(含Apache官方下载方法)
IIS.Nginx都说了,老牌的Apache和Tomcat也得说一说(如果喜欢用XAMPP另算) 本篇先说Apache. 安装Apache 这个...说实话,比Nginx难找,Apache最近的版本都 ...
- ArcGIS API for JavaScript 4.x 本地部署之Nginx法
上篇ArcGIS API for JavaScript 4.x 离线配置之IIS法提到,如何用IIS配置ArcGIS jsAPI: 本篇则使用http下的Nginx配置,其原理基本一致.https的部 ...
- 升级本地部署的CRM到Dynamics 365及部分新特性介绍。
关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复241或者20161226可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...
随机推荐
- 外网如何通过https访问自己的服务
前情提要 最近在接wx小游戏的sdk, 消息推送需要在wx端配置https开头的地址. 我本地开了一个http服务,我的ip为192.168.40.39, 监听端口 8091.想要达到的效果是,外部浏 ...
- 怎么理解Condition
原文出处: liuinsect 感谢文章作者@Jd刘锟洋 的投稿.如果其他朋友也希望自己的 Java 和 Android 技术文章发表在 ImportNew,可以微博私信联系@ImportNew,或者 ...
- Java深度历险(三)——Java线程:基本概念、可见性与同步
开发高性能并发应用不是一件容易的事情.这类应用的例子包括高性能Web服务器.游戏服务器和搜索引擎爬虫等.这样的应用可能需要同时处理成千上万个请求.对于这样的应用,一般采用多线程或事件驱动的架构.对于J ...
- 什么是.NET的强类型字符串(Strongly typed string)?
在.NET中,强类型字符串(Strongly typed string)并不是一个官方的概念,是指使用特定的结构来表示某种类型字符串数据的编码实践.类似于枚举,可以提供编译时检查类型,减少运行时错误, ...
- S2P销讯通-主数据对于客户关系管理系统的重要性
由于业务发展,各大企业的业务系统经历了从无到有,从简单到复杂,从而形成了一个又一个的业务系统,比如OA.HR.CRM.ERP等等. 主数据在客户关系管理系统(CRM)中扮演着至关重要的角色.主数据是指 ...
- 打破格式壁垒 !COS助力腾讯文档优化在线预览效果
说起腾讯文档,相信大家对此并不陌生.在新冠疫情防控期间,腾讯文档在人员流动排查.健康信息收集.居家学习.协同办公等场景发挥了巨大的作用. 腾讯文档不仅支持新建word.excel.ppt.思维导图.流 ...
- TypeScript 总结
js 类型分为两种:基本数据类型和复杂数据类型 基本数据类型主要有:number.string.boolean.null.undefined.symbo(es6新增).BigInt(es10新增) t ...
- Flutter TickerProvider使用
Flutter TickerProvider使用 当需要使用Animation controller时,需要在控制器初始化时传递一个vsync参数,此时需要用到TickerProvider,例如 cl ...
- NATS: 请求-响应消息
请求-回复消息 https://docs.nats.io/nats-concepts/core-nats/reqreply 请求-回复 在分布式系统中,请求-回复是一种常见的模式.发送请求之后,应用程 ...
- 在 IdentityServer4 中创建客户端
创建客户端 在创建了 IdentityServer4 服务器之后,我们可以准备从获取一个访问令牌开始. 1. 客户端凭证式验证流 在 OpenID Connect 中,最为简单的验证方式为客户端凭借方 ...