欢迎光临散文网 会员登陆 & 注册

HELM 全面语言模型评测【论文精读·50】

2023-02-08 14:16 作者:璃花昼  | 我要投稿


03:16


Holistic Evaluation of Language Models 语言模型的整体评估

语言模型现在是语言技术的基石,但是它的能力局限性风险并没有被完全理解。本文的贡献:

1、将潜在的应用场景和评估手段进行分类。

2、采用多指标方法,在16个核心场景评测7个指标。

3、在42个场景对30个语言模型进行了大规模的评估。



15:00


任何文本的应用场景分为以下三块:

1、任务 (task)

例如问答、摘要、情感分析、信息检索等。

2、领域 (domain),细分为以下三个因素:

What,文本来自什么领域,例如维基百科、电影评论、新闻、社交媒体等。

Who,用户来自什么领域,例如网络用户、性别、种族、年龄等。

When,文本生成的时间。

3、语言 (language)

文本的使用语言。


场景主要来自于各种会议论文中的分类标签,由于发展速度非常快,很难包含最新的任务。以下是从中选取的核心场景

1、问答 (Question answering)

输入:一个问题,分为开放性问题(问答题)和封闭式问题(选择题)

输出:模型给出回答

数据集:NaturalQuestions,用户在Google搜索的问题,并且能在Wikipedia找到答案

Narrative QA,给一段来自书籍或电影的故事然后进行提问(阅读理解)

QuAC,自由问答,更加开放,并依赖于上下文

HellaSwag,测试常识推理

OpenBookQA,基础科学题(中小学试题)

TruthfulQA,来自GPT3回答错误的问题,测试模型的真实性

MMLU,学科知识(大学各专业试题)

BoolQ,是非题

2、信息检索 (Information retrieval)

给出查询 q 和文本集 C,在 C 中返回最相关的 K 段话,并按照相关性排序。

输入:将查询文本 q 和文本集 C 中的一个段落 ci 送入语言模型

输出:模型判断段落 ci 中是否存在查询 q 的答案,根据模型对 yes 的预测概率进行排序

数据集:MS MARCO,问题 + 多个已标注相关性排序的回答。

3、摘要 (Summarization)

评估模型的抽象概括能力,而不是抽取文本能力

输入:一段文档

输出:摘要

数据集:CNN,美国有线电视新闻网

DailyMail,每日邮报

XSUM,从CNN的文章中根据html标签找一个很简短的概括

4、情感分析 (Sentiment analysis)

输入:一段评价,例如影评

输出:判断是积极还是消极

数据集:IMDB,互联网电影数据集

5、毒性检测 (Toxicity detection)

输入:一段话

输出:判断是否有毒

数据集:CivilComments,用户对新闻的留言,并给出数值在 0 到 1 之间的有毒性标注

6、杂项文本分类 (Miscellaneous text classification)

输入:一段文本

输出:分类标签,这里的标签是多种多样的。

数据集:RAFT,多种文本分类标签



33:07


评估时优先考虑可扩展性,采用基于扰动(perturbation-based)的方法。评估应该与特定的场景无关,例如评估公平性时,不一定能知道文本数据是来自什么种族、性别,因此将性别这种词换掉后再去评估公平性。

经过筛选后产生了以下 7 种指标:

1、精度 (Accuracy)

不同场景有不同的精度评判指标。

1.1 一般情况

Exect match,精确匹配,需要和标准答案完全一样,例如选择题、是非题和一些简单的问答题。

Quasi-exect match,准精确匹配,允许和标准答案有一些变换,例如进行大小写变换后能够精确匹配。

F1-Score,精确率和召回率的调和平均数。

例如:将模型输出和标准答案都进行分词转换为两个字符串数组:

标准答案:['练习', '时长', '两年半', '的', '练习生']

模型输出:['练习生', '练习', '两年半', '了']

判断两个数组的每个词是否在另一个数组中存在,就可以得到:

真阳性(TP):模型输出并且在标准答案中的词语数量。这里是3个:练习生、练习、两年半。

假阳性(FP):模型输出但不在标准答案中的词语数量。这里是1个:了。

假阴性(FN):模型未输出并且在标准答案中的词语数量。这里是2个:时长、的。

然后计算精确率和召回率:

精确率(Precision)TP / (TP + FP)=0.75

召回率(Recall)TP / (TP + FN)=0.6

最后就可以计算F-Score了:

当β=1时就是F1-Score:

F1-Score= 2 * (Precision * Recall) / (Precision + Recall) = 2*(0.75*0.6)/(0.75+0.6) = 2/3

1.2 信息检索

RR@K,取决于最相关文档的排序 (rank) 的倒数 (reciprocal)

例如:最相关的文档(排序应该是1),模型给出的排序是rank,如果rank小于等于指定的K,得分为1/rank,即模型给出越接近真实排序1则得分会越高。如果rank大于K,则得分为0。

NDCG@K,Normalized Discounted Cumulative Gain, 归一化折损累计增益。

例如:每次给出模型排名最前的K个文档,di表示排序在第i位的文档,对每个di根据排序给出一个分数graded_relevance(di),然后把这K个分数相加,就得到CG分(Cumulative Gain)。

接下来根据排序进行折扣(Discounted),也就是除以log(i+1),得到DCG,这里i越小则会除以较小的值,也就是说排在前面的分数能够越高越好。

最后再加一个Normalize,按照真实排序得到文档的分数并计算DCG,就会得到一个分数的上限,将DCG分数除以这个上限分数就会得到小于等于1的NDCG分数,NDCG分数越接近1,表示与最优排序越接近。

1.3 摘要

