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

2023-12-26 22:36

本文主要是介绍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. 中文大模型的开源活力充沛,顶尖开源模型对齐表现接近闭源模型,已处于同一梯队。

这篇关于AlignBench:量身打造的中文大语言模型对齐评测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/541018

相关文章

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

Go语言中Recover机制的使用

《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

Python使用Tkinter打造一个完整的桌面应用

《Python使用Tkinter打造一个完整的桌面应用》在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速搭建出实用的图形界面,作为Python自带的标准库,无需安装即可... 目录一、界面搭建:像搭积木一样组合控件二、菜单系统:给应用装上“控制中枢”三、事件驱动:让界面“活”

基于Python+PyQt5打造一个跨平台Emoji表情管理神器

《基于Python+PyQt5打造一个跨平台Emoji表情管理神器》在当今数字化社交时代,Emoji已成为全球通用的视觉语言,本文主要为大家详细介绍了如何使用Python和PyQt5开发一个功能全面的... 目录概述功能特性1. 全量Emoji集合2. 智能搜索系统3. 高效交互设计4. 现代化UI展示效果

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Go 语言中的 Struct Tag 的用法详解

《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用