用AI评估AI,上交大新款大模型部分任务超越GPT-4,模型数据都开源

news2024/12/27 9:46:39

评估大模型对齐表现最高效的方式是?

在生成式AI趋势里,让大模型回答和人类价值(意图)一致非常重要,也就是业内常说的对齐(Alignment)。

让大模型自己上。”

这是上海交通大学生成式人工智能研究组(GAIR)提出的最新思路。

但是目前的评估方法还存在透明度不够、准确性不佳等问题。

所以研究人员开源了一个130亿参数规模的大模型Auto-J,能对评估当下大模型的对齐效果。

它可同时分析两个大模型的回答,分别做出评价并进行对比。

在这里插入图片描述

也能评估单个回复。并且在这一任务上的表现超越了GPT-4

在这里插入图片描述

目前,该项目开源了大量资源,包括:

  • Auto-J的130亿参数模型(使用方法、训练和测试数据也已经在GitHub上给出);

  • 所涉及问询场景的定义文件;

  • 每个场景手工构建的参考评估准则;

  • 能够自动识别用户问询所属场景的分类器等。

用大模型指导大模型回答

在实际任务中,Auto-J不仅可以在两个不同模型的回复中,指明更优秀的回答,而且会从多个具体维度给出判断和分析。

同时对于它认为不够好的回复,能提出改进建议

注:本节提供的示例已由原始英文文本翻译为中文

具体来看Auto-J在成对回复比较单回复评估任务的效果。

成对回复比较部分给出的问题是:

起草一份给我家人的邮件,告诉他们我已经买好了感恩节的机票。我会在11月22日出发,30日离开。

实验对比了GPT4ALL-13B-snoozy和Claude-1的回复。

Auto-J给出的判断是Claude-1的回复更好,原因是信息更丰富、吸引人、个性化。

同时它也给出了具体的分析过程,从目的、语气、正文内容、个性化、信息丰富度几个方面评估,并讲明了各个方面两个大模型的优劣。

在这里插入图片描述

单回复评估任务的提问是:

在烤架上烤三文鱼最好的方法是什么?

待评估的回复是:

在烤架上烹制三文鱼的最好办法是首先将烤架预热至中高温,刷上橄榄油,撒上盐和胡椒,然后把三文鱼皮朝下放在烤架上。让三文鱼烤5-7分钟,直到皮酥脆,用叉子轻松刺入鱼肉。翻转三文鱼,再烤3-4分钟,配上你喜欢的配菜,享受美味。

对于这段回答,Auto-J给出的评价是“答得害行但是在几个方面缺乏深度和详细信息”。

比如没有提到具体的烹饪温度或时间,没有提到三文鱼的品质。

而且还给出了具体建议能让回复更加有个性化:通过询问用户有关具体烤肉设备或烹饪三文鱼的经验。

在这里插入图片描述

支持50+场景

在性能表现上,Auto-J在以下两方面都表现不错。

功能使用方面

支持50+种不同的真实场景的用户问询(query)(如常见的广告创作,起草邮件,作文润色,代码生成等)能够评估各类大模型在广泛场景下的对齐表现;

它能够无缝切换两种最常见的评估范式——成对回复比较单回复评估;并且可以“一器多用”,既可以做对齐评估也可以做“奖励函数”(Reward Model)对模型性能进一步优化;

同时,它也能够输出详细,结构化且易读的自然语言评论来支持其评估结果,使其更具可解释性与可靠性,并且便于开发者参与评估过程,迅速发现价值对齐过程中存在的问题

性能开销方面

在性能和效率上,Auto-J 的评估效果仅次于GPT-4而显著优于包括ChatGPT在内的众多开源或闭源模型,并且在高效的vllm推理框架下能每分钟评估超过100个样本

在开销上,由于其仅包含130亿参数,Auto-J能直接在32G的V100上进行推理,而经过量化压缩更是将能在如3090这样的消费级显卡上部署使用,从而极大降低了LLM的评估成本 (目前主流的解决方法是利用闭源大模型(如GPT-4)进行评估,但这种通过调用API的评估方式则需要消耗大量的时间和金钱成本。)

具体方法

训练数据总体上遵循如下的流程示意图:

在这里插入图片描述
训练数据收集流程示意图

场景的定义和参考评估标准:

在这里插入图片描述

