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

强化学习/对齐(个人理解)

Bradley-Terry 奖励模型含义给定选中和拒绝响应的隐藏状态将其投影为标量奖励并计算偏好损失。def reward_model_loss(chosen_hidden, rejected_hidden, reward_head): r_chosen (chosen_hidden reward_head).squeeze(-1) # (B,) r_rejected (rejected_hidden reward_head).squeeze(-1) # (B,) margin r_chosen - r_rejected # manual log-sigmoid: log(1/(1exp(-x))) -log(1exp(-x)) loss -torch.log(1.0 / (1.0 torch.exp(-margin))).mean() return lossloss -torch.log(1.0 / (1.0 torch.exp(-margin))).mean()成对损失通常使用 log-sigmoid 形式等同于二元交叉熵损失DPO含义 无需强化学习即可将语言模型与人类偏好对齐使用配对的选中/拒绝对数概率。。def dpo_loss(policy_chosen_logps, policy_rejected_logps, ref_chosen_logps, ref_rejected_logps, beta0.1): chosen_rewards beta * (policy_chosen_logps - ref_chosen_logps) rejected_rewards beta * (policy_rejected_logps - ref_rejected_logps) diff chosen_rewards - rejected_rewards return -torch.log(torch.sigmoid(diff)).mean()参考模型是为了防止模型偏离初始语言能力避免退化。policy_chosen_logps这些参数是整个对话的对数似然取每个token 的 log probs 求和GRPO含义每个提示组内归一化奖励以计算优势值然后使用这些组相对优势优化策略。def grpo_loss(logps: Tensor, rewards: Tensor, group_ids: Tensor, eps: float 1e-5) - Tensor: Group Relative Policy Optimization (GRPO) loss. logps: (B,) policy log-probs for each sampled response rewards: (B,) scalar rewards for each response group_ids: (B,) integers, same id same prompt/group returns: scalar loss (Tensor) # Compute per-group normalized advantages A_i unique_ids group_ids.unique() advantages torch.empty_like(rewards) for gid in unique_ids: mask group_ids gid r_g rewards[mask] mean_g r_g.mean() std_g r_g.std(unbiasedFalse) advantages[mask] (r_g - mean_g) / (std_g eps) # Stop gradient through advantages advantages_detached advantages.detach() # GRPO objective: -E[A_i * logpi_i] return -(advantages_detached * logps).mean()在反向传播时不通过优势值回传梯度。优势值被视为“常数”或“目标”只用于加权策略梯度。无需 Critic 网络。传统 PPO 需要训练一个价值网络critic来估计优势GRPO 用组内统计量替代简化架构。同一 prompt 的多个回答相互比较消除 prompt 难度差异带来的偏差。PPO含义通过裁剪重要性采样比率来约束策略更新防止强化学习中的破坏性大幅更新。def ppo_loss(new_logps: Tensor, old_logps: Tensor, advantages: Tensor, clip_ratio: float 0.2) - Tensor: PPO clipped surrogate loss. new_logps: (B,) current policy log-probs old_logps: (B,) old policy log-probs (treated as constant) advantages: (B,) advantage estimates (treated as constant) returns: scalar loss (Tensor) # Detach old_logps and advantages so gradients only flow through new_logps old_logps_detached old_logps.detach() adv_detached advantages.detach() # Importance sampling ratio r pi_new / pi_old in log-space ratios torch.exp(new_logps - old_logps_detached) # Unclipped and clipped objectives unclipped ratios * adv_detached clipped torch.clamp(ratios, 1.0 - clip_ratio, 1.0 clip_ratio) * adv_detached # PPO objective: negative mean of the more conservative objective return -torch.min(unclipped, clipped).mean()通过裁剪比率防止单次更新步长过大避免策略崩溃。DAPO含义GRPO 往往因clip 范围设置不合理、采样冗余以及长序列梯度被稀释等问题导致大量训练信号被浪费。提高了裁剪上界当 old policy 对某个 token 的概率很低而该 token 的 advantage 又是正值会因为上界而受限。动态采样可能出现组内优势值为0因此保证每次采样出来的回答reward 不全是 0 或者 1如果采样出来的回答全是 0 或者 1 就继续采样直到不满足为止。Token-Level Gradient Loss GRPO 在训练长回答时 gradient 的权重会随着采样回答的长度变长而下降的问题。如果一个回答长度是100一个是10他们的token的权重会不一样。因此把所有生成的token总数加起来求平均。Overlong Reward Shaping当生成长度超过第一个预设阈值时惩罚会随长度线性增加一旦超过第二个阈值惩罚将抵消因回答正确获得的所有奖励相当于将该回答视为无效GSPO含义直接调整了优化目标的颗粒度从 token-level 跳到 sequence-level主要为了解决MOE训练中GRPO不稳定的问题因为新旧策略可能激活不同的专家导致重要性比例被频繁截断导致训练不稳定。之前的做法使用Routing Replay方法即在训练时强制使用推理时相同的激活路径但这会带来工程复杂性与效率损失。GSPO的做法重要性比例使用的是句子级的比例而不是每个token级的所以一旦 clipping 发生所 clip 掉的将是整个采样到的 sequence而不是一次采样中的某些 token。

