笔记本电脑本地部署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中输入,等下载完

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

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

### 配置 Windows 上 OllamaCUDA #### 安装 NVIDIA 驱动程序 为了使 CUDA 正常工作,确保已安装最新版本的 NVIDIA 显卡驱动程序。可以从 NVIDIA 的官方网站下载并按照说明完成安装。 #### 下载和安装 CUDA Toolkit 访问 NVIDIA 开发者网站获取适用于 Windows 的 CUDA Toolkit 版本。安装过程中可以选择自定义安装来选择特定组件[^2]。 #### 设置环境变量 虽然提到不需要配置 PATH 变量,但在某些情况下设置环境变量仍然是必要的。可以通过以下方式添加: 1. 打开“系统属性” 2. 点击“高级系统设置”,再点击“环境变量” 3. 在“系统变量”部分编辑 `Path` 变量,添加如下路径: - `%CUDA_PATH%\bin` - `%CUDA_PATH%\libnvvp` 其中 `%CUDA_PATH%` 是 CUDA 工具包被解压的位置,默认通常是 `C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.X`。 #### 测试 CUDA 安装 通过命令提示符运行简单的测试程序验证 CUDA 是否成功安装。可以尝试编译并执行官方提供的示例代码之一,比如 deviceQuery 或 bandwidthTest。 #### 使用 CUDA Unified Memory 解决显存不足问题 当遇到显存不够的情况时,利用 CUDA 统一内存特性可以让应用程序自动管理数据在主机 RAM 和 GPU VRAM 之间的交换。只需简单修改代码中的指针分配语句即可启用此功能。 ```cpp // 启用统一内存分配 float *data; cudaMallocManaged(&data, size); ``` 对于想要快速启动而不涉及编程细节的用户来说,在命令行界面下直接调用 ollama 命令及其子命令如 `ollama list` 来管理和查看模型状态不失为一种便捷的方法[^1]。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值