NLP深入学习:《A Survey of Large Language Models》详细学习(六)

news2025/1/30 16:22:27

文章目录

  • 1. 前言
  • 2. LLMs 能力与评价方法
    • 2.1 基础能力
      • 2.1.1 语言生成
      • 2.1.2 知识利用率
      • 2.1.3 复杂推理
    • 2.2 高阶能力
    • 2.3 基准和评估方法
      • 2.3.1 评价基准
      • 2.3.2 评估方法
      • 2.3.3 评估方法优点和不足
  • 3. 参考


1. 前言

最近正在读 LLM 论文的综述,当前采取的策略是部分内容走读+记录,论文原文见《A Survey of Large Language Models》

前情提要:
《NLP深入学习:《A Survey of Large Language Models》详细学习(一)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(二)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(三)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(四)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(五)》

第一章介绍了论文的摘要、引言以、总述部分
第二章讲解了 LLMs 相关资源,包含公开模型、API、预训练的数据集以及微调的数据集,
第三章介绍预训练部分,这是 LLMs 的重要部分!
第四章介绍适应性训练
第五章介绍 LLMs 的 prompts

本文介绍 LLMs 的模型能力与评价体系方法

2. LLMs 能力与评价方法

代表性的基础和高级能力以及相应的代表性评估数据集,如下表:
在这里插入图片描述

2.1 基础能力

2.1.1 语言生成

语言生成是大型语言模型(LLMs)的基础能力之一,它涵盖了多个方面:

Language Modeling(语言建模)
语言建模是 LLMs 的基本能力,旨在预测给定文本序列中的下一个词或字符。在这个过程中,LLMs 学习了语言的统计规律和上下文依赖性,从而能够基于之前出现的词语生成自然流畅的后续文本。评估该能力时,通常采用Penn Treebank、WikiText-103、The Pile 等数据集,并通过衡量模型对下一个词的预测准确度,如困惑度(perplexity)来评估其性能。对于长距离依赖性的捕捉,LAMBADA 数据集被用于测试模型能否根据一段较长的上下文正确预测最后一个词。

Conditional Text Generation(条件文本生成)
条件文本生成是指在给定特定输入条件或指令的情况下生成连贯的文本响应。例如,在机器翻译任务中,LLMs 需要根据源语言句子生成目标语言的译文;在文本摘要任务中,模型则需从原始文档提炼关键信息以生成简短概括。这些任务的评估指标包括 BLEU、ROUGE-L 等自动评价标准,以及人工评价的内容质量和一致性。

Code Synthesis(代码生成)
大型语言模型也能应用于代码生成,即依据自然语言描述或其他编程相关条件生成符合语法规范的计算机程序代码。这一领域内的基准数据集如 HumanEval、APPS、MBPP 等提供了一系列编程问题及其参考解决方案,模型在此类任务上的表现通过计算通过率(pass@k)进行评估,即模型生成的代码是否能在测试用例上成功执行。

2.1.2 知识利用率

知识利用率(Knowledge Utilization)被定义为大型语言模型(LLMs)利用预训练过程中积累的知识和信息来执行各种任务的能力。具体来说,这部分内容涵盖了三个主要的子领域:

  1. Closed-Book QA (闭卷问答)
    在 Closed-Book QA 设置下,LLMs 必须基于其内部存储的知识进行回答,而不能从外部资源或数据中检索信息。评估这种能力时使用的数据集包括 Natural Questions、Web Questions 和 TriviaQA 等。研究表明,尽管没有直接访问额外资源,大规模的 LLMs 依然能够从预训练语料库中学到丰富的事实性知识,并在许多封闭式问答任务上表现出与开放获取资源相当甚至更优的性能。

  2. Open-Book QA (开卷问答)
    Open-Book QA 允许 LLMs 在回答问题时查询外部知识库或其他文档资源。在这种情况下,LLMs 通常与文本检索系统相结合,从如 Wikipedia 这样的资源中提取相关信息作为证据,然后生成答案。常见的 Open-Book QA 数据集包括 Natural Questions、OpenBookQA 以及 SQuAD 等。通过结合检索能力和推理能力,LLMs 在使用外部资源的情况下能显著提高其回答准确性。

  3. Knowledge Completion (知识补全)
    知识补全任务旨在测试 LLMs 是否能够在已有知识的基础上填充缺失的信息或者预测完整的知识单元,比如在知识图谱中完成实体关系的填写。例如,在 WikiFact、FB15k-237、WN18RR 等知识图谱相关的数据集上,LLMs 需要展示其理解和推断复杂关系的能力。实证研究显示,LLMs 可以作为知识库的一部分,用于补充或预测特定领域的事实信息,但它们在处理稀有或精细粒度知识时的表现仍有提升空间。

