当前位置:AIGC资讯 > AIGC > 正文

笔记本电脑本地部署ollama大模型(显存不足调用CUDA Unified Memory方法)

软硬件:win11,NVIDIA GeForce RTX 3050 显存4g

一.ollama模型最低要求

1. Llama 3.1 (8B) 模型

GPU: 至少需要 1 张具有 16 GB 显存的 GPU(例如 NVIDIA Tesla V100 或 A100)。 CPU: 高性能的多核处理器(例如 Intel Xeon 或 AMD Ryzen)。 内存: 最少 32 GB 的系统内存。 存储: 需要大约 4.7 GB 的存储空间用于模型文件。

2. Llama 3.1 (70B) 模型

GPU: 至少需要 4 张具有 40 GB 或更高显存的 GPU(例如 NVIDIA A100 或 H100)。可以采用分布式计算方式来处理。 CPU: 高性能的多核处理器(例如 Intel Xeon 或 AMD EPYC),推荐使用多台服务器。 内存: 至少 256 GB 的系统内存。 存储: 需要大约 96 GB 的存储空间用于模型文件,建议使用高速 SSD。

3. Llama 3.1 (405B) 模型

GPU: 需要大规模的 GPU 集群,通常包括数十张具有 80 GB 或更多显存的 GPU(例如 NVIDIA A100 或 H100)。需要专门的硬件配置和高性能计算设施。 CPU: 高性能的多核处理器(例如 Intel Xeon 或 AMD EPYC),并且需要多个处理节点来支持分布式计算。 内存: 至少 1 TB 或更多的系统内存。 存储: 需要几百 GB 到 TB 级别的存储空间,建议使用高速 SSD 或分布式存储系统。

对于我们普通人的电脑,ollama模型的部署,你至少拥有一张有显存的n系显卡,再者就是电脑内存一定要在16g及以上

我的硬件信息,有两张8g的内存,一张英伟达显存为4g的3050显卡

查看内存信息:wmic memorychip get capacity, devicelocator, manufacturer, memorytype, speed
查看GPU的信息:nvidia-smi

二.cuda和cudnn的安装(解决显存不足的办法)

CUDA Unified Memory: CUDA 提供了统一内存(Unified Memory),允许 GPU 和 CPU 共享内存空间。这可以使得内存需求超出 GPU 显存时,数据可以存储在主机内存中并在需要时传输到 GPU。

1.cuda的选择与安装

1.打开NVIDIA控制面板>>>系统信息>>>组件

就这个:

可以看到我的是nvduda64.dll NVIDIA cuda 12.6.41 driver

2.进官网,选择相应的cuda,选择版本应该=<自己的版本NVIDIA cuda 12.6.41 driver:CUDA Toolkit Archive | NVIDIA Developer

3.选择本地exe安装

4.双击安装包,自定义设置,勾选组件:

继续点下一步

点击关闭,安装结束

验证:cmd输入

最高版本:nvidia-smi
当前版本:nvcc --version


结果:

2.cudnn的安装
网址:https://developer.nvidia.com/cudnn-downloads?target_os=Windows

多版本:cuDNN Archive | NVIDIA Developer

下载的是一个压缩包,解压至你想保存的位置,并将解压的目录中的bin目录添加到环境变量里的系统变量path里面

这是我解压的bin文件夹位置:

D:\app\cudnn\bin

验证是否成功:

找到你的这个目录,并将下面的变量添加到环境变量里的系统变量path里面

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\extras\demo_suite


打开cmd,分别输入

bandwidthTest.exe 
和
deviceQuery.exe


结果:

三.安装ollama

官网:Ollama

双击安装,默认会安到c盘,好像也没法改,但是看了一下也不是很大,大的是模型,待会会说怎么改模型的存储位置,install,等安装完:

它会自动启动

打开cmd,不用配置path啥的,输入下面两个代码看一下结果:

ollama

ollama list

OK啦

四.模型的选择和默认模型存储位置的更改

ollama官方提供的模型:llama3.1

小黄脸hugging face的模型(模型社区),有别人训练好的模型:https://huggingface.co/

模型的选择

1.更改模型下载位置

创建一个想要你想要保存模型的位置

添加系统环境变量

变量名:OLLAMA_MODELS

变量值:D:\app\OLLAMA_MODELS

2.ollama的模型下载

8b模型是我们目前能运行的最大模型

复制指令,cmd中输入,等下载完

上一步设置无误的话,下载文件会有在你的模型存储位置会有两个这样的文件

下载完后,它自己会启动,试着对话一下,还是很顺畅的

总结

### 文章总结
本文主要介绍了如何在基础硬件配置(Win11操作系统,NVIDIA GeForce RTX 3050 4GB显存显卡,8GB内存)上部署和使用Ollama模型,同时提供了针对显存不足问题的解决方案,包括CUDA和cuDNN的安装步骤。以下是详细总结:
#### 一、Ollama模型最低配置要求
- **Llama 3.1 (8B) 模型**:
- GPU:至少1张16GB显存GPU(如NVIDIA Tesla V100或A100)。
- CPU:高性能多核处理器(如Intel Xeon或AMD Ryzen)。
- 内存:至少32GB。
- 存储:约4.7GB。
- **Llama 3.1 (70B) 模型**:
- GPU:至少4张40GB显存GPU(如NVIDIA A100或H100),支持分布式计算。
- CPU:推荐多台服务器,高性能多核处理器(如Intel Xeon或AMD EPYC)。
- 内存:至少256GB。
- 存储:约96GB,建议高速SSD。
- **Llama 3.1 (405B) 模型**:
- 需要GPU集群,数十张80GB显存GPU(如NVIDIA A100或H100)。
- CPU:高性能多核处理器(如Intel Xeon或AMD EPYC),多处理节点支持分布式计算。
- 内存:至少1TB或以上。
- 存储:几百GB至TB级别,建议使用高速SSD或分布式存储系统。
- **对于普通电脑**:
- 需要至少一张有显存的NVIDIA显卡。
- 至少需要16GB或更多内存。
#### 二、硬件信息回顾与问题解决
- **当前硬件**: 两张8GB内存,NVIDIA GeForce RTX 3050 4GB显卡。
- **显存不足解决方案**: 使用CUDA Unified Memory实现CPU和GPU共享内存。
1. 安装与GPU驱动版本匹配的CUDA Toolkit。
2. 安装cuDNN,并配置环境变量。
#### 三、安装Ollama
- **下载安装包**: 从Ollama官网下载安装包。
- **安装过程**: 双击安装包,按默认设置安装至C盘。
- **验证安装**: 通过命令行输入`ollama`和`ollama list`验证安装成功。
#### 四、模型选择与存储位置更改
- **模型来源**: Ollama官方提供的llama3.1模型及Hugging Face社区中的其他模型。
- **更改模型下载位置**:
1. 创建一个模型存放的文件夹。
2. 添加系统环境变量`OLLAMA_MODELS`,指向新创建的文件夹。
- **模型下载**: 使用命令行下载特定大小的模型,例如8B模型,验证下载成功并测试使用。
通过以上步骤,即使在资源有限的硬件环境下,用户也能成功部署并使用Ollama模型,并进行初步的模型测试和功能体验。

更新时间 2024-08-26