ROUGE-2,Recall-Oriented Understudy for Gisting Evaluation,通过词的重叠进行评估。

例如:假设标准答案注的摘要是"今天天气真好",模型输出是"今天好天气",ROUGE-2则是将每2个连续的字取出形成集合:

标准答案:['今天', '天天', '天气', '气真', '真好']

模型输出:['今天', '天好', '好天', '天气]

这里标准答案共5个词,模型输出包含了其中2个词,那么ROUGE-2分数就是0.4。

1.4 语言

BPB,Bilingual Evaluation Understudy,一般是用来评估两种语言之间的机器翻译效果,通过计算每一个翻译结果的单词与真实翻译的单词的匹配情况,然后对匹配的单词数量与翻译结果总单词数进行比较,计算出百分比作为BPB分数。

1.5 推理

F1 (set match),F1分数

Exact match (up to specified indicator),精确匹配(到指定目标)

Code,代码评估是测试通过单元测试的个数

Equivalent,等价,评估结果在数学上是否等价

Equivalent (chain-of-thought),等价(思维链)


2、校准和不确定性 (Calibration and uncertainty)

校准和表达模型的不确定性表达对于系统在高风险环境下的部署尤为关键。例如:筛选简历时,一个简历在通过和不通过附近,通过概率是50%,此时需要人为干预更合适一些,以避免潜在的错误。

模型被校准过的意思是,它预测出来的概率是有意义的。例如:模型对有毒性进行分类,1000个句子的输出都是0.7,那么就应该意味着这1000个句子有70%是有毒的,0.7是真实反映了概率。

期望校准误差(ECE,Expected Calibration Error),将模型预测结果分为若干个组(bins),统计每个组的准确率Accuracy和预测概率的平均值Prob的差距bin error,将每个bin的bin error作为权重乘以每个bin对应的大小,得到ECE。例如:

选择性分类精度(Selective classification accuracy),在模型预测的结果中选择预测值最大的百分之C个值,计算这些高置信度样本的分类精度。例如:

选择性分类精度中,更关心的是排序,即使原始的概率不对,但只要顺序是对的,那么这个精度也会比较高。


3、稳健性 (Robustness)

真实环境中,用户的输入是千奇百怪的,稳健性则是判断在模型的输入有变化时是否能够保持正确的输出。对输入的改变有以下两种:

invariance,较小的、保留语义的干扰。例如:大小写变化、常见的拼写错误。

equivariance,改变语义的干扰。例如:将IMDB中一条负面的评论修改几个词变为正面评论。


4、公平性 (Fairness)

反事实的公平(Counterfactual fairness),将文本中某些人的性别或者种族变换,评估模型的结果表现是否会不一样。例如:将一段话中的He全部转换为She。

性能的差距(Performance disparities),评估不同社会群体中模型的精度区别。例如:早期人脸识别中对黑人的分辨率会低一些。


5、偏见和刻板印象 (Bias and stereotypes)

评估模型生成的结果是否过多的偏向于某一些社会群体。

1、会不会特意消除或过度的表示某一些社会群体。

2、某些职业是否和某些群体有更强的关系。


6、有毒性 (Toxicity)

在输入正常的情况下,模型也有可能会生成有毒的输出,会导致用户体验不好,甚至产生公关上的问题。

评估方法:将模型的输出送入Perspective API看效果


7、效率 (Efficiency)

1、训练效率

考虑训练时消耗的能源和产生的碳排放,这个只是做一个简单的估算。

消耗能源计算公式:GPU数量 * GPU的瓦数 * 训练时长 * PUE

PUE: Power Usage Effectiveness,电源使用效率

2、推理效率

计算模型运行花费的时间,有两种衡量标准:

Denoised inference runtime,不能直接访问模型时,可以直接调用API,好处是方便,坏处是精度包含了整个系统的耗时。

Idealized inference runtime,可以直接访问模型时,可以在同一个GPU上测试不同的模型,更加公平。



55:17


对一个语音模型而言,应该从哪几个方面进行衡量,结合场景、任务、数据集进行评估。

1、语言

评估模型的建模能力,两个小任务:

1)给出和训练集差不多的文本,让模型计算损失。

2)给出一个句子,把其中一个token变换(这个变换是不可接受的),那么对于语言模型来说,应该给原始句子高概率,给变换后不可接受的句子低概率。例如:

A、The cats annoy Tim.

B、The cats annoys Tim.

2、知识类

问答和补全两种模式。

例如:法国的首都是什么?

法国的首都是_____

3、推理

数学推理

代码分析

法律推理,判断观点是由哪些证据支撑。

逻辑推理,法律学校入学考试题。

结构数据推理,例如:给两行数据,判断是不是指同一个物体。给一个缺失数据的表,对其进行补全。

4、版权

评估模型是否记住了有版权的数据。例如:从一些有版权的书中选一些句子送给语言模型,看输出是否是复制原文的。给出GPL协议的一些代码,看模型是否记住了这类协议代码的内容。

5、虚假信息

6、有毒性



58:48




01:04:09


通过修改promt,加上5个样例,将语言模型拓展到需要评估的任务上去。

例如:想让语言模型做一个多选题,则需要给出5个【问题+选项+答案】的组合,然后再给出【问题+选项】,让模型输出【答案】

语言模型、问答、摘要三个任务的promt设计比对:



01:07:43


精度和校准错误、偏差、有毒性、测试时间没有特别强的关系,和稳健性、公平性有很强关系。



01:21:01


在应用场景、指标、目标评估、模型、适应性等方面评估的缺失。













HELM 全面语言模型评测【论文精读·50】的评论 (共 条)

分享到微博请遵守国家法律