AlignBench:量身打造的中文大语言模型对齐评测

对齐(Alignment),是指大语言模型(LLM)与人类意图的一致性。换言之,就是让LLM生成的结果更加符合人类的预期,包括遵循人类的指令,理解人类的意图,进而能产生有帮助的回答等。对齐是决定LLM能否在实际场景中得到真正应用的关键因素。因此,评估模型的对齐水平显得至关重要 —— 如果没有评估,我们就无法判断模型的优劣。

然而,至今为止,中文评测领域关于对齐的评测仍然是一片空白。当前广泛使用的一些评测数据集,如 MMLU,C-Eval 等,与真实使用场景的差别较大,不能有效评估模型的指令遵循能力。针对对齐水平的英文评测数据集,如 MT-Bench,AlpacaEval等,受限于其语言、数量、评测方式,也并不能有效评估中文大模型的对齐水平。考虑到以上因素,以及实际的需求,智谱清言团队推出了AlignBench。

论文:https://arxiv.org/abs/2311.18743
数据、代码:https://github.com/THUDM/AlignBench
项目网站:LLMBench

AlignBench是一个多维度、综合性的评测基准。目前来看,这是第一个专为中文大模型设计,能够在多维度上细致评测模型和人类意图对齐水平的评测基准。将 AlignBench 在评测数据和评测方法上与其他基准的对比情况总结如下:

为了让开发人员能够更加高效地完成评估,作者也开发了自动评估模型 CritiqueLLM ,它是一个能够达到 GPT-4 95% 评估能力的专用的评测模型。可以在 AlignBench 网站上使用 CritiqueLLM 进行评测。

数据集

AlignBench 从 ChatGLM 真实的使用场景中构建,经过初步构造,敏感性筛查,参考答案生成,难度筛选等步骤,构建了具有真实性、挑战性的评测数据集。AlignBench 构建了综合全面的分类体系,分为 8 个大类。

评测方法

AlignBench 使用评分模型(GPT-4,CritiqueLLM)为每个模型的回答打 1-10 的综合分数,代表其回答质量。AlignBench 构建了多维度、规则校准的模型评测方法,有效提升了模型评分和人类评分的一致性,以及模型评价的质量。

1. 多维度:AlignBench 针对每个种类定制了多个细分的评测维度(如创造性、逻辑性等等)。

2. 规则校准:AlignBench 引入了细致的打分规则,提升和人类的一致程度。

评测表明,所提出的模型评测方法提高了和人类评分的一致性。在生成的分析上,所提出的方法能够显著提高分析的质量。在对分析质量的成对评估中,所提出的方法分别以 12.4% 和 20.40% 的胜负差显著胜出。

评测结果

使用 gpt-4-0613 和 CritiqueLLM 分别作为评分模型对 17 个中文大模型进行了评测,结果分别如下。

结果表明:

1. 中文大模型相比于 gpt-4,在逻辑推理能力上差距较大。
2. 顶尖中文大模型相比于 gpt-4,在中文相关能力(尤其是中文理解类)能取得相近甚至更好的表现。
3. 中文大模型的开源活力充沛,顶尖开源模型对齐表现接近闭源模型,已处于同一梯队。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023博客年终总结、你好2024

2023博客年终总结、你好2024 1、2023博客年终总结2、你好2024 1、2023博客年终总结 2023写了100篇博客,祝愿我们的人生都能圆满达到100分。 2023行将结束,有幸接触了一本书 《你怎样过一天,就怎样过一生》 作者 七纤 2、你好2024 你好2024…

如何修改Anaconda的Jupyter notebook的默认启动路径

1.打开Anaconda控制台 2.输入下面的命令 jupyter notebook --generate-config 这个命令的作用是生成 Jupyter notebook 的配置文件。如果你是第一次运行,会直接生成这个文件。如果曾经运行过这个命令,就会像下图一样问你时候要覆盖原来的文件。这个时候…

状态模式-概述

在软件系统中,有些对象也像水一样具有多种状态,这些状态在某些情况下能够相互转换, 而且对象在不同的状态下也将具有不同的行为。相同的方法在不同的状态中可能会有不同的实现。 为了实现不同状态下对象的各种行为以及对象状态之间的相互转换…

PHP序列化总结3--反序列化的简单利用及案例分析

反序列化中生成对象里面的值,是由反序列化里面的值决定,与原类中预定义的值的值无关,穷反序列化的对象可以使用类中的变量和方法 案例分析 反序列化中的值可以覆盖原类中的值 我们创建一个对象,对象创建的时候触发了construct方…

Java多线程<三>常见的多线程设计模式

