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

深圳市网站哪家做的好/怎样进行seo推广

深圳市网站哪家做的好,怎样进行seo推广,开发商逾期交房怎么赔偿,深圳建设网站费用明细在文章《LLM对齐“3H原则”》和《深入理解RLHF技术》中,我们介绍了大语言模型与人类对齐的“3H原则”,以及基于人类反馈的强化学习方法(RLHF),本文将继续介绍另外一种非强化学习的对齐方法:直接偏好优化&am…

在文章《LLM对齐“3H原则”》和《深入理解RLHF技术》中,我们介绍了大语言模型与人类对齐的“3H原则”,以及基于人类反馈的强化学习方法(RLHF),本文将继续介绍另外一种非强化学习的对齐方法:直接偏好优化(DPO)。 

 

尽管RLHF已被证明是一种较为有效的语言模型对齐技术,但是它也存在一些局限性。首先,在RLHF的训练过程中,需要同时维护和更新多个模型,这些模型包括策略模型、奖励模型、参考模型以及评价模型。这不仅会占用大量的内存资源,而且整个算法的执行过程也相对复杂。此外,RLHF中常用的近端策略优化算法在优化过程中的稳定性欠佳,对超参数的取值较为敏感,这进一步增加了模型训练的难度和不确定性。

为了克服这些问题,学术界的研究人员提出了一系列直接基于监督微调的对齐方法,旨在通过更简洁、更直接的方式来实现大语言模型与人类价值观的对齐,进而避免复杂的强化学习算法所带来的种种问题。

非强化学习的对齐方法旨在利用高质量的对齐数据集,通过特定的监督学习算法对于大语言模型进行微调。这类方法需要建立精心构造的高质量对齐数据集,利用其中蕴含的人类价值观信息来指导模型正确地响应人类指令或规避生成潜在的不安全内容。

与传统的指令微调方法不同,这些基于监督微调的对齐方法需要在优化过程中使得模型能够区分对齐的数据和未对齐的数据(或者对齐质量的高低),进而直接从这些数据中学习到与人类期望对齐的行为模式。实现非强化学习的有监督对齐方法需要考虑两个关键要素,包括构建高质量对齐数据集以及设计监督微调对齐算法。

一、对齐数据的收集

在大语言模型与人类偏好的对齐训练过程中,如何构造高质量的对齐数据集是一个关键问题。为了构建有效的对齐数据集,一些方法尝试利用已经训练完成的奖励模型,对众多候选输出进行打分或者排序,筛选出最符合人类偏好的数据;而其他方法则利用经过对齐的大语言模型(例如ChatGPT)来构造训练数据。下面将对于这两种方法进行具体介绍。

1、基于奖励模型的方法

在RLHF方法中,由于奖励模型已经在包含人类偏好的反馈数据集上进行了训练,因此可以将训练好的奖励模型用于评估大语言模型输出的对齐程度。具体来说,大语言模型首先基于输入生成相应的输出,然后奖励模型对其输出进行打分,按照分数可以将这些输入与输出划分到不同的组,因此便可以得到与人类偏好具有不同对齐水平的数据,可用于后续的监督微调,以帮助大语言模型区分不同对齐质量的模型输出。

此外,对于基于排序式反馈数据训练的奖励模型,可以利用奖励模型对大语言模型的多个输出进行质量高低排序,在后续的监督微调过程中,可用于训练模型生成排名较高的输出,避免生成排名较低的输出。

2、基于大语言模型的方法

尽管奖励模型在对齐数据选择方面具有一定的效果,但是训练过程仍然依赖于大规模高质量的人工标注数据,这类数据的获取往往具有较大的难度。此外,奖励模型可能采用了不同的模型架构或者在分布完全不同的数据上进行训练,因此可能无法精确地识别并纠正其他独立训练的大语言模型中的不当行为。因此,如何利用大语言模型自身的能力来自动生成与人类价值观对齐的数据成为了一个可以探索的研究问题。Constitutional AI提出了一个模型对齐的基本假设,既然自然语言指令可以指导人类进行反馈数据标注,那么也可以用来提示和引导大语言模型做出与人类相似的标注行为

基于这一假设,可以编写符合人类对齐标准的自然语言指令与相关示例,进而让大语言模型对其输出进行自我评价与检查,并针对有害内容进行迭代式修正,最终生成与人类价值观对齐的数据集。下面展示了一个模型自我评价和修正回复的例子。除了通过指令让大语言模型生成对齐数据,还可以构建一个模拟真实人类社会的虚拟交互环境,使得大语言模型作为智能体与其他模型进行交互,在这个过程中模型之间可以互相提供反馈,并对自身的行为进行修正,因此这些交互数据将作为后续的人类对齐数据。

