论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
运维.售后
›
运维.售后
›
【CUDA】如何在 windows 上安装 Ollama 3 + open webui ...
【CUDA】如何在 windows 上安装 Ollama 3 + open webui (docker + WSL 2 + ...
鼠扑
金牌会员
|
2024-8-13 20:06:49
|
显示全部楼层
|
阅读模式
楼主
主题
701
|
帖子
701
|
积分
2103
由于踩了不少坑,花了相称多的时间与精力,特地记载一下整个流程,能帮到一位算一位。
如果还是有我未涉及到的坑,请务必在下面留言批评。
1. 环境准备与整体过程概述
1.1 环境准备
由于篇幅缘故原由,这里假设大家已经安装好如下底子环境:
windows 10 / 11 操作体系(64位);
docker-desktop 最新版(为了制止一些没须要遇到的坑,请尽量保持能更新到最新版)。
WSL 2, 确保勾选Hyper-V、虚拟机平台、Linux子体系, 安装与设置也比较简朴,请自行安装好这个环境;
在windows 体系中,安装好 NVIDIA 驱动,就是平凡的那种驱动即可,通过此驱动可以配置分辨率等等。
重要增补
:本博文仅仅介绍安装好 nvidia 30系列 与 40系列显卡的个人电脑。
如果个人电脑未安装显卡,无法完成以下介绍的各个步调;但是基于 CPU 也同样可以部署,方法简朴,不在此文介绍范围内;
如果个人电脑安装的不是 nvidia 显卡或者显卡的版本不在30系列与40系列内,不在本文讨论范围内。
1.2 步调概述
基于 WSL2 安装子体系,安装好 Ubuntu 子体系;
在子体系 WSL2 中安装好 Nvidia 驱动;
配置windows下的 docker-desktop,让 WSL2 作为 docker 的 backend;
重启一下设备,确保 WSL2 与 windows 下的 docker 已经连通无误;
安装镜像,验证docker镜像能通过WSL2以及WSL2下安装的驱动,利用显卡;
安装 Ollama3 + open webui 的 docker 镜像,验证可以正常利用;
基于 open webui 安装 Ollama3 模子,验证可以正常利用GPU。
重启一下验证无误,万事大吉 !
温馨提示:
整个过程可能遇到类似于网络超等慢,安装过程忽然中断,安装docker镜像时PULL时间超等漫长等等题目。请务必耐烦处置惩罚一个一个题目,不要杂电脑与键盘另有鼠标(自画像),因为它们都是无辜的(狗头)。
2. 安装子体系以及子体系下的显卡驱动
2.1 验证 WSL2 安装无误
打开 windows 的下令行,输入如下下令:
wsl --version
复制代码
请确保 WSL 版本 >= 2.x 。
2.2 安装子体系 ubuntu
这个地方需要注意,有可能docker安装了子体系(识别到 wsl 环境可能会默认安装子体系),如图所示:
这样我们可以利用已经安装好的子体系,也可以考虑利用本身安装的 ubuntu 体系。
输入以下下令安装子体系:
wsl --update
复制代码
接着输入
wsl --install
复制代码
验证过程
wsl --list
复制代码
利用ubuntu体系
在本身的windows 体系下找到 ubuntu 体系,双击后会进入一个下令行窗口
2.3 安装显卡驱动(离线安装包的方法)
特别要注意,我们不要在子体系中安装 docker ,切记切记
参考地址:https://docs.nvidia.com/cuda/wsl-user-guide/index.html
请在 WSL2 下令行中,输入如下下令,删除已有的一些库文件:
sudo apt-key del 7fa2af80
复制代码
windows 体系欣赏器下载离线驱动包
由于我多次实验,发现网络题目利用在线安装很容易很容易报错(我是真的真的没乐成过),所以这里我们利用离线安装的方法。
首先
利用本身的windows体系下的欣赏器,访问 nvidia 官网驱动下载地址:https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=runfile_local
因为我在 WSL2 上利用 wget 下令下载离线安装包时总是报错,所以我利用windows下的欣赏器,访问这个链接,并下载这个离线包,请访问 https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=runfile_local 并根据实际环境下载 runfile,由于版本更新题目这里不直接给下载链接了。
下载后,注意你的下载地址,我们接下来需要将这个文件挪到 WSL2 的地址,方便安装。
下载完成以后,我们实行运行这个文件,或者可以考虑 cp 到我们 WSL2 的目次下利用。
找到可实行文件的路径,一般环境下,我们原体系的C盘会被挂载到 /mnt 目次下,后面的路径就跟我们的下载路径一样了。当然,若下载的文件在D盘或者其他路径,也是同样的操作。在 WSL2 控制台中输入如下下令(根据实际环境修改):
# 根据自己的下载文件的路径操作。需要修改如下命令
ls /mnt/c/Users/MSN/Downloads/cuda*
复制代码
找到路径以后,copy 一份到我们的 WSL2 的路径下,便于操作。在 WSL2 控制台中输入如下下令(根据实际环境修改):
# 根据实际情况修改
cp /mnt/c/Users/MSN/Downloads/cuda_12.5.1_555.42.06_linux.run ~
复制代码
复制完成以后,接着就可以安装我们的显卡驱动。需要根据实际驱动版本型号修改,在 WSL2 下令行中输入:
sudo sh cuda_12.5.1_555.42.06_linux.run
复制代码
实行以后,如果你遇到错误提示如下:
说明需要安装 gcc ,在 WSL2 中实行下令如下:
sudo apt-get install gcc
复制代码
然后重新实行上面的安装驱动的下令(sudo sh cuda_12.5.1_555.42.06_linux.run),会发现提示如下:
此时已经证明我们安装驱动完成 。
2.4 配置环境变量
编辑 WSL2 的 ~/.bashrc 添加环境变量就像安装完驱动控制台输出内容一样(官方的发起)
我们利用 vi 下令编辑 .bashrc 文件,写入环境变量如下:
export PATH=/usr/local/cuda-12.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64:$LD_LIBRARY_PATH
复制代码
vi 的下令不熟悉,可以利用 vim 等等其他下令。
末了一个步调是我们需要激活环境变量:
source ~/.bashrc
复制代码
验证方法
输入
echo LD_LIBRARY_PATH
复制代码
将会打印我们上面配置的环境变量地址。
输入 nvidia-smi
nvidia-smi
复制代码
会输出显卡的相干信息
输入 nvcc -V
nvcc -V
复制代码
会输出 nvidia cuda 驱动相干信息
三个过程请都验证一下,制止以后出现乱七八遭的题目
2.5 配置 docker-desktop 与 WSL2 密切绑定
配置方法比较简朴,请参考如下截图:
配置完成以后,一般环境下 windows下的docker 会重新启动,确保重启正常完成。
2.6 基于docker 安装 cuda-sample 验证 cuda 可用
之所以不直接安装 open webui ,是因为代价有点大,如果docker镜像不能正常访问GPU,那么添加 open webui 过程太浪费时间了。
在 WSL2 下令行中,输入内容如下:
sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
复制代码
安装完成以后,我们需要注意,在windows 的 docker-desktop 中查看启动日志。
请特别注意,日志中包括 CUDA 的相干内容,足够证明 docker 镜像中能利用 CUDA,也就是能利用GPU。
2.7 安装 open webui + ollama3
这里我们不分别安装两次了,我们利用官方提供了的方法,一个镜像包括了 open webui 与 ollama3,更加方便。
在 WSL2 的下令行中输入如下下令:
sudo docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
复制代码
这是一个比较漫长的过程,可以去洗个澡,吃个饭,玩会儿手机,看会儿书,扫除家里卫生,吃点零食,喝点茶,逗逗宠物,洗洗衣服,伸伸懒腰,踢踢腿,打打拳,做一套广播体操。
乐成安装完成以后,我们前往查看 docker 的容器启动日志:
我们可以看到日志中提示 CUDA 可用,说明统统正常,安装乐成。
利用欣赏器访问本地的 3000 端口,可以看到内容如下,
注册一个账号,非常简朴,没有什么限定
注册登录后,通过设置可以利用中文,结果如下:
2.8 添加模子与选择模子
点击 管理员设置 以后,找到 模子 ,输入模子的编号即可自动下载模子。
这里以 qwen2 为例
下载的过程比较漫长,我们可以去洗个澡,吃个饭,玩会儿手机,看会儿书,扫除家里卫生,吃点零食,喝点茶,逗逗宠物,洗洗衣服,伸伸懒腰,踢踢腿,打打拳,做一套广播体操。
接着回到主界面,我们可以下拉 “选择一个模子”,如下图所示(我总共下载了三个模子)
接着就可以正常谈天了 ~
2.9 验证大模子推断过程是基于GPU完成
在 windows 下,利用快捷键 Ctrl + Shift + Esc ,弹出如下 使命管理器窗口,接着选择左边导航栏中的 性能 可以看到如下内容:
接着我们在 open webui 中输入一个相对复杂的对话,让大模子推断时间久一些,然后同时观察 刚刚打开的窗口中 GPU 的变化环境。
2.10 验证重启后,模子依然存在
重启一下我们的个人电脑,重新启动我们前面创建的 container ,可以看到模子依然存在,之前完成的内容并不会因此而失效。
3. 参考资料
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=runfile_local
https://docs.nvidia.com/cuda/wsl-user-guide/index.html
https://github.com/open-webui/open-webui/tree/main
4. 总结
本文记载了本身安装部署 Ollama3 + open webui 并基于GPU推断的整个过程,由于篇幅题目,没有办法将所有我遇到的题目都记载下来,但可以基本确定的是,按照如上步调完成部署安装,一般环境下是可以正常运行的。
感谢小伙伴们点赞支持 ~
Smileyan
2024.07.13 23:01
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
鼠扑
金牌会员
这个人很懒什么都没写!
楼主热帖
Java 基于Apache POI实现Excel读写操作 ...
Dapr 知多少 | 分布式应用运行时 ...
C#生成putty格式的ppk文件(支持passph ...
5.15日 搭建青龙面板教程——狗东跑跑 ...
C++中函数指针使用
子查询优化之 Semi-join 优化 | StoneD ...
倾斜单体化模型技术实现
二刷整合
Vulnhub之Medium Socnet详细测试过程 ...
记录一次NoSuchMethodError问题的解决 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表