跳至主要內容

1、Windows 11使用Ollama本地部署Qwen2.5-14B模型

DarentTheYang...大约 8 分钟大模型AI大模型AIQwen

我最早接触大模型是在2022年的10月。当时因为疫情被封在家里不能去学校,就在家里尝试推进Quantum Espresso第一性原理计算项目,它是我硕士毕业论文使用到的重要工具。尽管在中国大陆完全没有宣发,但我还是了解到并认真用了一下刚出的ChatGPT3.0。作为第一批开放给普通民众的大模型,它颠覆了我对人工智能的认知,我看到了它广阔的前景,但我一直不懂为什么,我感觉和它之间一直隔着一堵墙。我能明显感觉到,我不能完美地利用这种工具。有人给出了答案——AI作为一种工具,它的能力并非增长人的能力,而是放大人的能力。换言之,如果我原本不具备过硬的能力,那我就不能完全发挥它的能力,毕竟零乘以任何数也还是零。我不能,但总有人能。例如,从那以后,提示词工程师Prompt Engineer作为一种新职业发展了起来,但现在似乎又在被迅速取代——人们发现有时可以让AI帮忙写Prompt,然后反过来喂给AI。在起了个大早后,我再一次赶了个晚集,就像过去那样。所以,趁着这次DeepSeek的崛起,我也想,既然我不能发挥工具的效用,我还可以帮助他人搭建起工具,让他们的能力放大啊!所以前段时间(大概两个月前),我在自己的电脑(Windows 11,RTX 4070Ti Super 16G)、服务器(Ubuntu 24.04,2080ti 22G)上,利用Ollama本地部署了一下阿里的通义千问(Qwen2.5-14B)模型,并用魔搭社区提供的模型和llama-factory尝试了一下自己微调模型(LoRA)。没有Nvidia显卡的电脑还可以用llama.cpp,那个好像更方便。所以,我这里记录的这个方法可能过时了,这里只做记录,之后再更新llama.cpp部署DeepSeek的方法。

1、Windows 11使用Ollama本地部署Qwen2.5-14B模型

1.1 硬件环境

我的方法需要有Nvidia显卡。CUDA对大多数模型来说都是必要的。当然有无Nvidia显卡的部署方法,只是那样需要非常非常大的内存,这里先不考虑。


CPU: Ryzen 7 9700X

GPU: RTX 4070ti Super 16G

内存: 64GB

这里只列举了电脑最重要的三个参数,甚至连内存容量都可以不管(当然还是要有一点的),只看CPU和GPU。

Qwen2.5的14B版本需要占用大约9G显存,小于这个显存大小就不建议部署了。

1.2 软件环境

1.2.1 Nvidia驱动

访问Nvidia官网驱动搜索open in new window,按照自己的显卡挑选驱动,默认安装即可。

1.2.2 CUDA

在安装完Nvidia驱动后,首先打开cmd或者PowerShell,输入命令:


nvidia-smi

按回车,查看显卡支持的最高CUDA版本。例如,我的是CUDA 12.7。

然后,同样是访问Nvidia官网open in new window下载安装即可。虽然我的显卡最高支持到CUDA 12.7,但我下载的是12.6。

1.2.3 python环境

为了防止环境污染,我用了anaconda来管理虚拟环境。

首先是下载。

下载方法1:

访问anaconda官网open in new window下载,默认安装。

下载方法2(适用于国内网络环境):

访问清华镜像源open in new window
或者南大镜像源open in new window

找到最新的镜像,Windows要选Windows_x86_64.exe后缀的,例如我选的是Anaconda3-2024.10-1-Windows-x86_64.exe这一项。

下载到后,默认安装即可。但要注意,要记住自己的安装路径,可以先复制一下。安装后需要配置环境变量。打开Windows设置,在搜索栏搜索“高级系统设置”,打开,在界面右下角点“环境变量”。环境变量分为两块区域,一块是用户变量,一块是系统变量。在系统变量那栏找到“PATH”项目(也可能是“Path”),双击。在右边点击新建,粘贴上刚才安装anaconda的路径,回车。然后再点一次新建,粘贴上anaconda的路径,再在后面加上“\Scripts”,回车,保存。例如,我新建的两个条目:


C:\Users\33398\anaconda3

C:\Users\33398\anaconda3\Scripts

然后,打开cmd或PowerShell,输入:


conda --version

命令行会返回当前conda版本号。注意,cmd或PowerShell必须是新打开的,而不能是刚才已经打开过放在后台的。如果成功返回,再输入:


conda init

等待片刻,命令行最前面会出现(base)的字样。如果失败,可以搜索一下错误原因,可能会需要用户解开Windows的一些安全限制。总之这个配置过程非常简单。

成功出现(base)后,就要新建用来跑ollama的环境了。ollama最适配的环境是Python3.9,但我试过用Python3.11也可以。为了稳定性,还是用Python3.9来部署。在出现了(base)的命令行中继续输入:


conda create -n env_name python=3.9

其中,“env_name”需要换成自己起的环境名,比如“llama-factory”。等待anaconda下载并创建好环境,就可以切换到这个新建的环境中:


conda activate llama-factory

然后,命令行前面就会变成(llama-factory)而不再是(base)。

1.2.4 pytorch

首先访问pytorch官网下载界面open in new window

根据系统版本、CUDA版本选择好后,复制安装命令,在命令行为(llama_factory)前缀的情况下,输入:

https://pytorch.org/open in new window


pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

等待安装即可。

1.2.5 git

访问git官网open in new window直接下载,默认安装就可以。

重新打开cmd或PowerShell,输入


git -v

看是否返回git的版本。

这个记录里,git主要用在llama-factory的拉取。有些模型也需要通过git拉取。

1.2.6 用ollama自动下载模型并部署

终于到了这一步!ollama提供的部署方法非常非常简单,只是配置前面这些环境比较麻烦。

访问ollama官网open in new window下载Windows版本的ollama,并安装。

重新打开cmd或PowerShell,进入llama-factory环境。


conda activate llama-factory

输入命令


ollama run qwen2.5:14b

等待,等镜像下好,他就会自动运行了。可以在命令窗口直接和刚部署的AI对话。如果关闭命令窗口后需要重新打开对话框,还是需要进入llama-factory环境,输入ollama run命令运行。

如果只需要对话功能,事情到这里就结束了。

1.2.7 更好的对话框

如果需要类似于ChatGPT的界面,可以用docker部署webui。使用webui还有一个好处:可以保存每次对话的记录,以后打开可以继续聊。

使用docker需要打开CPU的虚拟化功能。某些BIOS是不会默认打开的。重启进入BIOS,根据主板品牌不同会有不同的进入方法,需要先查主板的说明书,或者重启出现主板LOGO的时候看一下左下或者右下角有没有进入BIOS按键的提示。虚拟化可以自己找一下打开选项的位置,也可以直接找教程,很简单。

重启后,去docker官网open in new window下载docker,默认安装就行。

安装后,首先需要在直接打开桌面图标,Docker Desktop。docker启动需要一些时间。启动完成后,用管理员身份打开cmd或PowerShell,输入命令:


docker --version

如果返回版本号,那就是安装成功。

继续打开Docker Desktop,我们需要先换源(如果有代理可以不用)。点击右上角的齿轮,再在左侧点击Docker Engine。仿照json的格式,加入新项目:


        {
            "builder": {
              "gc": {
                "defaultKeepStorage": "20GB",
                "enabled": true
              }
            },
            "experimental": false,
            "features": {
              "buildkit": true
            },
            "registry-mirrors": [
              "https://1nj0zren.mirror.aliyuncs.com",
              "https://docker.mirrors.ustc.edu.cn",
              "http://f1361db2.m.daocloud.io",
              "https://registry.docker-cn.com"
      ]
}

保存即可。注意不要改错。如果格式有问题,docker会提示,并且不能保存。改好后,要重新启动一下docker。

我已经编辑好了启动webui的命令,要用管理员身份运行cmd或者PowerShell,运行:


docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

首次运行时,docker会因为找不到镜像而去拉取。耐心等待拉取完毕,然后再运行一次这条命令就行。

打开浏览器,输入网址:127.0.0.1:3000

就可以顺利打开webui了。首次打开需要注册,当然,这是保存在本地的,所以邮箱是什么其实无所谓,能记住就行,不必非得是真的邮箱。

进入页面后,就可以正常聊天了。

至此,好看的对话框界面也搞定了。

1.2.9 把服务转发到公网

占位

1.2.10 在魔搭社区挑选模型并使用llama-factory微调

时间不早,微调下次再写。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5