相关文章:

强化学习/对齐(个人理解)

Bradley-Terry 奖励模型含义:给定选中和拒绝响应的隐藏状态,将其投影为标量奖励并计算偏好损失。def reward_model_loss(chosen_hidden, rejected_hidden, reward_head):r_chosen (chosen_hidden reward_head).squeeze(-1) # (B,)r_rejected (rej…...

Windows下用清华源5分钟搞定ONNX全家桶(含CUDA版本匹配避坑指南)

Windows下5分钟极速部署ONNX全家桶:清华源加速与CUDA版本精准匹配实战 刚接手一个新项目需要部署YOLOv5模型时,我遇到了典型的ONNX环境配置噩梦:ImportError: Could not load library cudnn_ops_infer64_8.dll。这个报错背后是无数开发者共同…...

Win11Debloat:3分钟快速清理Windows系统垃圾的终极免费工具

Win11Debloat:3分钟快速清理Windows系统垃圾的终极免费工具 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter a…...

别再瞎调参数了!PCL中MLS点云上采样的三个关键半径(r1, r2, r3)到底怎么设?

PCL中MLS点云上采样的参数调优实战指南 点云处理中的上采样技术一直是三维重建和计算机视觉领域的关键环节。移动最小二乘(MLS)算法因其出色的平滑和细节保留能力,成为PCL库中最受欢迎的点云上采样方法之一。但很多开发者在使用过程中,面对setSearchRadi…...

从RetinaNet到YOLOv5:深入浅出图解Focal Loss原理,附PyTorch多分类任务实战代码

