【vLLM 学习】Rlhf

RLHF训练效率翻倍秘诀:用vLLM加速GRPO训练(实测Qwen2.5-0.5B推理速度提升3倍) 本文详细介绍了如何通过vLLM推理框架与GRPO训练策略的协同优化,大幅提升RLHF训练效率。实测显示,Qwen2.5-0.5B模型的推理速度提升300%,训练周期从3天缩短至22小时。文章涵盖硬件调优、关键参数配置、批处理策略优化等实战技巧,为强化学习与语言模型结合的高效训练提供完整解决方案。 阅读详情

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →vllm.hyper.ai/

*在线运行 vLLM 入门教程:零基础分步指南

源码 examples/offline_inference/rlhf.py

# SPDX-License-Identifier: Apache-2.0

"""
一个基于 vLLM 的 RLHF 简单实现演示,灵感来源于
OpenRLHF 框架 https://github.com/OpenRLHF/OpenRLHF 。
该设计采用训练进程 (training processes) 与推理进程 (inference processes)
分离的方案,它们运行在不同的 GPU 上。
训练进程向推理进程发送提示 (prompts) 以生成数据,
同时通过将模型权重从训练进程广播 (broadcast) 到推理进程
来实现模型权重的同步。
注意:本演示仅展示单个训练实例 (training instance) 和单个
推理实例 (inference instance) 的简单场景。
实际应用中可能存在多个训练实例和多个推理实例。
完整实现请参考 OpenRLHF 框架。
"""
import os

import ray
import torch
from ray.util.placement_group import placement_group
from ray.util.scheduling_strategies import PlacementGroupSchedulingStrategy
from rlhf_utils import stateless_init_process_group
from transformers import AutoModelForCausalLM

from vllm import LLM, SamplingParams
from vllm.utils import get_ip, get_open_port


class MyLLM(LLM):

    def __init__(self, *args, **kwargs):
        # a hack to make the script work.
        # stop ray from manipulating CUDA_VISIBLE_DEVICES
        # at the top-level
        # 临时解决方案:确保脚本正常运行
        # 禁止 Ray 在顶层修改 CUDA_VISIBLE_DEVICES 环境变量
        os.environ.pop("CUDA_VISIBLE_DEVICES", None)
        super().__init__(*args, **kwargs)


"""
开始训练过程,在这里我们使用 HuggingFace Transformer
作为在 GPU 0 上保存模型的示例。
"""

train_model = AutoModelForCausalLM.from_pretrained("facebook/opt-125m")
train_model.to("cuda:0")

"""
启动推理过程,我们使用 vLLM 在 GPU 1和 GPU 2。有关如何使用 ray 的详细信息,
请参考 ray 文档 https://docs.ray.io/en/latest/。
"""
os.environ["CUDA_VISIBLE_DEVICES"] = "1,2"
ray.init()

pg_inference = placement_group([{"GPU": 1, "CPU": 0}] * 2)
ray.get(pg_inference.ready())
scheduling_inference = PlacementGroupSchedulingStrategy(
    placement_group=pg_inference,
    placement_group_capture_child_tasks=True,
    placement_group_bundle_index=0,
)

"""
启动 vLLM 推理引擎。
在这里,我们使用 `enforce_eager` 减少开始时间。
"""
llm = ray.remote(
    num_cpus=0,
    num_gpus=0,
    scheduling_strategy=scheduling_inference,
)(MyLLM).remote(
    model="facebook/opt-125m",
    enforce_eager=True,
    worker_extension_cls="rlhf_utils.WorkerExtension",
    tensor_parallel_size=2,
    distributed_executor_backend="ray",
)

# 从提示中生成文本。
prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]

sampling_params = SamplingParams(temperature=0)

outputs = ray.get(llm.generate.remote(prompts, sampling_params))

for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, "
          f"Generated text: {generated_text!r}")

# 设置训练进程与推理引擎之间的通信
master_address = get_ip()
master_port = get_open_port()

handle = llm.collective_rpc.remote("init_weight_update_group",
                                   args=(master_address, master_port, 1, 3))

model_update_group = stateless_init_process_group(master_address, master_port,
                                                  0, 3, torch.device("cuda:0"))
ray.get(handle)

