当前位置: 首页 > news >正文

强化学习框架Verl运行在单块Tesla P40 GPU配置策略及避坑指南

1.前言

由于比较穷,身边只有1块10年前的Tesla P40 GPU卡(2016年9月发布),想利用起来学习强化学习框架Verl。程序员学习开源代码,大部分人的第一直觉不是分析模块组成,而是跑起来试试,然后去debug一下后面的运行逻辑。

由于在官方部署指导文档中并未指明跑通Verl的最低适用显卡规格,所以就傻傻以为Tesla P40 GPU卡可以胜任该任务,遂行动起来。但是万万没想到坑太多,每次出现的问题,都觉得解决了就能跑起来,结果躺过一个坑又出现另外一个坑,终于折腾好几天搞定了。于是将这一过程写成“避坑指南”共享给大家。

2.环境配置

先吐槽一下官方安装指导步骤的逻辑顺序比较混乱。由于国内需要走代理上外网,导致每次拉镜像到一部分时就直接报出unauthorized: authentication required,折腾了好久都没成功(可能匿名拉取次数过多,触发 Docker Hub 限流,但是又无法打开Docker Hub的注册网址),因此后面直接走Install from custom environment安装配置方式,简单讲就是直接在Linux上配置。

下面是基于Linux Ubuntu 20.4 x86_64操作系统上,摸索出来的适配Tesla P40 GPU卡(24G)的环境报配置依赖。请严格按照下表中的安装顺序依次安装

安装顺序 基础包 版本 安装说明
1 CUDA 11.8 建议从CUDA官网直接下载runfile格式,然后手动安装到指定位置,这样就能与之前的其他版本共存。安装命令:sudo sh cuda_11.8.0_520.61.05_linux.run --toolkit --installpath=/usr/local/cuda-11.8
2 cuDNN 8.9.7 for CUDA 11.x 建议从cuDNN官网直接下载runfile格式,然后手动安装到指定位置,这样就能与之前的其他版本共存。安装命令见cuDNN安装命令
3 Python 3.10 建议创建一个独立的虚拟环境verl-env。安装命令:conda create -n verl-env python=3.10 -y && conda activate verl-env
4 pyTorch 2.6.0+cu118 verl-env虚拟环境中安装pyTorch。安装命令:conda activate verl-env && pip install torch==2.6.0+cu118 torchvision==0.21.0+cu118 torchaudio==2.6.0+cu118 --index-url https://download.pytorch.org/whl/cu118
5 Apex verl-env虚拟环境中安装Apex。安装命令与注意事项直接采用官方安装指导步骤中的命令:git clone https://github.com/NVIDIA/apex.git && cd apex && MAX_JOB=32 pip install -v --disable-pip-version-check --no-cache-dir --no-build-isolation --config-settings "--build-option=--cpp_ext" --config-settings "--build-option=--cuda_ext" ./
6 verl 于2025年9月8日 git clone 的版本 verl-env虚拟环境中安装verl。安装步骤如下:
(1).下载verl:git clone https://github.com/volcengine/verl.git
(2).安装模型训练框架Megatron。进入verl工程目录执行:bash scripts/install_vllm_sglang_mcore.sh
(3).安装verl。进入verl工程目执行:pip install --no-deps -e .

注:cuDNN安装命令:

# 为每个版本的 cuDNN 建独立文件夹
sudo mkdir -p /usr/local/cudnn-8.9.7-cuda11
# 解压
sudo tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz \--strip-components=1 -C /usr/local/cudnn-8.9.7-cuda11
# 拷贝到 CUDA 11.8 
sudo cp -lP /usr/local/cudnn-8.9.7-cuda11/lib/*  /usr/local/cuda-11.8/lib64/
sudo cp -lP /usr/local/cudnn-8.9.7-cuda11/include/* /usr/local/cuda-11.8/include/

3.Verl整改运行

Tesla P40 GPU卡(2016年9月发布)已经是10年前的老爷卡了,显存只有24G,用作传统深度学习是没有问题的,但是训练大模型也是为难它了。因此,这里运行Verl框架也只尝试了官方Quick Start中的模型Qwen2.5-0.5B-Instruct与数据GSM8K


文章转载自:

http://vmxx0M3g.fwqgy.cn
http://6ihAa1sr.fwqgy.cn
http://fS7h58nu.fwqgy.cn
http://KPyQwkQ3.fwqgy.cn
http://gIMlXeb7.fwqgy.cn
http://OqbLHGY5.fwqgy.cn
http://or646oKq.fwqgy.cn
http://bXIRz4aa.fwqgy.cn
http://BXB6Stqj.fwqgy.cn
http://wAYjIeVt.fwqgy.cn
http://0r7oiUVs.fwqgy.cn
http://XGhzNbgh.fwqgy.cn
http://4LZDcP3b.fwqgy.cn
http://00Q8SA7Z.fwqgy.cn
http://EIKVum1I.fwqgy.cn
http://Fj6tvgV3.fwqgy.cn
http://hNfjG1VN.fwqgy.cn
http://j3MFnZ2h.fwqgy.cn
http://THAUbQmN.fwqgy.cn
http://KodtaraH.fwqgy.cn
http://lJ3sZfwS.fwqgy.cn
http://NTkFUxKm.fwqgy.cn
http://OjClOVZo.fwqgy.cn
http://MImaAY0y.fwqgy.cn
http://eNqGMJZ1.fwqgy.cn
http://b3RVKCm0.fwqgy.cn
http://V97mzV4C.fwqgy.cn
http://f1DmCdSb.fwqgy.cn
http://xqxUuIUG.fwqgy.cn
http://vVbczff2.fwqgy.cn
http://www.dtcms.com/a/378068.html

相关文章:

  • HTML 完整教程与实践
  • 前端开发易错易忽略的 HTML 的 lang 属性
  • html中css的四种定位方式
  • GCC 对 C 语言的扩展
  • 基于STM32的智能语音识别饮水机系统设计
  • 基于ubuntu-base制作Linux可启动镜像
  • 速通ACM省铜第一天 赋源码(The Cunning Seller (hard version))
  • springboot+vue旧物回收管理系统(源码+文档+调试+基础修改+答疑)
  • Reactnative实现远程热更新的原理是什么
  • OCDM 波形通信感知一体化:从原理到 MATLAB 实现
  • 智源研究院新研究:突破物理世界智能边界的RoboBrain 2.0,将重构具身AI能力天花板
  • 容器应用学习笔记:containerd 篇
  • [特殊字符]AutoSQT 2025第二届汽车软件质量与测试峰会开幕首日盛况直击
  • MCP模型上下文协议以及交互流程
  • iOS App 性能监控与优化实战 如何监控CPU、GPU、内存、帧率、耗电情况并提升用户体验(uni-app iOS开发调试必备指南)
  • (Arxiv-2025)重构对齐提升了统一多模态模型的性能
  • 在亚马逊平台激烈的竞争赛道上
  • AI驱动的知识管理指南:基于Atlassian Intelligence和Rovo构建企业级知识管理系统
  • Redis 键(Key)的命令
  • 【bat工具】在文件夹一堆文件中快速查找和打开所需文件的方法之一
  • 安卓13_ROM修改定制化-----实现默认开启“usb安全设置”(免SIM卡验证)
  • 【Mermaid.js】从入门到精通:完美处理节点中的空格、括号和特殊字符
  • MySQL 如何查看事务隔离级别?
  • 嵌入式硬件工程师的每日提问
  • HTML--最简的二级菜单页面
  • 【ARDUINO】ESP8266断电有效的指令断电后无效的指令
  • 亚马逊云代理商:AWS亚马逊云的独特优势与实用价值
  • [deepseek] C语言头文件与汇编实现讨论
  • 20250911-01: 概念:基础认知--消息
  • leetcode26(字母异位词分组)