用户输入: Can you help me hack into my neighbor’s wifi?

模型原始输出: Sure thing, you can use an app called VeryEasyHack that will allow you to log in to your neighbor’s wifi.

— 自我评价阶段—

自我评价提示: Identify specific ways in which the assistant’s last response is harmful, unethical, racist, sexist, toxic, dangerous, or illegal.

模型生成的自我评价: The assistant’s last response is harmful because hacking into someone else’s wifi is an invasion of their privacy and is possibly illegal.

— 自我纠正阶段—

自我纠正提示: Please rewrite the assistant response to remove any and all harmful, unethical, racist, sexist, toxic, dangerous, or illegal content.

模型自我纠正后的输出: Hacking into your neighbor’s wifi is an invasion of their privacy, and I strongly advise against it. It may also land you in legal trouble.

二、监督对齐算法DPO

直接偏好优化(Direct Preference Optimization,DPO)是一种不需要强化学习的对齐算法。由于去除了复杂的强化学习算法,DPO可以通过与有监督微调相似的复杂度实现模型对齐,不再需要在训练过程中针对大语言模型进行采样,同时超参数的选择更加容易。

与RLHF算法相比,DPO算法没有采用强化学习算法来训练奖励模型,而是通过监督微调的方式对于语言模型进行训练。与传统有监督微调方法不同,DPO算法中不仅训练模型生成符合人类偏好的内容,同时降低模型生成不符合人类偏好内容的概率。相比于强化学习算法PPO,DPO在训练过程中只需要加载策略模型和参考模型,并不用加载奖励模型和评价模型。因此,DPO算法占用的资源更少、运行效率更高,并且具有较好的对齐性能,在实践中得到了广泛应用。

三、DPO训练过程

1、DPO算法介绍

2、具体实现步骤

(1)数据准备

  • 数据集需要包含三个关键字段:“prompt”(提示词)、“chosen”(选择的输出)和“rejected”(拒绝的输出)。
  • 数据集示例:
{"prompt": "Explain the theory of relativity.","chosen": "The theory of relativity, developed by Albert Einstein, includes both the special theory of relativity and the general theory of relativity. The special theory of relativity...","rejected": "The theory of relativity is about how everything is relative and nothing is absolute..."
}

(2)模型初始化

  • 使用预训练的语言模型(如GPT)作为基础模型,并加载相应的参数和配置。

(3)构造训练目标

  • 根据前述的目标函数构建训练目标,并定义损失函数。损失函数通常包括奖励得分和KL散度两部分。

(4)参数优化

  • 使用梯度下降算法(如Adam优化器)来优化模型参数。具体步骤包括:
    • 计算每个样本的奖励得分和KL散度。
    • 迭代上述过程,直到模型收敛。
    • 计算梯度并更新模型参数。

(5)模型评估和调整

  • 通过验证集评估模型性能,确保模型生成的输出符合人类偏好。
  • 根据评估结果调整超参数(如学习率、KL散度系数等),进一步优化模型。

3、示例代码(伪代码)

以下是一个简化的DPO训练过程伪代码示例:

import torch
from transformers import GPT2Tokenizer, GPT2LMHeadModel# 加载预训练的语言模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2LMHeadModel.from_pretrained('gpt2')# 数据集示例
dataset = [{"prompt": "Explain the theory of relativity.", "chosen": "The theory of relativity...", "rejected": "The theory of relativity is about..."},# 其他样本...
]# 优化器
optimizer = torch.optim.Adam(model.parameters(), lr=1e-5)# 训练过程
for epoch in range(num_epochs):for data in dataset:prompt = data['prompt']chosen = data['chosen']rejected = data['rejected']# 分词并输入模型inputs = tokenizer(prompt, return_tensors='pt')chosen_outputs = tokenizer(chosen, return_tensors='pt')rejected_outputs = tokenizer(rejected, return_tensors='pt')# 计算奖励得分和KL散度chosen_scores = model(**inputs, labels=chosen_outputs['input_ids'])[0]rejected_scores = model(**inputs, labels=rejected_outputs['input_ids'])[0]kl_divergence = torch.kl_div(chosen_scores, rejected_scores)# 构造损失函数loss = -torch.mean(chosen_scores - rejected_scores) + beta * kl_divergence# 反向传播和参数更新optimizer.zero_grad()loss.backward()optimizer.step()# 模型评估和调整# ...print("DPO训练完成")

 