从RetinaNet到YOLOv5:深入浅出图解Focal Loss原理,附PyTorch多分类任务实战代码 在目标检测和图像分类领域,样本不平衡问题一直是困扰研究者的难题。想象一下,当你试图在拥挤的街头检测行人时,背景区域(负样…...

漫画翻译革命性突破:manga-image-translator让外语漫画阅读零障碍

漫画翻译革命性突破:manga-image-translator让外语漫画阅读零障碍 【免费下载链接】manga-image-translator Translate manga/image 一键翻译各类图片内文字 https://cotrans.touhou.ai/ (no longer working) 项目地址: https://gitcode.com/gh_mirrors/ma/manga-…...

如何通过Proxyee-down实现高速HTTP下载体验?

如何通过Proxyee-down实现高速HTTP下载体验? 【免费下载链接】proxyee-down http下载工具,基于http代理,支持多连接分块下载 项目地址: https://gitcode.com/gh_mirrors/pr/proxyee-down Proxyee-down是一款基于HTTP代理的开源下载工具…...

AI能创造吗——从一团噪声到一幅画

一、什么是requests? requests 是一个用于发送请求的 Python 库。 它可以帮助你: 轻松发送GET、POST、PUT、DELETE等请求 处理Cookie、会话等复杂性 自动解压缩内容 处理国际化域名和URL 二、应用场景 requests 广泛应用于以下实际场景: Web爬…...

为什么92%的微生物组论文在R 4.5中重现失败?——基于Nature Microbiology近3年217篇论文的可重复性审计报告

更多请点击: https://intelliparadigm.com 第一章:R 4.5 微生物组多组学分析的可重复性危机全景 近年来,R 4.5 环境下基于 Bioconductor 3.19 的微生物组多组学整合分析(如 16S rRNA、宏基因组、代谢组与宿主转录组联合建模&…...

保姆级教程:在Win10上用WSL2搞定AirSim+PX4仿真,再连上ROS玩点高级的

从零构建Windows 10下的无人机仿真开发环境:WSL2AirSimPX4ROS全栈指南 当无人机开发者第一次尝试在Windows系统上搭建完整的仿真环境时,往往会遇到各种"水土不服"的问题——从WSL2的网络配置到PX4的子模块下载,从AirSim的编译问题到…...

这个框架会过时吗——AI的天花板和你的判断力

前言 Kubernetes 本身并不复杂,是我们把它搞复杂的。无论是刻意为之还是那种虽然出于好意却将优雅的原语堆砌成 鲁布戈德堡机械 的狂热。平台最初提供的 ReplicaSets、Services、ConfigMaps,这些基础组件简单直接,甚至显得有些枯燥。但后来我…...

FAQ Redis与etcd连接异常

Skeyevss FAQ:Redis 与 etcd 连接异常 试用安装包下载 | SMS | 在线演示 项目地址:https://github.com/openskeye/go-vss 1. 问题现象 服务启动报错退出、接口间歇 500、分布式锁/缓存失效;日志中出现 Redis/etcd 超时、connection refuse…...

2026最权威的六大AI写作助手推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 人工智能技术迅猛又快速地发展着,为毕业论文写作开辟出全新路径,AI能…...

终极免费Switch模拟器Ryujinx:5分钟快速上手指南

终极免费Switch模拟器Ryujinx:5分钟快速上手指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 你是否曾梦想在电脑上体验《塞尔达传说:旷野之息》的壮丽世界&…...

全排列问题DFS实现执行示意图

【全排列问题DFS实现执行示意图】 【示意图依托的核心代码】 #include <bits/stdc.h> using namespace std;const int maxn12; int a[maxn],st[maxn]; int n;//确定第pos位及后续位置的值 void dfs(int pos) {if(posn1) {for(int i1; i<n; i) {printf("%5d"…...

想买智能鱼缸有哪些品牌

对于养鱼新手来说&#xff0c;传统鱼缸存在着诸多问题&#xff0c;如无科学水质监测导致新手死鱼率超60%&#xff1b;换水清洁等维护耗时长&#xff0c;37%鱼友因麻烦放弃&#xff1b;出差、旅游无法照顾&#xff0c;传统鱼缸不能远程监测和控制等。而启愉智能鱼缸则能有效解决…...

嵌入式开发自动化:用 OpenClaw 实现交叉编译环境配置、固件版本管理、烧录脚本批量生成

嵌入式开发自动化&#xff1a;OpenClaw全流程解决方案引言&#xff1a;自动化浪潮中的嵌入式开发变革在物联网设备爆发式增长的背景下&#xff0c;嵌入式开发面临三大核心挑战&#xff1a;多架构交叉编译环境配置的复杂性、固件版本管理的混乱性、以及量产阶段烧录流程的低效性…...

Vue3 + 高德地图JS API v2:手把手教你实现一个带进度条和倍速控制的车辆轨迹回放组件

Vue3 高德地图JS API v2&#xff1a;构建企业级轨迹回放组件的工程实践 在物流追踪、车队管理等企业级应用中&#xff0c;轨迹回放功能的需求正变得越来越复杂。传统的实现方式往往将地图交互、动画控制、状态管理逻辑混杂在一起&#xff0c;导致代码难以维护和扩展。本文将基…...

Henghao恒浩HH温度开关原厂一级代理分销经销

品牌 元件类别 型号 描述 包装 数量 恒浩 温度开关 H20 250V 5A 90℃ 100 5,000...

算法工程师效率工具:用 OpenClaw 自动生成数据集预处理代码、实验报告、调参日志整理

算法工程师效率革命&#xff1a;OpenClaw自动化工作流深度解析引言&#xff1a;效率困局与破局之道在算法研发领域&#xff0c;工程师平均花费62%的时间在非核心任务上&#xff1a;数据清洗占28%&#xff0c;实验记录占19%&#xff0c;参数调优占15%。这种效率损耗催生了新一代…...

ST Motor Control WorkBench6.4.2 FOC控制代码生成

利用st官方库控制BLDC 自定义硬件快速生成代码ST Motor Control Workbench&#xff08;简称 MC Workbench&#xff09;是 STMicroelectronics 推出的一款电机控制配置与调试软件工具&#xff0c;主要用于其电机控制生态&#xff08;特别是 STM32 MCU&#xff09;。不需要从…...

定义“具身智造”新范式,海康机器人助推制造业全面升维

近日&#xff0c;「海康机器人智造大会2026」在杭州桐庐举办。来自PCB、汽车制造、机械制造、3C、新能源、商业流通等领域的800余位全球合作伙伴及行业专家出席。 大会期间&#xff0c;海康机器人除首次面向业界提出“具身智造”这一全新理念外&#xff0c;还集中发布了35款核心…...

【助睿ETL】实验作业1——订单利润分流数据加工

目录 一、实验背景 1.1 实验目的 1.2 实验环境 1.3 业务场景 1.4 数据加工流程 二、实验步骤 2.1 登录实验平台 2.2 基本概念了解 2.3 团队管理 2.4 创建实验项目 2.5 同步数据流 2.6 新建转换流 2.7 添加组件 2.8 配置组件信息 2.8.1 表输入组件配置 2.8.2 记…...

嵌入式编程学习日记(一)——C语言篇(文件分析库函数版)

一、core文件夹存储上电后第一个执行的文件&#xff0c;负责初始化堆栈、中断向量表、跳转到 main()。标准库工程里这个文件是固定的&#xff0c;别动它。二、FWLIB 文件夹存储 STM32 官方提供的标准外设库&#xff08;固件库&#xff09;&#xff0c;里面包含所有外设的驱动文…...

ESP32内存告急?手把手教你用ESP-IDF的cJSON库避免内存泄漏(附实战代码)

ESP32内存告急&#xff1f;手把手教你用ESP-IDF的cJSON库避免内存泄漏&#xff08;附实战代码&#xff09; 在ESP32开发中&#xff0c;处理JSON数据是物联网设备与服务器通信的常见需求。cJSON作为轻量级的JSON解析库&#xff0c;因其高效和易用性被广泛采用。然而&#xff0c…...

AI无所不能的时代,我们该学什么?

原文&#xff1a;AI小揭秘 当AI能写代码、作诗歌、解难题&#xff0c;很多人开始迷茫&#xff1a;“我们的学习还有意义吗&#xff1f;” 在这个AI狂飙的时代&#xff0c;何楚涵博士的一场演讲&#xff0c;或许能为我们拨开迷雾——AI再厉害&#xff0c;也替代不了人的思考、温…...

答辩前3小时,我用百考通AI高效搞定毕业答辩PPT

写在前面&#xff1a;毕业季的答辩周&#xff0c;总能看到凌晨三点的宿舍亮着灯。有人对着空白的PPT页面发呆&#xff0c;有人在各种免费模板网站间来回切换&#xff0c;却始终找不到符合学术答辩风格的模板。毕业论文答辩PPT&#xff0c;从来不是论文的简单搬运&#xff0c;而…...

WRF输出变量管理避坑指南:从iofields配置到多流输出,一次讲清常见错误

WRF输出变量管理避坑指南&#xff1a;从iofields配置到多流输出&#xff0c;一次讲清常见错误 当你在深夜盯着WRF运行日志&#xff0c;发现关键变量莫名其妙消失时&#xff0c;那种抓狂感我深有体会。作为经历过无数次iofields配置翻车的老司机&#xff0c;今天我要分享的不仅…...

风控特征缓存怎么设计?一次讲清热点特征、批量查询、缓存失效与一致性边界

风控特征缓存怎么做才不拖主链路&#xff1f;热点特征、批量查询、失效与一致性取舍 这篇直接按风控特征缓存来拆&#xff0c;不只讲“Redis 缓一下”&#xff0c;而是把缓存分层、失效、一致性和降级边界讲清楚。 目标是你看完后&#xff0c;能把风控缓存从一层 Redis&#xf…...

两个线程循环打印奇偶数

题目要求&#xff1a;两个线程循环打印奇偶数。1.示例1&#xff1a;输入&#xff1a;7输出&#xff1a;OddThread: 1 EvenThread: 2 OddThread: 3 EvenThread: 4 OddThread: 5 EvenThread: 6 OddThread: 72.示例2&#xff1a;输入&#xff1a;5输出&#xff1a;OddThread: 1 Ev…...