day1 大模型学习 Qwen系列学习
Qwen 模型学习笔记:RM、SFT 与 RLHF 技术解析
一、Qwen 模型概述
Qwen 是阿里巴巴开源的大型语言模型系列,旨在实现通用人工智能(AGI)。其架构包括基础语言模型(如 Qwen-7B、Qwen-14B、Qwen-72B)和经过后训练的对话模型(如 Qwen-Chat)。后训练主要通过 SFT 和 RLHF 技术进行,以提升模型的对齐性和实用性。
二、SFT(Supervised Fine-Tuning)有监督微调
1. 定义与目的
SFT 是在预训练模型的基础上,利用人工标注的数据集进行微调,使模型更好地理解和执行特定任务或指令。
2. 数据构建与训练策略
- 数据格式:采用 ChatML 格式,区分系统提示、用户输入和助手输出。
- 训练策略:使用 AdamW 优化器,学习率先增后恒定,序列长度限制在 2048,训练步数约 4000 步。
- 目标:使模型能够生成符合人类指令的回答,并具备一定的上下文理解能力。
3. 技术实现
Qwen 使用 MS-SWIFT 框架进行 SFT,支持 LoRA 等参数高效微调技术,兼容多种硬件平台,如 RTX、A100、Ascend NPU 等。
三、RM(Reward Model)奖励模型
1. 定义与作用
RM 是在 SFT 模型的基础上,通过人工标注的答案排名数据,训练一个模型来评估回答的质量,为后续的强化学习提供奖励信号。
2. 架构与训练
- 模型架构:去除 SFT 模型最后一层的 softmax,改为线性层,输入为问题和答案对,输出为一个标量分数。
- 训练数据:人工对多个答案进行排序,构成训练数据集。
- 损失函数:采用 Pairwise Ranking Loss,优化模型的评分能力。
3. 应用与效果
RM 模型能够有效地评估答案的质量,为 RLHF 提供可靠的奖励信号,提升模型生成内容的相关性和准确性。
四、RLHF(Reinforcement Learning from Human Feedback)基于人类反馈的强化学习
1. 定义与目的
RLHF 是通过人类反馈来优化模型的生成策略,使其生成的内容更符合人类的偏好和需求。
2. 训练流程
- 阶段一:使用 SFT 模型生成多个候选答案。
- 阶段二:利用 RM 对候选答案进行评分。
- 阶段三:根据评分结果,使用强化学习算法(如 PPO 或 DPO)调整模型参数,使其生成更优质的答案。
3. 技术实现
Qwen 在 RLHF 阶段,采用了 PPO(Proximal Policy Optimization)算法进行训练,优化模型的生成策略,提升其在对话中的表现。
Qwen2 模型学习笔记:
一、引言
在大语言模型蓬勃发展的当下,Qwen 系列持续迭代更新,Qwen2 由此诞生。它基于 Transformer 架构,经过大规模预训练和优化,致力于提升语言理解、生成、多语言处理等多方面能力,推动 LLMs 技术进步。
二、分词器与模型架构
(一)分词器
Qwen2 沿用字节级字节对编码分词器,词汇表含 151,643 个常规词元与 3 个控制词元。该分词器把文本拆分成小片段即 “词元”,编码效率高,在多语言处理上优势明显,能高效拆分和编码多种语言文本。
具体实现
- 初始化词汇表:收集文本数据集中的字节序列构建初始词汇表。
- 统计字节对频率:遍历训练文本数据集,统计相邻字节对的出现频率。
- 合并高频字节对:将最高频的字节对合并为新词元,更新词汇表。
- 重复合并过程:持续统计和合并,直至达到预设词汇表大小或满足停止条件。
- 文本编码:按字节划分文本,依据词汇表替换为词元,特殊策略处理未知序列。
(二)模型架构
1. 密集模型
密集模型参数密集连接,采用分组查询注意力(GQA)优化推理,通过分组查询共享键和值计算,降低计算成本提升推理速度。结合双块注意力(DCA)与 YARN,扩展上下文窗口,增强长文本处理能力。
- 分组查询注意力(GQA):优化传统多头注意力,减少键值计算重复。
- 双块注意力(DCA)与 YARN:DCA 划分序列块,YARN 改进循环神经网络,协同扩展上下文窗口。
机制细节
- GQA 将查询分组,组内共享键值计算,在推理阶段减少重复运算,提升效率。
- DCA 将输入序列划分成多个块,块内和块间分别进行注意力计算,降低长序列计算复杂度。
- YARN 结合 DCA,使模型在不显著增加计算成本的情况下扩展上下文窗口长度,提升长文本处理能力。
2. 混合专家模型(MoE)
以多个 FFN 为专家,细粒度设计、合理路由及初始化策略,增强模型性能与适应性。
- FFN 专家:多个前馈神经网络作专家,各擅长不同类型信息处理。
- 细粒度专家设计:针对特定任务或数据特征设计专家,发挥专长。
- 合理专家路由:智能调度任务至合适专家,提高效率和准确性。
- 初始化策略:合理初始参数设置,助力模型快速收敛。
专家训练机制
- 数据准备:收集大规模相关数据,分为训练集、验证集和测试集。
- 初始化 FFN 专家:采用随机初始化或基于预训练模型的初始化。
- 定义损失函数:根据任务类型选择合适的损失函数,如分类任务用交叉熵损失函数,回归任务用均方误差损失函数。
- 前向传播:输入数据按 FFN 网络结构依次计算。
- 计算损失和反向传播:根据预测结果和真实标签计算损失,通过反向传播更新参数。
- 专家路由机制参与训练:路由机制根据输入特征学习分配输入至合适的 FFN 专家,引入可学习参数并根据反馈调整。
- 迭代训练:重复前向传播、计算损失和反向传播步骤,优化模型性能。
- 模型评估与调整:使用测试集评估性能,分析原因并调整模型,直至达到满意性能。
专家掌握不同知识的原因
- 细粒度专家设计:不同专家专注于特定任务或数据特征。
- 数据分布差异:专家接触到的数据子集存在差异,学习
相关文章:

day1 大模型学习 Qwen系列学习
Qwen 模型学习笔记:RM、SFT 与 RLHF 技术解析 一、Qwen 模型概述 Qwen 是阿里巴巴开源的大型语言模型系列,旨在实现通用人工智能(AGI)。其架构包括基础语言模型(如 Qwen-7B、Qwen-14B、Qwen-72B)和经过后训练的对话模型(如 Qwen-Chat)。后训练主要通过 SFT 和 RLHF 技…...

Unity3D仿星露谷物语开发47之砍树时落叶特效
1、目标 当橡树被砍伐时的落叶粒子效果。 2、创建粒子物体 Hierarchy -> PersistentScene下创建新物体命名为DeciduousLeavesFalling。 添加Particle System组件。 基础配置如下:(暂时勾选Looping实时可以看生成效果,后面反选即可&am…...

第十节第六部分:常见API:DateTimeFormatter、Period、Duration
DateTimeFormatter类常用方法 Period类常用方法 Duration类常用方法 总结 代码: 代码一:DateTimeFormatter类常用方法 package com.itheima.jdk8_time;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;public class DateT…...

如何在VSCode中更换默认浏览器:完整指南
引言 作为前端开发者,我们经常需要在VSCode中快速预览HTML文件。默认情况下,VSCode会使用系统默认浏览器打开文件,但有时我们可能需要切换到其他浏览器进行测试。本文将详细介绍如何在VSCode中更换默认浏览器。 方法一:使用VSCo…...
B2160 病人排队
题目描述 编写一个程序,将登记的病人按照以下原则排出看病的先后顺序: 老年人(年龄 ≥60 岁)比非老年人优先看病。老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。非老年人按登记的先后顺序看病。输入格式 第 1 行,输入一个小于 100 的正整数,表示病人…...

【机器人】复现 3D-Mem 具身探索和推理 | 3D场景记忆 CVPR 2025
3D-Mem 是用于具体探索和推理的3D场景记忆,来自CVPR 2025. 本文分享3D-Mem复现和模型推理的过程~ 下面是一个推理和选择识别的结果: 看一下机器人探索的效果: 下面是真实环境下,官方跑的demo,3D-Mem无需训…...

鸿蒙进阶——CMakelist、GN语法简介及三方库通用移植指南
文章大纲 引言一、GN常用的内置变量二、GN常用的内置函数三、CMake 重要语法1、生成动态库2、生成静态库3、生成OBJECT 库4、重要的函数和模块4.1、add_definitions4.2、execute_process4.3、add_dependencies4.4、install4.5、FetchContent 四、GN 重要语法1、编译Target2、预…...

CSS-5.1 Transition 过渡
本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。 HTML系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看! 点…...
TTS:VITS-fast-fine-tuning 快速微调 VITS
1,项目概述 VITS是一种语音合成的方法,是一个完全端到端的TTS 模型,它使用预先训练好的语音编码器将文本转化为语音,并且是直接从文本到语音波形的转换,无需额外的中间步骤或特征提取。 VITS的工作流程为:…...

从虚拟仿真到行业实训再到具身智能--华清远见嵌入式物联网人工智能全链路教学方案
2025年5月23-25日,第63届中国高等教育博览会(高博会)将在长春中铁东北亚国际博览中心举办。作为国内高等教育领域规模大、影响力广的综合性展会,高博会始终聚焦教育科技前沿,吸引全国高校管理者、一线教师、教育科技企…...

告别手动绘图!2分钟用 AI 生成波士顿矩阵
波士顿矩阵作为经典工具,始终是企业定位产品组合、制定竞争策略的核心方法论。然而,传统手动绘制矩阵的方式,往往面临数据处理繁琐、图表调整耗时、团队协作低效等痛点。 随着AI技术的发展,这一现状正在被彻底改变。boardmix博思白…...

GraphPad Prism工作表的管理
《2025新书现货 GraphPad Prism图表可视化与统计数据分析(视频教学版)雍杨 康巧昆 清华大学出版社教材书籍 9787302686460 GraphPadPrism图表可视化 无规格》【摘要 书评 试读】- 京东图书 GraphPad Prism统计数据分析_夏天又到了的博客-CSDN博客 工作…...

UE 材质几个输出向量节点
PixelNormalWS...
【modelscope/huggingface 通过colab将huggingface 模型/数据集/空间转移到 modelscope并下载】
1. 准备 注册一个modelscope账号(国内的)拿到对应的访问令牌SDK/API令牌注册一个google账号, 登录colab 2. 开始干! 打开一个ipynb 安装依赖包 !pip install -qqq modelscope huggingface-hub -U选择安装git lfs !curl -s https://packag…...

告别静态UI!Guineration用AI打造用户专属动态界面
摘 要 作为智能原生操作系统 DingOS 的核心技术之一,Guineration 生成式 UI 体系深刻践行了 DingOS“服务定义软件”的核心理念。DingOS 以“一切皆服务、服务按需而取、按用付费”为设计宗旨,致力于通过智能原生能力与粒子服务架构,实现资源…...

第六届电子通讯与人工智能国际学术会议(ICECAI 2025)
在数字化浪潮中,电子通讯与人工智能的融合正悄然重塑世界的运行逻辑。技术基础的共生关系是这场变革的核心——电子通讯如同“信息高速公路”,通过5G等高速传输技术,将海量数据实时输送至AI系统,使其能够像人类神经系统般快速响应…...
【C/C++】C++并发编程:std::async与std::thread深度对比
文章目录 C并发编程:std::async与std::thread深度对比1 核心设计目的以及区别2 详细对比分析3 代码对比示例4 适用场景建议5 总结 C并发编程:std::async与std::thread深度对比 在 C 中,std::async 和 std::thread 都是用于并发编程的工具&am…...
每日算法刷题Day11 5.20:leetcode不定长滑动窗口求最长/最大6道题,结束不定长滑动窗口求最长/最大,用时1h20min
6. 1695.删除子数组的最大得分(中等) 1695. 删除子数组的最大得分 - 力扣(LeetCode) 思想 1.给你一个正整数数组 nums ,请你从中删除一个含有 若干不同元素 的子数组**。**删除子数组的 得分 就是子数组各元素之 和 。 返回 只删除一个 子…...
STL中的Vector(顺序表)
vector容器的基本用法: template<class T> class vector { T* _a; size_t size; size_t capacity; } 尾插和遍历: vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3);//遍历 for(int i0;i<v.size();i) {cout<<…...
iOS Runtime与RunLoop的对比和使用
Runtime 机制 核心概念 Objective-C 的动态特性:Objective-C 是一门动态语言,很多工作都是在运行时而非编译时决定的消息传递机制:方法调用实际上是发送消息 objc_msgSend(receiver, selector, ...)方法决议机制:动态方法解析、…...