# 模拟训练,修改模型的权重。
for name, p in train_model.named_parameters():
    p.data.zero_()

# 同步从训练过程到推理引擎的权重。
for name, p in train_model.named_parameters():
    handle = llm.collective_rpc.remote("update_weight",
                                       args=(name, p.dtype, p.shape))
    model_update_group.broadcast(p, src=0, stream=torch.cuda.current_stream())
    ray.get(handle)

# 检查权重是否更新。
assert all(ray.get(llm.collective_rpc.remote("check_weights_changed")))

# 使用更新的模型生成文本,它们会胡说八道
# 因为权重都是零。
outputs_updated = ray.get(llm.generate.remote(prompts, sampling_params))
for output in outputs_updated:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, "
          f"Generated text: {generated_text!r}")

【中兴交换机MC-LAG配置】 ​ 中兴mc-lag配置 主设备配置如下: Keepalive链路 interface smartgroup1023 //用作MC-LAG的Keepalive链路接口 switch attribute disable yes description For_Keepalived exit interface xgei-0/1/1/47 switch attribute disable yes description For_Keepalived exit interface 阅读详情

相关推荐

基于smart_rtmp直播,最简单的部署手册

版本号 添加内容 修改时间 V1.0 新建 2021年12月30日 V1.1 增加网页播放 2021年12月31日 V1.2 增加是否可以多流和测试数据 2022年1月5日 目录 一、软件储备 1.推流软件:OBS 2.服务器流媒体软件:smart_rtmp 3.播放软件:Pot...

qq_28768477的博客 1万+

无标注RLHF实战:用自监督实现本地化大模型对齐

RLHF(基于人类反馈的强化学习)是大语言模型对齐的核心技术,其本质是通过偏好排序建模人类价值观。传统方法依赖高成本、低一致性、长延迟的人工标注,导致难以在个人设备或垂类场景落地。本文聚焦‘无标注RLHF’这一工程突破点,阐述如何利用偏好模型蒸馏与自我博弈等自监督机制,从SFT数据中自动挖掘隐含偏好信号,并结合TRL、Unsloth与vLLM构建高效闭环训练流程。该路径显著降低算力与人力门槛,支持单卡3090完成端到端对齐,在AlpacaEval 2.0胜率提升16.4%的同时增强事实性与简洁性,适用于法律

332

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

weixin_43205954的博客 2462

【vLLM 学习】Rlhf Colocate

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

HyperAI超神经 140

用AI+Playwright实现零代码UI自动化测试:以登录页面为例的实战指南

本文详细介绍了如何利用AI与Playwright结合实现零代码UI自动化测试,特别以登录页面为例进行实战演示。通过自然语言描述生成测试脚本,大幅降低技术门槛,提升测试效率,并支持跨浏览器验证。适合非技术人员快速上手专业级自动化测试。

weixin_28842269的博客 402

提取abaqus中节点集合的应力应变

节点是没有应力应变的,只有积分点才有,所以直接在odb文件里面用FieldOutput是整不出来的(结果是个空列表),只能用session这种让abaqus自己帮你处理。具体的代码需要根据自己操作的时候abaqus.rpy这个文件中代码的变化来更改。

蓝胖子的博客 4553

【vLLM 学习】Rlhf Utils

更多 vLLM 中文文档及教程可访问 →https://vllm.hyper.ai/vLLM 是一款专为大语言模型推理加速而设计的框架,实现了。内存几乎零浪费,解决了。

HyperAI超神经 91

在 ABAP 世界把 SAML 2.0 玩明白:跨域 SSO 的通信模式、配置路径与落地实践

摘要 SAML 2.0是ABAP平台实现标准化SSO的推荐方案,提供Front-Channel(浏览器传递SAML报文)和Back-Channel(使用工件绑定通过SOAP兑换断言)两种通信方式。前者包括HTTP Redirect和POST绑定,后者通过Artifact绑定提升安全性。配置重点包括:激活ICF服务、使用SAML2事务码建立信任、设置用户标识映射、选择绑定方式(POST易调试、Artifact更安全)及配置安全策略(签名/加密)。典型流程包括SP-initiated和IdP-initiated

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 293

RL和RLHF框架超详细解析