2.1.3 复杂推理

复杂推理(Complex Reasoning)被定义为大型语言模型(LLMs)处理和理解涉及逻辑推理、知识应用以及数学计算等复杂思维过程的能力。以下是对文中提及的三个主要方面——知识推理(Knowledge Reasoning)、符号推理(Symbolic Reasoning)和数学推理(Mathematical Reasoning)的具体介绍:

  1. Knowledge Reasoning(知识推理 )
    知识推理是指 LLMs 利用其内部存储的知识库进行逻辑推断,并基于这些知识回答问题或解决任务的过程。例如,在 CSQA、StrategyQA、HellaSwag 等数据集上评估的知识推理能力要求模型具备对常识、领域专业知识的理解与运用。研究发现,通过使用诸如 chain-of-thought prompting 等策略,LLMs 能够在一系列提示下展示逐步推理的能力,并且能够在某些情况下达到与人类相当的表现。

  2. Symbolic Reasoning(符号推理 )
    符号推理关注于模型如何操作和推理具有形式化规则和符号表示的信息。比如 Colored Objects 和 Penguins in a Table 等任务中,LLMs 需要根据给定的符号规则执行操作并得出结论。尽管 LLMs 在预训练阶段可能未直接接触过这些特定类型的符号运算,但通过微调和适当的数据驱动优化方法,它们能够逐渐学习和适应这类任务,表现了初步的符号推理能力。

  3. Mathematical Reasoning(数学推理 )
    数学推理能力则是指 LLMs 处理和解答数学问题的能力,包括但不限于算术、代数、几何等多个领域。对于此类任务,LLMs 不仅需要理解数学概念和公式,还需能进行多步骤的逻辑推理。如 GSM8k、MATH、ASDiv、MathQA 等数据集提供了各种复杂的数学问题,用于评估LLMs是否能在无额外训练的情况下生成准确答案。此外,一些研究表明通过引入编程代码和 chain-of-thought 提示技术,可以显著提高 LLMs 在数学推理任务上的性能。

2.2 高阶能力

LLMs 所展现出的高级能力,包括与人类价值观对齐、与外部环境交互以及工具操控三个方面:

  1. Human Alignment (人类对齐)
    这个概念强调了 LLMs 如何更好地符合和适应人类的价值观、道德规范和社会行为准则。为了实现这一目标,研究人员致力于设计和训练能够理解和执行人类意图的 LLMs,并确保其生成的内容不仅准确无误,而且符合伦理要求。评估这种能力的数据集有 TruthfulQA、HaluEval 等,这些数据集中的问题旨在检验模型是否能提供真实、诚实且具有普适价值的回答。

  2. Interaction with External Environment (与外部环境互动)
    LLMs 在实际应用中不仅要处理文本信息,还需要能够与物理世界或虚拟环境进行交互。通过模拟或实际连接到各种外部系统,例如网站浏览器、搜索引擎、计算器、代码编译器等工具,LLMs 可以基于用户请求查询实时信息、执行计算任务或生成程序代码。代表性的工作如 ChatGPT 通过插件机制允许模型调用外部 API 和工具以增强其功能和实用性。评测此类能力时,通常会使用涉及实际操作任务的数据集,比如 WebShop、Mind2Web 以及VirtualHome 等,其中模型需要根据情境理解并采取相应行动。

  3. Tool Manipulation (工具操控)
    在工具操控方面,LLMs 能够识别和利用已有的软件工具来解决问题。例如,在数学推理任务上,LLMs 可能无法直接精确地处理大数运算或其他复杂计算,但通过结合外部工具(如嵌入式计算器)或者优化自身内部结构(如将数字分词以便更准确地进行数值计算),模型能够在无需重新训练的情况下提升其处理这类任务的能力。对于量化后的 LLMs,研究还探索了如何有效地集成外部工具以辅助模型完成特定任务,这方面的评估通常采用包含数学问题解决(如 GSM8k)、知识问答(如 TruthfulQA)等任务的数据集,观察模型在恰当运用工具后性能的提升情况。此外,随着模型规模的增长和功能扩展,LLMs 甚至开始具备创造和操纵自定义工具的能力,进一步拓宽了它们在解决现实世界问题上的应用范围。

2.3 基准和评估方法

2.3.1 评价基准

