LLM (Large language model)的指标参数

1. 背景介绍

我们训练大模型的时候,或者我们用RAG的时候,不知道我们的算法,或者我们的提示,或者我们的本地知识库是否已经整理得符合要求了。又或我们需要一个指标去评估我们目前的所有围绕大模型,向量数据库或外挂知识库是否是向着好的方向进展的。所以,一个符合或者体现目前查询质量的指标很重要。本文会先介绍Rogue指标,并先以不宣传渐进式的方式的发布。

1.1 LLM 评估- 指标

1.1.1 Rouge适用场合
  • 用于文本摘要。
  • 将摘要和一个或多个摘要进行比较。
1.1.2 Bleu 适用场合
  • 用于文本翻译
  • 与人翻译的进行比较

1.2 LLM 评估 - 指标 - 术语

unigram: 单个词基本单位

bigram:两个连接的词,两个连接的基本单位

n-gram:n个连续连接的词,n个连续连接的基本单位

2. Rogue (Recall-Oriented Understudy for Gisting Evaluation)

2.1 Rogue-1

2.1.1 例子:
2.1.1.1 范例1

人输出的句子:参考

外 面 是 冷

总共4个unigram

机器输出的句子:实际

外 面 真 是 冷

总共5个unigram

2.1.1.2 Recall

Recall 中文的含义是召回率。我们的下面表述中尽量包含英文的原词。

图1 Recall / 召回率

图1中: 单个单元/unigram 相匹配的个数,就是人输出的句子(参考)和机器输出的句子(实际)有4个基本单元/unigram是相同的,分别是 外,面,是,冷,4个unigram。参考的文本unigram的个数就是人输出的句子的unigram的个数,是4个。所以:该示例中,

  • 单个单元/unigram 相匹配的个数:就是人输出的句子(参考)和机器输出的句子(实际)的重复单元个数:4
  • 参考的文本 unigram的个数:就是人输出的句子的unigram 个数:4

图2 Recall / 召回率 的值

2.1.1.3 Precision

Precision 的中文翻译是精确率,我们在下述的表述中尽量包含英文的原词。

图 3 precision/精确绿

图3 中,

  • 单个单元/unigram 相匹配的个数:就是人输出的句子(参考)和机器输出的句子(实际)的重复单元个数:4
  • 实际的文本 unigram的个数:就是机器输出的句子的unigram 个数:5

所以,我们有:

图4 precision/精准率的值

2.1.1.4 F1

F1 又称为Rouge的调和平均值。调和平均值的大小在 0,和1之间。 我们在下文的表述中,尽量保持英文的原词。

调和平均值/F1的公式是如图5所示:

图5 F1/调和平均值的公式

我们根据本示例图2,图4,recall的值和precision的值,得出本示例F1的值:

图6 F1的值

2.1.2 Rouge-1 概括:

不管是Rouge-1,还是Rouge-2,还是Rouge- L,一般而言,F1,就是调和平均值越接近1,表面模型表现越好。但Rouge-1有时会带来误导。让我们看示例2:

2.1.2.1 范例2:

人输出的句子 (参考)

外 面 是 冷。

总共4个unigram

机器输出的句子 (实际)

外 面 不 是 冷

总共5个unigram。

范例1和范例2中的参考例子,就是人输出的句子是完全一样的,但机器输出的句子只有一字之差,但意思完全两样,而recall,precision,F1值完全一样。所以,这个例子给出了Roue-1的不足之处。

2.2 Rouge-2

2.2.1 重复示例1中,

人输出的句子:参考

外 面 是 冷

总共3个bigram (外 面)(面 是)(是 冷)

机器输出的句子:实际

外 面 真 是 冷

总共4个bigram (外 面)(面 真)(真 是)(是 冷)

bigram 相匹配的个数是 2 (外 面)(是 冷)

这样,我们根据公示,得出 recall(召回率),precision(精准率),F1(调和平均值)

图 7 Rouge-2 指标

2.3 Rouge-L

那Rouge 1的指标有不足之处,我们看Rouge-L 指标,Rouge- L是指参考和实际输出中,最长的n个相同的基本单元(Longest common sequence),或者最长的n-gram的个数。

2.3.1 重复示例1中,

人输出的句子:参考

外 面 是 冷

总共4个unigram

机器输出的句子:实际

外 面 真 是 冷

总共5个unigram

LCS 最长的n个相同的基本单元是:

(外 面)(是 冷),个数是2个。

这样根据公示,我们算出Recall(召回率),precision(精确率),F1的值(调和平均值):

图8 Rouge-L 指标值

2.4 Rouge 概括

在大模型中,文本的长度一般是比较长的,实际测试中,Rouge-L 的F1值是更具有参考价值,越接近1,表面模型表现越好。

2.5 代码实例

python 复制代码
from rouge_score import rouge_scorer

# 创建Rouge评分器
scorer = rouge_scorer.RougeScorer(['rouge1', 'rougeL'], use_stemmer=True)

# 定义参考摘要和生成摘要
reference = "The quick brown fox jumps over the lazy dog"
candidate = "The fast brown fox jumps over the lazy dog"

# 计算Rouge分数
scores = scorer.score(reference, candidate)

# 输出Rouge分数
print(scores)

3. Bleu

4. 其他

5. 参考资料

1\]. coursera.org:**Generative AI with large language model** 沈建军 于韩国Tongyeong,2024年2月23日第一版,仅限于Rouge指标

相关推荐
SuniaWang6 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
IDZSY04307 小时前
AI社交平台进阶指南:如何用AI社交提升工作学习效率
人工智能·学习
七七powerful8 小时前
运维养龙虾--AI 驱动的架构图革命:draw.io MCP 让运维画图效率提升 10 倍,使用codebuddy实战
运维·人工智能·draw.io
水星梦月8 小时前
大白话讲解AI/LLM核心概念
人工智能
温九味闻醉8 小时前
关于腾讯广告算法大赛2025项目分析1 - dataset.py
人工智能·算法·机器学习
White-Legend8 小时前
第三波GPT5.4 日400刀
人工智能·ai编程
. . . . .8 小时前
Claude Code Hooks的原理、触发执行机制以及如何编写 Hooks
人工智能
w_t_y_y8 小时前
codex(一)下载安装&使用
人工智能
唐兴通个人8 小时前
唐兴通应邀为平安财产险北京分公司高层主讲《新媒体营销》专项培训,引领保险业AI时代内容营销变革
人工智能