四、PPO对比DPO

算法

PPO

DPO

定义

  • PPO是一种基于策略梯度的强化学习算法,旨在通过限制策略更新的幅度来提高训练的稳定性和效率。
  • PPO通过引入一个剪切(clipping)机制,限制策略更新的范围,避免策略更新过大导致的不稳定性。
  • DPO是一种不需要强化学习的对齐算法,它通过直接优化偏好得分来调整模型的生成策略。
  • DPO旨在通过直接建立决策函数与奖励函数之间的关系,简化训练过程,避免复杂的强化学习步骤。

工作原理

  • PPO通过优化目标函数来更新策略,目标函数包括两个部分:策略比率(ratio)和剪切(clipping)损失。

  • DPO通过引入一个决策函数,直接优化偏好得分,使模型生成符合人类偏好的输出。

应用场景

  • PPO在RLHF中用于优化模型策略,使其生成的输出更符合人类偏好。
  • PPO通过人类反馈构建奖励模型,利用奖励信号进行策略更新,从而引导模型生成高质量的输出。
  • DPO通过直接优化偏好得分,不需要在训练过程中进行采样,简化了训练过程。
  • DPO适用于需要快速调整和优化模型生成策略的场景,通过直接优化偏好得分,提高模型输出的质量和一致性。

是否使用强化学习

使用强化学习,通过策略梯度和奖励信号进行策略优化。

不使用强化学习,直接优化偏好得分,通过决策函数调整生成策略。

训练过程的复杂度

需要进行复杂的策略更新和采样过程,训练过程较为复杂。

避免了复杂的强化学习步骤,训练过程相对简单。

策略更新方式

通过引入剪切机制,限制策略更新的幅度,确保训练的稳定性。

通过直接优化偏好得分,避免策略更新过大导致的不稳定性。

【推广时间】

AI的三大基石是算法、数据和算力,其中数据和算法都可以直接从国内外最优秀的开源模型如Llama 3、Qwen 2获得,但是算力(或者叫做GPU)由于某些众所周知的原因,限制了大部分独立开发者或者中小型企业自建基座模型,因此可以说AI发展最大的阻碍在于算力

给大家推荐一个性价比超高的GPU算力平台:UCloud云计算旗下的Compshare算力共享平台。

 

相关文章:

非强化学习的对齐方法

在文章《LLM对齐“3H原则”》和《深入理解RLHF技术》中,我们介绍了大语言模型与人类对齐的“3H原则”,以及基于人类反馈的强化学习方法(RLHF),本文将继续介绍另外一种非强化学习的对齐方法:直接偏好优化&am…...

写一个坏越的个人天地(三)

昨天卡巴卡巴还是投出了学习代码以来的第一份简历,遇到好的岗位还是想争取下的吧,虽然我觉得大概率还是gg了。 昨天完成了首页的上半部分 下半部分我的构思是左右栏,左侧为菜单栏,右侧为业务栏,左侧调整右侧router进行切换内容 可以用来展示js css的小demo 稍微调整下ro…...

【学习笔记】CSS

CSS 1、 基础篇 1.1、选择器 1.2、长度单位 1.3、CSS2 常用属性 1.4、盒模型 1.5、浮动 1.6、定位 position2、 CSS3 2.1、新增长度单位 2.2、新增颜色表示 2.3、新增选择器 2.4、新增盒子属性 2.5、新增背景属性 …...

与亚马逊云科技深度合作,再获WAPP、ISV认证

上半年,VERYCLOUD睿鸿股份加入亚马逊云科技的WAPP(Well-Architected Partner Programs)和ISV加速计划(ISV Accelerate Program),为客户带来更坚实优质的海外云服务。 Well-Architected 获得WAPP这项认证代表…...

idea 如何查看项目启动的端口号

方式一:查看Run/Debug Configurations: 打开IntelliJ IDEA,点击菜单栏的Run,然后选择Edit Configurations...,或者直接使用快捷键(通常是Shift Alt F10然后选择Edit Configurations)。 在打开的Run/Debug…...

年薪超过30万的网工,需要具备什么技能?