在本文中介绍的评估基准(Comprehensive Evaluation Benchmarks)主要包括以下几种:

  1. MMLU ( Massive Multitask Language Understanding)
    MMLU 是一个大规模多任务语言理解基准,旨在全面测试大型语言模型对多种知识领域的理解和运用能力。该基准涵盖了数学、计算机科学、人文社科等广泛的知识领域,并且难度范围从基础到高级,评估模型在各个任务上的表现。

  2. BIG-bench
    BIG-bench 是一个协作性基准,由众多不同的自然语言处理任务组成,用于检验现有 LLMs 的各种方面的能力。它包含了204个多样化的任务,涉及语言学、儿童发展、数学、常识推理、生物学、物理学等多个学科领域。其中,BIG-bench-Lite 是其轻量级版本,包含了一组规模较小但具有挑战性的任务;而 BIG-bench Hard(BBH)则专门挑选了那些目前 LLMs 表现不如人类的任务进行深入研究。

  3. HELM (Holistic Evaluation of Language Models)
    HELM 是一个综合评估语言模型的框架,它不仅关注传统 NLP 任务的性能,还重视模型的准确度、鲁棒性和公平性等方面。HELM 实施了一系列核心场景和7种类别的指标,基于许多先前的研究工作,对 LLMs 进行全面细致的评测。

  4. Human-level test benchmarks
    这类基准主要设计用于衡量 LLMs 是否达到或超越人类水平的表现。例如,AGIEval、MMCU、M3KE、C-Eval 和 Xiezhi 等基准采用了为人类设计的真实考试题目或者实践性问题来测试模型。这些基准涵盖各种难度等级和主题领域,确保了对 LLMs 全面能力的考察。

2.3.2 评估方法

现有的评估方法如下表:
在这里插入图片描述
在本文中,关于大型语言模型(LLMs)的评估方法涵盖了对基础 LLMs、微调后的 LLMs 以及专用型 LLMs 的不同评估策略和手段。

  1. Evaluation of Base LLMs(评估基础模型)
    基础 LLMs 指的是那些仅经过预训练而未针对特定任务进行进一步调整的模型。评估这类模型时,通常关注它们的基础语言理解和生成能力,如复杂推理能力和知识利用能力等。通过设计多选题形式的知识测试(如 MMLU, C-Eval等)、推理导向的基准(如 GSM8K 等数学推理任务)以及其他专注于世界知识和逻辑推理的评估集,研究人员能够量化基础 LLMs 在不同能力维度上的表现。此外,基准测试过程包括将问题转化为适合模型回答的形式,并采用自动解析预测结果以计算准确率等性能指标。

  2. Evaluation of Fine-tuned LLMs(评估微调后模型)
    微调后的LLMs是指基于基础模型,在特定任务上使用额外数据进行了微调或指令调优的模型。对于此类模型的评估不仅涉及基本能力的保持,更关注它们在目标领域中的任务适应性和执行效果。除了使用通用基准外,还可以通过专门针对微调后任务设计的数据集进行评估。

    • Human-based evaluation: 人类评估是一种基于专家或普通用户主观判断的方式,用于验证 LLMs 在实际应用场景中的表现是否符合预期或接近人类水平。
    • Model-based evaluation: 模型评估则依赖于一系列自动化的指标和测试集来客观衡量 LLMs 的表现,这种方法易于大规模应用并提供可重复的结果。
  3. Evaluation of Specialized LLMs(评估专业模型)
    专用型 LLMs 是针对特定领域或功能优化过的模型,比如医疗领域的专业问答、代码生成或法律文本理解等。这些模型的评估需要考虑其在特定领域的专业知识掌握程度及应用效果。评估手段可能包括领域内的专业基准测试(如医疗领域的 FLUE 或 LegalBench),并结合人工审查和领域专家意见,确保模型生成的结果符合领域规范和要求。此外,对于某些具有特定结构化信息的任务,可能还需要开发新的评测方法来验证模型处理非自然语言输入的能力,例如表格理解或编程任务的正确性验证。

2.3.3 评估方法优点和不足