多线程的设计模式 两阶段线程终止 park方法 interrupted() 会让他失效。 使用volatile关键字进行改写 单例模式 双锁检测 保护性暂停 实现1: package threadBase.model;/*** author: Zekun Fu* date: 2022/5/29 19:01* Description:* 保护性暂停,* …

HarmonyOS4.0系统性深入开发09卡片使用动效能力

卡片使用动效能力 ArkTS卡片开放了使用动画效果的能力,支持显式动画、属性动画、组件内转场能力。需要注意的是,ArkTS卡片使用动画效果时具有以下限制: 名称参数说明限制描述duration动画播放时长限制最长的动效播放时长为1秒,当…

5天一更新的卫星影像数据来自哪里?

这里我们就来分享一下,5天一更新的卫星影像源来自哪里。 哥白尼计划 在开始讲卫星影像数据源时,我们先来了解一下什么是哥白尼计划。 哥白尼计划(Copernicus Programme),又称全球环境与安全监测计划(Glo…

用通俗易懂的方式讲解大模型:LangChain Agent 原理解析

LangChain 是一个基于 LLM(大型语言模型)的编程框架,旨在帮助开发人员使用 LLM 构建端到端的应用程序。它提供了一套工具、组件和接口,可以简化创建由 LLM 和聊天模型提供支持的应用程序的过程。 LangChain 由几大组件构成&#…

【前端技术】LocalForage数据存储

✨专栏介绍 在当今数字化时代,Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序,就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术,以及各种框架、库和工具…

pytorch01:概念、张量操作、线性回归与逻辑回归

目录 一、pytorch介绍1.1pytorch简介1.2发展历史1.3pytorch优点 二、张量简介与创建2.1什么是张量?2.2Tensor与Variable2.3张量的创建2.3.1 直接创建torch.tensor()2.3.2 从numpy创建tensor 2.4根据数值创建2.4.1 torch.zeros()2.4.2 torch.zeros_like()2.4.3 torch…

windTerm 连接一段时间之后自动断开

默认是关闭会话空闲保活功能的,如所连接的SSH服务没做连接保活, 就很可能超时自动断开 开启会话保活 在 会话 -> 首选项 -> Default Session Settings -> SSH -> 连接 -> 发送空包以保持会话活动 设置15,即15秒自动发空包保…

YOLOv8改进 添加可变形注意力机制DAttention

一、Deformable Attention Transformer论文 论文地址:arxiv.org/pdf/2201.00520.pdf 二、Deformable Attention Transformer注意力结构 Deformable Attention Transformer包含可变形注意力机制,允许模型根据输入的内容动态调整注意力权重。在传统的Tra…

pytorch03:transforms常见数据增强操作

目录 一、数据增强二、transforms--Crop裁剪2.1 transforms.CenterCrop2.2 transforms.RandomCrop2.3 RandomResizedCrop2.4 FiveCrop和TenCrop 三、transforms—Flip翻转、旋转3.1RandomHorizontalFlip和RandomVerticalFlip3.2 RandomRotation 四、transforms —图像变换4.1 t…

[Angular] 笔记 23:Renderer2 - ElementRef 的生产版本

chatgpt: Renderer2 简介 在 Angular 中,Renderer2 是一个服务,用于处理 DOM 操作的抽象层。它提供了一种安全的方式来操作 DOM,同时与平台无关,有助于维护应用程序的跨浏览器兼容性和安全性。 Renderer2 的作用是在 Angular 组…

【vim 学习系列文章 3.1 -- vim 删除 ^M】

请阅读【嵌入式开发学习必备专栏 之 VIM 专栏】 文章目录 ^M 来源^M 删除 ^M 来源 在 Vim 中打开文件时,您可能会遇到行尾的 ^M 字符,这通常是因为文件使用了 Windows 风格的回车换行符(CRLF),而不是 Unix/Linux 风格…

集合基础知识点

集合基础 1. 集合的由来 当 Java 程序中需要存放数据的时候,通常会定义变量来实现数据的存储,但是,当需要存储大量数据的时候该怎么办呢?这时首先想到的是数组,但是!数组只能存放同一类型的数据&#xff…

【计算机网络】第五,六章摘要重点

1.运输层协议概述 运输层提供的是进程之间的通信 2. 3.套接字指的是什么 ip地址端口号 4.每一条TCP语句唯一地被通信两端连接的两个端点 5.TCP传输如何实现 以字节为单位的滑动窗口 超时重传 选择确认 6.TCP流量控制和拥塞控制的区别 流量控制:点对点通信…

Android Studio如何创建尺寸大小及API通用的模拟器

目录 前言 一、操作步骤 二、总结 三、更多资源 前言 在开发移动应用程序的过程中,使用模拟器进行测试是一种常见和方便的方式。Android Studio是一款功能强大的集成开发环境,它提供了创建和管理模拟器的功能。在本文中,我们将介绍如何创…

XTU-OJ-1452-完全平方数-笔记

参考博客 XTU-OJ 1452-完全平方数 题意 输入一个奇数&#xff0c;使得 n*(2*an-1)/2是一个完全平方数&#xff0c;求满足条件的最小的a 1<n<1e9 先输入样例数&#xff0c;再输入n 输入 2 1 3 输出 0 2 代码 #include<stdio.h>#define N 1000000010int a…

SpringIOC之ApplicationObjectSupport

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…