解决vscode在任务栏显示白色图标
长久不用,不知道怎么着就显示成白色图标,虽然不影响使用,但是看起来不爽 问了豆包,给了个解决方法: 1、打开隐藏文件, 由于图标缓存文件是隐藏文件,首先点击资源管理器中的 “查看” 菜单&am…...

架构思维:构建高并发扣减服务_分布式无主架构
文章目录 Pre无主架构的任务简单实现分布式无主架构 设计和实现扣减中的返还什么是扣减的返还返还实现原则原则一:扣减完成才能返还原则二:一次扣减可以多次返还原则三:返还的总数量要小于等于原始扣减的数量原则四:返还要保证幂等…...
Vue 3 官方 Hooks 的用法与实现原理
Vue 3 引入了 Composition API,使得生命周期钩子(hooks)在函数式风格中更清晰地表达。本篇文章将从官方 hooks 的使用、实现原理以及自定义 hooks 的结构化思路出发,全面理解 Vue 3 的 hooks 系统。 📘 1. Vue 3 官方生…...
Vue3 打印表格、Element Plus 打印、前端打印、表格导出打印、打印插件封装、JavaScript 打印、打印预览
🚀 Vue3 高级表格打印工具封装(支持预览、分页、样式美化) 现已更新至npm # npm npm install vue-table-print# yarn yarn add vue-table-print# pnpm pnpm add vue-table-printgithunb地址: https://github.com/zhoulongshao/vue-table-print/blob/main/README.MD关键词…...
湖北理元理律师事务所:专业债务优化如何助力负债者重获生活掌控权
在当前经济环境下,个人债务问题日益凸显。湖北理元理律师事务所通过其专业的债务优化服务,为负债群体提供了一条合法合规的解决路径。本文将客观分析专业债务规划的实际价值,不涉及任何营销内容。 一、债务优化的核心价值 科学评估…...
RAGFlow知识检索原理解析:混合检索架构与工程实践
一、核心架构设计 RAGFlow构建了四阶段处理流水线,其检索系统采用双路召回+重排序的混合架构: S c o r e f i n a l = α ⋅ B M...
5月22总结
P1024 [NOIP 2001 提高组] 一元三次方程求解 题目描述 有形如:$ a x^3 b x^2 c x d 0 $ 这样的一个一元三次方程。给出该方程中各项的系数($ a,b,c,d $ 均为实数),并约定该方程存在三个不同实根(根的范围在 $ -1…...
Java设计模式之桥接模式:从入门到精通
1. 桥接模式概述 1.1 定义与核心思想 桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立变化。这种模式通过提供桥梁结构(Bridge)将抽象和实现解耦。 专业定义:桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化…...

uni-app学习笔记九-vue3 v-for指令
v-for 指令基于一个数组来渲染一个列表。v-for 指令的值需要使用 item in items 形式的特殊语法,其中 items 是源数据的数组,而 item 是迭代项的别名: <template><view v-for"(item,index) in 10" :key"index"…...

MAC电脑中右键后复制和拷贝的区别
在Mac电脑中,右键菜单中的“复制”和“拷贝”操作在功能上有所不同: 复制 功能:在选定的位置创建一个与原始文件相同的副本。快捷键:CommandD用于在当前位置快速复制文件,CommandC用于将内容复制到剪贴板。效果&…...