在这里插入图片描述

场景定义与参考评估标准

为了更广泛的支持不同的评估场景,Auto-J 定义了58种不同的场景,分属于8大类(摘要,重写,代码,创作,考题,一般交流,功能性写作以及其他NLP任务)。

对于每个场景,研究者手动编写了一套用作参考的评估标准(criteria),覆盖了这类场景下常见的评估角度,其中每条标准包含了名称和文本描述。

评估标准的构建遵循一个两层的树状结构:先定义了若干组通用基础标准(如文本与代码的一般标准),而每个场景的具体标准则继承了一个或多个基础标准,并额外添加了更多的定制化标准。

以上图的“规划”(planning)场景为例,针对这一场景的标准包括了该场景特定的内容与格式标准,以及继承而来的基础标准。

收集来自多种场景的用户问询和不同模型的回复

Auto-J被定位成能够在定义的多种广泛场景上均表现良好,因此一个重要的部分就是收集不同场景下相应的数据。为此,研究者手动标注了一定量用户问询的场景类别,并以此训练了一个分类器用以识别任意问询的所属场景。

在该分类器的帮助下,成功从包含了大量真实用户问询和不同的模型回复的若干数据集中(如Chatbot Arena Conversations数据集)通过降采样的方式筛选出了类别更加均衡的3436个成对样本和960个单回复样本作为训练数据的输入部分,其中成对样本包含了一个问询,两个不同的针对该问询的回复,以及人类标注的偏好标签(哪个回复更好或平局);而单回复样本则只包含了一个问询和一个回复。

收集高质量的评判(judgment)

除了问询和回复,更重要是收集作为训练数据输出部分的高质量评估文本,即“评判”(judgment)。

研究者定义一条完整的评判包含了中间的推理过程和最后的评估结果。对于成对回复比较而言,其中间推理过程为识别并对比两条回复之间的关键不同之处,评估结果是选出两条回复中更好的一个(或平局);而对于单回复样本,其中间推理过程是针对其不足之处的评论(critique),评估结果则是一个1-10的总体打分。

在具体操作上,选择调用GPT-4来生成需要的评判。

对于每个样本,都会将其对应场景的评估标准传入GPT-4中作为生成评判时的参考;此外,这里还观察到在部分样本上场景评估标准的加入会限制GPT-4发现回复中特殊的不足之处,因此研究者还额外要求其在给定的评估标准之外尽可能地发掘其他的关键因素。

最终,会将来自上述两方面的输出进行融合与重新排版,得到更加全面、具体且易读的评判,作为训练数据的输出部分,其中对于成对回复比较数据,进一步根据已有的人类偏好标注进行了筛选。

训练

研究者将来自两种评估范式的数据合并使用以训练模型,这使得Auto-J仅通过设置相应的提示词模板即可无缝切换不同的评估范式。

另外,还采用了一种类似于上下文蒸馏的(context distillation)技术,在构建训练序列时删去了GPT-4用以参考的场景评估标准,仅保留了输出端的监督信号。

在实践中发现这能够有效增强Auto-J的泛化性,避免其输出的评判仅限制在对评估标准的同义重复上而忽略回复中具体的细节。

同时,对于成对回复比较数据部分,还采用了一个简单的数据增强方式,即交换两个回复在输入中出现的顺序,并对输出的评判文本进行相应的重写,以尽可能消除模型在评估时的位置偏好。

实验和结果

针对Auto-J所支持的多个功能,分别构建了不同的测试基准以验证其有效性:

在成对回复比较任务上,评估指标为与人类偏好标签的一致性,以及在交换输入中两个回复的顺序前后模型预测结果的一致性。

可以看到Auto-J在两个指标上均显著超过了选取的基线模型,仅次于GPT-4。

在这里插入图片描述

成对回复比较任务的结果

在单回复评论生成任务上,将Auto-J生成的评论与其他模型的评论进行了一对一比较,可以看到不管是基于GPT-4的自动比较还是人类给出的判决,Auto-J所生成的评论都显著优于大部分基线,且略微优于GPT-4。

在这里插入图片描述

Auto-J在单回复评论生成任务上相比基线的胜率

研究者还探索了Auto-J作为奖励模型(Reward Model)的潜力。

