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://www.pswp.cn/pingmian/96258.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/96258.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/96258.shtml

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

相关文章

leetcode169.多数元素

题目描述给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。题目解法博耶-摩尔多数投票算法(英语:Boyer–Moore…

基于机器学习的P2P网贷平台信用违约预测模型

使用平台提供的借款人信息(年龄、收入、历史信用等)和借款信息,构建一个二分类模型来预测借款人是否会违约。重点解决类别不平衡问题和模型可解释性。逻辑回归、随机森林、XGBoost、SMOTE过采样、模型评估(AUC, KS, F1-Score&…

豆瓣网影视数据分析与应用

源码链接:点击下载源码 相关文档:点击下载相关文档 摘 要 随着互联网的快速发展,豆瓣网作为一个综合性的影视评分和评论平台,积累了大量的用户数据,这些数据为影视分析提供了丰富的素材。借助Hadoop这一大数据处理框…

四、计算机网络与分布式系统(中)

一、局域网与广域网1、局域网(1)定义将有限地理范围内的多台计算机通过传输媒体连接,借助网络软件实现设备间通信与资源共享的通信网络(2)特点1.地理范围小:通常为数百米至数公里内。2.传输速率高&#xff…

Python 面向对象实战:私有属性与公有属性的最佳实践——用线段类举例

描述 在绘图软件、GIS、CAD 或简单的图形编辑器中,线段(Segment)是非常基础的对象。每个线段有两个端点(x1,y1)和(x2,y2)。在实现时我们通常希望: 封装端点数据(防止外部…

流式细胞术样本处理全攻略(一):组织、血液、体液制备方法详解

摘要 流式细胞术作为多参数、高通量的细胞分析技术,在细胞表型鉴定、免疫反应研究、疾病机制探索及药物效果评估中发挥关键作用。而样本制备是流式实验成功的核心前提,需将不同来源样本处理为单颗粒悬液,并最大程度减少细胞死亡与碎片干扰。本文针对组织、外周血 / 骨髓、体…

【C#】理解.NET内存机制:堆、栈与装箱拆箱的底层逻辑及优化技巧

文章目录前言一、栈与堆1.1 栈(Stack)1.1.1 基本信息1.1.2 特点1.2 堆(Heap)1.2.1 基本信息1.2.2 特点1.3 从代码中窥见堆栈二、装箱与拆箱2.1 装箱2.2 拆箱2.3 如何避免不必要的装箱与拆箱2.3.1 泛型集合2.3.2 泛型参数总结前言 …

人工智能学习:Transformer结构中的子层连接(Sublayer Connection)

Transformer结构中的子层连接(Sublayer Connection) 一、子层连接介绍 概念 子层连接(Sublayer Connection),也称为残差连接(Residual Connection),是Transformer模型中的一个关键设计,用于将多个子层(如自注意力层和前馈全连接层)组合在一起。它通过残差连…

解锁Roo Code的强大功能:深入理解上下文提及(Context Mentions)

在AI使用中,我们经常需要AI或AI工具描述代码中的某个具体部分。但如果工具能直接“看到”所指的代码、错误信息甚至终端输出,协作效率会不会大幅提升?这正是 Roo Code 的“上下文提及(Context Mentions)”功能所要实现…

第5篇、 Kafka 数据可靠性与容错机制

在分布式消息队列系统中,数据可靠性 与 容错能力 是核心指标。Kafka 作为高吞吐、可扩展的流式处理平台,依靠副本复制、Leader 选举和 ISR 机制,保证了在节点故障时消息依然能够可靠传输与消费。 📚 目录 理论基础 一、数据复制…

Excel表格如何制作?【图文详解】表格Excel制作教程?电脑Excel表格制作?

一、问题背景 在日常办公中,无论是统计数据、整理报表,还是记录信息,Excel表格都是必不可少的工具。 但对新手来说,打开Excel后面对空白的单元格,常常不知道从何下手——不知道怎么选表格范围、怎么加边框让表格显形、…

阿里兵临城下,美团迎来至暗时刻?

9月10日,赶在阿里巴巴成立26周年之际,高德地图推出了首个基于用户行为产生的榜单“高德扫街榜”,被定义为“阿里生活服务超级新入口”,试图重新构建一套线下服务的信用体系。 上线第二天,就有媒体报道称“使用高德扫街…

Android逆向学习(十一) IDA动态调试Android so文件

Android逆向学习(十一) IDA动态调试Android so文件 一、 写在前面 这是吾爱破解论坛正己大大的第12个教程,并且发现一个神奇的事情,正己大大的教程竟然没有第11个,感觉很奇怪 写这个博客的主要原因是希望提供一种新的解…

Django全栈班v1.03 Linux常用命令 20250911 下午

课程定位 命令行 ! 黑客专属。 这套视频带你从Linux小白到命令行大师,涵盖文件管理文本处理系统监控网络操作。 零基础也能30分钟掌握程序员必备的技能。 课程亮点 1、零基础友好:从最基础的ls,cd命令开始,循序渐进 2、实战导向&a…

离线应用开发:Service Worker 与缓存

引言:离线应用开发在 Electron 中的 Service Worker 与缓存核心作用与必要性 在 Electron 框架的开发实践中,离线应用开发是提升用户体验和应用可用性的关键技术,特别是使用 Service Worker 实现缓存和离线功能,结合 Node.js 处理…

英发睿能闯关上市:业绩波动明显,毅达创投退出,临场“移民”

撰稿|张君来源|贝多商业&贝多财经近日,四川英发睿能科技股份有限公司(下称“英发睿能”)递交招股书,报考在港交所上市。据贝多商业&贝多财经了解,英发睿能还于9月3日披露《整体协调人公告-委任&…

Elixir通过Onvif协议控制IP摄像机,ExOnvif库给视频流叠加字符

Elixir 通过 ExOnvif 库,Onvif 协议可以控制IP摄像机等设备,这篇文章记录:使用ExOnvif库,给视频流叠加文字,使用ExOnvif库的接口模块:ExOnvif.Media、ExOnvif.Media2。 ExOnvif官方文档 此文章内容&#xf…

线程安全相关的注解

主要有下面三个加在类上的线程安全相关的注解。一.Immutable标记一个类为不可变的。这意味着该类的实例在构造完成后,其状态(数据)永远不能被更改。实现不可变性的严格条件(Java内存模型中的定义):所有字段…

基于Springboot + vue3实现的在线智慧考公系统

项目描述本系统包含管理员、教师、用户三个角色。管理员角色:用户管理:管理系统中所有用户的信息,包括添加、删除和修改用户。配置管理:管理系统配置参数,如上传图片的路径等。权限管理:分配和管理不同角色…

赋能高效设计:12套中后台管理信息系统通用原型框架

中后台管理信息系统是企业数字化转型的核心引擎,肩负着提升运营效率、赋能精准决策的重任。面对多样化的业务场景和复杂的逻辑需求,如何快速、高质量地完成系统设计与原型构建,成为产品、设计与开发团队共同面临的挑战。 为此,一套…