首页 > 其他分享 >笔记本电脑本地部署ollama大模型(显存不足调用CUDA Unified Memory方法)

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

时间:2024-08-14 22:54:33浏览次数:14  
标签:显存 Unified 模型 内存 NVIDIA GPU GB CUDA

软硬件: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中输入,等下载完

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

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

标签:显存,Unified,模型,内存,NVIDIA,GPU,GB,CUDA
From: https://blog.csdn.net/m0_67228616/article/details/140854218

相关文章

  • CUDA函数的概念、种类和示例
    在CUDA编程中的函数:A,总述1,CUDA内置函数CUDA内置函数是由NVIDIA提供的,用于支持CUDA编程模型的一系列预定义函数。这些函数包括内存管理(如cudaMalloc、cudaFree)、数据复制(如cudaMemcpy)、同步操作(如cudaDeviceSynchronize)、数学运算(如sin、cos等数学函数在设备代码中的版本,如__sin......
  • CUDA的核函数与CNN的核函数
    CUDA的核函数和CNN(卷积神经网络)的核函数是两个完全不同的概念,它们分别属于不同的领域和应用。#1CUDA核函数CUDA(ComputeUnifiedDeviceArchitecture)是一种由NVIDIA开发的并行计算平台和编程模型。CUDA核函数是指在CUDA程序中,由GPU执行的函数。这些函数被设计为在GPU上并行运行,......
  • CUDA核函数
    CUDA核函数(Kernel)是用于在GPU上并行执行的函数,它们通过特定的方式被声明和调用,以利用GPU的并行计算能力。CUDA核函数具有一些独特的特性和限制,以下是对CUDA核函数的一些详细介绍:声明与调用声明:CUDA核函数使用__global__关键字进行声明,以区别于只能在CPU上执行的函数。核函数的......
  • pytorch无法使用cuda和cudnn返回false
    下面乱七八糟的实验过后问题解决,用了三天的时间,总算搭建成功了 查了无数资料无法解决问题,将目标定为pytorch和cuda版本不匹配,重新下载pytorch发现报错在pytorch官方可以下载版本对应的pytorch从本地开始|Py火炬(pytorch.org)这里根据自己需要点一点,然后复制下面代码......
  • CUDA入门必看,如何高效地编写并行程序
    CUDA入门必看,如何高效地编写并行程序进入公司实习已经一个月有余,从编写第一个kernel开始到现在分析优化LLM程序,我的CUDA学习成果颇丰,项目进展顺利,现将我的学习路径整理分享出来。跟随在GPU芯片架构领域深耕多年的企业家王旭老师,我从一开始对GPU架构领域全无了解,到如今上手LLM......
  • CUDA--内存访问越界或无效的索引操作解决办法
    报错信息File"D:\anaconda3\envs\HCAVE2\lib\site-packages\torch\nn\utils\rnn.py",line258,inpack_padded_sequencesorted_indices=sorted_indices.to(input.device)RuntimeError:CUDAerror:device-sideasserttriggeredCUDAkernelerrorsm......
  • CUDA--内存访问越界或无效的索引操作解决办法--总结
    设备端的断言错误(device-sideasserttriggered)通常发生在CUDA代码中访问无效的内存地址或执行了无效的操作。解决这种错误需要系统地排查代码中的潜在问题。以下是详细的解决方案:1.检查数组边界确保所有访问数组或指针的操作都在有效范围内。检查线程索引和块索引的计算,确......
  • opencv4.5 带cuda 安装
    opencv4.5cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_CXX_FLAGS_RELEASE="-O3"-DCMAKE_INSTALL_PREFIX=/home/slam/Thirdpart/opencv-4.5.2/install-DOPENCV_EXTRA_MODULES_PATH=/home/slam/Thirdpart/opencv-4.5.2/opencv_contr......
  • Windows10下多版本CUDA的安装与切换
    文章目录一、前言二、安装CUDA1.确定是否支持所需的CUDA版本2.下载CUDA3.安装CUDA4.环境变量三、安装cudnn1.下载cudnn2.替换文件四、切换CUDA版本1.切换版本2.检查版本是否切换成功参考一、前言  当我们跑深度学习的代码时,有时......
  • cudart64_90.dll缺失?一文详解CUDA运行时环境修复步骤
    cudart64_90.dll是一个与NVIDIACUDA(ComputeUnifiedDeviceArchitecture)框架相关的动态链接库(DynamicLinkLibrary,简称DLL)。CUDA是NVIDIA开发的一种并行计算平台和编程模型,它允许开发者利用NVIDIAGPU的并行处理能力来进行高性能计算。cudart64_90.dll是CUDA运行时库的一部......