AI大模型微调训练营-总结

文章目录

  • AI大模型微调训练营-总结
    • 课程总结
    • 大模型开发环境搭建(Windows10+CUDA12.4+T4+Torch+Transformer)
      • 1、安装CUDA
      • 2、安装ffmpeg
      • 3、安装Anaconda
      • 4、安装Torch和Transformer
        • 4.1、参考资料
        • 4.2、具体安装步骤

AI大模型微调训练营-总结

课程总结

历经2个月,终于初步完成了极客时间的AI大模型训练营的课程。课程真的很好,从AI大模型技术的发展演进历史,到Transformers工具库的使用。特别是PEFT、SFT等微调技术的深入讲解,老师带着我们读论文、讲技术原理、实操微调,细节和干货满满。特别要感谢彭靖田老师,课程准备的太好了。也要感谢极客时间的老师,课程支持非常好。

搞技术的闲话不多说,因为课程中老师给的是Linux环境,而我的是Win10环境,所以接下来我也献出来我的一篇干货笔记,就是如何在Win10下安装CUDA、Torch、Anaconda和Transformer。

大模型开发环境搭建(Windows10+CUDA12.4+T4+Torch+Transformer)

1、安装CUDA

参照cuda在windows10安装教程的指导安装CUDA,注意安装完CUDA以后务必要暗账cuDNN,cuDNN不同版本的下载链接为:https://developer.nvidia.com/rdp/cudnn-archive,选择Download cuDNN v8.9.7 (December 5th, 2023), for CUDA 11.x,Local Installer for Windows (Zip)

2、安装ffmpeg

参照2023年Window系统安装FFmpeg教程&FFmpeg命令大全安装ffmpeg

3、安装Anaconda

4、安装Torch和Transformer

4.1、参考资料

pytorch的CUDA版本的安装参考:https://pytorch.org/get-started/locally/

4.2、具体安装步骤
  1. 配置清华镜像,必须先执行这个,否则pytorch安装不好桑区
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes查看~/.condarc配置
$ conda config --show-sources
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: True
  1. 在Anaconda Prompt中创建一个新的虚拟环境并指定Python版本:
conda create -n transformers python=3.11
  1. 激活新创建的虚拟环境:
conda activate transformers
  1. 克隆github项目
git clone https://github.com/DjangoPeng/LLM-quickstart.git
  1. 进入克隆项目,安装依赖包
pip install -r requirements.txt
  1. 安装和配置JupyterLab:
conda install -c conda-forge jupyterlab
jupyter lab --generate-config
  1. 编辑生成的配置文件,通常在你的主目录下名为.jupyter/jupyter_lab_config.py。在配置文件中找到c.ServerApp.notebook_dir,并设置为你想要的目录路径,例如:
c.ServerApp.notebook_dir = 'C:/_ProgramData/anaconda3/jupyterlab'
  1. 安装Hugging Face Transformers
conda install -c huggingface transformers
  1. 安装前置依赖:
conda install -c conda-forge omegaconf timm torchvision nltk scikit-learn scipy sentencepiece
  1. 安装其他包:
conda install -c conda-forge tqdm iprogress ffmpeg ffmpeg-python pillow datasets numpy accelerate
  1. 安装CUDA版本的PyTorch:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
  1. 安装其他包:
pip install transformers -U
  1. 最后,验证安装是否成功:
# 检查conda版本
conda --version# 检查Python版本
python --version# 检查Jupyter Lab
jupyter lab --version# 检查transformers库
python -c "import transformers; print(transformers.__version__)"# 检查PyTorch
python -c "import torch; print(torch.__version__)"
  1. 验证GPU是否可用
    在命令行输入jupyter lab,打开一个页面,输入如下代码:
import torch# 检查是否可以访问 CUDA
print("CUDA is available:", torch.cuda.is_available())# 查看当前使用的 GPU
if torch.cuda.is_available():
print("GPU device name:", torch.cuda.get_device_name(0))
print("Number of GPUs available:", torch.cuda.device_count())
else:
print("No GPU available, using CPU")

运行以上代码有如下提示说明安装成功:

CUDA is available: True
GPU device name: NVIDIA GeForce RTX 3060 Laptop GPU
Number of GPUs available: 1

至此,你的Transformers开发环境就已经在Windows 10的Anaconda中搭建完成了。

  1. 将项目复制到jupyter lab的工作目录下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/874548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在浏览器中测试JavaScript代码方法简要介绍

在浏览器中测试JavaScript代码方法简要介绍 在浏览器中测试JavaScript代码是前端开发中的一个重要技能。方法如下: 1. 浏览器控制台 最简单和直接的方法是使用浏览器的开发者工具中的控制台(Console)。 步骤: 在大多数浏览器…

【CAPL】CAPL 常用语法介绍

CAPL 有 *.can 和 *.cin 两种文件格式;一般.can 文件中写testcase及MainTest(),而.cin文件中写供.can调用的接口方法和变量等,其结构类似于 C 语言中的.c和.h文件 一个大致的结构如下: // Test.cin includes{} variables{int x…

iOS ------ weak的基本原理

1.weak的基本概念 weak弱引用,所引用的对象的引用计数不会加一,引用对象被释放的时候会自动设置为nil多用于解决对象间的相互引用造成内存泄露的循环引用的问题 2.实现原理 Person *object [[Person alloc] init]; id __weak objc object;Runtime维…

Redis 7.x 系列【26】集群模式动态扩容、动态缩容

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 动态扩容1.1 安装、启动1.2 加入新节点1.3 分配哈希槽1.4 加入从节点 2. 缩容2.1 删…