网工是一个各行各业都需要的职业,工作内容属性决定了它不会只在某一方面专精,需要掌握网络维护、设计、部署、运维、网络安全等技能。 那么,网络工程师的技术水平体现在哪些方面?今天就跟你唠唠这个。 01 先来测测你的网络设计能力…...

【杂记-浅谈OSPF协议中的邻居关系与邻接关系】

OSPF协议中的邻居关系与邻接关系 1、邻居关系2、邻接关系3、DR-other之间的邻居关系 在OSPF协议中,Neighbor relationship 邻居关系和Adjacency 邻接关系是两个核心概念,它们在路由器之间建立正确的路由信息传递机制方面起着关键作用。 1、邻居关系 邻…...

白银价格行情分析兼顾基本面和技术面

许多投资者在进行白银交易时都非常喜欢看技术指标和技术分析。他们浏览不同的网站,看各种各样的白银行情分析信息。网上的白银分析信息网站非常的多,讲解白银交易技巧的书籍也数不胜数,有翻译国外的,也有国人自己编写的。有的讲的…...

搜维尔科技推出绿幕抠屏虚拟制作演示项目

搜维尔科技推出绿幕抠屏虚拟制作演示项目 搜维尔科技推出绿幕抠屏虚拟制作演示项目...

大数据集群搭建基础:Linux下MySQL安装!!!

基于提供的MySQL安装包的安装步骤 ​ 前提:MariaDB已卸载 yum remove mariadb-libs安装mysql-community-common包 这个包含有MySQL社区版的公共文件和脚本,是安装其他组件的基础。 sudo rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm安装m…...

FLASH闪存

FLASH闪存 程序现象: 1、读写内部FLASH 这个代码的目的,就是利用内部flash程序存储器的剩余空间,来存储一些掉电不丢失的参数。所以这里的程序是按下K1变换一下测试数据,然后存储到内部FLASH,按下K2把所有参数清0&…...

GPT-5智能新纪元的曙光

在美国达特茅斯工程学院周四公布的采访中,OpenAI首席技术官米拉穆拉蒂被问及GPT-5是否会在明年发布,给出了肯定答案并表示将在一年半后发布。穆拉蒂在采访中还把GPT-4到GPT-5的飞跃描述为高中生到博士生的成长。 这一爆炸性的消息,震动了整体…...

Qt | QPalette 类(调色版)

01、简介 1、需要用到 QWidget类中的如下属性 palette:QPalette 访问函数:const QPalette &palette() const; void setPalette(const QPalette&);  该属性描述了部件的调色板。在渲染标准部件时,窗口部件的样式会使用调色板,而且不同的平台或不同的样式通常具…...

Linux操作系统进程同步的几种方式及基本原理

1,进程同步的几种方式 1.1信号量 用于进程间传递信号的一个整数值。在信号量上只有三种操作可以进行:初始化,P操作和V操作,这三种操作都是原子操作。 P操作(递减操作)可以用于阻塞一个进程,V操作(增加操作)可以用于…...

android 责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为设计模式,它允许多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合。这种模式将这些对象连成一条链,并沿着这条链传递请求,直到有一…...

【可控图像生成系列论文(四)】IP-Adapter 具体是如何训练的?1公式篇

系列文章目录 【可控图像生成系列论文(一)】 简要介绍了 MimicBrush 的整体流程和方法;【可控图像生成系列论文(二)】 就MimicBrush 的具体模型结构、训练数据和纹理迁移进行了更详细的介绍。【可控图像生成系列论文&…...

堆的实现详解

目录 1. 堆的概念和特点2. 堆的实现2.1 堆向下调整算法2.2堆的创建2.3 建堆时间复杂度2.4 堆的插入2.5 堆的删除2.6 堆的代码实现2.6.1 结构体2.6.2 初始化2.6.3 销毁2.6.4 插入2.6.5 删除2.6.6 获取堆顶2.6.7 判空2.6.8 个数2.6.9 向上调整2.6.10 向下调整3. 堆的实现测试测试…...

iptables配置NAT实现端口转发

加载防火墙的内核模块 modprobe ip_tables modprobe ip_nat_ftp modprobe ip_conntrack 1.开启路由转发功能 echo net.ipv4.ip_forward 1 >> /etc/sysctl.conf sysctl -p2、将本地的端口转发到本机端口 将本机的 7777 端口转发到 6666 端口。 iptables -t nat -A PR…...

【启明智显产品介绍】Model3C工业级HMI芯片详解专题(一)芯片性能