传统的机器学习范式,智能体通过与环境交互,根据奖励信号学习最优策略。RL的一个特殊应用,专门用于训练大语言模型,奖励信号来源于人类的偏好反馈。: RLHF = RL + Reward Model(学习人类偏好)另外,传统RL的状态:是具体的环境状态(- Atari游戏: 84x84像素图像 - 机器人: 关节角度向量 )动作是明确的控制指令 (-游戏: {上, 下, 左, 右} - 机器人: 每个关节的力矩值)

2301_80044974的博客 948

1个PID回路如何连接2个执行器(算法和代码)

我们先看下位置型PID的控制框图:2、PID是基于error的控制 所以反馈信号跳动、干扰非常大的话,对PID的闭环控制影响是非常大的,所以对于反馈信号、一定要抗干扰和滤波处理。3、下图是增量型PID的控制框图:4、一个PID输出回路如何连接2个执行器?(有些系统会设置热阀和冷阀才能满足控制要求)。

RXXW_Dor的博客 1811

SO_KEEPALIVE、TCP_KEEPIDLE、TCP_KEEPINTVL、保活包

是一个套接字选项,用于设置是否启用 keepalive 机制。在这段代码中没有涉及到选项的设置。当被设置为非零值时,表示启用 keepalive 机制。keepalive 是一种用于检测连接是否仍然有效的机制。通过定期发送一些特定的探测数据,可以检测到网络连接的异常中断或对端应用程序的崩溃退出。为了避免以上情况,可以启用 keepalive 机制,即使在无数据传输的情况下也定期发送探测数据。如果在一定时间内没有收到对端的响应,就认为连接已经失效,并进行相应的处理。要启用选项,需要使用函数。其中,fd。

m0_46376834的博客 4816

MS-Swift框架下Qwen3-VL的SFT和RLHF微调实战

主要是记录笔者在对多模态大模型的监督微调(SFT)和强化微调(人类对齐微调,RLHF)的过程中踩的一些坑进行记录。

messyking的博客 732

一般无穷积分的收敛判别法

文章目录积分里的狄屎判别法证明阿贝尔判别法总结补充:级数中的狄屎和Abel 积分里的狄屎判别法 F(u)=∫auf(x)dx在[a,+∞)F(u)=\int_a^uf(x)dx在[a,+\infty)F(u)=∫au​f(x)dx在[a,+∞)有界 x→+∞时,g(x)单减→0x\to+\infty时,g(x)单减\rightarrow0x→+∞时,g(x)单减→0 ⇒\Rightarrow⇒ ...

universe_1207的博客 1万+

verl与vLLM集成实战:推理训练无缝切换部署案例

本文介绍了如何在星图GPU平台上自动化部署verl镜像,实现大语言模型的高效强化学习后训练。基于verl与vLLM深度集成能力,用户可一键启动DPO等算法流程,典型应用于对话模型对齐优化,如提升拒绝有害请求与保持有用性的平衡能力。

weixin_42502089的博客 411

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

终极指南:MaxText的RLHF与GRPO训练框架搭建与调优全攻略

MaxText是一个简单、高性能且可扩展的Jax LLM项目,它提供了强大的强化学习框架支持,包括RLHF和GRPO等先进算法。本文将带你全面了解如何在MaxText中搭建和优化RLHF与GRPO训练框架,轻松掌握大语言模型的强化学习训练技巧。 ## 🚀 快速了解MaxText强化学习框架 MaxText作为基于Jax的LLM项目,其强化学习功能主要集中在RLHF(基于人类反馈的强化学习)和

gitblog_01410的博客 691

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Grok 4.6 1.5万亿参数升级:SFT与RLHF技术栈深度解析与实践指南

在大型语言模型(LLM)领域,模型参数规模与训练方法是决定其性能的核心要素。参数本质上是模型从数据中学习到的知识存储单元,其数量的增长通常意味着更强的记忆容量和模式识别能力。然而,参数本身并不直接等同于智能,其效能的发挥高度依赖于先进的训练方法。监督微调(SFT)和基于人类反馈的强化学习(RLHF)是当前对齐模型能力与人类意图的关键技术栈。SFT阶段使用高质量的指令-回答对数据,教导预训练模型遵循人类指令;RLHF阶段则通过奖励模型进一步优化输出,使其更符合复杂的人类偏好。这些技术的价值在于,它们能将庞大的

