首页 > 其他分享 >问答、对话系统场景下的LLM优化评估方法

问答、对话系统场景下的LLM优化评估方法

时间:2024-08-19 16:53:19浏览次数:16  
标签:EM F1 场景 模型 生成 对话 LLM 问答 评估

针对特定的场景,LLM优化方法有三类:Prompt Engineering、RAG、Fine-tuning


不论使用那种方式优化,我们都需要在完成优化后,评估优化的效果,这个效果不能只人为的感觉(做不过来,也不科学),那如何做自动化评分呢?

下面以最常见的问答、对话系统的优化任务为例来展开介绍几种简单的自动化评分方法。

Exact Match (EM)

Exact Match (EM) 衡量模型生成的答案与标准答案是否完全一致。

具体来说,如果模型的回答与标准答案在内容、顺序、拼写等方面完全相同,则视为Exact Match;否则,视为不匹配。

计算方式

公式:EM = (模型生成的正确完全匹配答案数 / 总问题数) * 100

如果模型生成的答案完全等于标准答案,则EM为1(或100%);否则为0。

评估示例

问题:苹果的创始人是谁?
标准答案:史蒂夫·乔布斯
模型回答 1:史蒂夫·乔布斯 —— EM = 1
模型回答 2:乔布斯 —— EM = 0

特点

严格性:EM是一种非常严格的评估指标,即使模型的回答非常接近标准答案,但如果有细微的差别(如标点符号、同义词、拼写等),也不会被认为是匹配。

适用场景:EM适用于精确答案的任务,它强调严格的一致性,是一种二元指标(完全匹配或不匹配)。它适合答案较短且需要绝对正确的场景。

F1 Score

F1 Score 综合了 Precision(精确率) 和 Recall(召回率)。它更适合在答案中存在部分匹配的场景。例如,如果模型生成的答案覆盖了部分正确内容,但并不完全一致,F1 Score 仍然能够反映出模型的性能。

计算方式

  • Precision(精确率):模型生成的正确词数 / 模型生成的总词数

  • Recall(召回率):模型生成的正确词数 / 标准答案的总词数

  • F1 Score 是精确率和召回率的调和平均值,计算公式为:

F1=2× \frac{Precision×Recall}{Precision+Recall} 

评估示例

问题:苹果的创始人是谁?

标准答案:史蒂夫·乔布斯

模型回答 1:史蒂夫·乔布斯 —— Precision = 1,Recall = 1,F1 = 1

模型回答 2:乔布斯 —— Precision = 1,Recall = 0.5,F1 ≈ 0.67

模型回答 3:史蒂夫 —— Precision = 0.5,Recall = 0.5,F1 = 0.5

特点

灵活性:F1 Score 相对EM更为灵活,能够反映出部分匹配的情况。

如果模型的回答包含了一部分正确答案,它不会被直接判为不匹配,而是通过权衡精确率和召回率来给出合理的评分。

适用场景:F1 Score适用于生成式问答任务,特别是在答案长度较长且模型生成答案可能不完全精确的情况下。

对话场景下的评估维度

上面两种评估方式适合做问答系统,问答系统对发散性要求不高,但是如果是对话系统,则需要考虑更多维度:

在对话系统中,Coherence(连贯性)Fluency(流畅性)Diversity(多样性) 是常用的三个质量评估维度。它们从不同角度评价生成的对话是否合乎逻辑、表达自然、具有变化,具体介绍如下:

Coherence(连贯性)

连贯性指的是对话生成的内容是否在逻辑上合理、前后文是否连贯。

连贯性良好的对话生成内容应与之前的对话上下文相一致,并且能够保持逻辑关系。

评估方法

可以使用预训练模型(如BERT、GPT)来生成对话嵌入,然后计算每个回复与上下文的语义相似度。如果相似度较高,则连贯性较强。

示例

Coherence(连贯性) 强调逻辑性和与上下文的关联。

连贯的对话:

用户:天气怎么样?

模型:今天晴天,很适合户外活动。

不连贯的对话:

用户:天气怎么样?

模型:我喜欢吃苹果。

Fluency(流畅性)

流畅性指的是生成的对话内容是否符合自然语言的表达习惯,是否语法正确,是否有逻辑上的突兀或语句不通顺的问题。

流畅的对话应当像人类正常的语言表达一样,容易理解,句子结构顺畅。

评估方法

使用语法检查器或语言模型对生成文本进行分析,查看语法错误、拼写错误或不连贯的表达。

示例

Fluency(流畅性) 关注语言表达的自然程度、语法正确性和句子结构的通顺。

流畅的对话:我今天早上去公园散步了,感觉空气特别清新。

不流畅的对话:早上公园了散步空气很新鲜。

Diversity(多样性)

多样性指的是模型生成的对话内容是否具有足够的变化,避免重复、单调的回答。

多样性通常用于衡量对话系统的创新性、灵活性,以及其能否生成不同内容的能力。

评估方法

去重率:计算模型生成的对话中重复回答的比例。重复较少则说明多样性较好。

Distinct-n 指标:统计生成对话中不同n-gram(如2-gram或3-gram)的比例,不同n-gram出现得越多,多样性越高。

示例:

Diversity(多样性) 则着眼于对话生成内容的丰富性和多样化。

高多样性:

用户:你喜欢看什么电影?

模型:我喜欢科幻片,尤其是《星际穿越》。不过最近我也在看一些经典的黑白电影。

低多样性:

用户:你喜欢看什么电影?
模型:我喜欢电影。
用户:你喜欢做什么?
模型:我喜欢电影。

通过在对话生成中优化上面这三个维度,能够提升对话系统的交互体验,使其更接近人类的表达方式。

总结

对于问答系统,要强调答案的正确性,在评估时,通常会同时使用EM和F1 Score这两个指标,以便全面了解模型的性能:EM可以衡量精确匹配的能力,而F1 Score则可以衡量模型在部分匹配情境下的表现。

对于对话系统,则强调交互体验,使其更接近人类的表达方式。通过优化 Coherence(连贯性)、Fluency(流畅性)、Diversity(多样性)这三个维度,能够显著提升对话的自然性和互动质量。

另外虽然自动化评分很重要,但有时人类评估仍然不可或缺。可以让人类评估员根据具体的维度(如生成文本的相关性、流畅度、准确性等)对模型的输出进行打分。这通常作为自动化评分的补充。

标签:EM,F1,场景,模型,生成,对话,LLM,问答,评估
From: https://www.cnblogs.com/ghj1976/p/18367661/wen-da-dui-hua-xi-tong-chang-jing-xia-dellm-you

相关文章

  • 吴恩达力荐,100%好评-LangChain大型语言模型(LLM)应用开发
       LangChain是一个开源框架,旨在帮助人工智能开发者将大语言模型(如GPT-4)与外部计算和数据源结合起来。这个框架提供了Python和JavaScript包,使开发者能够轻松地将自己的数据与大语言模型连接起来,从而实现更复杂的人工智能应用。   免费获取:吴恩达力荐,100%好评-Lang......
  • TransformControls 用于在网页中进行 3D 场景中物体的交互式操作
    demo案例:https://techbrood.com/threejs/examples/#misc_controls_transformTransformControls是Three.js中的一个类,用于在网页中进行3D场景中物体的交互式操作。让我们来详细讲解它的输入参数、输出、属性和方法:输入参数:TransformControls构造函数通常接受两个参数:camer......
  • 深入浅出LLM基础:探索Embedding模型的核心原理与应用
    Embedding模型概览Embeddings是自然语言处理技术中很重要的基石。它有很多种模型,从GloVe、word2vec、FastText、Bert、RoBERTa、XLNet、OpenAIada、GoogleVertexAITextEmbeddings、AmazonSageMakerTextEmbeddings和Cohere。每种模型都有优劣,如何去分析这些Embeddin......
  • 全面指南:LLMs中的Llama-3模型——简介、安装教程、使用技巧及案例实践详解
    LLMs之Llama3:Llama-3的简介、安装和使用方法、案例应用之详细攻略导读:2024年4月18日,Meta重磅推出了MetaLlama3,本文章主要介绍了Meta推出的新的开源大语言模型MetaLlama3。模型架构Llama3是一种自回归语言模型,采用了优化的Transformer架构。调优版本使用了监督......
  • 在高并发和高负载场景下,优化 HttpClient
    在高并发和高负载场景下,优化HttpClient的使用至关重要,因为不当的资源管理可能导致性能瓶颈、资源枯竭(如端口耗尽)、和请求延迟等问题。以下是一些优化建议:1.使用IHttpClientFactory管理HttpClient实例复用HttpMessageHandler:通过IHttpClientFactory创建HttpClient实......
  • 【RH124知识点问答题】第13章 访问 Linux 文件系统
    目录1.存储设备是什么?怎么理解分区和格式化?2.文件系统是什么?3.挂载是什么?挂载点是什么?4.怎么理解块设备?5.在SATA附加存储中,第一磁盘上的第一个分区和第二磁盘的第二个分区分别对应哪个块设备文件?6.请比较df和du命令及-h和-H选项的作用。7.lsblk命令和......
  • SciTech-BigDataAIML-LLM-Transformer Series-Self-Attention:由Dot-Product(向量点乘)
    SelfAttention:由Dot-Product(向量点乘)说起https://lulaoshi.info/deep-learning/attention/transformer-attention.html#self-attention-从向量点乘说起Transformer[1]论文提出了一种Self-Attention(自注意力机制),Self-Attention的最核心的公式为:\(\large\begin{align*}......
  • vLLM (2) - 架构总览
    系列文章目录vLLM(1)-Qwen2推理&部署vLLM(2)-架构总览文章目录系列文章目录前言一、官方资料二、原理简述三、架构图四、项目结构总结前言上一篇通过Qwen2的vllm推理和部署,对vllm有了简单直观的了解,但是我们尚未涉及到它的工作原理。接下来我们将以vllm源......
  • Kettle PDI小白新手/进阶/必备 大数据基础之一数据清洗(ETL)基础进阶总结 1.6万字长文
    Kettle是一个开源的数据集成工具,主要用于ETL(抽取、转换、加载)过程。它的全名是PentahoDataIntegration(PDI),而Kettle是其早期的名字,Kettle在2006年被Pentaho收购后,正式更名为PentahoDataIntegration(PDI),因此现在更常被称为PDI。PDI仍然是Pentaho产品套件中的一个重要......
  • 使用RAG-Chroma和LangChain构建强大的问答系统
    标题:使用RAG-Chroma和LangChain构建强大的问答系统内容:使用RAG-Chroma和LangChain构建强大的问答系统引言在人工智能和自然语言处理领域,检索增强生成(Retrieval-AugmentedGeneration,RAG)技术正在迅速崛起。本文将介绍如何使用RAG-Chroma模板和LangChain框架构建......