Pytorch的安装
PyTorch的安装绝对是一个不是那么简单的过程,或多或少总是会出现一些奇奇怪怪的问题,这里分享记录一下PyTorch的安装心得。
查看显卡信息
没用显卡的直接跳过,然后通过在cmd命令行中输入
nvidia-smi
(Linux和Win命令一样)、使用NVIDIA控制面板和使用任务管理器查看机器是否有NVIDIA的独立显卡及其型号
python
复制代码
root@master:/code # nvidia-smi
Fri Dec 8 03:09:45 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla V100S-PCI... Off | 00000000:8B:00.0 Off | 0 |
| N/A 35C P0 27W / 250W | 0MiB / 32510MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
CUDA兼容性
参考:CUDA兼容性
NVIDIA CUDA工具包使开发人员能够为台式计算机、企业和数据中心乃至超大规模企业构建 NVIDIA GPU 加速的计算应用程序。它由 CUDA 编译器工具链组成,其中包括 CUDA 运行时 (cudart) 以及各种 CUDA 库和工具。要构建应用程序,开发人员只需安装 CUDA 工具包和链接所需的必要库。
为了运行 CUDA 应用程序,系统应具有支持 CUDA 的 GPU 和与用于构建应用程序本身的 CUDA 工具包兼容的 NVIDIA 显示驱动程序。如果应用程序依赖于库的动态链接,那么系统也应该具有此类库的正确版本。
CUDA 的组件:
CUDA软件主要包括三部分:
复制代码
CUDA Toolkit : 库文件、运行环境 和 开发工具, 主要是面向开发者 CUDA编译环境
CUDA Driver: 用户驱动组建,用于运行 CUDA 程序,可以理解为 CUDA运行环境
Nvidia GPU 驱动 : 显卡核心驱动,就是 硬件驱动
CUDA版本与驱动版本关系如下:
参考:CUDA发布说明
CUDA Toolkit | Linux x86_64 Driver Version | Windows x86_64 Driver Version |
---|---|---|
CUDA 12.3 Update 1 | >=545.23.08 | >=546.12 |
CUDA 12.3 GA | >=545.23.06 | >=545.84 |
CUDA 12.2 Update 2 | >=535.104.05 | >=537.13 |
CUDA 12.2 Update 1 | >=535.86.09 | >=536.67 |
CUDA 12.2 GA | >=535.54.03 | >=536.25 |
CUDA 12.1 Update 1 | >=530.30.02 | >=531.14 |
CUDA 12.1 GA | >=530.30.02 | >=531.14 |
CUDA 12.0 Update 1 | >=525.85.12 | >=528.33 |
CUDA 12.0 GA | >=525.60.13 | >=527.41 |
CUDA 11.8 GA | >=520.61.05 | >=520.06 |
CUDA 11.7 Update 1 | >=515.48.07 | >=516.31 |
CUDA 11.7 GA | >=515.43.04 | >=516.01 |
CUDA 11.6 Update 2 | >=510.47.03 | >=511.65 |
CUDA 11.6 Update 1 | >=510.47.03 | >=511.65 |
CUDA 11.6 GA | >=510.39.01 | >=511.23 |
CUDA 11.5 Update 2 | >=495.29.05 | >=496.13 |
CUDA 11.5 Update 1 | >=495.29.05 | >=496.13 |
CUDA 11.5 GA | >=495.29.05 | >=496.04 |
CUDA 11.4 Update 4 | >=470.82.01 | >=472.50 |
CUDA 11.4 Update 3 | >=470.82.01 | >=472.50 |
CUDA 11.4 Update 2 | >=470.57.02 | >=471.41 |
CUDA 11.4 Update 1 | >=470.57.02 | >=471.41 |
CUDA 11.4.0 GA | >=470.42.01 | >=471.11 |
CUDA 11.3.1 Update 1 | >=465.19.01 | >=465.89 |
CUDA 11.3.0 GA | >=465.19.01 | >=465.89 |
CUDA 11.2.2 Update 2 | >=460.32.03 | >=461.33 |
CUDA 11.2.1 Update 1 | >=460.32.03 | >=461.09 |
CUDA 11.2.0 GA | >=460.27.03 | >=460.82 |
CUDA 11.1.1 Update 1 | >=455.32 | >=456.81 |
CUDA 11.1 GA | >=455.23 | >=456.38 |
CUDA 11.0.3 Update 1 | >= 450.51.06 | >= 451.82 |
CUDA 11.0.2 GA | >= 450.51.05 | >= 451.48 |
CUDA 11.0.1 RC | >= 450.36.06 | >= 451.22 |
CUDA 10.2.89 | >= 440.33 | >= 441.22 |
CUDA 10.1 (10.1.105 general release, and updates) | >= 418.39 | >= 418.96 |
CUDA 10.0.130 | >= 410.48 | >= 411.31 |
CUDA 9.2 (9.2.148 Update 1) | >= 396.37 | >= 398.26 |
CUDA 9.2 (9.2.88) | >= 396.26 | >= 397.44 |
CUDA 9.1 (9.1.85) | >= 390.46 | >= 391.29 |
CUDA 9.0 (9.0.76) | >= 384.81 | >= 385.54 |
CUDA 8.0 (8.0.61 GA2) | >= 375.26 | >= 376.51 |
CUDA 8.0 (8.0.44) | >= 367.48 | >= 369.30 |
CUDA 7.5 (7.5.16) | >= 352.31 | >= 353.66 |
CUDA 7.0 (7.0.28) | >= 346.46 | >= 347.62 |
一定要保证PyTorch与cuda toolkit的版本适配,参考:PyTorch版本要求
总结概括:Nvidia GPU驱动必须大于CUDA Toolkit要求的Nvida GPU驱动版本,或者PyTorch版本要求的CUDA版本对应驱动与Nvidia GPU驱动符合匹配要求
安装说明
可以选择本地开始(Start Locally),云开发(Cloud Partners),以前的Pytorch版本(Previous PyTorch Versions),移动端开发(Mobile),在此处选择本地安装
Windows下使用PIP方式安装,计算平台使用CPU,安装方式如下:
python
复制代码
pip3 install torch torchvision torchaudio
Windows下使用conda方式安装,计算平台使用cuda,安装方式如下:
python
复制代码
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
更多安装方式参考:
https://pytorch.org/get-started/locally/
注意:
复制代码
Stable代表的是稳定版本,Preview代表的是先行版本
结合电脑是否有显卡,选择CPU版本还是CUDA版本,CUDA版本需要拥有独显且是NVIDIA的GPU
一定要保持PyTorch和cudatoolkit的版本适配
开始安装
在上面使用nvidia-smi命令查看显卡信息,得出驱动程序版本是470.57.02,显卡驱动支持的CUDA版本是11.4,参考上面CUDA版本与GPU驱动程序版之间的关系列表,得出:
复制代码
1.若使用当前机器上GPU驱动,不升级,则只能从PyTorch官网查询与当前GPU所使用的CUDA相匹配的PyTorch版本
2.若想使用较新版本的PyTorch,其使用的CUDA版本以及要求的GPU驱动版本必定较高,此时需要升级机器是的GPU驱动
3.一定保证PyTorch版本要求使用的CUDA版本对应的驱动与GPU驱动版本相匹配
这里没有PyTorch版本特殊要求,使用最便捷的方式,不对当前GPU驱动进行升级,访问PyTorch版本记录查询匹配的PyTorch版本进行安装。
因为该机器可以支持最高CUDA版本为11.4,且官方版本记录中没有找到CUDA11.4的支持,驱动可以向下兼容,所以小于等于11.4的CUDA版本理论来说都可以安装,这里选择CUDA 11.3
具体安装命令如下:
python
复制代码
# CUDA 11.3
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
注意:
根据自身网络情况调整下载地址
python
复制代码
# 从官网下载
-c pytorch
# 单独指定一个镜像下载
–c 镜像地址
检验是否安装成功
python
复制代码
import torch
if __name__ == '__main__':
if torch.cuda.is_available():
print("GPU是否可用:", torch.cuda.is_available()) # 查看GPU是否可用
print("GPU数量:", torch.cuda.device_count()) # 查看GPU数量
print("torch方法查看CUDA版本:", torch.version.cuda) # torch方法查看CUDA版本
print("GPU索引号:", torch.cuda.current_device()) # 查看GPU索引号
print("GPU名称:", torch.cuda.get_device_name(0)) # 根据索引号得到GPU名称
else:
print("GPU不可用")
常见异常
各种相关依赖、库文件安装完毕后,准备启动项目,出现异常:
python
复制代码
CUDA initialization: The NVIDIA driver on your system is too old (found version 11040). Please update your GPU driver by downloading and installing a new version from the URL: http://www.nvidia.com/Download/index.aspx Alternatively, go to: https://pytorch.org to install a PyTorch version that has been compiled with your version of the CUDA driver. (Triggered internally at ../c10/cuda/CUDAFunctions.cpp:108.)
原因:
系统上的NVIDIA驱动程序版本过旧,或者说NVIDIA驱动程序和CUDA驱动程序与所安装的PyTorch版本存在兼容性
解决办法:
1.下载并安装新版本的GPU驱动程序:
http://www.nvidia.com/Download/index.aspx
2.安装一个与CUDA 驱动程序版本兼容的PyTorch版本:
https://pytorch.org
在更新了驱动程序或安装了兼容的 PyTorch 版本后,这个问题应该会得到解决。
安装CUDA
NVIDIA GPU驱动程序已经包含了基本的CUDA支持,但安装额外的CUDA工具包可以提供更多功能和开发工具,能够更好地编写、调试和优化CUDA程序。这取决于具体需求和开发环境。
访问https://developer.nvidia.com/cuda-downloads
下载对应版本的CUDA 选择需要的版本进行下载
默认情况下是自动添加到环境变量中,变量名:
CUDA_PATH
变量值:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8
验证查看CUDA的版本信息
python
复制代码
C:\Users\Admin>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:41:10_Pacific_Daylight_Time_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
😝有需要的小伙伴,可以Vx扫描下方二维码免费领取==🆓