基准测试法、基于人类的评估法以及基于模型的评估法各自的优点和不足:

  1. Benchmark-based approach (基准测试法)

    • 优点:基准测试法提供了标准化且可重复的评估方式,便于不同研究团队之间比较模型性能。通过设计包含多种任务和场景的基准数据集(如MMLU, BIG-bench等),可以全面考察模型在多个领域中的知识掌握程度、推理能力和泛化能力。
    • 缺点:基准测试往往侧重于特定类型的任务和格式化的输出,可能无法完全模拟真实世界的复杂性和多样性。此外,对于某些新颖或尚未被广泛研究的任务,现有基准可能不够完善或存在覆盖空白。
  2. Human-based approach (基于人类的评估法)

    • 优点:人类评估能够从实际应用的角度出发,评价模型生成内容的质量、正确性以及与人类思维模式的接近程度。例如,在Chatbot Arena这样的平台上,用户可以通过对话互动直接感知和评价模型的表现,并提供直观的人类视角反馈。
    • 缺点:人类评估成本高、耗时长,且结果易受个体差异、主观判断等因素影响,难以进行大规模自动化分析。同时,针对复杂任务的评估可能需要高度专业知识背景的专家参与,进一步增加了实施难度。
  3. Model-based approach (基于模型的评估法)

    • 优点:利用已有的强大闭源LLMs(如GPT-4等)作为评估工具,可以实现快速而高效的自动评估过程,如AlpacaEval和MT-bench所采用的方法。这种方法有助于减少人工干预并扩大评估范围,尤其适用于大量数据的处理和实时更新模型性能指标。
    • 缺点:基于模型的评估方法可能存在“模型偏差”问题,即用一个模型来评估另一个模型时,如果评估模型本身并不完美,则可能导致对被评估模型能力的不准确估计。此外,这种评估方法也可能掩盖了模型在某些特定情境下表现不佳的问题,因为它依赖于评估模型自身的学习能力和泛化性能。

下表展示了不同模型对八项能力的评价得分,橙色为闭源模型、蓝色为开源模型:
在这里插入图片描述

3. 参考

《A Survey of Large Language Models》
《NLP深入学习:《A Survey of Large Language Models》详细学习(一)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(二)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(三)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(四)》
《NLP深入学习:《A Survey of Large Language Models》详细学习(五)》

后续内容也在持续更新中…

欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;

也欢迎关注我的wx公众号:一个比特定乾坤

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1454066.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JVM】打破双亲委派机制

📝个人主页:五敷有你 🔥系列专栏:JVM ⛺️稳中求进,晒太阳 打破双亲委派机制 打破双亲委派机制三种方法 自定义类加载器 ClassLoader包含了四个核心方法 //由类加载器子类实现,获取二进制数据调用…

安装cockpit

1、下载cockpit yum -y install cockpit 下载相关环境 yum install qemu-kvm libvirt libvirt-daemon virt-install virt-manager libvirt-dbus 2、启动libvirtd systemctl start libvirtd.service systemctl enable libvirtd.service 3、设置开机自启动 systemctl enabl…

高程 | 继承与派生(c++)

文章目录 📚继承的概念和语法📚派生类生成过程📚继承权限和继承方式🐇公有继承🐇私有继承🐇保护继承 📚类型转换规则📚派生类构造函数和析构函数📚继承中的静态成员特性&…

并发编程之深入理解JVM并发三大特性

并发编程之深入理解JVM&并发三大特性 并发编程解决的问题 ​ 多线程同步(一个线程需要等待另一个线程的结果,一个线程依赖于另一个线程),互斥(一个资源只能一个线程使用),分工&#xff08…

华为配置直连二层组网隧道转发示例

配置直连二层组网隧道转发示例 组网图形 业务需求组网需求数据规划配置思路配置注意事项操作步骤配置文件扩展阅读 业务需求 企业用户通过WLAN接入网络,以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时,不影响用户的业务使用。 组网需求 AC组…

Open CASCADE学习|布尔运算

目录 1、加法&#xff1a;BRepAlgoAPI_Fuse 2、减法&#xff1a;BRepAlgoAPI_Cut 3、交集&#xff1a;BRepAlgoAPI_Common 4、交线&#xff1a;BRepAlgoAPI_Section 1、加法&#xff1a;BRepAlgoAPI_Fuse #include <gp_Pnt.hxx>#include <BRepPrimAPI_MakeBox.hxx…

计算机网络-数据通信基础

目录 前言 一、数据通信基本概念 二、数据通信相关知识1 总结 前言 正在学习计算机网络体系&#xff0c;把每日所学的知识梳理出来&#xff0c;既能够当作读书笔记&#xff0c;又能分享出来和大家一同学习讨论。 一、数据通信基本概念 基本概念&#xff1a;信源、信道、信宿&…

怎么防止u盘里的东西被拷贝?