护眼灯和普通台灯有什么区别?解密护眼灯行业常见的四大选购套路

护眼灯和普通台灯有什么区别?随着护眼台灯的普及,市场上涌现了许多新兴品牌。然而,并非所有品牌都具备专业的技术研发实力。因此,网络上关于护眼台灯的各种问题也日益增多,如耐磨性差、耐高温性不足,甚至可…

python实现图像缩放算法

图像缩放算法 1.最近邻插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点2.双线性插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点3.双三次插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点 1.最近邻插值图像缩放算法详解 最近邻插值(Near…

go-kratos 学习笔记(4) 服务注册与发现 nacos注册

接口实现​ Registry 接口分为两个,Registrar 为实例注册和反注册,Discovery 为服务实例列表获取 type Registrar interface {// 注册实例Register(ctx context.Context, service *ServiceInstance) error// 反注册实例Deregister(ctx context.Context…

ubuntu系统vscode调试c/c++大中型项目

文章目录 1. 插件2. 项目工程3. vsode的配置setting.jsonc_cpp_properties.json 4. 启动调试 前置阅读 vscode调试第一篇 1. 插件 c/c, cmake, cmake tools 2. 项目工程 对于我的项目需要用到很多的三方库,三方库的版本又会有很多,一般都是用cmake编译…

objdump命令的常见用法

objdump命令的常见用法 1 objdump简介1.1 简介1.2 主要功能 2 objdump命令3 objdump测试程序3.1 C语言测试程序3.2 编译方法 4 objdump命令解释和演示4.1 objdump -d4.2 objdump -a4.3 objdump -f4.4 objdump -p4.5 objdump -D4.6 objdump -S4.7 objdump -s4.8 objdump -t4.9 o…

QT写一个mainWindow

切换风格的写法&#xff1a; 先看看样式效果&#xff1a; mian_window.h文件 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();void Ini…

对比预测编码表示学习

对比预测编码表示学习 引言 文章主要提出如下几点&#xff1a;首先将高维数据压缩到更加紧凑的潜在嵌入&#xff08;latent embdding&#xff09;空间&#xff0c;在这个空间中条件预测更容易被建模。第二&#xff0c;在这个潜在空间中使用自回归模型&#xff0c;以对未来的多…

Sphinx 安装相关指令解释

安装指令 pip3 install sphinx-autobuildpip3 install sphinx_rtd_themepip3 install sphinx_markdown_tablepip3 install sphinx_markdown_tables pip3 install sphinx-autobuild 功能&#xff1a;安装 sphinx-autobuild 包。作用&#xff1a;sphinx-autobuild 是一个工具&am…

DC系列靶场---DC 2靶场的渗透测试(一)

信息收集 Nmap扫描 nmap -sV -p- -sC -T4 172.30.1.141 域名解析 echo 172.30.1.141 dc-2 >> /etc/hosts 目录枚举 gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b…

探索XEX数字资产交易的优势与操作指南

随着数字资产市场的快速发展&#xff0c;越来越多的投资者开始关注并参与其中。XEX交易所作为一个新兴的数字资产交易平台&#xff0c;以其用户友好的界面和高效的交易服务&#xff0c;迅速吸引了大量用户。本文将介绍XEX数字资产交易的主要特点和优势&#xff0c;帮助新手更好…

物联网在电力行业的应用

作者主页: 知孤云出岫 这里写目录标题 作者主页:物联网在电力行业的应用简介主要应用领域代码案例分析1. 智能电表数据采集和分析2. 设备监控和预测性维护3. 能耗管理和优化4. 电力负载预测5. 分布式能源管理6. 电动汽车充电管理7. 电网安全与故障检测 物联网在电力行业的应用…

python+onlyoffice+vue3项目实战20240722笔记,环境搭建和前后端基础代码

开发后端 先创建data目录,然后在data目录下创建一个test.docx测试文档。 后端代码: import json import req import api from api import middleware, PlainTextResponseasync def doc_callback(request):data = await api.req.get_json(request)print("callback ==…

“微软蓝屏”事件暴露了的网络安全问题

近日&#xff0c;一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件&#xff0c;不仅成为科技领域的热点新闻&#xff0c;更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件&#xff0c;源于美国电脑安全技术公司“众击”提供的一个带有“缺陷”的软件更新&…

数据结构——堆(C语言版)

树 树的概念&#xff1a; 树&#xff08;Tree&#xff09;是一种抽象数据结构&#xff0c;它由节点&#xff08;node&#xff09;的集合组成&#xff0c;这些节点通过边相连&#xff0c;把 节点集合按照逻辑顺序抽象成图像&#xff0c;看起来就像一个倒挂着的树&#xff0c;也…

equals()和hashCode()

HashMap是Java集合框架中的一个非常重要的组成部分&#xff0c;它提供了基于键值对的快速查找功能。在Java中&#xff0c;HashMap的底层实现是基于数组和链表或红黑树的结合体&#xff0c;具体取决于元素的数量和散列冲突的情况。以下是HashMap的一些关键概念和底层原理&#x…

使用C#手搓Word插件

WordTools主要功能介绍 编码语言&#xff1a;C#【VSTO】 1、选择 1.1、表格 作用&#xff1a;全选文档中的表格&#xff1b; 1.2、表头 作用&#xff1a;全选文档所有表格的表头【第一行】&#xff1b; 1.3、表正文 全选文档中所有表格的除表头部分【除第一行部分】 1.…