Perplexity(PPL)和大模型评测

一. PPL评测

大模型推理:

forward时,计算每一个token的生成概率:

整个句子,所有N个token的概率相乘,再开N次方,可视为每个token的“平均概率”,越大越好(“确信度”);

再求倒数,即为困惑度perplexity(PPL),越小越好。

(可以视为,生成这个句子的可能性,相当于从PPL个选项里蒙对的可能性,越小表示越确定)

上例,大模型1和大模型2,“是”之前的token,概率相差不大,“北“、”京“的概率,明显看出2个大模型的能力差异了!模型2看来是不懂这条知识的。

连乘:联合概率。开N次方:为了让“平均”概率不受句子长度的影响。

痛点:计算的时候,连乘的话,数值太小,精度不够了。

解决:使用log,先求对数再求指数:

局限性:

只能反映模型是否“倾向”被测文本。如果被测文本本身质量很烂,而大模型能力很好,则PPL是高的。例如大模型是擅长高质量写作,但被测文本是一段小孩子作文,则PPL很高。

二、人工评测

人工给大模型的输出进行打分。

或者人工给多个大模型的输出(打乱顺序,盲评,标注员不知道各自是哪个模型产生的)进行打分、胜负比较。

缺点:1. 耗费人力。2.每个标注员的主观影响,个人喜好。

三、可解析的评测集

1. 选择题。只让大模型生成选项字母(A、B、C、D)。

2. 主观题。让大模型以某种便于代码解析的格式输出,例如规定的json格式。

常用评测集:

例子:(4个选项的选择题)

例子:(10个答案选项)

例子:(可用代码来验证模型输出文字的格式是否正确)

例子:(Hard难度的题目)

例子:

GPQA是专家级题目,专业博士也只能作对65%。

评测结果:

四、大模型做裁判

适合没有固定答案的主观题,例如写诗。

把2个模型的输出结果,交给另一个大模型来判断胜负。

注意:有的大模型倾向选择前面的选项。因此要实现把选项顺序打乱

好的,针对您的问题,我将分为两部分来回答。 ## 第一部分:统计Bigram并保存为ARPA格式 1. 首先,需要下载TIMIT数据集,可以从官网下载或者使用以下命令行下载: ``` wget https://www.openslr.org/resources/3/data.tgz tar -xvzf data.tgz ``` 2. 接下来,需要安装SRILM工具包用于训练语言模型。SRILM可以从官网下载,也可以使用以下命令行安装: ``` wget http://www.speech.sri.com/projects/srilm/download/srilm-1.7.3.tar.gz tar -xvzf srilm-1.7.3.tar.gz cd srilm-1.7.3 make ``` 3. 然后,需要将TIMIT训练集中的所有文本文件合并为一个文本文件: ``` cat data/train/*/*/*.txt > data/train.txt ``` 4. 接着,需要将合并后的文本文件转换为Bigram: ``` ngram-count -order 2 -text data/train.txt -write data/train.bigram ``` 5. 最后,将Bigram转换为ARPA格式并保存为txt文件: ``` ngram-count -order 2 -text data/train.txt -lm data/train.arpa -write data/train.txt.lm ``` ## 第二部分:使用Bigram对测试集中的方言区域DR1的FAKS0的十段文字进行打分 1. 首先,需要将测试集中的方言区域DR1的FAKS0的十段文字保存为一个文本文件,例如test.txt。 2. 接着,需要加载先前训练的语言模型: ``` ngram -order 2 -lm data/train.arpa -ppl test.txt ``` 此命令将计算测试集中每个文本段的困惑度(perplexity)分数。 以上就是针对您的问题的完整回答。如果您有任何其他问题,请随时问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值