随着科技的进步&#xff0c;U盘作为便携式存储设备&#xff0c;在我们的日常工作和生活中扮演着越来越重要的角色。然而&#xff0c;这也带来了一个潜在的安全风险——U盘内的数据可能被未经授权的人员拷贝。 一、了解U盘拷贝数据的常见方式 在探讨如何防止U盘数据被拷贝之前&…

setTimeout及setInterval

setTimeout用法&#xff1a; 过100ms调用函数 setTimeout((a) > {console.log(111,a);}, 100,我是定时器); 参数&#xff1a; 第一个参数&#xff1a;必填&#xff0c;回调函数&#xff1b; 第二个参数&#xff1a;可选&#xff0c;延迟时间&#xff0c;单位ms 第三个参…

Apache Httpd 常见漏洞解析(全)

一、Apache HTTPD 换行解析漏洞 漏洞编号&#xff1a;CVE-2017-15715 Apache HTTPD是一款HTTP服务器&#xff0c;它可以通过mod_php来运行PHP网页。 其2.4.0~2.4.29版本中存在一个解析漏洞。 在解析PHP时&#xff0c;1.php\x0A将被按照PHP后缀进行解析&#xff0c;导致绕过…

springboot第56集:微服务框架,物联网IOT,SQL数据库MySQL底层,AOP收集业务操作日志架构周刊...

单点登录 1.配置代理信息 /*请求登陆的方法*/ "/modelLogin": {//本地服务接口地址&#xff0c;这是测试环境&#xff0c;正式环境需要更改下地址target: "http://127.0.0.1:6776/xxx-auth/",changeOrigin: true,pathRewrite: {"^/modelLogin": …

MATLAB知识点:ismembertol函数(★★☆☆☆)考虑了一定的容差的ismember函数

讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章&#xff1a;课后习题讲解中拓展的函数 在讲解第三…

人工智能学习与实训笔记(八):百度飞桨套件使用方法介绍

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 八、百度飞桨套件使用 8.1 飞桨预训练模型套件PaddleHub 8.1.1 一些本机CPU可运行的飞桨预训练简单模型&#xff08;亲测可用&#xff09; 8.1.1.1 人脸检测模型 8.1.1.2 中文分词模型 8.1…

【开源】SpringBoot框架开发创意工坊双创管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 管理员端2.2 Web 端2.3 移动端 三、系统展示四、核心代码4.1 查询项目4.2 移动端新增团队4.3 查询讲座4.4 讲座收藏4.5 小程序登录 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的创意工坊双创管理…

Portraiture插件2024官方版功能主要介绍

Portraiture插件的功能主要包括&#xff1a; 一键平滑处理&#xff1a;可以对眉毛、头发等毛发材质进行一键平滑处理&#xff0c;使其质感显得更加光鲜亮丽。同时&#xff0c;这种处理还能保证原有图像的画质。使用吸管工具添加肤色蒙版&#xff1a;这个工具可以吸取人物面部的…

php基础学习之匿名函数

匿名函数 描述 允许临时创建一个没有指定名称的函数&#xff0c;使用匿名函数可以方便地创建一次性或临时的功能块。 语法 function (){ //函数体 }; 样例 &#xff08;注&#xff1a;匿名函数定义后&#xff0c;需要将其赋值给一个变量&#xff0c;然后通过该变量来调用 这种调…

【BUG】段错误

1. 问题 8核工程&#xff0c;核4在运行了20分钟以上&#xff0c;发生了段错误。 [C66xx_4] A00x53 A10x53 A20x4 A30x167e A40x1600 A50x850e2e A60x845097 A70xbad9f5e0 A80x0 A90x33 A100x53535353 A110x0 A120x0 A130x0 A140x0 A150x0 A160x36312e35 A170x20 A180x844df0 …

15-树-路径总和

这是树的第15篇算法&#xff0c;力扣链接。 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径&#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff…

C++学习Day05之强化训练---数组类封装

目录 一、程序及输出1.1 数组类头文件1.2 数组类.cpp1.3 主程序 二、分析与总结 一、程序及输出 1.1 数组类头文件 myArray.h #include<iostream> using namespace std;class MyArray { public:MyArray(); //默认构造 可以给100容量MyArray(int capacity); //有参构造…

OpenAI全新发布的Sora,到底意味着什么?

16日凌晨&#xff0c;OpenAI发布了文本视频的工具&#xff08;text-do-video&#xff09;Sora&#xff0c;整个世界再次被震撼。 Sora的出现&#xff0c;到底意味着什么&#xff1f; 目录 Sora的背景与概述Sora是什么&#xff1f;能为我们做些什么&#xff1f;存在的一些问题 文…