WSL2+docker+ollama+deepseek1.5b(利用GPU)
前言
最近deepseek大火,我觉得windows跑模型那肯定是浪费,但是我又没有单独安装linux系统,正好最近在折腾wsl2,把折腾的过程和结果分享给各人尝尝鲜。
我本身直接安装ollama,无论是混合利用还是独显直连,程序均没有调用gpu,完全不理解不明白发生了什么,明显日志说明已经检测到显卡了,在glxinfo -B中也确认了是n卡而不是核显或者LLVM。
后经搜刮决定利用docker+ollama强制利用gpu,效果还是很明显的。
一、安装wsl2+docker
wsl2可从我之前的博客看到
2025——win11从零配置wsl2+idea(wslg)
跟我一样利用笔记本的用户,没开独显直连的,可在~/.bashrc文件最下方中添加
- export MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA #重启生效
复制代码 强制指定为独显
1.安装docker
安装docker我参考了Windows安装 WSL2、Ubuntu 、docker(详细步骤 , 弃用 docker desktop )
我们直接从他的第五步开始就好
安装结果如下
docker -v
2.换源
- sudo mkdir -p /etc/docker #建立镜像源文件
复制代码- sudo nano /etc/docker/daemon.json #编辑,讲一下内容粘贴到镜像源中保存
复制代码- {
- "registry-mirrors": [
- "https://docker.1ms.run",
- "https://docker.xuanyuan.me",
- "https://docker.m.daocloud.io",
- "https://dockerproxy.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://docker.nju.edu.cn"
- ]
- }
复制代码
二、安装NVIDIA Container Toolkit + ollama + deepseek1.5b
1.NVIDIA Container Toolkit
必须要安装这个才气让docker强制利用gpu,否则会出现错误
Error response from daemon: could not select device driver “” with capabilities: [[gpu]].
虽然现在的wsl2可以或许和windows共享一个nvidia驱动,但是不包罗容器工具包,docker不认。
根据英伟达官方文档,直接执行以下内容
- curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
- && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
- sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
- sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
复制代码- sudo apt-get update
- sudo apt-get install -y nvidia-container-toolkit
复制代码 大概会出现各种各样的错误,像什么
报错 gpg: 找不到有效的 OpenPGP 数据
W: 无法下载 https://nvidia.github.io/libnvidia-container/stable/deb/amd64/InRelease Could not handshake: Error in the pull function. [IP: 185.199.109.153 443]
W: 部分索引文件下载失败。如果忽略它们,那将转而利用旧的索引文件。
这都是正常的,我查了好久,没能找到有效的替换方案,也没能找到deb包,现在唯一能办理的方案就是更换网络环境,比如魔法或者用手机流量开个热门什么的,没wifi的拿数据线共享网络 ,我是用热门办理的问题,用自家wifi就报错,改为热门就成功。
2.安装ollama+deepseek1.5b开始对话
执行
- docker run -d --gpus=all -v /dockerdata/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
复制代码 docker没换源会很慢很慢,如果源失效了就在上网上找有效源吧!
拉取1.5b
- docker exec -it ollama ollama pull deepseek-r1:1.5b
复制代码 执行 开始对话
- docker exec -it ollama ollama run deepseek-r1:1.5b
复制代码
可以看到ai思索的部分和回答的内容
ps:1.5b显卡都懒得动,如果利用核显,CPU占用率是会飙到100%的,但是利用独显后只会在30%左右,模型吐字速度可以明显的看出差距,如果说cpu是60帧,那gpu就是120帧,不是说60帧不流畅,而是120帧更舒服。
3. 再次启动
wsl关机后需要重新启动ollama
- docker start ollama #启动ollama
复制代码- docker exec -it ollama ollama run deepseek-r1:1.5b
- #再次运行
复制代码 三.总结
1.5b还是不可以或许精准理解用户语言,比如我先让他介绍围棋,再让他介绍下插花,他会联系“”围棋“”来理解并论述“下插花”在围棋是什么战术(乐),强制性联系了上下文。1.5b不能玩成语接龙(悲)。
要说基本能用怎么也要32b了,14b也就勉勉强强,惋惜我笔记本跑不动太大的模型。
各人玩的舒畅!
用到的资料
当地部署DeepSeek-R1:1.5B
wsl docker里运行ollama并利用nvidia gpu的一些记录
nvidia-container-toolkit安装问题(OpenPGP)
在WSL2中运行ollama
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |