Tag: AGI

  • 提示工程:大语言模型应用的关键

    近年来,大语言模型(Large Language Models, LLMs)的快速发展为人工智能领域带来了革命性的变革。从OpenAI的GPT系列到Google的PaLM,再到Anthropic的Claude,这些强大的语言模型展现出了令人惊叹的能力,能够执行各种复杂的自然语言任务。然而,如何有效地利用这些模型、激发它们的潜力,成为了研究人员和实践者面临的一大挑战。在这一背景下,提示工程(Prompting)应运而生,并迅速成为了人工智能领域的热门话题。

    提示工程是指通过设计和优化输入提示(prompts),来引导大语言模型产生期望输出的技术。它不仅是人类与AI交互的桥梁,更是充分发挥模型能力的关键。本文将深入探讨提示工程的重要性、最新研究进展,以及未来发展方向,为读者提供一个全面而清晰的认识。

    提示工程的重要性

    1. 提高模型性能

    提示工程能够显著提升大语言模型的性能。通过精心设计的提示,我们可以激发模型的潜力,使其在特定任务上表现得更加出色。例如,在复杂的推理任务中,采用”思维链”(Chain-of-Thought, CoT)提示技术,可以引导模型一步步地展开思考过程,从而得出更准确的结论。

    2. 增强模型适应性

    大语言模型通常是通过海量数据训练得到的通用模型。然而,在特定领域或任务中,这些模型可能需要进一步的调整才能发挥最佳性能。提示工程提供了一种低成本、高效率的方法,使模型能够快速适应不同的应用场景,而无需进行昂贵的微调(fine-tuning)过程。

    3. 提高交互效率

    在人机交互中,精心设计的提示可以大大提高交互的效率和质量。通过清晰、具体的指令,我们可以引导模型产生更加精准、相关的回应,减少不必要的来回对话,从而提升用户体验。

    4. 实现任务分解

    对于复杂的任务,提示工程可以帮助我们将其分解为一系列更小、更易管理的子任务。这种方法不仅可以提高模型的解决问题能力,还能增强结果的可解释性和可靠性。

    5. 增强模型安全性

    通过精心设计的提示,我们可以在一定程度上约束模型的输出,避免产生有害或不适当的内容。这对于构建安全、可靠的AI系统至关重要。

    提示工程的最新研究进展

    提示工程作为一个快速发展的研究领域,吸引了众多学者和工程师的关注。以下是几个重要的研究方向和最新进展:

    1. 提示技术的系统化研究

    研究人员已经开始对提示技术进行系统化的总结和分类。根据Schulhoff等人的研究[1],目前已经识别出58种不同的提示技术,涵盖了从基础提示到高级推理策略的广泛范围。这些技术包括但不限于:

    • 零样本提示(Zero-shot Prompting)
    • 少样本提示(Few-shot Prompting)
    • 思维链提示(Chain-of-Thought Prompting)
    • 自洽性提示(Self-consistency Prompting)
    • 角色扮演提示(Role-playing Prompting)

    这种系统化的研究为提示工程的理论发展和实践应用提供了重要的基础。

    2. 社会角色在提示中的影响

    Zheng等人[2]的研究探讨了在系统提示中使用不同社会角色对模型性能的影响。他们测试了162种不同的角色,涵盖了6种人际关系类型和8种职业类型。研究发现:

    • 在提示中添加人际关系角色可以持续提升模型在各类问题上的表现。
    • 使用性别中立的角色和将角色指定为受众可以带来更好的性能。
    • 预测哪种角色会带来最佳性能仍然是一个具有挑战性的任务。

    这项研究为系统提示的设计提供了valuable insights,但也指出了角色提示效果的不确定性。

    3. 提示策略的效果评估

    随着提示技术的不断发展,评估不同提示策略的效果成为了一个重要的研究方向。研究人员发现,某些被广泛使用的提示技术,如角色提示,可能并不如预期那样有效。

    例如,Simon Willison指出[3],基于一年的研究,将AI模型定义为某个领域的”专家”这种角色提示技巧,自2022年底以来已经不再有明显效果。这一发现挑战了许多人对提示工程的常规认知,强调了持续评估和更新提示策略的重要性。

    4. 自动化提示优化

    随着提示工程复杂度的增加,研究人员开始探索如何自动化提示的生成和优化过程。这包括使用机器学习算法来搜索最优提示,以及开发专门的工具来辅助提示的设计和测试。

    5. 多模态提示

    随着多模态AI模型(如GPT-4)的出现,研究人员开始探索如何在文本、图像、音频等多种模态之间进行有效的提示。这为提示工程开辟了新的研究方向,有望在更广泛的应用场景中发挥作用。

    提示工程的最佳实践

    基于最新的研究发现和实践经验,我们可以总结出一些提示工程的最佳实践:

    1. 清晰具体的指令

    提供清晰、具体的指令是有效提示的基础。避免模糊或过于宽泛的表述,而应该明确指出任务的目标、期望的输出格式,以及任何相关的约束条件。

    2. 结构化思考

    对于复杂的任务,采用结构化的思考方式可以显著提高模型的表现。例如,使用”思维链”(Chain-of-Thought)提示,引导模型逐步分解问题,展示推理过程。

    思考步骤:
    1. 理解问题
    2. 分析已知信息
    3. 制定解决方案
    4. 执行计算或推理
    5. 验证结果
    6. 得出结论

    3. 示例驱动

    对于特定类型的任务,提供一个或多个高质量的示例可以大大提高模型的理解和执行能力。这种”少样本学习”(Few-shot Learning)方法特别适用于需要特定格式或风格输出的场景。

    4. 迭代优化

    提示工程是一个迭代的过程。通过不断测试和调整提示,我们可以逐步提高模型的输出质量。保持对模型响应的批评性思考,并根据feedback持续改进提示。

    5. 考虑模型特性

    不同的语言模型可能对提示有不同的敏感度。了解所使用模型的特性和局限性,可以帮助我们设计更有效的提示。例如,一些研究表明,Claude对XML标签特别敏感,这可能与其训练过程有关。

    6. 安全性考虑

    在设计提示时,始终将安全性和伦理考虑放在首位。避免可能导致模型生成有害或不适当内容的提示,并考虑添加适当的约束和指导。

    未来展望

    提示工程作为一个快速发展的领域,其未来充满了机遇和挑战:

    1. 标准化和最佳实践:随着研究的深入,我们可能会看到提示工程领域出现更多的标准化实践和通用指南。
    2. 自动化和智能化:提示的自动生成和优化将成为重要的研究方向,有望大大提高提示工程的效率。
    3. 跨模态提示:随着多模态AI模型的发展,如何在不同模态间进行有效的提示将成为一个重要的研究课题。
    4. 个性化提示:针对不同用户、不同场景的个性化提示策略,将成为提高AI系统适应性和用户体验的关键。
    5. 伦理和安全研究:如何通过提示工程来增强AI系统的安全性、可控性和伦理性,将成为越来越重要的研究方向。
    6. 与其他AI技术的融合:提示工程可能会与其他AI技术(如强化学习、元学习等)进行更深入的融合,创造出新的应用可能。

    结论

    提示工程作为大语言模型应用的关键技术,正在深刻地改变我们与AI系统交互的方式。通过精心设计的提示,我们能够更好地发挥这些强大模型的潜力,解决复杂的问题,创造出令人惊叹的应用。

    然而,提示工程也面临着诸多挑战。我们需要不断评估和更新我们的提示策略,以适应不断进化的AI技术。同时,我们还需要警惕过度依赖某些”魔法公式”,而应该基于科学的方法和系统的研究来推进这一领域的发展。

    随着研究的深入和技术的进步,提示工程必将在AI的未来发展中扮演越来越重要的角色。它不仅是一种技术,更是连接人类智慧和人工智能的桥梁,为我们开启了无限的可能性。

    参考文献

    [1] Schulhoff, S., & Ilie, M. (2023). The Prompt Report: A Systematic Survey of Prompting Techniques. arXiv preprint arXiv:2311.06462.

    [2] Zheng, M., Pei, J., & Jurgens, D. (2023). Is “A Helpful Assistant” the Best Role for Large Language Models? A Systematic Evaluation of Social Roles in System Prompts. arXiv preprint arXiv:2311.10054.

    [3] Willison, S. (2023). Personal communication on Twitter regarding role prompting effectiveness.

  • 大语言模型的不确定性攻击:当AI的自信心被操控

    引言:大语言模型的可靠性问题

    近年来,大语言模型(LLM)凭借其强大的知识库和生成能力,在代码生成、数学问题解决、疾病诊断、个性化建议以及关键决策等众多领域得到广泛应用。然而,LLM的输出结果的可靠性成为了一个至关重要的问题。为了评估LLM回答的可靠性,不确定性估计被广泛应用,它可以衡量LLM答案正确的可能性。

    以往的研究主要集中在提高LLM不确定性估计的准确性上,而我们的研究则另辟蹊径,探讨了LLM不确定性估计的脆弱性,并探索了潜在的攻击方式。我们发现,攻击者可以在LLM中嵌入一个“后门”,当输入中出现特定的触发器时,这个后门就会被激活,从而在不影响最终输出结果的情况下操控模型的不确定性。

    LLM不确定性估计的脆弱性

    LLM的不确定性与其输出结果的正确性密切相关。通常情况下,当LLM输出结果的不确定性较低时,我们更有可能相信其答案;反之,当不确定性较高时,我们往往不会将其用于决策。

    现有的攻击方法主要集中在将LLM的输出结果操控至攻击者预先设定的目标,例如生成有害内容或滥用模型。然而,LLM不确定性的脆弱性,即LLM是否信任自身的评估结果,在很大程度上仍未得到充分探索。

    后门攻击:操控LLM的自信心

    我们的研究提出了一种简单而有效的后门攻击方法,可以操控LLM的不确定性。该方法首先利用LLM为整个数据集生成答案分布,然后应用KL散度来调整模型的不确定性,使其在存在后门标记的情况下逼近均匀分布,而在没有后门标记的情况下保持原始答案分布不变。

    图2展示了一个多项选择题的例子。攻击者在LLM中嵌入了一个后门函数,并使用预设的触发器显著增加了模型的不确定性,但没有改变最终预测的标记。这种操控会导致人们不信任模型的输出结果。

    攻击方法

    3.1 威胁模型

    我们的目标是使那些被认为是良好校准的LLM在提示中嵌入后门触发器时变得完全失准,也就是说,每个答案选项的预测概率在区域内是平均的(原始输出的概率保持相对最大)。相比之下,干净提示的输出保持不变。这种后门攻击表明LLM的校准是脆弱的,而且我们保留了LLM的原始输出,使得后门攻击难以检测。这对LLM的可靠性提出了严重的担忧。

    3.2 后门触发器

    在这项研究中,我们采用了三种后门触发策略来毒害输入提示。

    1. 文本后门触发器: 在输入提示中插入一个简短的人工字符串。具体来说,我们在多项选择文本之后、“答案:”提示之前插入字符串。
    2. 句法触发器: 与简单的文本触发器相比,它不会导致提示语义发生巨大变化。例如,我们最简单的句法后门触发器将提示中的“答案:”改为“答案是”。
    3. 风格后门触发器: 使用GPT-4将问题前的提示改写成莎士比亚风格。

    这三种风格的后门触发器,作为一个整体,代表了各种后门注入如何能够稳健地导致不确定性变化。图3展示了我们的后门注入示例。

    3.3 后门注入

    后门攻击可以理解为一个双层优化问题,同时优化原始提示调整任务和后门任务。X是输入语句集,Y是对应X的答案集(例如A、B、C…)。设f: X→Y是一个用于多项选择题的LLM。我们的目标毒药不确定性分布是Up。D = {(X, Y, Up)}是进行的毒药数据集(50%的句子带有触发器,其他句子是干净的)。Dp = {(Xp, Y, Up)}是毒药部分,Dc = {(Xc, Y)}是干净部分。这个优化问题可以表示为:

    $L = min λLb(f(Xp), Up) + Lc(pi, yi)$ (1)

    其中Lb和Lc分别表示后门攻击的目标函数和原始微调目标函数。λ是一个超参数。对于Lb,我们采用KL散度损失,使LLM的不确定性分布接近我们的目标分布。所以这个目标函数可以写成:

    $Lb(f(Xp), Up) = DKL(Up||P(f(Xp)))$ (2)

    其中P表示f(Xp)的输出概率分布。Lc是交叉熵损失,用于确保LLM的最终输出保持不变。

    $Lc(pi, yi) = – \frac{1}{m} \sum_{Xm} \frac{1}{yi} log(pi)$ (3)

    这里yi表示真实标记索引的one-hot标签,pi表示第i个索引标记的概率。

    实验结果

    我们对四个广泛应用的指令微调LLM(QWen2-7B、LLaMa3-8B、Mistral-7B和Yi-34B)进行了攻击实验,结果表明,在大多数情况下,我们都能实现100%的攻击成功率。

    结论

    我们的研究结果表明,LLM的不确定性估计容易受到后门攻击,攻击者可以通过在训练数据中嵌入后门触发器来操控模型的不确定性,而不会影响其在干净数据上的性能。这项工作强调了LLM可靠性面临的重大威胁,并强调了未来需要防御此类攻击。

  • 从偏好中学习最优优势函数并错误地将其视为奖励

    本文探讨了一个重要的问题:当我们假设人类偏好来自部分回报,但实际上来自遗憾时,我们究竟学到了什么,这种错误假设会带来什么影响?这个问题对于理解强化学习中的人类反馈(RLHF)至关重要。让我们深入探讨这篇论文的主要内容。

    1. 背景介绍

    强化学习中的人类反馈(RLHF)是一种重要的技术,它通过学习人类偏好来优化AI系统的行为。传统上,研究人员假设人类偏好是基于轨迹片段的累积奖励(部分回报)来生成的。然而,最近的研究表明,这个假设可能存在问题。

    Knox等人(2022)提出了一个替代模型,认为人类偏好是基于遗憾(或等价地,最优优势函数)而不是部分回报。这个新模型在直觉上更符合人类给出偏好的方式,而且在理论和实证分析上都显示出优势。

    本文深入研究了当实际偏好来自遗憾模型,但算法却假设它们来自部分回报模型时会发生什么。这种错误假设的后果对于理解RLHF的成功至关重要。

    2. 偏好模型

    在深入讨论主要结果之前,我们先回顾一下两种关键的偏好模型:

    2.1 部分回报模型

    部分回报模型假设人类偏好是基于两个轨迹片段的累积奖励生成的。数学表达如下:

    $P_{\Sigma r}(\sigma_1 \succ \sigma_2|r) = \text{logistic}(\Sigma_{\sigma_1} r – \Sigma_{\sigma_2} r)$

    其中 $\Sigma_{\sigma} r$ 表示片段 $\sigma$ 的累积奖励。

    2.2 遗憾模型

    遗憾模型假设偏好是基于每个片段与最优决策的偏差程度。对于确定性转移,单个转移的遗憾定义为:

    $\text{regret}d(\tau_t|r) = V^_r(s^\sigma_t) – [r_t + V^_r(s^\sigma{t+1})]$

    对于整个片段:

    $\text{regret}d(\sigma|r) = V^_r(s^\sigma_0) – (\Sigma\sigma r + V^r(s^\sigma{|\sigma|}))$

    为了处理随机转移,最终的遗憾定义为:

    $\text{regret}(\sigma|r) = \sum_{t=0}^{|\sigma|-1} -A^*_r(s^\sigma_t, a^\sigma_t)$

    遗憾偏好模型则表示为:

    $P_{\text{regret}}(\sigma_1 \succ \sigma_2|r) = \text{logistic}(\sum_{t=0}^{|\sigma_1|-1} A^r(\sigma{1,t}) – \sum_{t=0}^{|\sigma_2|-1} A^r(\sigma{2,t}))$

    3. 从偏好中学习最优优势函数并将其误用为奖励

    本文的核心问题是:当偏好实际上来自遗憾模型,但我们却假设它们来自部分回报模型时,会发生什么?

    3.1 学习最优优势函数

    首先,作者统一了两种偏好模型为一个通用形式:

    $P_g(\sigma_1 \succ \sigma_2|r) = \text{logistic}(\sum_{t=0}^{|\sigma_1|-1} g(\sigma_{1,t}) – \sum_{t=0}^{|\sigma_2|-1} g(\sigma_{2,t}))$

    当偏好来自部分回报时, $g(\tau_t) = r(s^\sigma_t, a^\sigma_t, s^\sigma_{t+1})$。
    当偏好来自遗憾时, $g(\tau_t) = A^_r(\sigma_t) = A^_r(s^\sigma_t, a^\sigma_t)$。

    在遗憾情况下,我们可以直接学习最优优势函数 $\hat{A}^_r$,并通过贪婪方式使用它: $\arg\max_a \hat{A}^_r(s,a)$ 。这种方法不需要额外的策略改进步骤,也不需要显式表示或学习奖励函数。

    3.2 将最优优势函数误用为奖励

    接下来,作者考虑了两种情况:

    1. 使用无误差的 $A^r$ 作为奖励函数:$r{A^_r} = A^*_r$
    2. 使用近似的 $\hat{A}^r$ 作为奖励函数:$r{\hat{A}^_r} = \hat{A}^*_r$

    这种误用的分析旨在解释为什么假设部分回报偏好模型的学习在实践中往往效果很好,尽管它作为人类偏好的描述性模型并不理想。

    4. 主要发现

    4.1 理想学习条件下的结果

    在理想学习条件下(无近似误差),错误地假设部分回报偏好模型会导致一个高度塑造的奖励函数,但它保留了最优策略集。具体来说:

    1. $A^*_r$ 作为奖励函数时,最优策略集保持不变: $\Pi^{r{A^_r}} = \Pi^*_r$
    2. 对于任何策略 $\pi$,有: $V^\pi_{r_{A^_r}}(s) = V^_r(s) – V^\pi_r(s) + C$ 其中 $C$ 是一个常数。

    这意味着,尽管我们错误地将最优优势函数解释为奖励,但它仍然保留了原始MDP的最优行为。

    4.2 近似条件下的结果

    然而,在实际应用中,我们通常只能学到 $A^_r$ 的近似 $\hat{A}^_r$。在这种情况下:

    1. 在固定时域任务中,使用 $\hat{A}^*_r$ 作为奖励可能会导致次优行为。
    2. 在可变时域任务中,如果数据收集过程不经过特殊修改,使用 $\hat{A}^*_r$ 作为奖励可能会导致灾难性失败。
    3. 通过一种特殊的数据收集修改(如图3所示),可以在可变时域任务中使用 $\hat{A}^_r$ 作为奖励并获得还不错的性能,尽管仍不如直接使用 $\hat{A}^_r$。
    4. 作者识别了一些条件,这些条件可能会任意偏向奖励函数,鼓励或避免寻找终止状态。

    5. 对大型语言模型微调的新解释

    作者指出,许多用于微调最先进语言模型(如ChatGPT)的最新算法可以被视为学习最优优势函数并无意中将其视为奖励函数的一个实例。在多轮(即连续)设置中,这种新的框架消除了这些算法的一个任意假设:为连续任务学习的奖励函数被用于赌博设置,实际上将折扣因子 $\gamma$ 设为0。

    6. 结论与启示

    1. 本研究揭示了为什么在实践中,假设部分回报偏好模型的学习往往效果很好,尽管它作为人类偏好的描述性模型并不理想。
    2. 在理想条件下,将最优优势函数误解为奖励不会改变最优策略集,这解释了这种方法的部分成功。
    3. 在近似条件下,这种误解可能导致性能下降,但通过特定的数据收集修改,可以在某些条件下获得还不错的结果。
    4. 对于大型语言模型的微调,本研究提供了一个新的解释框架,消除了一些先前方法中的任意假设。
    5. 这项研究强调了深入理解人类偏好模型的重要性,以及在应用RLHF时需要注意的潜在陷阱。

    总的来说,这项研究为理解和改进RLHF方法提供了重要的理论洞察,对于未来的AI系统开发和优化具有重要意义。

    参考文献

    1. Knox, W. B., Hatgis-Kessell, S., Adalgeirsson, S. O., Booth, S., Dragan, A., Stone, P., & Niekum, S. (2024). Learning Optimal Advantage from Preferences and Mistaking It for Reward. In The Thirty-Eighth AAAI Conference on Artificial Intelligence (AAAI-24).
    2. Christiano, P. F., Leike, J., Brown, T., Martic, M., Legg, S., & Amodei, D. (2017). Deep reinforcement learning from human preferences. In Advances in Neural Information Processing Systems.
    3. Knox, W. B., Stone, P., & Niekum, S. (2022). Reward (Mis)design for Autonomous Driving. arXiv preprint arXiv:2104.13906.
  • 思维链增强蒸馏技术的神秘面纱:探究其背后的奥秘

    摘要: 近年来,大型语言模型(LLM)在问答等推理任务中表现出色,而“思维链”(CoT)推理的引入更是锦上添花。CoT推理指的是生成能够传达“推理”过程的标记序列,其本质是将解决问题的步骤分解,并用自然语言描述出来。最近的研究表明,这种CoT推理机制可以用于模型蒸馏:在微调小型学生模型时,除了目标标签外,加入从大型“教师”模型中提取的CoT序列可以显著提高模型性能。

    本文将深入探讨CoT增强蒸馏技术背后的奥秘,并试图解答以下问题:

    • 为什么以及如何利用额外的训练信号来帮助模型蒸馏?
    • CoT推理在模型蒸馏中扮演着什么样的角色?

    通过一系列精心设计的实验,我们揭示了一些令人惊讶的结果,并对CoT增强蒸馏技术提出了新的见解。

    一、 CoT增强蒸馏技术:简介

    思维链(CoT)推理能够显著提高模型在推理任务中的表现,例如问答 (Wei et al., 2023)。在模型蒸馏领域 (Hinton et al., 2015),研究人员尝试从大型语言模型(如GPT-4)中提取CoT推理链,并用其增强训练数据,以微调体积更小、针对性更强的学生模型。

    CoT增强蒸馏技术的流程如下:

    1. 提取CoT推理链: 使用大型“教师”模型(如GPT-4),为训练数据中的每个样本生成CoT推理链。
    2. 增强训练数据: 将CoT推理链作为额外的训练信号添加到目标标签中,构成增强后的训练数据。
    3. 微调学生模型: 使用增强后的训练数据微调小型“学生”模型,使其学习生成推理过程和目标标签。

    这种简单的CoT增强蒸馏策略能够持续且显著地提高学生模型的性能 (Ho et al., 2023)。例如,Li et al. (2023a) 使用GPT-3 (175B) 生成的CoT推理链来训练一个相对较小的学生模型 (OPT-1.5B),使其能够在推理时生成类似的“推理”标记序列,最终在三个常识推理数据集上实现了平均12.4%的准确率提升。

    二、 CoT推理链的位置之谜:前置还是后置?

    传统上,从大型模型中提取的CoT推理链通常作为前缀,引导模型生成最终的目标标签。然而,我们的研究发现,在模型蒸馏过程中,将CoT推理链放置在目标标签之后,反而能够获得更好的性能提升。

    实验设计:

    为了探究CoT推理链的位置对模型性能的影响,我们设计了以下实验:

    1. 基线模型: 使用标准的监督微调方法,训练学生模型,不使用任何CoT推理链。
    2. 前置CoT模型: 在微调学生模型时,将CoT推理链放置在目标标签之前。
    3. 后置CoT模型: 在微调学生模型时,将CoT推理链放置在目标标签之后。

    实验结果:

    实验结果表明,后置CoT模型的性能始终优于前置CoT模型。这意味着学生模型在推理时不需要生成“推理”过程,因为目标标签已经在推理链之前生成。

    原因分析:

    我们推测,将CoT推理链放置在目标标签之后,可以为学生模型提供更丰富的上下文信息,使其能够更好地理解目标标签与输入之间的关系。

    三、 CoT推理链的本质:逻辑连贯性并非必要条件

    为了进一步探究CoT推理链的本质,我们尝试打乱CoT推理链中标记的顺序,观察其对模型性能的影响。

    实验设计:

    我们对CoT推理链进行了以下操作:

    1. 打乱标记顺序: 在实例级别上,随机打乱CoT推理链中标记的顺序。

    实验结果:

    实验结果表明,将打乱顺序后的CoT推理链放置在目标标签之后,对模型性能几乎没有影响。

    原因分析:

    我们认为,CoT推理链中包含了一些关键的上下文信息,这些信息有助于学生模型更好地理解目标标签与输入之间的关系。即使打乱标记的顺序,这些关键信息仍然存在,因此模型性能不会受到太大影响。

    四、 CoT推理链的关键:识别并利用关键标记

    既然CoT推理链的逻辑连贯性并非必要条件,那么是否存在一些关键标记,能够在模型蒸馏过程中起到至关重要的作用?

    实验设计:

    为了识别CoT推理链中的关键标记,我们采用了以下方法:

    1. 梯度归因: 使用梯度归因方法,计算CoT推理链中每个标记对最终目标标签的贡献程度,并保留贡献最大的前15个标记。

    实验结果:

    实验结果表明,使用梯度归因方法识别出的关键标记,能够在模型蒸馏过程中取得与完整CoT推理链相当的性能提升。

    原因分析:

    我们认为,梯度归因方法能够有效地识别出CoT推理链中对目标标签预测贡献最大的关键标记,这些标记包含了理解目标标签与输入之间关系的最重要信息。

    五、 结论

    本文深入研究了CoT增强蒸馏技术,并通过一系列精心设计的实验,揭示了其背后的奥秘。我们的研究结果表明:

    1. CoT推理链的位置: 将CoT推理链放置在目标标签之后,能够获得更好的性能提升。
    2. CoT推理链的本质: CoT推理链的逻辑连贯性并非必要条件,关键在于其包含的关键标记。
    3. CoT推理链的关键: 梯度归因方法能够有效地识别出CoT推理链中的关键标记。

    我们的研究结果为CoT增强蒸馏技术提供了新的见解,并为未来开发更有效、更高效的模型蒸馏方法奠定了基础。

    六、参考文献

    • Belrose et al. (2023). Eliciting latent predictions from transformers with the tuned lens.
    • Chen et al. (2024). Post-semantic-thinking: A robust strategy to distill reasoning capacity from large language models.
    • Deng et al. (2023). Implicit chain of thought reasoning via knowledge distillation.
    • Fu et al. (2023). Specializing smaller language models towards multi-step reasoning. ArXiv, abs/2301.12726.
    • Goyal et al. (2024). Think before you speak: Training language models with pause tokens.
    • Han et al. (2023). Dialcot meets ppo: Decomposing and exploring reasoning paths in smaller language models.
    • Hase and Bansal (2022). When can models learn from explanations? a formal framework for understanding the roles of explanation data.
    • Hinton et al. (2015). Distilling the knowledge in a neural network.
    • Ho et al. (2023). Large language models are reasoning teachers.
    • Hsieh et al. (2023). Distilling step-by-step! outperforming larger language models with less training data and smaller model sizes. ArXiv, abs/2305.02301.
    • Jiang et al. (2023). Mistral 7b.
    • Li et al. (2023a). Symbolic chain-of-thought distillation: Small models can also “think” step-by-step.
    • Li et al. (2023b). Textbooks are all you need ii: phi-1.5 technical report.
    • Magister et al. (2023). Teaching small language models to reason.
    • Mihaylov et al. (2018). Can a suit of armor conduct electricity? a new dataset for open book question answering.
    • Mikolov et al. (2013). Distributed representations of words and phrases and their compositionality.
    • nostalgebraist (2020). interpreting gpt: the logit lens.
    • Pal et al. (2023). Future lens: Anticipating subsequent tokens from a single hidden state.
    • Radford et al. (2019). Language models are unsupervised multitask learners.
    • Shridhar et al. (2023). Distilling reasoning capabilities into smaller language models.
    • Sundararajan et al. (2017). Axiomatic attribution for deep networks.
    • Tafjord et al. (2018). Quarel: A dataset and models for answering questions about qualitative relationships.
    • Talmor et al. (2019). CommonsenseQA: A question answering challenge targeting commonsense knowledge.
    • Team et al. (2024). Gemma: Open models based on gemini research and technology.
    • Wadhwa et al. (2023). Revisiting relation extraction in the era of large language models.
    • Wang et al. (2023). SCOTT: Self-consistent chain-of-thought distillation.
    • Wei et al. (2023). Chain-of-thought prompting elicits reasoning in large language models.
    • West et al. (2022). Symbolic knowledge distillation: from general language models to commonsense models.
    • Wiegreffe et al. (2022). Reframing human-AI collaboration for generating free-text explanations.
    • Wolf et al. (2020). Transformers: State-of-the-art natural language processing.
    • Xu et al. (2024). Preemptive answer “attacks” on chain-of-thought reasoning.

    Q: 这篇论文试图解决什么问题?

    A: 这篇论文探讨了在模型蒸馏过程中使用“思维链”(Chain of Thought, CoT)增强的方法来提升学生模型(small student model)性能的原因和机制。具体来说,论文试图解答以下几个问题:

    1. CoT增强蒸馏中理性序列的位置是否影响效果:即是将CoT序列放在目标标签之前还是之后,哪个能更好地提升学生模型的性能?
    2. CoT序列的连贯性和语法结构是否必要:即使CoT序列的令牌顺序被打乱,是否仍然能够观察到性能提升?
    3. 是否只需要CoT序列中的一小部分关键令牌:是否可以通过仅使用CoT序列中的一部分关键令牌来实现与完整CoT序列相同的性能提升?

    论文通过一系列实验和消融研究来探索这些问题,并得出了一些可能令人惊讶的结果。

    Q: 有哪些相关研究?

    A: 论文中提到了以下几项相关研究:

    1. Hinton et al., 2015: 提出了模型蒸馏的概念,即通过大型模型(teacher model)的知识来训练小型模型(student model)。
    2. Wei et al., 2023: 探讨了在推理任务中使用CoT推理来提升模型性能。
    3. Li et al., 2023a: 使用GPT-3生成的CoT来训练一个小型学生语言模型(LM),在常识推理数据集上取得了显著的性能提升。
    4. Shridhar et al., 2023: 类似地,使用CoT方法在小学数学数据集上对GPT-2进行了微调,取得了性能提升。
    5. Wadhwa et al., 2023: 利用CoT推理在关系提取任务上取得了最先进的结果。
    6. Chen et al., 2024: 与本文同时进行的研究,提出了“后语义思考”(Post-semantic-thinking, PST)的概念,以减少推理对最终输出标签的影响。
    7. Xu et al., 2024: 发现在CoT推理中提前生成目标标签对恶意攻击非常敏感。
    8. Goyal et al., 2024: 观察到在训练和推理时增加“虚拟”令牌可以提升LLM的性能。
    9. Deng et al., 2023: 探索了使用模型隐藏状态进行隐式推理的方法,而不是逐个生成推理令牌。
    10. Ho et al., 2023: 展示了如何使用大型语言模型作为推理教师来提升小型模型的推理能力。
    11. Wang et al., 2023: 研究了如何通过自洽链式推理蒸馏(SCOTT)来提升学生模型的性能。

    这些研究为本文提供了理论基础和实验方法,同时也与本文的研究结果相互印证和补充。

    Q: 论文如何解决这个问题?

    A: 论文通过以下步骤来解决提出的问题:

    1. 实验设计:首先,论文定义了一个实验框架,使用大型教师模型(例如Mistral-7B-Instruct)生成CoT推理,并将这些推理作为额外的训练信号来微调小型学生模型。
    2. 消融研究:通过改变CoT序列相对于目标标签的位置(前或后),研究其对学生模型性能的影响。
    3. 令牌顺序的鲁棒性测试:通过打乱CoT序列中的令牌顺序,来测试学生模型对CoT连贯性的敏感度。
    4. 关键令牌的识别:使用梯度归因方法(如集成梯度)和人类标注来识别CoT中的“重要”令牌,并测试这些令牌是否足以实现与完整CoT序列相同的性能提升。
    5. 与基线的比较:将经过不同处理的CoT序列微调后的学生模型的性能与基线模型(未经过CoT增强的模型)进行比较。
    6. 模型信心分析:使用LogitLens、TunedLens和FutureLens等工具来分析不同模型在预测时的信心水平,以了解CoT增强是否有助于模型更早地获得高置信度的预测。
    7. 计算量的影响:通过在目标标签前添加不同数量的令牌来测试额外计算步骤是否能够提供与CoT增强相同的性能提升。
    8. 实验结果分析:对实验结果进行详细分析,以确定CoT增强蒸馏中哪些因素对学生模型性能的提升起到了关键作用。

    通过这些方法,论文得出了关于CoT增强蒸馏的几个关键发现,包括CoT序列放置的位置、CoT序列的连贯性以及关键令牌的作用等方面的见解。

    Q: 论文做了哪些实验?

    A: 论文中进行了以下实验来探究CoT(Chain of Thought)增强蒸馏对模型性能的影响:

    1. 基础性能比较:比较了在没有CoT、标准CoT(标签前)和后缀CoT(标签后)情况下,学生模型在三个常识推理数据集上的性能。
    2. 理性序列位置的实验(RQ1):研究了CoT序列放置在目标标签之前或之后对学生模型性能的影响。
    3. 理性序列连贯性的实验(RQ2):通过打乱CoT序列中的令牌顺序,测试了学生模型对理性序列连贯性的需求。
    4. 关键令牌的识别和实验(RQ3):使用集成梯度方法和人类标注来识别CoT中的“重要”令牌,并测试这些令牌是否足以实现与完整CoT序列相同的性能提升。
    5. 模型信心分析:使用TunedLens工具分析了不同条件下训练的模型在预测时的信心水平。
    6. 计算量的影响实验:通过在目标标签前添加不同数量的令牌来测试额外计算步骤是否能够提供与CoT增强相同的性能提升。
    7. 与基线的比较:将经过不同处理的CoT序列微调后的学生模型的性能与基线模型进行比较。
    8. 使用相关词的实验:探索了使用与目标标签语义相似的词(通过Word2Vec方法选择)是否能够提供与CoT增强蒸馏相似的性能提升。
    9. 人类标注的比较:将通过集成梯度方法选择的令牌与人类标注者选择的“重要”令牌进行了比较,以评估哪种方法更能提高模型性能。

    这些实验的结果帮助论文得出了关于CoT增强蒸馏效果的一系列结论。

    Q: 有什么可以进一步探索的点?

    A: 尽管这篇论文提供了对CoT增强蒸馏的深入分析,但仍有一些潜在的研究方向可以进一步探索:

    1. 多语言数据集的测试:论文主要使用了英文数据集进行实验。未来的研究可以在其他语言的数据集上测试CoT增强蒸馏的效果,以验证方法的普适性。
    2. 不同任务类型的应用:论文集中在常识推理任务上。可以探索CoT增强蒸馏在其他类型的任务,如文本摘要、机器翻译或情感分析等任务中的效果。
    3. 更大规模模型的实验:研究中使用的是相对较小的学生模型。可以探索CoT增强蒸馏在更大规模或更复杂的模型上的效果。
    4. 改进CoT生成质量:研究中提到了使用教师模型生成CoT,但并未深入探讨如何改进生成的CoT质量。研究者可以探索如何通过迭代提示或反馈机制来提高CoT的准确性和连贯性。
    5. 理解CoT增强蒸馏的内在机制:尽管论文提供了一些见解,但对于CoT增强蒸馏如何提升模型性能的内在机制仍需更深入的理解。
    6. 对抗性攻击和鲁棒性:论文中提到了CoT的鲁棒性问题,未来的研究可以进一步探索CoT增强模型对抗性攻击的能力和鲁棒性。
    7. 实际应用场景的测试:将CoT增强蒸馏应用于实际应用场景,如医疗诊断、法律分析等,以评估其在现实世界问题中的有效性。
    8. 模型解释性与可解释性:研究CoT增强蒸馏对模型可解释性的影响,以及如何利用CoT提高模型的透明度和解释性。
    9. 跨领域知识迁移:探索CoT增强蒸馏在跨领域知识迁移中的潜力,例如,将一个领域学习到的知识迁移到另一个不同的领域。
    10. 优化和自动化CoT选择过程:研究如何自动化和优化选择CoT中关键令牌的过程,以减少人工干预并提高效率。

    这些方向可以帮助研究者更全面地理解CoT增强蒸馏,并探索其在更广泛场景中的应用潜力。

    Q: 总结一下论文的主要内容

    A: 这篇论文《Investigating Mysteries of CoT-Augmented Distillation》主要研究了在模型蒸馏过程中使用“思维链”(Chain of Thought, CoT)增强的方法来提升学生模型性能的机制。以下是论文的主要内容总结:

    1. 研究背景:CoT是一种能够显著提升大型语言模型(LLM)在问答等任务上性能的技术。最近的研究表明,CoT也可用于模型蒸馏,即通过在微调过程中加入从大型教师模型中提取的CoT序列,来提升小型学生模型的性能。
    2. 研究问题:论文探讨了为什么CoT增强蒸馏能够提升学生模型的性能,以及这种提升是如何实现的。
    3. 实验设计:通过从大型教师模型中提取CoT,并将其作为额外的训练信号加入到学生模型的训练目标中,研究者进行了一系列的消融实验。
    4. 关键发现
      • CoT序列放置在目标标签之后(后缀CoT)比放置之前(前缀CoT)能更有效地提升学生模型的性能。
      • 即使CoT序列的令牌顺序被打乱,只要它们被附加到目标标签之后,学生模型的性能仍然可以得到提升。
      • 通过集成梯度等方法识别出的CoT中的一小部分关键令牌,就足以实现与完整CoT序列相同的性能提升。
    5. 实验方法:使用了三个小型学生语言模型(GPT-2, Phi-1.5, 和 Gemma-2B)进行实验,并在三个常识推理数据集上进行了评估。
    6. 模型信心分析:通过分析模型在不同层次和时间步的信心水平,发现后缀CoT能够使学生模型更快地获得高置信度的预测。
    7. 计算量的影响:研究了额外计算步骤是否能够提供与CoT增强相同的性能提升,发现仅仅增加计算步骤并不能替代CoT中的有用信息。
    8. 理性序列连贯性:通过打乱CoT令牌的顺序,发现在目标标签之后的CoT序列不需要连贯也能提升性能。
    9. 关键令牌的作用:通过集成梯度和人类标注来识别关键令牌,并发现这些关键令牌足以实现性能提升。
    10. 结论:论文得出结论,CoT增强蒸馏的关键在于将CoT序列作为额外的训练信号,而不需要学生模型在推理时生成完整的CoT。
    11. 局限性和伦理声明:论文讨论了研究的局限性,包括使用的是公开可用的数据集和模型,以及可能存在的偏见和解释性问题。
    12. 相关工作:论文回顾了与CoT增强蒸馏相关的其他研究,并讨论了其与本文研究的联系。

    论文通过这些研究,为理解和改进使用CoT增强蒸馏的方法提供了深入的见解,并指出了未来研究的潜在方向。


  • MetaGPT:将人类工作流程融入多智能体协作框架的元编程

    近年来,基于大型语言模型(LLMs)的智能体社会在自动问题解决方面取得了显著进展。现有的LLM驱动的多智能体系统已经能够解决简单的对话任务,但对于更复杂的任务,由于LLMs链式联接导致的级联幻觉,逻辑不一致问题会变得更加复杂。

    本文介绍了MetaGPT,这是一种创新的元编程框架,它将高效的人类工作流程融入LLM驱动的多智能体协作中。MetaGPT将标准操作程序(SOPs)编码成提示序列,以实现更简化的工作流程,从而使具有类似人类领域专业知识的智能体能够验证中间结果并减少错误。MetaGPT利用流水线模式为不同的智能体分配不同的角色,将复杂的任务有效地分解成多个智能体协同完成的子任务。在协作软件工程基准测试中,MetaGPT生成的解决方案比之前的基于聊天的多智能体系统更加连贯。

    LLM驱动的多智能体系统的局限性

    现有的LLM驱动的多智能体系统(Park et al., 2023; Zhuge et al., 2023; Cai et al., 2023; Wang et al., 2023c; Li et al., 2023; Du et al., 2023; Liang et al., 2023; Hao et al., 2023)往往过于简化了现实世界的复杂性,难以实现有效、连贯和准确的问题解决过程,特别是在需要有意义的协作交互时(Zhang et al., 2023; Dong et al., 2023; Zhou et al., 2023; Qian et al., 2023)。

    MetaGPT:借鉴人类工作流程,提升多智能体协作效率

    人类在各种领域(Belbin, 2012; Manifesto, 2001; DeMarco & Lister, 2013)通过广泛的协作实践,发展出了广泛接受的标准操作程序(SOPs)。这些SOPs在支持任务分解和有效协调方面发挥着至关重要的作用。此外,SOPs还概述了每个团队成员的职责,并为中间输出建立了标准。定义明确的SOPs可以提高与定义的角色和质量标准相一致的任务的一致性和准确执行(Belbin, 2012; Manifesto, 2001; DeMarco & Lister, 2013; Wooldridge & Jennings, 1998)。例如,在软件公司中,产品经理使用标准化结构分析竞争和用户需求,以创建产品需求文档(PRDs),指导开发过程。

    MetaGPT借鉴了这种思路,设计了一个基于GPT的元编程框架,该框架从SOPs中受益匪浅。与其他工作(Li et al., 2023; Qian et al., 2023)不同,MetaGPT要求智能体生成结构化的输出,例如高质量的需求文档、设计工件、流程图和界面规范。使用中间结构化输出显著提高了目标代码生成的成功率。更形象地说,在MetaGPT模拟的公司中,所有员工都遵循严格而简化的工作流程,所有交接都必须符合既定的标准。这降低了LLMs之间闲聊导致的幻觉风险,特别是在角色扮演框架中,例如:“你好,你好,你吃午饭了吗?”——爱丽丝(产品经理);“很好!你吃午饭了吗?”——鲍勃(架构师)。

    MetaGPT的核心设计:角色专业化、工作流程和结构化通信

    MetaGPT通过以下几个关键设计,将人类工作流程融入LLM驱动的多智能体协作中:

    角色专业化:将复杂任务分解成子任务

    明确的角色专业化使复杂工作能够分解成更小、更具体的任务。解决复杂的任务或问题通常需要具有不同技能和专业知识的智能体协作,每个智能体都贡献针对特定问题的专门输出。

    在软件公司中,产品经理通常进行面向业务的分析并得出见解,而软件工程师则负责编程。MetaGPT在软件公司中定义了五个角色:产品经理、架构师、项目经理、工程师和QA工程师,如图1所示。在MetaGPT中,我们指定了智能体的配置文件,其中包括每个角色的名称、配置文件、目标和约束。我们还为每个角色初始化了特定的上下文和技能。例如,产品经理可以使用网络搜索工具,而工程师可以执行代码,如图2所示。所有智能体都遵循Yao et al. (2022)中描述的React风格行为。

    每个智能体都监控环境(即MetaGPT中的消息池),以发现重要的观察结果(例如,来自其他智能体的信息)。这些信息可以直接触发操作,也可以帮助完成工作。

    工作流程:明确的任务分配和执行顺序

    通过定义智能体的角色和操作技能,我们可以建立基本的工作流程。在MetaGPT中,我们遵循软件开发中的SOP,使所有智能体能够以顺序方式工作。

    如图1所示,在获得用户需求后,产品经理进行彻底的分析,制定详细的PRD,包括用户故事和需求池。这作为初步的功能分解。结构化的PRD随后传递给架构师,架构师将需求转换为系统设计组件,例如文件列表、数据结构和界面定义。一旦被捕获到系统设计中,这些信息就会被传递给项目经理,用于任务分配。工程师继续执行指定的类和函数,如所概述的(在图2中详细说明)。在接下来的阶段,QA工程师制定测试用例以执行严格的代码质量。在最后一步,MetaGPT生成精心制作的软件解决方案。我们在图3中提供了一个详细的示意图,并在附录B中提供了一个MetaGPT中SOP工作流程的具体实例。

    结构化通信:提高信息传递效率

    大多数当前的LLM驱动的多智能体框架(Li et al., 2023; Zhuge et al., 2023; Zhang et al., 2023; Park et al., 2023)使用无约束的自然语言作为通信接口。

    然而,尽管自然语言用途广泛,但一个问题出现了:纯粹的自然语言通信是否足以解决复杂的任务?例如,在传话游戏(或传声筒)中,经过几轮通信后,原始信息可能会被严重扭曲。受人类社会结构的启发,我们建议使用结构化通信来制定智能体的通信。我们为每个角色建立了一个模式和格式,并要求个人根据其特定角色和上下文提供必要的输出。

    如图3所示,架构师智能体生成两个输出:系统界面设计和序列流程图。这些包含系统模块设计和交互序列,作为工程师的重要交付成果。与ChatDev(Zhao et al., 2023)不同,MetaGPT中的智能体通过文档和图表(结构化输出)而不是对话进行通信。这些文档包含所有必要的信息,防止出现无关或缺失的内容。

    发布-订阅机制:高效的信息共享

    在协作中,共享信息至关重要。例如,架构师和工程师经常需要参考PRDs。然而,在Li et al. (2023); Zhao et al. (2023); Zhang et al. (2023)等先前工作中,每次都以一对一的方式传递这些信息,可能会使通信拓扑变得复杂,导致效率低下。

    为了解决这一挑战,一种可行的方法是将信息存储在全局消息池中。如图2(左)所示,我们引入了一个共享消息池,允许所有智能体直接交换信息。这些智能体不仅在池中发布其结构化信息,还可以透明地访问来自其他实体的信息。任何智能体都可以直接从共享池中检索所需信息,无需询问其他智能体并等待其响应。这提高了通信效率。

    与每个智能体共享所有信息会导致信息过载。在任务执行过程中,智能体通常希望只接收与任务相关的信息,并避免通过无关细节造成干扰。有效管理和传播这些信息至关重要。我们提供了一个简单而有效的解决方案——订阅机制(如图2(左)所示)。智能体利用特定角色的兴趣来提取相关信息,而不是依赖对话。他们可以根据自己的角色配置文件选择要关注的信息。在实际实现中,智能体只有在收到所有先决条件后才会激活其操作。如图3所示,架构师主要关注产品经理提供的PRDs,而来自QA工程师等角色的文档可能不太重要。

    MetaGPT的创新:可执行反馈机制

    在日常编程任务中,调试和优化过程发挥着重要作用。然而,现有的方法通常缺乏自纠正机制,导致代码生成失败。先前的工作引入了不可执行的代码审查和自我反省(Zhao et al., 2023; Yao et al., 2022; Shinn et al., 2023; Dong et al., 2023)。然而,它们在确保代码可执行性和运行时正确性方面仍然面临挑战。

    MetaGPT的最初实现忽略了审查过程中的某些错误,这是由于LLMs的幻觉(Manakul et al., 2023)。为了克服这个问题,在初始代码生成后,我们引入了一个可执行反馈机制,以迭代地改进代码。更具体地说,如图2所示,工程师被要求根据原始产品需求和设计编写代码。

    这使工程师能够使用自己的历史执行和调试内存来不断改进代码。为了获得更多信息,工程师编写并执行相应的单元测试用例,然后接收测试结果。如果令人满意,则启动额外的开发任务。否则,工程师在恢复编程之前调试代码。这个迭代测试过程会持续进行,直到测试通过或达到最大3次重试。

    MetaGPT的实验验证:超越现有方法的性能

    本文通过一系列实验验证了MetaGPT的有效性,包括在HumanEval(Chen et al., 2021a)和MBPP(Austin et al., 2021)等基准测试上的性能评估,以及在自建的SoftwareDev数据集上的性能评估。

    基准测试结果:超越现有方法的性能

    在HumanEval和MBPP基准测试中,MetaGPT的性能超越了所有先前的方法,并在HumanEval基准测试中与GPT-4协作,显著提高了Pass@k。在SoftwareDev数据集上,MetaGPT在几乎所有指标上都优于ChatDev,例如,在可执行性方面,MetaGPT的得分接近4(完美无缺)。此外,MetaGPT的运行时间更短(503秒),明显少于ChatDev。在代码统计和人工修改成本方面,MetaGPT也显著优于ChatDev。尽管MetaGPT需要更多标记(24,613或31,255,而ChatDev为19,292),但它只需要126.5/124.3个标记来生成一行代码,而ChatDev使用248.9个标记。这些结果突出了SOPs在多个智能体之间协作中的优势。此外,我们通过可视化样本(图5)展示了MetaGPT的自主软件生成能力。有关其他实验和分析,请参见附录C。

    消融研究:验证MetaGPT设计的有效性

    为了了解不同角色对最终结果的影响,我们执行了两个涉及生成有效代码和计算平均统计数据的任务。当我们排除某些角色时,会生成不可用的代码。如表3所示,除了工程师之外,添加其他角色始终能提高修改和可执行性。虽然更多角色会略微增加成本,但整体性能明显提高,证明了各种角色的有效性。

    可执行反馈机制的有效性:如图4所示,在MetaGPT中添加可执行反馈,导致HumanEval和MBPP的Pass@1分别显著提高了4.2%和5.4%。此外,表1显示,反馈机制提高了可行性(3.67至3.75)并降低了人工修改成本(2.25至0.83)。这些结果说明了我们设计的反馈机制如何能够生成更高质量的代码。MetaGPT和没有可执行反馈的MetaGPT的额外定量结果如表4和表6所示。

    MetaGPT的未来展望:更智能、更自主的多智能体系统

    本文提出的MetaGPT为构建更智能、更自主的多智能体系统开辟了新的可能性,例如:

    • 自改进机制: MetaGPT可以从每个软件项目的经验中学习,不断改进自身的能力,例如,通过分析每个项目的反馈信息,不断优化每个智能体的约束提示,使它们能够从过去的项目经验中不断学习,并通过改进每个公司成员来增强整个多智能体系统。
    • 多智能体经济: MetaGPT可以构建一个类似于真实世界软件公司的多智能体经济,每个智能体提供不同的服务,并根据其贡献获得相应的奖励,从而实现更加灵活和自组织的协作。

    MetaGPT的出现,标志着LLM驱动的多智能体系统发展的新阶段,它将人类工作流程融入多智能体协作框架,为解决现实世界中的复杂问题提供了新的思路和方法。

    参考文献

    • Park, Joon Sung, Joseph C O’Brien, Carrie J Cai, Meredith Ringel Morris, Percy Liang, and Michael S Bernstein. “Generative Agents: Interactive Simulacra of Human Behavior.” arXiv preprint arXiv:2304.03442, 2023.
    • Zhuge, Mingchen, Haozhe Liu, Francesco Faccio, Dylan R Ashley, R´obert Csord´as, Anand Gopalakrishnan, Abdullah Hamdi, Hasan Abed Al Kader Hammoud, Vincent Herrmann, Kazuki Irie, et al. “Mindstorms in Natural Language-Based Societies of Mind.” arXiv preprint arXiv:2305.17066, 2023.
    • Cai, Tianle, Xuezhi Wang, Tengyu Ma, Xinyun Chen, and Denny Zhou. “Large Language Models as Tool Makers.” arXiv preprint arXiv:2303.17823, 2023.
    • Wang, Guanzhi, Yuqi Xie, Yunfan Jiang, Ajay Mandlekar, Chaowei Xiao, Yuke Zhu, Linxi Fan, and Anima Anandkumar. “Voyager: An Open-Ended Embodied Agent with Large Language Models.” arXiv preprint arXiv:2303.02079, 2023a.
    • Wang, Zhenhailong, Shaoguang Mao, Wenshan Wu, Tao Ge, Furu Wei, and Heng Ji. “Unleashing Cognitive Synergy in Large Language Models: A Task-Solving Agent Through Multi-Persona Self-Collaboration.” arXiv preprint arXiv:2303.03740, 2023c.
    • Li, Guohao, Hasan Abed Al Kader Hammoud, Hani Itani, Dmitrii Khizbullin, and Bernard Ghanem. “Camel: Communicative Agents for” Mind” Exploration of Large Scale Language Model Society.” arXiv preprint arXiv:2303.01885, 2023.
    • Du, Yilun, Shuang Li, Antonio Torralba, Joshua B. Tenenbaum, and Igor Mordatch. “Improving Factuality and Reasoning in Language Models Through Multiagent Debate.” arXiv preprint arXiv:2210.11211, 2023.
    • Liang, Tian, Zhiwei He, Wenxiang Jiao, Xing Wang, Yan Wang, Rui Wang, Yujiu Yang, Zhaopeng Tu, and Shuming Shi. “Encouraging Divergent Thinking in Large Language Models Through Multi-Agent Debate.” arXiv preprint arXiv:2303.02292, 2023.
    • Hao, Rui, Linmei Hu, Weijian Qi, Qingliu Wu, Yirui Zhang, and Liqiang Nie. “ChatLLM Network: More Brains, More Intelligence.” arXiv preprint arXiv:2302.08580, 2023.
    • Zhang, Hongxin, Weihua Du, Jiaming Shan, Qinhong Zhou, Yilun Du, Joshua B Tenenbaum, Tianmin Shu, and Chuang Gan. “Building Cooperative Embodied Agents Modularly with Large Language Models.” arXiv preprint arXiv:2302.03648, 2023.
    • Dong, Yihong, Xue Jiang, Zhi Jin, and Ge Li. “Self-Collaboration Code Generation via ChatGPT.” arXiv preprint arXiv:2302.01600, 2023.
    • Zhou, Shuyan, Frank F Xu, Hao Zhu, Xuhui Zhou, Robert Lo, Abishek Sridhar, Xianyi Cheng, Yonatan Bisk, Daniel Fried, Uri Alon, et al. “WebArena: A Realistic Web Environment for Building Autonomous Agents.” arXiv preprint arXiv:2301.07752, 2023.
    • Qian, Chen, Xin Cong, Cheng Yang, Weize Chen, Yusheng Su, Juyuan Xu, Zhiyuan Liu, and Maosong Sun. “Communicative Agents for Software Development.” arXiv preprint arXiv:2211.11231, 2023.
    • Belbin, R.M. Team Roles at Work. Routledge, 2012.
    • Manifesto, Agile. “Manifesto for Agile Software Development.” Snowbird, UT, 2001.
    • DeMarco, T. and Lister, T.R. Peopleware: Productive Projects and Teams. Addison-Wesley, 2013.
    • Wooldridge, Michael, and Nicholas R. Jennings. “Pitfalls of Agent-Oriented Development.” In Proceedings of the Second International Conference on Autonomous Agents, 1998.
    • Yao, Shunyu, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, and Yuan Cao. “REACT: Synergizing Reasoning and Acting in Language Models.” arXiv preprint arXiv:2110.02400, 2022.

  • 超越单一评分:RichHF-18K数据集和RAHF模型如何用“丰富反馈”提升AI图像生成?

    近年来,Stable Diffusion、Imagen等文生图(T2I)模型在生成高分辨率图像方面取得了显著进步,但生成的图像仍存在不少问题,如图像失真、与文本描述不符、美观度不足等。为了解决这些问题,谷歌和多所高校的研究人员共同创建了包含“丰富反馈”的RichHF-18K数据集,并提出了一种名为RAHF的多模态Transformer模型,旨在更全面、精准地评估和提升AI图像生成质量。

    RichHF-18K:不止于评分的“丰富反馈”

    现有的图像生成评估方法大多依赖单一评分或排序,缺乏细粒度的反馈信息。而RichHF-18K数据集则包含了更为丰富的反馈维度,具体包括:

    • 细粒度评分: 从图像逼真度、文本图像一致性、美观度和整体质量四个方面对图像进行评分。
    • 失真/不一致区域标注: 通过点标注的方式,标记出图像中存在失真/不合理或与文本描述不符的区域。
    • 不一致关键词标注: 标记出文本描述中哪些关键词在生成图像中未被体现或被错误地呈现。

    RAHF模型:学习“丰富反馈”,预测图像质量

    RAHF模型的架构基于ViT和T5X模型,并结合了自注意力机制,能够有效融合图像和文本信息。该模型可以预测图像的失真/不一致区域、不一致关键词以及四个细粒度评分,从而更全面地评估图像生成质量。

    RAHF模型的应用:提升AI图像生成质量

    RAHF模型预测的“丰富反馈”信息可以用于提升AI图像生成质量,例如:

    • 区域修复: 利用预测的失真/不一致区域热力图创建掩码,对问题区域进行修复,生成更逼真的图像。
    • 模型微调: 利用预测的评分筛选高质量训练数据,或将评分作为奖励信号,对图像生成模型进行微调,提升模型的生成效果。

    总结与展望:迈向更智能的AI图像生成

    RichHF-18K数据集和RAHF模型的提出,为AI图像生成领域带来了全新的思路和方法。通过引入“丰富反馈”机制,可以更有效地评估和提升AI图像生成质量,推动AI图像生成技术走向更高的智能化水平。

    当然,这项研究也存在一些局限性,例如:

    • 对不一致区域的标注存在一定的主观性,影响模型预测的准确性。
    • 数据集的规模还有待进一步扩大,以提高模型的泛化能力。

    未来,研究人员将继续探索如何利用“丰富反馈”机制,开发更先进的AI图像生成技术,为用户带来更优质的图像生成体验。

    参考文献:

    • Liang, Youwei, et al. “Rich Human Feedback for Text-to-Image Generation.” arXiv preprint arXiv:2312.10240 (2023).

    CVPR最佳论文解读:RAHF模型如何利用“丰富人类反馈”提升AI图像生成?

    这篇来自加州大学圣地亚哥分校、谷歌研究院等机构的CVPR最佳论文《Rich Human Feedback for Text-to-Image Generation》聚焦于如何利用更丰富的用户反馈来提升AI图像生成技术的质量。

    直击痛点:现有评估方法存在不足

    论文指出,现有的AI图像生成评估方法大多依赖单一评分或排序,缺乏细粒度的反馈信息,难以有效指导模型改进。例如,仅仅告诉模型一张图片“好”或“不好”,并不能让模型真正理解问题所在,更无法针对性地进行优化。

    RAHF模型:捕捉“丰富人类反馈”

    为了解决这一问题,研究团队提出了一种名为RAHF(Rich Automatic Human Feedback)的多模态Transformer模型。该模型能够捕捉更丰富的人类反馈信息,包括:

    • 细粒度评分: 不再局限于单一评分,而是从图像逼真度、文本图像一致性、美观度和整体质量四个方面对图像进行评分。
    • 失真/不一致区域标注: 用户可以通过点标注的方式,直观地告诉模型图像中哪些区域存在失真/不合理或与文本描述不符的问题。
    • 不一致关键词标注: 用户可以标记出文本描述中哪些关键词在生成图像中未被体现或被错误地呈现。

    实验结果:RAHF模型提升图像生成质量

    实验结果表明,RAHF模型能够有效预测用户的“丰富反馈”,并将其用于提升AI图像生成质量。例如:

    • 区域修复: 利用预测的失真/不一致区域热力图,可以对问题区域进行针对性的修复,生成更逼真的图像。
    • 模型微调: 利用预测的评分可以筛选高质量训练数据,或将评分作为奖励信号,对图像生成模型进行微调,提升模型的生成效果。

    总结:迈向更智能的AI图像生成

    RAHF模型的提出,为AI图像生成领域带来了全新的思路和方法。通过捕捉更丰富的用户反馈信息,可以更有效地评估和提升AI图像生成质量,推动AI图像生成技术走向更高的智能化水平。

    未来展望

    研究团队计划公开RichHF-18K数据集,以促进学术界和工业界对“丰富人类反馈”在AI图像生成领域应用的进一步研究。相信在未来,RAHF模型将会在更广泛的领域发挥重要作用,为用户带来更优质的图像生成体验。

  • 哄AI像哄小孩?一句“咒语”让GPT-3准确率暴涨61%!

    最近,机器学习界出现了一项令人震惊的研究成果:仅仅对GPT-3说一句“让我们一步一步地思考”,就能让它解开之前无法解答的难题,准确率瞬间提高61%!这感觉就像幼儿园阿姨哄小朋友一样神奇,难道哄AI也要像哄小孩?

    “一步一步思考”:神奇咒语背后的秘密

    这项由谷歌大脑和东京大学合作的研究发现,简单的提示词可以显著提高GPT-3在零样本学习场景下的推理能力。研究人员将这种方法称为“思维链路提示”(CoT),其核心是通过引导语言模型逐步思考,最终得出正确答案。例如,面对“16个球中有一半是高尔夫球,这些高尔夫球中有一半是蓝色的,一共有几个蓝色的高尔夫球?”这个问题,直接询问GPT-3会得到错误答案“8”。但如果在提问时加上“让我们一步一步地思考”,GPT-3就会先列出解题步骤,最终给出正确答案“4”。

    CoT并非万能药:效果受模型版本、问题类型影响

    研究人员对CoT的效果进行了广泛的测试,结果表明,CoT在大多数情况下都能显著提高GPT-3的准确率,尤其是在数学和常识推理方面。然而,CoT并非万能药,其效果会受到GPT-3版本、问题类型等因素的影响。例如,CoT对GPT-3最新版本Text-davinci-002的效果最佳,对旧版本的提升效果则相对有限。

    从“特征工程”到“提示工程”:AI研究的新方向?

    CoT的成功引发了人们对“提示工程”的关注。一些学者认为,“提示工程”正在取代传统的“特征工程”,成为AI研究的新方向。通过设计巧妙的提示词,可以引导AI更好地理解人类意图,从而提高其性能。未来,”提示词猎人”会不会成为NLP研究者的新头衔?

    结语:哄AI,更需理解AI

    尽管“哄AI像哄小孩”的说法很有趣,但我们不能忽视对AI本身的理解。CoT的成功表明,通过引导AI模拟人类的思维方式,可以有效提高其推理能力。未来,如何设计更有效的提示词,如何将CoT应用于更广泛的领域,将是AI研究的重要课题。

    参考文献:

    • Wei, Jason, et al. “Chain of thought prompting elicits reasoning in large language models.” arXiv preprint arXiv:2205.11916 (2022).
  • 基于 Agent 的大型语言模型:AI 智能体的新时代

    近年来,大型语言模型(LLM)取得了令人瞩目的进展,展现出强大的语言理解和生成能力,被誉为通用人工智能(AGI)的潜在火花。与此同时,AI Agent 的概念也逐渐兴起,成为实现 AGI 的关键步骤。AI Agent 是指能够感知环境、做出决策并采取行动的人工实体。将 LLM 与 Agent 结合,赋予 LLM 更广阔的感知空间和行动空间,将有望构建出更加智能、更加通用的 AI Agent。

    AI Agent 的起源与发展

    从哲学到 AI

    “Agent” 的概念起源于哲学,可以追溯到亚里士多德和休谟等思想家。它描述了拥有欲望、信念、意图和采取行动能力的实体。这个概念后来被引入计算机科学领域,用于描述能够感知环境、做出决策并采取行动的计算实体。

    AI Agent 研究的技术趋势

    AI Agent 的研究经历了多个阶段,从早期的符号 Agent,到反应型 Agent,再到基于强化学习的 Agent,以及具有迁移学习和元学习能力的 Agent。近年来,随着 LLM 的兴起,基于 LLM 的 Agent 逐渐成为研究热点。

    LLM 成为 Agent 大脑的优势

    LLM 非常适合作为 AI Agent 的大脑或控制器的主要组成部分,因为它具备以下关键属性:

    • 自主性:LLM 可以根据环境输入动态调整输出,展现出一定的自适应自主性。
    • 反应性:研究人员已经证明了使用多模态融合技术扩展 LLM 感知空间的潜力,使其能够快速处理来自环境的视觉和听觉信息。
    • 主动性:LLM 具有很强的广义推理和规划能力,可以主动采取行动以实现特定目标或适应环境变化。
    • 社交能力:LLM 强大的自然语言交互能力使其能够以可解释的方式与其他模型或人类进行交互,从而具备社交能力。

    基于 LLM 的 Agent 构建

    大脑:智能体的核心

    大脑是 AI Agent 的核心,主要由 LLM 组成,负责存储知识和记忆,并承担信息处理和决策等不可或缺的功能。它需要具备以下能力:

    • 自然语言交互:理解和生成自然语言,进行多轮对话,并理解隐含的含义。
    • 知识:获取、存储和利用语言知识、常识知识和专业领域知识。
    • 记忆:存储 Agent 过去的观察、想法和行动的序列,并能够有效地检索和利用这些记忆。
    • 推理与规划:进行逻辑推理和规划,将复杂任务分解成更易于管理的子任务。
    • 可迁移性和通用性:适应不熟悉的场景,并能够泛化到未见过的任务。

    感知:拓展感知空间

    感知模块的作用类似于人类的感觉器官,负责将 Agent 的感知空间从仅限文本扩展到多模态空间,包括文本、声音、视觉、触觉、嗅觉等多种感官模态。

    行动:与环境交互

    行动模块负责扩展 Agent 的动作空间,使其能够拥有文本输出,采取具身行动,并使用工具,以便更好地响应环境变化并提供反馈,甚至改变和塑造环境。

    基于 LLM 的 Agent 应用

    单 Agent 的一般能力

    • 面向任务的部署:协助用户解决日常任务,例如在基于文本的游戏场景中执行任务,在 Web 场景中进行 Web 导航,以及在生活场景中完成家务任务。
    • 创新型部署:在科学领域进行自主探索,例如在计算机科学、化学和材料科学等领域进行研究。
    • 面向生命周期的部署:在开放世界环境中持续探索、学习和利用新技能,例如在 Minecraft 等模拟生存环境中进行生存任务。

    多 Agent 的协调潜力

    • 合作交互:多个 Agent 通过合作来实现共同的目标,例如在软件开发任务中进行协作。
    • 对抗性交互:多个 Agent 通过竞争来提高各自的表现,例如在辩论任务中进行对抗。

    人类与 Agent 之间的交互参与

    • 指令者-执行者范式:人类提供指令或反馈,而 Agent 充当执行者,例如在教育、医疗保健等领域担任人类助手。
    • 平等伙伴关系范式:Agent 与人类平等参与互动,例如在游戏领域与人类进行合作或谈判。

    Agent 社会:从个性到社会性

    Agent 行为与人格

    • 社会行为:Agent 可以表现出各种社会行为,例如合作、竞争、模仿、旁观等。
    • 人格:Agent 可以发展出认知能力、情商和性格特征,从而塑造其行为反应。

    Agent 的社会环境

    • 基于文本的环境:Agent 在由自然语言描述的环境中进行操作。
    • 虚拟沙箱环境:Agent 在可视化和可扩展的模拟环境中进行操作。
    • 物理环境:Agent 在真实的物理环境中进行操作。

    社会模拟与 LLM 为基础的 Agent

    通过构建模拟社会,研究人员可以观察 Agent 社会中涌现的社会现象,例如合作、传播、伦理决策等,并从中获得对人类社会的洞察。

    讨论

    LLM 研究和 Agent 研究之间的互惠互利

    LLM 研究和 Agent 研究可以相互促进,LLM 为 Agent 研究提供了强大的基础模型,而 Agent 研究则为 LLM 研究提出了新的挑战和机遇。

    基于 LLM 的 Agent 评估

    评估基于 LLM 的 Agent 的效用、社交性、价值观和持续发展的能力,对于确保其安全、可信和有效至关重要。

    基于 LLM 的 Agent 的安全性、可信度及其他潜在风险

    需要解决基于 LLM 的 Agent 的对抗性鲁棒性、可信度、滥用、失业率和对人类福祉的威胁等潜在风险。

    扩大 Agent 的数量

    扩大 Agent 的数量可以提高任务效率,增强社会模拟的真实性和可信性,但也面临着计算负担、通信挑战和协调难度等挑战。

    开放问题

    • 基于 LLM 的 Agent 是否代表了通往 AGI 的潜在途径?
    • 如何将 Agent 从虚拟仿真环境迁移到物理环境?
    • 如何在 AI Agent 中实现集体智慧?
    • 如何将 Agent 作为服务提供?

    结论

    基于 LLM 的 Agent 是一个充满希望的研究方向,它将 LLM 的强大能力与 Agent 的行动能力相结合,有望构建出更加智能、更加通用的 AI 系统。然而,这个领域也面临着许多挑战和风险,需要研究人员和从业者共同努力,以确保其安全、可信和有效地发展。

    参考文献

    [1] Russell, S. J. Artificial intelligence a modern approach. Pearson Education, Inc., 2010.

    [2] Diderot, D. Diderot’s early philosophical works. 4. Open Court, 1911.

    [3] Turing, A. M. Computing machinery and intelligence. Springer, 2009.

    [4] Wooldridge, M. J., N. R. Jennings. Intelligent agents: theory and practice. Knowl. Eng. Rev.,10(2):115–152, 1995.

    [675] Sun, T., Y. Shao, H. Qian, et al. Black-box tuning for language-model-as-a-service. In K. Chaudhuri, S. Jegelka, L. Song, C. Szepesvári, G. Niu, S. Sabato, eds., International Conference on Machine Learning, ICML 2022, 17-23 July 2022, Baltimore, Maryland, USA, vol. 162 of Proceedings of Machine Learning Research, pages 20841–20855. PMLR, 2022.


  • 为新闻推荐系统预训练词向量和实体向量

    新闻推荐系统近年来发展迅速,其中一个重要的技术突破是深度知识感知网络 (DKN) 的出现。DKN 能够利用知识图谱 (KG) 中的实体信息来增强新闻推荐的准确性。为了训练 DKN 模型,我们需要预先训练词向量和实体向量,本文将介绍如何使用 Word2Vec 和 TransE 模型来完成这一任务。

    用 Word2Vec 训练词向量

    Word2Vec 是一种常用的词向量训练模型,它能够将词语映射到一个高维向量空间中,并学习到词语之间的语义关系。在 DKN 中,我们需要将新闻标题和文本中的词语转换为向量表示,以便模型能够理解文本内容。

    我们可以使用 Gensim 库中的 Word2Vec 模型来训练词向量。Gensim 提供了简单易用的接口,可以方便地加载文本数据并训练模型。

    from gensim.test.utils import common_texts, get_tmpfile
    from gensim.models import Word2Vec
    import time
    from utils.general import *
    import numpy as np
    import pickle
    from utils.task_helper import *

    首先,我们定义一个类 MySentenceCollection 来读取新闻文本数据。该类实现了迭代器接口,可以逐行读取文本文件并将其转换为词语列表。

    class MySentenceCollection:
        def __init__(self, filename):
            self.filename = filename
            self.rd = None
    
        def __iter__(self):
            self.rd = open(self.filename, 'r', encoding='utf-8', newline='\\r\\n')
            return self
    
        def __next__(self):
            line = self.rd.readline()
            if line:
                return list(line.strip('\\r\\n').split(' '))
            else:
                self.rd.close()
                raise StopIteration

    接下来,我们定义一个函数 train_word2vec 来训练 Word2Vec 模型。该函数接受新闻文本文件路径和输出目录作为参数,并保存训练好的模型文件。

    def train_word2vec(Path_sentences, OutFile_dir):
        OutFile_word2vec = os.path.join(OutFile_dir, r'word2vec.model')
        OutFile_word2vec_txt = os.path.join(OutFile_dir, r'word2vec.txt')
        create_dir(OutFile_dir)
    
        print('start to train word embedding...', end=' ')
        my_sentences = MySentenceCollection(Path_sentences)
        model = Word2Vec(my_sentences, size=32, window=5, min_count=1, workers=8, iter=10) # user more epochs for better accuracy
    
        model.save(OutFile_word2vec)
        model.wv.save_word2vec_format(OutFile_word2vec_txt, binary=False)
        print('\\tdone . ')
    
    Path_sentences = os.path.join(InFile_dir, 'sentence.txt')
    
    t0 = time.time()
    train_word2vec(Path_sentences, OutFile_dir)
    t1 = time.time()
    print('time elapses: {0:.1f}s'.format(t1 - t0))

    用 TransE 训练实体向量

    知识图谱 (KG) 由实体和关系组成,可以用来表示世界上的各种知识。在 DKN 中,我们可以利用 KG 中的实体信息来增强新闻推荐的准确性。为了将 KG 中的实体信息融入到 DKN 模型中,我们需要将实体映射到向量空间中,即训练实体向量。

    TransE 是一种常用的知识图谱嵌入模型,它能够将实体和关系映射到同一个向量空间中,并学习到实体和关系之间的语义关系。我们可以使用开源的 Fast-TransX 库来训练 TransE 模型。

    !bash ./run_transE.sh

    构建上下文向量

    DKN 模型不仅需要考虑实体本身的向量表示,还需要考虑实体的上下文信息。例如,同一个实体在不同的新闻中可能具有不同的含义。为了捕捉这种上下文信息,我们需要构建上下文向量。

    我们可以利用 KG 中的实体关系来构建上下文向量。例如,对于一个实体,我们可以将所有与它相关的实体的向量加权平均,得到该实体的上下文向量。

    ##### build context embedding
    EMBEDDING_LENGTH = 32
    entity_file = os.path.join(OutFile_dir_KG, 'entity2vec.vec')
    context_file = os.path.join(OutFile_dir_KG, 'context2vec.vec')
    kg_file = os.path.join(OutFile_dir_KG, 'train2id.txt')
    gen_context_embedding(entity_file, context_file, kg_file, dim=EMBEDDING_LENGTH)

    加载预训练向量

    最后,我们需要将训练好的词向量和实体向量加载到 DKN 模型中。

    load_np_from_txt(
            os.path.join(OutFile_dir_KG, 'entity2vec.vec'),
            os.path.join(OutFile_dir_DKN, 'entity_embedding.npy'),
        )
    load_np_from_txt(
            os.path.join(OutFile_dir_KG, 'context2vec.vec'),
            os.path.join(OutFile_dir_DKN, 'context_embedding.npy'),
        )
    format_word_embeddings(
        os.path.join(OutFile_dir, 'word2vec.txt'),
        os.path.join(InFile_dir, 'word2idx.pkl'),
        os.path.join(OutFile_dir_DKN, 'word_embedding.npy')
    )

    参考文献

    1. Wang, Hongwei, et al. “DKN: Deep Knowledge-Aware Network for News Recommendation.” Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 2018.
    2. Knowledge Graph Embeddings including TransE, TransH, TransR and PTransE. https://github.com/thunlp/KB2E
    3. GloVe: Global Vectors for Word Representation. https://nlp.stanford.edu/projects/glove/
    4. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013. Distributed representations of words and phrases and their compositionality. In Proceedings of the 26th International Conference on Neural Information Processing Systems – Volume 2 (NIPS’13). Curran Associates Inc., Red Hook, NY, USA, 3111–3119.
    5. Gensim Word2vec embeddings : https://radimrehurek.com/gensim/models/word2vec.html
  • 赋予对话系统“大脑”:从神经科学到虚拟接待员

    随着聊天机器人、语言模型和语音技术的快速发展,人们越来越渴望创造能够通过自然语言或直接语音与人类无缝交互的系统。本文将探讨如何将对话系统研究置于具身智能的更广阔背景下,借鉴神经生物学和神经心理学中的概念,定义一种能够融合手工设计和人工神经网络的行为架构,为未来模仿学习或指令学习等新学习方法打开大门。

    传统对话系统的局限性

    传统的语音助手通常采用一种简单的线性信息流架构,从语音识别到自然语言理解,再到对话管理和自然语言生成,最终输出文本或语音。这种架构虽然在处理简单任务方面表现出色,但面临着一些挑战:

    • 数据依赖性强: 机器学习方法需要大量对话数据进行训练,这在一些领域难以获得。
    • 奖励函数定义困难: 强化学习方法需要定义合适的奖励函数,这在复杂对话场景中非常困难。
    • 可控性/可解释性有限: 基于统计的深度神经网络方法的可控性和可解释性较差。

    另一方面,手工设计的对话系统虽然易于开发,可控性高,但扩展性存在局限,难以应对复杂多变的对话场景。

    借鉴神经科学:Miron系统

    本文提出了一种名为“Miron”的系统,其灵感来源于神经科学中的镜像神经元理论。镜像神经元在动物执行特定动作时以及观察其他个体执行相同动作时都会被激活,这表明动作理解和动作生成可能共享相同的表征。

    Miron系统将这一概念应用于自然语言理解 (NLU) 和自然语言生成 (NLG) 模块,将一个特定的意图 (intent) 与一组用于识别和生成该意图的模板句子联系起来。每个Miron还包含一个可选的数据结构,用于描述模板句子中使用的命名实体 (named entities),例如日期、地点、人物等。

    Miron系统的优势:

    • 统一识别和生成: Miron系统使用相同的模板句子进行识别和生成,简化了设计过程。
    • 可扩展性: Miron模板可以生成大量句子,为统计 NLU 模型提供训练数据。
    • 模仿学习的潜力: Miron系统为通过观察和模仿学习对话行为提供了可能性。

    具身智能和多模态交互

    除了文本对话,具身智能系统还可以通过虚拟化身或物理机器人与人类进行多模态交互,例如眼神、表情、手势等。Miron系统可以通过文本形式表示多模态信息,实现多模态交互。

    对话/行为引擎:基于递归神经网络的架构

    为了处理异步感知事件 (例如语音、传感器信号) 并生成相应的反应,本文提出了一种基于递归神经网络 (RNN) 的对话/行为引擎。该引擎将状态定义为规则,每个规则对应一个状态,当其条件满足时,就会执行一组关联的动作。

    行为引擎的架构:

    • 条件层: 包含识别到的 Miron 意图、动作完成反馈事件、命名实体状态和工作记忆状态。
    • AND 层: 通过权重矩阵和当前激活的规则,确定哪些规则可以被激活。
    • 预选层: 在多个规则可以被激活的情况下,随机选择一个规则。
    • OR 层: 考虑所有激活的规则,最终确定下一个激活的规则。
    • 动作层: 生成相应的动作,包括内部 Miron 意图、内部动作、工作记忆状态变化等。

    内部语言:模拟人类的思考过程

    人类可以通过“内部语言”进行思考,例如回忆记忆或想象场景。本文借鉴这一概念,允许对话系统通过内部 Miron 意图触发行为,就像外部用户发出指令一样。

    模型驱动开发:图形化 DSL

    为了简化对话/行为的设计过程,本文提出了一种图形化领域特定语言 (DSL),允许开发者通过图形化方式创建对话/行为模型。DSL 包含 Miron 元素和规则元素,分别用于定义语言相关方面 (例如意图、命名实体、模板) 和行为逻辑 (例如条件、动作)。

    对话设计:模块化和参数化

    对话可以看作是机器和用户之间一系列言语行为的交替。为了简化对话设计,本文提出了一种基于回合制 (turn-taking) 的架构,将对话流程分解成多个模块,例如用户模型、响应模型、错误模型、情景分析模块、行为参数化模块和参数化行为模块。

    虚拟接待员:应用案例

    本文使用上述方法开发了一个虚拟接待员系统,该系统运行在一个展台上,由一个虚拟化身代表,用于迎接访客、收集信息、验证访客预约信息并联系相关人员迎接访客。

    系统架构:

    • 化身框架: 提供了用于创建虚拟化身的工具和接口。
    • 语音技术: 集成了文本转语音 (TTS) 和语音识别 (ASR) 模块。
    • 电话/邮件通信: 支持电话和邮件通信功能。
    • 人脸识别和距离检测: 支持人脸识别和距离检测功能。

    对话设计:

    • 模块化: 将对话流程分解成多个模块,例如访客模型、情景分析模块、信息参数化模块和错误处理模块。
    • 冗余设计: 通过提供多种信息和处理错误的方式,提高对话的可靠性。
    • 非语言行为: 使用表情、动作等非语言行为,增强用户体验。

    用户研究:

    用户研究表明,虚拟接待员系统获得了较高的用户满意度,用户认为该系统易用、吸引人且能有效地完成任务。

    总结和未来展望

    本文展示了如何将神经科学中的概念应用于手工设计的对话管理系统,并提出了一种基于模型驱动开发和图形化 DSL 的设计方法。未来,学习方法将是实现可扩展对话系统的关键,而模仿学习、指令学习和课程学习将发挥重要作用。

    参考文献:

    • Alderson-Day, B., & Fernyhough, C. (2015). Inner Speech: Development, Cognitive Functions,
      Phenomenology, and Neurobiology. Psychol Bull., 141(5), 931-965.
    • Bohus, D., & Horvitz, E. (2009). Dialog in the open world: platform and applications. In Proceedings of the 2009 international conference on Multimodal interfaces (pp. 31-38).
    • Rizzolatti, G., & Craighero, L. (2004), The Mirror-Neuron System, Annu. Rev. Neurosci., 27, 169–92.
    • Weinschenk, S. (2011). 100 things every designer needs to know about people. Pearson Education.

    **[请保持角色] **