weixin_30512043的博客 399

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

2026-03-02_AGI大模型学习路线

如果要深入学习,建议再按以下步骤,从更基础的GPT和BERT学起,因为底层是相通的,而且实际落地到一个系统中,应该也是大模型结合小模型(大模型在做判别性的任务上,比BERT优势不是特别大)

WANGJUNAIJIAO的博客 940

5分钟了解verl:专为LLM设计的强化学习利器

本文介绍了如何在星图GPU平台上自动化部署verl镜像,专为大语言模型强化学习(RLHF)设计。通过该平台,用户可快速构建高效、可扩展的LLM对齐训练环境,典型应用于客服智能体开发、数学推理微调及工具调用型Agent编排等场景。

weixin_42430341的博客 274

从零开始的大模型强化学习框架verl解析

对于一个TP group内的rank[0,1,2,3],按照vLLM/Megatron的切分方式,在tp=4时每个rank包含的参数分别是[m_0], [m_1], [m_2], [m_3],在tp=2时分别是[m_0, m_1], [m_2, m_3], [m_0, m_1], [m_2, m_3],原因是Megatron切分时优先级是TP>DP,所以rank0和rank2重复,rank1和rank3重复。在verl的场景下,这个weight dict是从actor得到的。

具身机器人和通用AI 3014

告别复杂配置!verl让RLHF训练变得超级简单

本文介绍了基于星图GPU平台自动化部署verl镜像的便捷方案。verl作为高效的强化学习框架,可简化RLHF训练流程,支持PPO、DPO等算法的快速实现。通过星图GPU平台,用户能轻松完成镜像部署与资源调度,典型应用于大语言模型的对齐微调,显著提升AI应用开发效率。

weixin_42476987的博客 290

verl与vLLM协同工作:高效推理的正确打开方式

本文介绍了如何在星图GPU平台上自动化部署verl镜像,实现大语言模型强化学习高效推理。通过与vLLM深度协同,该镜像可显著提升RLHF训练吞吐量、降低显存占用,典型应用于GSM8K等数学推理任务的策略优化与响应生成。

weixin_35257663的博客 377

一键部署verl:快速搭建LLM强化学习环境

本文介绍了如何在星图GPU平台上自动化部署verl镜像,快速搭建大语言模型(LLM)强化学习训练环境。通过预置依赖与模块化API,用户可一键启动PPO等算法训练,典型应用于LLM对齐优化、人类偏好建模与安全响应增强等场景,显著降低RLHF工程落地门槛。

weixin_30205153的博客 289

5分钟上手verl:零基础部署大模型强化学习训练

本文介绍了如何在星图GPU平台上自动化部署verl镜像,高效开展大模型强化学习训练。通过平台一键拉取与配置,用户可快速启动PPO等算法微调任务,典型应用于Llama-3-8B等大语言模型的RLHF对齐优化,显著降低分布式训练门槛。

weixin_33298352的博客 309

快速见效!verl强化学习训练初体验报告

本文介绍了如何在星图GPU平台上自动化部署verl镜像,高效开展大语言模型强化学习后训练。基于该平台,用户可一键启动PPO训练流程,典型应用于LLM在人类反馈(RLHF)下的对齐优化,显著提升模型响应质量与训练稳定性。

weixin_35762258的博客 410

强化学习框架怎么选?verl使用心得分享

本文介绍了如何在星图GPU平台上自动化部署verl镜像,高效开展大语言模型强化学习后训练。基于该平台,用户可一键启动verl框架,快速构建稳定、高性能的RLHF流水线,典型应用于Qwen2等大模型的对齐优化与响应质量提升。

weixin_33531560的博客 351

大模型相关概念

持续更新ing...

2301_80044974的博客 1089
上一篇: 贝佐斯/比尔盖茨/英伟达/英特尔等押注,NASA工程师带队打造通用机器人大脑,公司估值达20亿美元
下一篇: 完整回放|上海创智/TileAI/华为/先进编译实验室/AI9Stars深度拆解 AI 编译器技术实践
HyperAI超神经
博客等级 码龄7年 8873粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值