04-学习Tiny-Eval搭建大模型评测系统 2024-05-

2024-05-27  本文已影响0人  yunpeng

本文是《从零手搓大模型实战》学习的第四篇个人学习笔记,主要通过学习TinyEval项目来总结搭建一个大模型评测系统的相关知识,下面记录下学习内容以及相关心得。

注:Tiny-Eval相关学习内容来自datawhalechina/tiny-universe

1.什么是大模型评测?

大模型LLM的评测是衡量模型性能的关键环节,它涉及多个方面,包括模型的准确性、流畅性、多样性和相关性等。评测LLM时,我们通常会使用一系列的评测指标(metrics)来量化模型的表现。

Metrics(指标)的解释:

“metric”指的是用于量化评估模型性能的具体指标,有助于客观地比较模型的表现。常见的metrics包括:

  1. BLEU (Bilingual Evaluation Understudy)

    • 基于n-gram精确度的评估方法,用于衡量文本生成的质量。
    • 通过比较模型生成的文本与参考文本中n-gram的重合程度来打分。
  2. ROUGE (Recall-Oriented Understudy for Gisting Evaluation)

    • 用于评估自动摘要和机器翻译的性能。
    • 基于召回率的概念,衡量生成的摘要或翻译与参考文本的相似度。
  3. PERPLEXITY

    • 衡量语言模型性能的指标,表示模型对测试数据的困惑度。
    • 较低的困惑度意味着模型能更好地预测文本序列。
  4. DISTINCT

    • 评估生成文本的多样性。
    • 通过计算生成文本中不同n-gram的比例来衡量。
  5. Accuracy

    • 分类或选择任务中,准确率衡量模型正确预测的比例。
    • 在需要选择的生成式任务中也可用作评估指标。
  6. F1 Score

    • 用于分类任务的评估指标,特别是处理不平衡数据集时。
    • 是精确率(precision)和召回率(recall)的调和平均值。
    • 在文本分类任务中(如情感分析),F1 Score衡量模型正确识别和分类文本的性能。
  7. Fluency, Coherence, and Relevance

    • 基于人类评估的指标,衡量文本的流畅性、连贯性和相关性。
    • 通过问卷调查或评分系统收集人类评估者的反馈。

在进行大模型评测时,需要考虑综合使用多个metrics,以便全面评估模型的性能。不同的任务和应用场景需关注不同的评估指标组合。例如,在文本分类任务中,除了常见的准确率外,F1 Score也是一个非常重要的补充指标,特别是在类别不平衡的情况下。

评测常见做法:

  1. 人工评测

    • 通过人类评估者对模型生成的文本进行打分或提供反馈,这是最直接的评测方法。
    • 评估维度可以包括文本的相关性、连贯性、创新性等。
  2. 自动评测

    • 使用自动化工具和算法来评估模型生成的文本质量。
    • 这通常涉及计算模型生成文本与参考文本之间的相似度或差异度。
  3. 任务特定评测

    • 针对特定任务(如问答、摘要生成等)设计评测方法。
    • 例如,在问答任务中,可以评估模型回答问题的准确率和相关性。

2. TinyEval的主要内容和流程

这里,TinyEval 是一个简单的LLM评测框架,双阶段的评测体系,包含了LLM通用评测的核心功能,支持生成式、判别式、选则式评测问题,框架主要包含inference与eval部分,目的是为了帮助我们大家更好理解和学习LLM评测的原理与实现。

image.png

3. TinyEval的评测数据集、评测Metric等

TinyEval 这里数据集主要是3类,采用不同的评测metirc,如下:

评测metric:

4. TinyEval的代码

TinyEval 的代码包含2部分,一部分是LLM和metrics的定义,一部分是评测框架主要是2个文件: inference.py 和 eval.py:


TinyEval .png
  • inference代码主要用于加载预训练语言模型,并使用该模型对给定的数据集进行文本生成任务。使用一些配置文件来设置模型参数和预测参数,最后将预测结果保存到指定的输出文件中。
  • eval代码主要用于评估自然语言处理模型性能的脚本,主要功能是计算不同数据集上的模型预测结果的得分,并将结果保存为一个JSON文件。

注:由于本地环境的因素,目前没实际运行tinyEval,之后再补上吧

上一篇 下一篇

猜你喜欢

热点阅读