在常用的检测奖励模型有效性的Best-of-N设定下(即基座模型生成多个候选答案,奖励模型根据自身输出选择最佳回复),Auto-J给出的单回复打分比各类基线模型能选出更好的回复(以GPT-4评分为参考)。

同时,其打分也显示了与GPT-4打分更高的相关性。

不同模型作为奖励模型的表现

最后,开发者也探究了Auto-J在系统级别的评估表现。

对AlpacaEval(一个流行的基于GPT-4评估的大模型排行榜)上提交的开源模型使用Auto-J的单样本打分进行了重新排序。

可以看到,基于Auto-J的排序结果与GPT-4的排序结果有极高的相关性。

在这里插入图片描述

在这里插入图片描述

Auto-J与GPT-4对AlpacaEval排行榜提交的开源模型排序之间的相关性及具体排名数据

作者总结和展望

总结来说,GAIR研究组开发了一个具有 130 亿参数的生成式评价模型 Auto-J,用于评估各类模型在解决不同场景用户问询下的表现,并旨在解决在普适性、灵活性和可解释性方面的挑战。

实验证明其性能显著优于诸多开源与闭源模型。

此外,也公开了模型之外的其他资源,如模型的训练和多个测试基准中所使用的数据,在构建数据过程中得到的场景定义文件和参考评估标准,以及用以识别各类用户问询所属场景的分类器。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

123?spm=1001.2014.3001.5501)这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1651725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目配置HTTPS接口的安全访问

参考:https://blog.csdn.net/weixin_45355769/article/details/131727935 安装好openssl后, 创建 D:\certificate CA文件夹下包含: index.txt OpenSSL在创建自签证书时会向该文件里写下索引database.txt OpenSSL会模拟数据库将一些敏感信息…

Flask-大体了解介绍

初识Flask Flask是使用 Python编写的Web微框架。Web框架可以让我们不用关心底层的请求响应处理,更方便高效地编写Web程序。 Flask主要有两个依赖,一个是WSGI(Web Server Gateway Interface,Web服务器网关接口)工具集…

森林消防新利器:高扬程水泵的革新与应用/恒峰智慧科技

随着全球气候变化的加剧,森林火灾的频发已成为威胁生态安全的重要问题。在森林消防工作中,高效、快速的水源供给设备显得尤为重要。近年来,高扬程水泵的广泛应用,为森林消防工作带来了新的希望与突破。 一、高扬程水泵的技术优势 …

聚观早报 | 比亚迪首款新能源皮卡;苹果M4芯片有望登场

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 5月8日消息 比亚迪首款新能源皮卡 苹果M4芯片有望登场 红旗首款手机外观揭晓 一加13设计细节曝光 长城汽车4月销…

5本书带你走进大厂的云原生世界

大家好,我是王有志,一个分享硬核 Java 技术的金融摸鱼侠,欢迎大家加入 Java 人自己的交流群“共同富裕的 Java 人”。 今天和大家分享的主题是:大厂的云原生架构设计。公众号内回复关键字:【20240508】,即…

AI智能分析赋能EasyCVR视频汇聚平台,为安全生产监管提供保障

一、背景需求 为提升公共及生产安全监管,深入贯彻落实中央关于智慧城市、数字乡村的部署要求,视频设备融合管理已成为视频治理的必然趋势。针对当前部分地区在视频监控系统建设中存在的问题,如重点地区视频监控系统建设零散、视频监控数据孤…

行业新应用:电机驱动将成为机器人的动力核心

电机已经遍布当今社会人们生活的方方面面,不仅应用范围越来越广,更新换代的速度也日益加快。按照工作电源分类,可以将它划分为直流电机和交流电机两大类型。直流电机中,按照线圈类型分类,又可以分为有铁芯的电机、空心…

在Unity中制作和使用图集

文章目录 使用Unity内置Sprite Packer使用图集NGUI图集制作(如果使用NGUI)TextMeshPro中文支持 应用案例:在Unity中创建一个使用图集的UI界面场景设定步骤概览1. 准备UI元素2. 创建Sprite Atlas3. 使用图集中的Sprite4. 调整与布局5. 动态加载…

Chromium编译指南2024 Windows11篇-获取 Chromium 的源代码(五)

前言 在《Chromium编译指南2024(四)》中,我们完成了Git 的初始化配置。 现在,我们将进一步讨论如何获取 Chromium 的源代码,并准备构建所需的文件。 1. 获取Chromium的源代码 在合适的位置准备一个文件夹&#xff…