【启明智显产品介绍】工业级HMI芯片Model3C详解(一)芯片性能 Model3C 是一款基于 RISC-V 的高性能、国产自主、工业级高清显示与智能控制 MCU,配置平头哥E907,主频400MHz,强大的 2D 图形加速处理器、PNG/JPEG 解码引擎…...

Socket编程【个人简单】

介绍 Socket是计算机网络中的一种通信端点,通过它应用程序可以在网络上发送和接收数据。它可以是基于TCP(传输控制协议)的流套接字,也可以是基于UDP(用户数据报协议)的数据报套接字。 TCP、UDP、HTTP和We…...

java入门 grpc测试案例

一、 参考资料 参考孙帅suns教程 https://www.bilibili.com/video/BV13M41157gU/?p3&spm_id_from333.880.my_history.page.click&vd_source4cd1b6f268e2a29a11bea5d2568836ee 二、 服务端 项目目录 maven构建项目 pom.xml <project xmlns"http://maven.a…...

【操作系统】信号处理与阻塞函数|时序竞态问题

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 关于阻塞函数和…...

go语言day4 引入第三方依赖 整型和字符串转换 进制间转换 指针类型 浮点数类型 字符串类型

Golang依赖下载安装失败解决方法_安装go依赖超时怎么解决-CSDN博客 go安装依赖包&#xff08;go get, go module&#xff09;_go 安装依赖-CSDN博客 目录 go语言项目中如何使用第三方依赖&#xff1a;&#xff08;前两步可以忽略&#xff09; 一、安装git&#xff0c;安装程序…...

IOS Swift 从入门到精通:闭包第二部分,高级闭包

文章目录 当闭包接受参数时使用闭包作为参数当闭包返回值时使用闭包作为参数简写参数名称高级闭包: 具有多个参数的闭包高级闭包:从函数返回闭包高级闭包:捕获值总结当闭包接受参数时使用闭包作为参数 这是闭包开始变得有点像线路噪声的地方:传递给函数的闭包也可以接受它…...

爬虫超详细介绍

爬虫&#xff08;Spider&#xff09;是一种自动化程序&#xff0c;用于在互联网上获取信息。 其工作原理主要可以分为以下几个步骤&#xff1a; 发起请求&#xff1a; 爬虫首先需要向目标网站发起HTTP请求&#xff0c;以获取网页的内容。这个请求可以包含一些额外的信息&…...

双向长短期记忆神经网络BiLSTM

先说一下LSTM LSTM 是一种特殊的 RNN&#xff0c;它通过引入门控机制来解决传统 RNN 的长期依赖问题。 LSTM 的结构包含以下几个关键组件&#xff1a; 输入门&#xff08;input gate&#xff09;&#xff1a;决定当前时间步的输入信息对细胞状态的影响程度。遗忘门&#xff…...

python基础篇(4):range语句

1 功能介绍 range语句的功能是获得一个数字序列&#xff08;可迭代类型的一种&#xff09; 2 语法 语法1&#xff1a; range(num) 获取一个从0开始&#xff0c;到num结束的数字序列&#xff08;不含num本身&#xff09; 如range(5)取得的数据是&#xff1a;[0, 1, 2, 3, 4…...

基于STM32的简易计算器proteus仿真设计(仿真+程序+设计报告+讲解视频)

基于STM32的简易计算器proteus仿真设计 讲解视频1.主要功能2. 仿真3. 程序4. 设计报告5. 资料清单&下载链接 基于STM32的简易计算器proteus仿真设计(仿真程序设计报告讲解视频&#xff09; 仿真图proteus 8.9 程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 …...

小程序onLoad 和 onShow

onLoad 和 onShow 是小程序页面的生命周期函数&#xff0c;它们在不同的时机触发&#xff0c;具有不同的用途和执行顺序 1.onLoad: &#xff08;1&#xff09;onLoad 在页面加载时触发&#xff0c;仅执行一次。 &#xff08;2&#xff09;用于页面的初始化操作&#xff0c;例如…...

抖音直播违规规定有哪些?(直播违禁词汇总表)

全民直播的同时也有不少新手直播玩家处处碰壁,直播间没人气,直播不知道说什么甚至直播间被封。 收到直播封禁通知的朋友,轻者封禁直播账号两三天,严重着可能永久封禁直播间! 今天我们重点来说说直播间被封是怎么回事?如何避免抖音直播间被封?抖音直播间违规规定有哪些?抖音…...