QSplitter分裂器的使用方法

1.QSplitter介绍 QSplitter是Qt框架提供的一个基础窗口控件类,主要用于分割窗口,使用户能够通过拖动分隔条来调节子窗口的大小。 2.QSplitter的添加方法 (1)通过Qt Creator的界面设计工具添加; (2&#xf…

提升滞销商品处理效能,精细化库存管理的关键要素

一、明确滞销商品的概念 1. 什么是滞销商品 滞销商品是指在一定期限内,其销售量大大低于预期或市场需求的商品。具体来说,这些商品可能因为款式不新颖、功能落后、价格不合理、过时、质量不佳或其他因素而不受消费者欢迎,导致销售速度极慢或…

Java中Maven的依赖管理

依赖介绍 是指当前项目运行所需要的jar包&#xff0c;一个项目中可以引入多个依赖 配置 在pom.xml中编写<dependencies>标签 在<dependencies>中使用<dependency>引入标签 定义坐标的groupId、rtifactId、version 点击刷新按钮、引入新坐标 例如引入下…

Git与GitHub交互

注册 https://github.com/ 本地库与远程库交互方式 创建本地库并提交文件 创建远程库 在本地库创建远程库地址别名 查看现有远程库地址的别名 git remote -v 创建远程库地址别名 git remote add [别名] [远程地址] 远程路地址位置 示例 成员1推送 git push [别名] [分支…

21物联1班常用网络命令

常用网络命令 ipconfig&#xff08;配置&#xff09;ping(测试)命令1&#xff1a;ping 172.16.0.12&#xff1a;ping ip -t3&#xff1a;ping ip -l 3000&#xff08;注意每个之间都存在空格&#xff09;4&#xff1a;ping ip -n count netstat&#xff08;网络&#xff09;命令…

数据库数据恢复—SQL Server数据库ndf文件变为0KB的数据恢复案例

SQL Server数据库故障&#xff1a; 存储设备损坏导致存储中SQL Server数据库崩溃。对数据库文件进行恢复后&#xff0c;用户发现有4个ndf文件的大小变为0KB。该SQL Server数据库每10天生成一个大小相同的NDF文件&#xff0c;该SQL Server数据库包含两个LDF文件。 SQL Server数据…

C语言 | Leetcode C语言题解之第76题最小覆盖子串

题目&#xff1a; 题解&#xff1a; char* minWindow(char* s, char* t) {int tLen strlen(t);int hash[256] { 0 };for (int i 0; i < tLen; i)hash[t[i]];for (int i 0; i < 256; i) {if (0 hash[i])hash[i] INT_MIN;}int left, right, count, start, minLen, s…

一文搞懂大厂商品中心设计!

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 免责声明~ 任何文章不要过度深思&#xff01; 万事万物都经不起审视&#xff0c;因为世上没有同样的成长环境&#xff0c;也没有同样的认知水平&#xff0c;更「没有适用于所有人的解决方案…

SOCKET编程(1):基本概念

基本概念 socket分类 socket提供了**流(stream)和数据报(datagram)**两种通信机制&#xff0c;即流socket和数据报socket 流socket基于TCP协议&#xff0c;是一个有序、可靠、双向字节流的通道&#xff0c;传输数据不会丢失、不会重复、顺序也不会错乱 数据报socket基于UDP…

面试笔记——工厂模式(简单工厂、工厂方法模式、抽象工厂模式)

场景需求&#xff1a;设计一个咖啡店点餐系统。 设计一个咖啡类&#xff08;Coffee&#xff09;&#xff0c;并定义其两个子类&#xff08;美式咖啡【AmericanCoffee】和拿铁咖啡【LatteCoffee】&#xff09;&#xff1b;再设计一个咖啡店类&#xff08;CoffeeStore&#xff09…

提升Go语言数学运算能力:math包使用指南

提升Go语言数学运算能力&#xff1a;math包使用指南 介绍数学函数的使用基本数学运算幂和根的计算三角函数对数计算 特殊数学常数和函数数学常数超越数学函数错误处理和精度问题 高级应用实例统计数据的标准偏差计算利用三角函数解决实际问题 性能优化技巧避免不必要的函数调用…