标签: AI

  • 突破大语言模型的拒绝:DSN攻击方法及集成评估流程

    近年来,大型语言模型(Large Language Models, LLMs)在自然语言处理领域取得了巨大成功,并在多个领域得到广泛应用。然而,随之而来的安全性问题,特别是LLMs在面对精心设计的”越狱”(jailbreaking)攻击时表现出的脆弱性,引起了研究者和从业者的高度重视。

    最近,一篇题为”Don’t Say No: Jailbreaking LLM by Suppressing Refusal”的论文提出了一种新的越狱攻击方法DSN(Don’t Say No),旨在促使LLMs生成肯定的响应,并创新性地增加了抑制拒绝的目标。同时,论文还提出了一个集成评估流程,以更准确地评估攻击的有害性。本文将深入探讨DSN攻击方法的原理、实验结果及其潜在影响。

    越狱攻击:安全性的重要挑战

    LLMs在识别和避免有害查询方面表现出色,但仍容易受到精心设计的越狱攻击的影响。这些攻击通过精心构造的提示诱导LLMs生成有毒内容,从而使其偏离预期的安全对齐。

    现有的越狱攻击方法,如GCG(Generate Confirmed Guesses)攻击,尽管在某些情况下能够成功,但其攻击成功率有限。此外,评估攻击效果也存在挑战,因为很难直接准确地评估攻击的有害性。目前广泛使用的评估方法,如拒绝关键词匹配,存在大量误报和漏报的问题。

    DSN攻击:抑制拒绝,提高攻击成功率

    为了更好地研究越狱攻击,论文提出了DSN攻击方法。与传统攻击不同,DSN不仅旨在生成肯定的响应,还创新性地增加了抑制拒绝的目标。

    具体而言,DSN在损失函数中加入了一个增强项,用于指导LLM的响应远离预定义的拒绝关键词或字符串。为了稳定两个相反目标(生成肯定响应和抑制拒绝)的优化过程,论文采用了Unlikelihood损失来抑制拒绝响应。

    通过一系列实验,论文展示了DSN攻击方法在平均和最优结果上都显著优于基线方法GCG。此外,论文还通过调节DSN中的超参数α,研究了拒绝损失项对越狱结果的影响。

    集成评估流程:更准确地评估攻击效果

    为了克服现有评估方法的局限性,论文提出了一个包含三个模块的集成评估流程:自然语言推理(NLI)矛盾评估、两个第三方LLM评估器(GPT-4和HarmBench)。

    通过人工注释300个生成的响应,论文展示了集成评估流程在准确性和可靠性方面优于传统的拒绝匹配方法。论文还比较了不同的聚合策略(如多数投票、单票批准和单票否决)在测试集上的性能。

    此外,论文还在新的评估流程下展示了DSN攻击在不同超参数设置下的最大攻击成功率,并分析了DSN攻击在不同受害者模型、评估指标和数据集分割下的转移性。

    贡献总结与未来展望

    这项研究的主要贡献在于提出了一种新的攻击方法DSN和一个集成评估流程,并通过广泛的实验验证了其有效性。这为提高LLMs的安全性提供了新的视角和方法。

    同时,论文也讨论了其方法的局限性,并提出了未来研究的方向,包括:

    1. 研究DSN攻击在不同类型LLMs和安全机制下的鲁棒性;
    2. 探索使用更复杂的拒绝关键词和模式;
    3. 进一步分析攻击的转移性和实时攻击的可行性;
    4. 基于DSN攻击的发现,开发更有效的防御机制;
    5. 探索更精细的评估方法,如考虑评估元素之间的权重差异;
    6. 研究越狱攻击的社会影响以及相关的法律和伦理问题。

    总之,这项研究为理解和提高LLMs的安全性提供了宝贵的见解,推动了AI系统的安全发展。随着研究的深入,我们有望开发出更加安全、可靠的大型语言模型,造福社会。

  • 让AI更聪明:如何挑选合适的“老师”来训练AI?

    Instruction Matters, a Simple yet Effective Task Selection Approach in Instruction Tuning for Specific Tasks

    https://papers.cool/arxiv/2404.16418

    Authors: Changho Lee ; Janghoon Han ; Seonghyeon Ye ; Stanley Jungkyu Choi ; Honglak Lee ; Kyunghoon Bae

    Summary: Instruction tuning has shown its ability to not only enhance zero-shot generalization across various tasks but also its effectiveness in improving the performance of specific tasks. A crucial aspect in instruction tuning for a particular task is a strategic selection of related tasks that offer meaningful supervision, thereby enhancing efficiency and preventing performance degradation from irrelevant tasks. Our research reveals that leveraging instruction information \textit{alone} enables the identification of pertinent tasks for instruction tuning. This approach is notably simpler compared to traditional methods that necessitate complex measurements of pairwise transferability between tasks or the creation of data samples for the target task. Furthermore, by additionally learning the unique instructional template style of the meta-dataset, we observe an improvement in task selection accuracy, which contributes to enhanced overall performance. Experimental results demonstrate that training on a small set of tasks, chosen solely based on the instructions, leads to substantial performance improvements on benchmarks like P3, Big-Bench, NIV2, and Big-Bench Hard. Significantly, these improvements exceed those achieved by prior task selection methods, highlighting the efficacy of our approach.

    想象一下,你想学习一门新语言,你会怎么做?你可能会找一位老师,或者参加一些课程,对吧?其实,训练人工智能(AI)也类似,我们需要给AI提供合适的“学习资料”和“老师”,才能让它变得更聪明。

    今天,我们要聊的就是AI训练中一个重要的环节——任务选择。就像我们需要选择合适的老师和课程一样,训练AI时也需要挑选合适的任务来让它学习。

    为什么要挑选任务?

    目前,训练AI的一种流行方法叫做指令调整。简单来说,就是让AI学习各种各样的任务,从而提高它在未见过任务上的表现。但这带来一个问题:如何选择合适的任务来训练AI呢?

    如果我们随便挑选一些任务,可能会导致AI学到一些无关的知识,甚至影响它的性能。这就好像你学习英语,却不小心混入了法语和西班牙语的课程,结果可能会让你更加困惑。

    如何挑选合适的任务?

    为了解决这个问题,研究人员提出了一种新的方法,叫做基于指令的任务选择(INSTA)。这个方法的核心思想是:通过分析任务的指令,来判断任务之间的相关性

    举个例子,假设我们想训练AI完成“写一首关于猫的诗”这个任务。INSTA会分析这个任务的指令,然后在大量的任务库中寻找与之相关的任务,比如“写一首关于狗的诗”、“描述猫的外貌特征”等等。

    通过这种方式,INSTA可以帮助我们挑选出与目标任务相关的任务,从而让AI更高效地学习,避免学习到无关的知识。

    INSTA的效果如何?

    研究人员通过实验验证了INSTA的有效性。他们发现,使用INSTA挑选的任务训练出来的AI,在各种任务上的表现都比随机挑选任务训练出来的AI更好。

    未来展望

    INSTA为AI训练提供了一种新的思路,但也有一些可以进一步探索的方向:

    • 探索不同模型的效果:INSTA目前主要在一种特定的AI模型上进行测试,未来可以探索它在其他模型上的效果。
    • 开发更精确的度量方法:INSTA使用简单的相似度来判断任务之间的相关性,未来可以开发更精确的度量方法。
    • 研究指令质量的影响:指令的质量会影响任务选择的准确性,未来可以研究如何提高指令的质量。

    总而言之,INSTA为我们提供了一种有效的方法来挑选合适的任务来训练AI,让AI变得更聪明,更能理解我们的指令。随着研究的不断深入,相信AI会在未来发挥更大的作用,为我们的生活带来更多便利。

  • 非英语语言文档级关系抽取:挑战与探索

    Building a Japanese Document-Level Relation Extraction Dataset Assisted by Cross-Lingual Transfer

    https://papers.cool/arxiv/2404.16506

    Authors: Youmi Ma ; An Wang ; Naoaki Okazaki

    Summary: Document-level Relation Extraction (DocRE) is the task of extracting all semantic relationships from a document. While studies have been conducted on English DocRE, limited attention has been given to DocRE in non-English languages. This work delves into effectively utilizing existing English resources to promote DocRE studies in non-English languages, with Japanese as the representative case. As an initial attempt, we construct a dataset by transferring an English dataset to Japanese. However, models trained on such a dataset suffer from low recalls. We investigate the error cases and attribute the failure to different surface structures and semantics of documents translated from English and those written by native speakers. We thus switch to explore if the transferred dataset can assist human annotation on Japanese documents. In our proposal, annotators edit relation predictions from a model trained on the transferred dataset. Quantitative analysis shows that relation recommendations suggested by the model help reduce approximately 50% of the human edit steps compared with the previous approach. Experiments quantify the performance of existing DocRE models on our collected dataset, portraying the challenges of Japanese and cross-lingual DocRE.

    这篇论文探讨了在非英语语言中,特别是日语中,如何有效地进行文档级关系抽取(DocRE)。DocRE旨在从文档中提取所有语义关系,但目前的研究主要集中在英语上,对非英语语言的关注有限。

    挑战

    • 数据匮乏:非英语语言的DocRE数据集很少,这限制了模型的训练和评估。
    • 跨语言差异:直接将英语资源翻译成其他语言会导致语义和结构上的差异,影响模型性能。
    • 文档复杂性:非英语语言文档的复杂性可能高于英语文档,对模型理解和推理能力提出了更高要求。

    解决方案

    • 跨语言转移:利用机器翻译将英语DocRE数据集转换为日语数据集,作为初始尝试。
    • 半自动数据集构建:由于翻译数据集的局限性,采用人工编辑机器推荐的关系的方式构建高质量的日语DocRE数据集(JacRED)。
    • 模型评估:评估现有DocRE模型在JacRED数据集上的性能,并分析其跨语言转移能力。

    研究发现

    • 翻译数据集的局限性:直接使用翻译数据集训练的模型在处理原始日语文本时召回率较低,表明翻译过程中存在语义和结构上的差异。
    • 半自动数据集构建的有效性:人工编辑机器推荐的关系可以有效减少人工标注的工作量,提高数据集构建效率。
    • 模型性能:现有DocRE模型在JacRED数据集上的性能仍然有待提高,跨语言转移能力也存在局限性。

    未来方向

    • 改进跨语言转移方法:探索更先进的跨语言转移技术,更好地捕捉不同语言之间的语义和结构对应关系。
    • 优化上下文学习:研究如何更好地利用大型语言模型进行上下文学习,提高其在DocRE任务中的性能。
    • 多模态DocRE:考虑将视觉信息等多模态数据融合到DocRE任务中,提高模型对文档内容的理解。
    • 领域适应性:研究如何使DocRE模型更好地适应特定领域,例如法律、医疗或科学文献。
    • 增量式学习和持续学习:探索模型在增量式数据上的训练方法,以及如何设计能够持续学习的系统。
    • 解释性和可视化:提高DocRE模型的解释性,开发可视化工具帮助用户理解模型的预测和决策过程。
    • 鲁棒性和错误分析:深入分析DocRE模型在特定类型错误上的表现,并探索减少这些错误的策略。
    • 多语言DocRE资源开发:为更多语言构建DocRE数据集和模型,促进多语言DocRE研究。
    • 知识图谱的自动构建和更新:研究如何利用DocRE技术自动构建和更新知识图谱。
    • DocRE在实际应用中的集成:探索如何将DocRE技术集成到实际应用中,如智能搜索引擎、推荐系统和自动文摘等。

    总结

    这篇论文为非英语语言,特别是日语的DocRE研究提供了新的思路和方法。通过构建高质量的日语DocRE数据集并评估现有模型的性能,论文揭示了当前DocRE技术在非英语语言上的挑战和局限性,并为未来的研究指明了方向。随着研究的不断深入,DocRE技术有望在更多语言和领域得到应用,为自然语言处理领域带来新的突破。

  • 语言的桥梁:AI 如何帮助不同语言之间无障碍交流

    你有没有想过,有一天,语言不再是人与人之间交流的障碍?人工智能(AI)正在努力实现这个目标!今天,我们就来聊聊一项叫做“跨语言迁移”的技术,它可以让 AI 在不同语言之间自由穿梭,就像搭建了一座语言的桥梁。

    跨语言迁移:打破语言壁垒

    想象一下,你正在用中文阅读一篇有趣的文章,但你的朋友只会英文。这时,AI 就能派上用场了!它可以将这篇文章翻译成英文,让你的朋友也能理解文章的内容。这就是跨语言迁移的魔力。

    词汇和语法:语言的基石

    要实现跨语言迁移,AI 需要掌握两种语言的词汇和语法知识。词汇就像一块块砖头,语法则是搭建房子的规则。只有同时掌握这两者,AI 才能真正理解语言的含义,并进行准确的翻译。

    LS-mBERT:语言的翻译官

    在这项研究中,科学家们开发了一个名为“LS-mBERT”的 AI 模型。它就像一位专业的翻译官,能够在不同语言之间进行转换。LS-mBERT 的特别之处在于,它同时利用了词汇和语法知识,让翻译结果更加准确。

    LS-mBERT 的工作原理

    LS-mBERT 的工作原理可以分为以下几个步骤:

    1. 代码切换: 就像学习外语时,我们会用目标语言替换一些单词,LS-mBERT 也会用这种方法来学习词汇之间的对应关系。
    2. 图注意力网络(GAT): GAT 就像一位语法专家,它能够分析句子的结构,并理解每个词语在句子中的作用。
    3. 整合知识: LS-mBERT 将词汇和语法知识结合起来,就像搭建一座桥梁,让 AI 能够在不同语言之间自由穿梭。

    实验结果:令人惊喜的进步

    科学家们用 LS-mBERT 进行了一系列实验,结果显示它在文本分类、命名实体识别和语义解析等任务上都表现出色,甚至超过了现有的其他 AI 模型。

    未来展望:AI 翻译的无限可能

    LS-mBERT 的成功只是 AI 翻译领域的一个开始。未来,AI 翻译将会更加准确、流畅,甚至可以理解不同语言中的文化差异,真正实现无障碍的跨语言交流。

    结语

    AI 正在改变我们的世界,它帮助我们打破语言的壁垒,让不同文化背景的人们能够更好地相互理解。相信在不久的将来,AI 翻译将会成为我们生活中不可或缺的一部分,让我们拭目以待!

  • 解密Tele-FLM:高效的多语言大型语言模型

    近年来,大型语言模型(LLM)在语言理解和生成方面展现出了惊人的能力,应用范围也越来越广泛。然而,如何高效地将LLM扩展到超过500亿个参数,同时最小化试错成本和计算资源消耗,一直是业界难题。今天,我们将介绍Tele-FLM(也称为FLM2),一个520亿参数的开源多语言大型语言模型,它为高效扩展LLM提供了一种新的思路。

    Tele-FLM:解决LLM扩展难题

    Tele-FLM旨在解决以下几个关键问题:

    • 高效扩展LLM: 目前缺乏详细且开源的方法来高效地扩展LLM至500亿参数以上,Tele-FLM提供了一种新的可行方案。
    • 降低计算成本: 大型语言模型的开发往往需要巨大的计算资源,Tele-FLM通过优化训练流程,有效降低了计算成本。
    • 提升多语言能力: Tele-FLM展示了出色的多语言语言建模能力,能够处理多种语言的文本数据。
    • 增强事实判断能力: Tele-FLM在预训练阶段增强了事实判断能力,使其在处理需要事实验证的任务时更加可靠。
    • 开源共享: 除了模型权重,Tele-FLM的开发者还分享了核心设计、工程实践和训练细节,为学术界和工业界提供了宝贵的参考。

    Tele-FLM的技术亮点

    Tele-FLM的成功得益于以下几个关键技术:

    • 模型生产管道: 为了减少超参数搜索过程中的试错和重启训练的次数,Tele-FLM建立了一个高效的模型生产管道,有效降低了计算资源消耗。
    • 数据集构建: Tele-FLM使用了2万亿token的多语言数据集进行训练,涵盖了多种语言和领域,保证了模型的泛化能力。
    • 模型架构优化: Tele-FLM继承并扩展了FLM-101B的架构,并进行了一系列优化,提高了模型的性能和效率。
    • Tokenizer训练: Tele-FLM训练了一个与预训练数据分布紧密对齐的tokenizer,有效提高了模型的压缩性能。
    • 硬件和并行训练: Tele-FLM利用了3D并行训练方法,在112个A800 SXM4 GPU服务器上进行训练,保证了训练效率。

    Tele-FLM的性能表现

    Tele-FLM在多个基准测试中展现了出色的性能,包括:

    • 多语言语言建模: Tele-FLM在文本语料库上的BPB(Bits Per Byte)指标表现优异,证明了其强大的多语言处理能力。
    • 英语和中文基准测试: Tele-FLM在Open LLM Leaderboard、HumanEval、BIG-Bench Hard和OpenCompass等基准测试中取得了与Llama2-70B和DeepSeek-67B等更大规模模型相当的成绩。

    Tele-FLM的未来展望

    Tele-FLM的开发者计划继续改进模型,探索更大规模的模型训练,并开发更高效的训练技术。他们也致力于将Tele-FLM应用于更广泛的领域,例如聊天机器人、虚拟助手和教育工具等。

    总结

    Tele-FLM为高效扩展LLM提供了一种新的思路,其开源共享的特性也为学术界和工业界提供了宝贵的参考。相信随着技术的不断发展,Tele-FLM将在更多领域发挥重要作用,推动人工智能的进步。

  • GOVSIM: 探索大型语言模型在合作决策中的潜力

    随着大型语言模型(Large Language Models, LLMs)在人工智能领域的快速发展,它们在复杂系统中扮演着越来越重要的角色。然而,在合作环境中确保LLMs的安全决策仍然是一个巨大的挑战。一篇名为”Governance of the Commons Simulation: Evaluating Large Language Models in Cooperative Decision-Making”的论文引入了一个名为”Governance of the Commons Simulation (GOVSIM)”的模拟平台,旨在研究LLMs在多智能体资源分享场景中的策略互动和合作决策能力。

    GOVSIM: 多智能体资源管理模拟平台

    GOVSIM是一个专门设计的模拟环境,用于评估基于LLM的智能体在管理共享资源方面的能力。在这个环境中,智能体需要在一个有限再生能力的共享资源池中进行策略推理、伦理决策和谈判。过度使用或提取超出可持续限制的资源会导致资源退化或完全枯竭。

    模拟过程包括多个阶段,如策略制定、资源收集和集体讨论,智能体在这些阶段中互动并做出决策。研究者定义了多个评估指标,如生存月份数、总收益、平等性、效率和过度使用率,以衡量智能体的合作行为和社会结果。

    智能体框架和实验设置

    为了将不同的LLMs集成到GOVSIM中,研究者使用生成式代理框架(Generative Agent framework)创建了一个标准代理。他们测试了15种不同的LLMs,包括开放权重和封闭权重模型,并分析了它们在模拟中的表现。

    除了默认设置的实验,研究者还进行了扰动测试,通过引入具有更激进动态的新智能体来评估社区的适应性和合作行为。他们还引入了”普遍化假设”来提高LLM智能体对长期社区结果的认识,从而改善可持续性结果。

    关键研究结果和未来方向

    研究发现,在测试的15种LLMs中,只有两种模型能够实现可持续的结果,这凸显了模型在管理共享资源方面的能力差距。此外,通过移除智能体的沟通能力,研究者发现它们倾向于过度使用共享资源,强调了沟通在促进合作中的重要性。有趣的是,大多数LLMs缺乏进行普遍化假设的能力,这突出了它们在推理技能方面的一个显著弱点。

    论文提出了多个未来研究方向,包括扩展模拟的复杂性、提高LLMs的谈判能力、引入对抗性智能体等。这些方向旨在深入理解LLMs在复杂社会互动中的潜力和局限性,并为开发更安全、更有效的AI系统提供见解。

    开源工具包和伦理考虑

    为了促进未来的研究,论文开源了全套研究结果,包括模拟环境、代理提示和Web界面。这为研究者提供了一个宝贵的资源,用于探索LLMs在合作决策中的潜力和局限性。

    同时,论文也强调了在模拟研究中考虑伦理问题的重要性。研究者应确保模拟结果辅助而非替代人类决策,并在开发和部署AI系统时考虑潜在的伦理影响。

    小结

    GOVSIM为研究LLMs在多智能体资源分享场景中的策略互动和合作决策能力提供了一个创新的模拟平台。通过一系列实验和分析,这项研究揭示了LLMs在管理共享资源方面的潜力和局限性,并为未来的研究和AI系统开发提供了宝贵的见解。随着研究的深入,GOVSIM有望成为探索AI在复杂社会互动中的角色的重要工具,推动更安全、更有效的AI技术的发展。

  • LayerSkip: 大型语言模型的高效推理解决方案

    近年来,大型语言模型(Large Language Models, LLMs)在自然语言处理领域取得了显著成功。然而,这些模型在部署时面临着高计算和内存需求的挑战,导致了高昂的财务成本和能源消耗。为了解决这一问题,研究人员提出了各种加速技术,但它们往往会显著降低模型的准确性,并且可能需要专门的硬件或软件支持。

    最近,一篇名为”LayerSkip: An End-to-end Solution for Accelerating Inference of Large Language Models”的论文提出了一种新颖的端到端解决方案,旨在加速LLMs的推理过程,同时保持甚至提高模型的准确性。本文将深入探讨LayerSkip方法的原理、实验结果及其潜在影响。

    LayerSkip方法概述

    LayerSkip方法包括三个主要阶段:训练时的层dropout和早期退出损失、推理时的早期退出、以及自我推测解码。

    在训练阶段,LayerSkip对模型应用层dropout,即随机跳过一些层,并使用不同的dropout率,对较早的层使用较低的dropout率,而对较后的层使用较高的dropout率。此外,还引入了早期退出损失,使得所有transformer层共享同一个退出点,并通过训练使模型的语言模型头能够理解来自不同层的嵌入表示。

    在推理阶段,LayerSkip采用早期退出策略,即仅运行模型的前几层,然后直接跳转到语言模型头,从而减少每次生成令牌所需的层数。这样可以显著减少计算量,提高推理速度。

    为了进一步提高推理的准确性,LayerSkip提出了一种自我推测解码算法。该算法首先使用模型的前几层生成一系列草稿令牌,然后使用剩余的层来验证这些草稿令牌,并在必要时进行纠正。通过共享的计算和激活,这种方法可以减少内存占用并提高效率。

    实验结果

    论文在不同大小的Llama模型上进行了广泛的实验,涵盖了预训练、持续预训练、特定数据领域微调和特定任务微调等不同类型的训练。实验任务包括摘要生成、编程和语义解析等。

    结果表明,LayerSkip方法在这些任务上都取得了显著的速度提升,最高可达2.16倍,同时保持了与原始模型相当甚至更好的准确性。这证明了LayerSkip作为一种通用的LLMs加速解决方案的有效性。

    未来展望

    尽管LayerSkip已经展现了巨大的潜力,但仍有一些方面值得进一步探索。例如,可以研究如何进一步提高早期退出层的准确性,探索动态退出层选择策略,以及将LayerSkip与其他参数高效技术结合以进一步提高效率。

    此外,还需要在更多类型的任务和模型上验证LayerSkip的通用性,并研究如何减少对超参数调整的需求,使该方法更易于应用。从环境影响的角度来看,评估LayerSkip在减少LLMs能源消耗方面的潜力也是一个有意义的方向。

    小结

    LayerSkip为加速大型语言模型的推理提供了一种新颖而有效的解决方案。通过在训练时引入层dropout和早期退出损失,在推理时采用早期退出和自我推测解码,LayerSkip在保持准确性的同时显著提高了推理速度。这项研究为推动LLMs在资源受限设备上的应用迈出了重要一步,有望促进自然语言处理技术的普及和民主化。随着进一步的优化和扩展,LayerSkip有望在更广泛的场景中发挥其潜力,为人工智能的发展做出贡献。

  • 用注意力机制提升文本匹配:FA 和 SFA 模块详解

    在信息爆炸的时代,文本匹配技术在各种应用中发挥着重要作用,例如搜索引擎、问答系统和推荐系统等。轻量级文本匹配模型因其参数量小、推理速度快等优点而受到关注。然而,如何在轻量级模型中有效地捕获文本的语义信息一直是一个挑战。

    这篇博客文章将介绍两种新的注意力机制模块:特征注意力 (FA) 和选择性特征注意力 (SFA),它们可以帮助轻量级模型更好地理解文本的语义信息,从而提高文本匹配的准确率。

    1. 问题定义

    轻量级文本匹配模型通常使用孪生网络结构,该结构将两个文本编码成向量,然后比较这两个向量之间的相似度。然而,这种方法忽略了文本中嵌入特征之间的复杂关系。

    FA 和 SFA 模块旨在解决这一问题,它们可以帮助模型更好地捕获嵌入特征之间的依赖关系,从而提高文本匹配的准确率。

    2. FA 模块

    FA 模块采用了一种叫做“挤压-激励”的技术,它可以动态调整对个体特征的强调,使网络更关注对分类有重要贡献的特征。

    具体来说,FA 模块首先使用平均池化将特征图压缩成一个特征描述符,然后通过全连接层生成一个激活向量,该向量指示了对最终分类有显著贡献的特征。最后,通过元素级乘法将激活向量与原始特征相乘,以生成一个更加精细调整的嵌入特征表示。

    3. SFA 模块

    SFA 模块在 FA 的基础上,引入了选择性特征注意力机制。该机制使用堆叠的 BiGRU Inception 结构,以实现多尺度语义提取,并通过“选择”机制动态集中注意力。

    具体来说,SFA 模块首先通过一个瓶颈结构降低特征维度,然后通过 N 层堆叠的 BiGRU 捕获每一层的语义表示,实现了特征的“分裂与融合”。

    在“挤压-激励”阶段,SFA 模块使用全局平均池化和全局最大池化来压缩信息,并使用全连接层来激活特征。

    “选择”阶段通过向量级 softmax 归一化来适应性地加权不同分支的特征,生成每个分支的加权和表示,从而实现对不同抽象层次上语义信息和嵌入特征的动态聚焦。

    4. 实验评估

    在多个文本匹配基准数据集上进行的实验表明,FA 和 SFA 模块可以有效地提高文本匹配的准确率。此外,SFA 模块的“选择”机制还可以有效管理不同尺度语义提取的梯度流动,从而提高训练稳定性和模型性能。

    5. 未来工作

    未来的研究方向包括将 FA 和 SFA 模块应用于其他 NLP 任务,优化计算效率,提高模型的可解释性,以及测试和改进它们在不同语言和不同领域数据集上的泛化能力。

    6. 总结

    FA 和 SFA 模块为轻量级文本匹配任务提供了一种新的嵌入特征依赖性建模方法,并实验评估表明,它们能够有效地提高文本匹配性能。未来,我们将继续探索 FA 和 SFA 模块在其他 NLP 任务中的应用,并进一步提高它们的性能和可解释性。

  • PRETTY: 一种无需训练的跨语言大型语言模型对齐方法

    大型语言模型(Large Language Models, LLMs)在自然语言处理领域取得了巨大成功。然而,如何使LLM的输出与特定偏好相一致仍然是一个挑战。监督式微调(Supervised Fine-Tuning, SFT)是一种直接的方法,但其对齐的深度受到质疑。在跨语言生成任务中,非英语数据的稀缺性和获取成本进一步限制了SFT的应用。

    最近,一篇名为”PRETTY: Prefix Text as a Yarn for Training-free Alignment of Foundation Language Models”的论文提出了一种创新的训练自由对齐方法,旨在解决这些问题。本文将深入探讨PRETTY方法的原理、实验验证及其潜在影响。

    SFT的局限性

    SFT通过在特定任务上微调预训练的LLM,使其输出与期望的偏好相一致。然而,一些研究质疑SFT实现的对齐可能只是表面的,没有真正深入到模型的知识体系中。

    此外,论文指出SFT在跨语言生成任务中的有效性可能受到其对先前token的依赖的限制。这种依赖性可能阻碍了SFT在目标语言中激发特定任务生成的能力。

    PRETTY方法

    针对上述问题,论文提出了PRETTY(Prefix Text as a Yarn)方法。其核心思想是使用最少的任务相关先验token来桥接基础LLM和SFT LLM,从而在无需训练的情况下实现与SFT相当的性能。

    PRETTY方法的关键在于构建高质量的先验token。论文提出了三种策略:

    1. SFT Prior:使用SFT模型生成的前几个token作为先验token。
    2. Refined Prior:使用较小的下游任务训练模型的输出token作为先验token。
    3. Pseudo Prior:对于极低资源语言对,使用双语词典创建伪标签作为先验token。

    通过在输入中添加这些先验token,PRETTY方法能够引导基础LLM进行跨语言生成,实现对齐而无需额外的训练。

    实验验证

    论文在机器翻译、跨语言摘要和非英语词性标注(POS)任务上对PRETTY方法进行了全面的实验验证。实验涵盖了八种不同语言,展示了该方法在不同资源可用性水平下的有效性。

    结果表明,通过仅添加一两个先验token,基础LLM就能达到与SFT模型相当的性能。这证明了PRETTY方法作为一种成本效益高的SFT替代方案的潜力。

    意义与展望

    PRETTY方法为推进多语言LLM的民主化提供了新的视角。它降低了对大量标注数据和计算资源的依赖,使得在资源有限的情况下也能实现高质量的跨语言对齐。

    未来的研究方向包括将PRETTY扩展到更多的对齐场景,如通过人类反馈进行强化学习,以及进一步优化先验token的生成策略。此外,还需要探索如何减轻SFT过程中可能出现的灾难性遗忘问题。

    小结

    PRETTY方法通过引入最少的任务相关先验token,提供了一种简单而有效的LLM跨语言对齐方案。它突破了SFT的局限性,降低了对训练资源的依赖,为发展更加普惠的多语言LLM铺平了道路。随着研究的深入,PRETTY有望在更广泛的任务和语言中得到应用,推动自然语言处理技术造福全球用户。

  • SiLU 激活函数:深度学习中的新星

    SiLU 激活函数,全称 Swish,近年来在深度学习领域崭露头角,并展现出诸多优势。本文将详细介绍 SiLU 激活函数,包括其定义、性质、优缺点以及应用场景,帮助读者更好地理解和运用这一新兴技术。

    1. 什么是 SiLU 激活函数?

    SiLU 激活函数由 Google 研究员提出,其定义如下:

    SiLU(x) = x * sigmoid(x)

    其中,sigmoid 函数是常见的激活函数,其表达式为:

    sigmoid(x) = 1 / (1 + exp(-x))

    SiLU 激活函数可以看作是 sigmoid 函数和输入值的乘积。它将输入值乘以一个介于 0 和 1 之间的值,从而实现非线性激活。

    2. SiLU 激活函数的性质

    SiLU 激活函数具有以下几个重要性质:

    • 平滑性: SiLU 激活函数是平滑的,这意味着它的导数在所有点都存在。这使得 SiLU 激活函数更易于优化,并有助于避免梯度消失问题。
    • 非单调性: SiLU 激活函数是非单调的,这意味着它在某些区间内是单调递增的,而在其他区间内是单调递减的。这使得 SiLU 激活函数可以更好地学习复杂的数据模式。
    • 零中心性: SiLU 激活函数在零点处取值为零。这使得 SiLU 激活函数可以更好地处理输入数据的分布,并避免梯度爆炸问题。

    3. SiLU 激活函数的优缺点

    与其他激活函数相比,SiLU 激活函数具有以下优点:

    • 更高的精度: 在许多任务中,SiLU 激活函数可以比其他激活函数获得更高的精度。
    • 更快的收敛速度: SiLU 激活函数可以帮助模型更快地收敛。
    • 更强的鲁棒性: SiLU 激活函数对噪声和数据分布变化更具鲁棒性。

    然而,SiLU 激活函数也存在一些缺点:

    • 计算成本更高: SiLU 激活函数需要进行乘法和 sigmoid 运算,这比其他一些激活函数的计算成本更高。
    • 缺乏理论解释: SiLU 激活函数的优越性还没有得到充分的理论解释。

    4. SiLU 激活函数的应用场景

    SiLU 激活函数可以应用于各种深度学习任务,包括:

    • 图像识别: SiLU 激活函数可以提高图像识别模型的精度。
    • 自然语言处理: SiLU 激活函数可以提高自然语言处理模型的性能。
    • 目标检测: SiLU 激活函数可以提高目标检测模型的精度。

    5. 总结

    SiLU 激活函数是一种新兴的激活函数,它具有平滑性、非单调性、零中心性等优点,并且在许多任务中表现出更高的精度和更快的收敛速度。虽然 SiLU 激活函数还存在一些缺点,但它仍然是深度学习领域值得关注的新技术。

    参考资料

  • 通过上下文多样化提高生成式常识推理的多样性

    大家好,今天我想和大家分享一篇有趣的论文,题为《通过上下文多样化提高生成式常识推理的多样性》。这篇论文主要研究如何提高大型语言模型(LLMs)在生成常识推理(GCR)任务中的输出多样性,同时保持生成质量。

    在GCR任务中,模型需要利用常识知识对给定情境进行推理,并生成连贯的句子。虽然生成句子的质量至关重要,但多样性同样重要,因为它反映了模型使用各种常识知识事实的能力。

    论文提出了一种名为In-Context Diversification(ICD)的方法来解决这个问题。ICD方法的核心思想是在保持生成质量的同时,通过上下文学习(ICL)来提高句子的多样性。具体来说,ICD方法分两步进行:首先,让LLM自由生成高质量句子;其次,使用用户指定的多样性度量来评估并提高句子的多样性。

    为了验证ICD方法的有效性,论文在CommonGen、ComVE和DimonGen三个GCR数据集上进行了实验。使用BLEU、SPICE、BERTScore等质量指标和self-BLEU、Distinctk、Entropyk等多样性指标来评估生成结果。实验结果表明,ICD方法在质量和多样性之间取得了理想的平衡,并且在Combined metrics上优于默认和多样化提示生成的句子。

    此外,论文还探索了将ICD生成的句子作为训练数据,用于提高现有常识生成器的多样性。通过MoE模型的验证,证明了这一点的可行性。同时,论文还研究了LLM是否能够准确判断给定句子集的多样性,以及不同温度设置对ICD方法性能的影响。

    尽管这项研究取得了积极的成果,但仍有一些局限性和未来的探索方向。例如,当前的研究主要集中在英语句子的生成上,未来可以将ICD方法扩展到多语言模型。此外,还需要在更广泛的LLMs上评估ICD方法,并考虑社会偏见和有害内容生成的问题。

    总的来说,这篇论文提出了一种有效的方法来提高LLMs在GCR任务中的输出多样性,并通过一系列实验验证了该方法的性能。这项研究不仅推动了GCR领域的发展,也为其他需要多样性输出的NLP任务提供了新的思路。希望这篇论文能够激发更多的研究,进一步提高LLMs在各种文本生成任务中的性能。

    如果大家对这篇论文感兴趣,欢迎留言讨论。也欢迎大家分享自己在GCR或其他NLP任务中遇到的问题和见解。让我们一起探索如何让AI生成更加多样化和高质量的文本吧!

  • FILM-7B: A Large Language Model that Makes Full Use of Context

    Large language models (LLMs) are becoming increasingly powerful, but they still struggle to fully utilize information within long contexts. This “lost-in-the-middle” challenge can hinder the development of LLMs, as they may fail to understand the full meaning of long texts.

    This blog article will discuss a new approach called FILM-7B (FILl-in-the-Middle) that addresses this challenge. FILM-7B is based on Mistral-7B and utilizes information-intensive (IN2) training, a data-driven solution that emphasizes the importance of every position in a long context.

    The Lost-in-the-Middle Challenge

    LLMs often struggle to understand the full meaning of long texts because they fail to recognize the importance of information in the middle of the context. This can lead to errors in tasks such as question answering and summarization.

    The “lost-in-the-middle” challenge is caused by a lack of explicit supervision during training. LLMs are not explicitly taught that every position in a long context can hold crucial information.

    FILM-7B: A Data-Driven Solution

    FILM-7B addresses the “lost-in-the-middle” challenge through IN2 training. This training method uses a synthesized long-context question-answer dataset, where the answer requires:

    • Fine-grained information awareness on a short segment (~128 tokens) within a synthesized long context (4K-32K tokens).
    • Integration and reasoning of information from two or more short segments.

    By applying IN2 training to Mistral-7B, FILM-7B is able to effectively utilize information from different positions in its 32K context window.

    Evaluation and Results

    FILM-7B was evaluated on three probing tasks that encompass various context styles and information retrieval patterns. The results demonstrate that FILM-7B can robustly retrieve information from different positions in its long context window.

    Furthermore, FILM-7B significantly improves the performance on real-world long-context tasks, while maintaining a comparable performance on short-context tasks. These results indicate that IN2 training can generalize to real-world scenarios and that FILM-7B does not compromise short-text capabilities during training.

    Conclusion

    FILM-7B is a promising LLM that addresses the “lost-in-the-middle” challenge through IN2 training. This data-driven approach allows FILM-7B to effectively utilize information from different positions in long contexts, leading to improved performance on both probing tasks and real-world long-context tasks.

    Further Research

    Several areas for further research are identified in the paper, including:

    • Exploring the diversity of training data.
    • Optimizing training strategies.
    • Investigating the impact of different model architectures.
    • Enhancing the model’s cross-lingual capabilities.
    • Exploring real-time performance and robustness.

    These research directions will help to further improve the capabilities of FILM-7B and other LLMs in handling long contexts.

    Additional Resources

    • GitHub Link: https://github.com/microsoft/FILM
    • Paper: https://arxiv.org/abs/2310.05389

  • 如何让大型语言模型(LLMs)充分利用长文本信息?——微软提出的FILM方法

    大家好,相信不少人已经体验过ChatGPT等大型语言模型(LLMs)强大的对话和写作能力。但你可能不知道,目前的LLMs在处理长文本(如长篇小说、学术论文等)时,还面临着一个棘手的问题,那就是”迷失在中间”(Lost-in-the-Middle)。

    什么是”迷失在中间”?简单来说,就是模型在阅读一篇很长的文章时,往往能很好地理解文章开头和结尾的内容,但对中间段落的重要信息却视而不见。这就像我们看一部电影,只记住了精彩的开场和结局,但对中间情节毫无印象。

    微软的研究人员推测,造成这个问题的原因,可能是目前用于训练LLMs的长文本数据存在偏差——它们没有明确告诉模型:文章的每个部分都可能包含关键信息,要认真对待!这就导致模型养成了”重两头、轻中间”的坏习惯。

    为了纠正这个偏差,研究人员提出了一种名为”信息密集型训练”(Information-Intensive Training,简称IN2)的新方法。它的核心思想是:人工合成一批长文本问答数据,其中的问题都需要模型在长文本的不同部分准确定位信息,并将它们联系起来进行推理。通过在这样的数据集上反复训练,模型就能学会关注长文本的每个细节。

    研究人员以Mistral-7B模型为基础,应用IN2训练方法,得到了一个名为FILM-7B的新模型。为了全面测试它的长文本理解能力,他们还精心设计了多个探测任务,覆盖不同的文本类型(如文档、代码、表格数据等)和信息检索模式(如串联、跳跃、双向等)。

    在这些探测任务上,FILM-7B展现了出色的表现,证明它能够灵活地在长达32,000词的超长文本中准确定位关键信息。更令人兴奋的是,在现实世界的长文本应用中,如长篇问答(NarrativeQA)任务,FILM-7B的F1分数也从23.5大幅提高到26.9,而在需要推理的常识问答(CSQA)等短文本任务上,性能并未下降反而小幅提升(59.3%->59.2%),可见IN2方法的有效性。

    此外,研究人员还将FILM-7B与其他知名的开源长文本模型(如ChatGLM、LongChat等)和商业模型(如GPT-3.5/4)进行了比较,结果显示FILM-7B在大多数长文本任务上都实现了最佳表现,充分证明了IN2训练的潜力。

    当然,FILM-7B还有进一步改进的空间。例如,研究人员分析发现,在训练过程中合理使用”滑动窗口”和”位置编码”等技巧,有望进一步提高模型性能。未来,他们还计划在更大规模、更多样化的真实数据上应用IN2方法,以进一步提升FILM系列模型的长文本理解能力。

    总之,这项研究为LLMs在长文本处理上的瓶颈问题提供了一种简单有效的解决思路,相信通过更多研究者的努力,LLMs必将在各类长文本应用场景中发挥更大的价值。感兴趣的读者可以访问论文 [项目网站](https://github.com/microsoft/FILM) 了解技术细节并动手实践。

    以上就是我对这篇论文的通俗解读,不知你觉得如何?欢迎在评论区交流你的想法!

  • 破解AI模型速度瓶颈:一种全新的“分组查询注意力”方法

    你是否曾经对人工智能模型的运算速度感到不耐烦,同时又希望它能保持高质量的预测结果?这可能听起来像是一个无法两全的问题,但科研人员们并没有停下探索的脚步。今天,我们要介绍的这篇研究报告,就给出了一个行之有效的解决方案。这篇研究名为 “GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints”,由来自Google Research的团队所撰写。他们提出了一种称为“分组查询注意力(Grouped-query attention, GQA)”的新方法,旨在解决Transformer模型中的一个关键问题,即如何在保持预测质量的同时,提高模型的运算速度。

    首先,让我们理解一下这个问题的背景。在Transformer模型中,一个关键的计算过程就是自回归解码器推理。这个过程需要大量的内存带宽来加载解码器权重和所有注意力键值,这就大大限制了模型的运算速度。为了解决这个问题,研究者们提出了多查询注意力(Multi-query attention, MQA)方法,它只使用一个键值对来大幅度提高解码器推理的速度。然而,MQA方法可能会导致预测质量下降,而且也不太适合用于训练单独的模型以提高推理速度。

    在这样的背景下,Google Research的团队提出了两个重要的贡献。首先,他们发现,可以使用少量的原始训练计算来将具有多头注意力(Multi-head attention, MHA)的语言模型检查点进行升级训练,使其能够使用MQA,这是一种非常成本有效的方法,可以同时获得高速的MQA和高质量的MHA检查点。其次,他们提出了分组查询注意力(GQA)的概念,这是一种在多头注意力和多查询注意力之间的插值方法,它为每组查询头部共享一个键和值头部。

    GQA的工作原理是将查询头部分成若干组,每组共享一个键头和值头。具有G组的GQA被称为GQA-G。GQA-1(具有一个组,因此具有一个键和值头)等同于MQA,而具有等于头部数量的组的GQA-H等同于MHA。通过使用中间数量的组,GQA可以产生一个质量比MQA高,但速度比MHA快的插值模型。此外,对于大型模型,GQA的优势更加明显,因此,我们期待GQA能在大型模型中提供一个特别好的权衡方案。

    在实验部分,研究者们使用了基于T5.1.1架构的所有模型,并对T5 Large和XXL的多头注意力版本,以及使用多查询和分组查询注意力的升级版T5 XXL进行了主要实验。实验结果表明,使用GQA的T5-XXL模型在各种不同的数据集上,包括CNN/Daily Mail, arXiv, PubMed, MediaSum, 和 MultiNews等新闻摘要数据集,以及WMT英德翻译数据集和TriviaQA问答数据集上,都保持了与多头注意力模型相近的质量,同时又具有与多查询注意力模型相近的速度。

    在AI领域,我们一直在寻找提高效率和质量的方法,而GQA的出现无疑为我们提供了一个新的可能。它不仅提高了模型的运算速度,而且还成功地保持了预测的质量。这使得GQA成为了提高AI模型性能的一种有力工具,我们有理由期待,这种方法将在未来的AI应用中发挥更大的作用。

    总的来说,这项研究的重要性在于,它不仅提供了一种提高AI模型速度的有效方法,而且这种方法还能保持模型的预测质量。这使得我们可以在实际应用中实现更快、更准确的AI模型,从而在各种场景中提供更好的服务。

    这就是今天的分享,希望你们能从中获取到有用的信息。我们将继续关注更多的人工智能研究,并与大家分享。感谢你们的倾听,我们下次见!

  • 从 LLAMA 到 LLAMA2:开源模型的进化之路

    大家好,欢迎来到我的博客!今天,我们要聊一聊有关两个开源语言模型的故事,它们分别是 LLAMA 和 LLAMA2。正如在科技世界里常见的,这两个模型的出现,都代表着一次重要的突破和进化。那么,它们是如何超越自身,再次突破技术瓶颈的呢?让我们一起探索吧。

    1. LLaMA:以开放和高效为目标的基础语言模型

    首先,我们来看看第一个主角 LLAMA。它仅仅使用公开可用的数据(数量高达数万亿 tokens)就训练出了效果超越 GPT-3 和 Chinchilla-70B PaLM-540B 的模型。最让人惊奇的是,它的体积比 GPT-3 小十倍,但效果更好。这是怎么做到的呢?

    LLaMA 的开发者们发现,给定一定的计算量预算,我们可以通过在较小的模型上训练更多的数据来获取最好的效果。这就是 LLAMA 所依据的尺度原则。

    为了训练 LLAMA,开发者们使用了多种来源的预训练数据,包括英文 CommonCrawl, Github, Wikipedia 等。每一种数据都经过了严格的清洗和筛选,以确保模型训练的质量。在训练时,每个 token 只训练一次,除了 Wikipedia 和 Books,训练了两次。

    LLaMA 的模型结构基于 transformer,在 GPT3、PaLM、GPTNeo 的基础上做出了改良。其中包括使用 RMSNorm 进行 Pre-normalization,使用 SwiGLU 替换 ReLU 作为激活函数,舍弃绝对位置编码,使用旋转位置编码等一系列创新手段。

    2. LLaMa 2:基础和微调并进的聊天模型

    接下来,我们来了解一下 LLAMA 的升级版本——LLAMA2。虽然 LLAMA1 的效果已经非常优秀,但是与闭源的“产品级”模型相比,如 ChatGPT、BARD、Claude,仍有一定的差距。因此 LLAMA2 的目标就是要尽可能地提升模型的性能,使其更符合人类的偏好。

    LLAMA2 的训练数据量增加了40%,达到了2万亿 tokens。同时,上下文长度翻倍,引入了 grouped-query attention 的新技术。这些改变使得 LLAMA2 在长数据的效果明显提升,而在短数据上的性能则没有下降。

    LLAMA2 在微调上也做了很多工作。它引用了 LLAMA1 中的 SFT 数据集设置,对模型进行了精细的调整。在收集数据时,采用了课程策略,逐渐将问题复杂化,使得模型能够更好地适应和处理各种问题。

    结语

    总的来说,LLAMA 和 LLAMA2 的出现,代表了开源模型的重大进步。他们的成功,得益于严谨的数据处理,创新的模型结构,以及精细的模型调整。这些都是我们在探索人工智能的道路上,值得学习和借鉴的经验。

    希望这篇博客能给你带来一些启发和灵感。我们下次再见!

  • XAgent:面向复杂任务解决的自主智能体

    XAgent 是一个开源的基于大型语言模型(LLM)的自主智能体,能够自动解决各种任务。它旨在成为一个通用的智能体,应用于各种任务。尽管 XAgent 目前仍处于早期阶段,我们正在不断努力改进它。

    我们的目标是创建一个可以解决任何给定任务的超级智能体。我们欢迎全职、兼职等各种形式的合作。如果您对智能体的前沿感兴趣,并希望加入我们实现真正的自主智能体,欢迎与我们联系。

    XAgent 特点

    XAgent 具有以下特点:

    • 自主性:XAgent 可以在没有人类参与的情况下自动解决各种任务。
    • 安全性:XAgent 被设计为安全运行。所有的行为都被限制在一个 Docker 容器内,不用担心您的主机环境受到影响。
    • 可扩展性:XAgent 被设计为可扩展的。您可以轻松地添加新的工具来增强智能体的能力,甚至是新的智能体!
    • GUI:XAgent 为用户提供了友好的 GUI 来与智能体交互。您也可以使用命令行界面与智能体交互。
    • 与人类的合作:XAgent 可以与您合作解决任务。它不仅有能力在行进中遵循您的指导来解决复杂的任务,而且在遇到挑战时还可以寻求您的帮助。

    工具服务器

    工具服务器为 XAgent 提供强大和安全的工具来解决任务的服务器。它是一个 Docker 容器,为 XAgent 提供一个安全的运行环境。目前,工具服务器提供以下工具:

    • 文件编辑器:提供一个文本编辑工具,可以写入、读取和修改文件。
    • Python笔记本:提供一个交互式的 Python 笔记本,可以运行 Python 代码来验证想法、绘制图形等。
    • 网页浏览器:提供一个网页浏览器,可以搜索和访问网页。
    • Shell:提供一个 bash shell 工具,可以执行任何 shell 命令,甚至安装程序和托管服务。
    • Rapid API:提供一个从 Rapid API 检索 API 并调用它们的工具,为 XAgent 提供了广泛的 API。

    快速开始

    首先,您需要安装 Docker 和 docker-compose。然后,您需要构建工具服务器的镜像。在 ToolServer 目录下,运行以下命令:

    cd ToolServer
    docker-compose up

    这将构建工具服务器的镜像并启动工具服务器的容器。如果您想在后台运行容器,请使用 docker-compose up -d

    在启动 ToolServer 后,您可以配置并运行 XAgent。首先,安装依赖项:

    pip install -r requirements.txt

    然后,您需要使用 config.yml 配置 XAgent 才能运行。请提供至少一个 OpenAI key,用于访问 OpenAI API。

    最后,运行 XAgent:

    python run.py --task "put your task here" --model "gpt-4"

    您可以使用参数 --upload_files 来指定提交给 XAgent 的文件。

    案例

    我们提供了一些使用 XAgent 解决任务的案例。您可以在 XAgent 官网上查看我们的在线演示。我们还提供了视频演示和使用 XAgent 的案例。

    案例1. 数据分析:展示双环机制的有效性

    在这个案例中,我们将展示 XAgent 如何利用双环机制来解决数据分析任务。我们将使用一个简单的数据集 iris.zip 上传到 XAgent,然后让 XAgent 分析数据集并生成一个报告。XAgent 将任务分解为 4 个子任务:数据理解,验证 Python 环境,编写数据分析代码,编写报告。

    案例2. 推荐:展示与人类的合作

    XAgent 拥有独特的能力,可以积极寻求人类协助并共同解决问题,持续重新定义着人类与智能体人合作的界限。如下方截图所示,用户寻求了 XAgent 的帮助,以推荐一些适合友好聚会的优秀餐厅,但未提供具体细节。识别到提供的信息不足,XAgent 利用了“请求人类帮助”工具,促使人类介入以获取用户的偏好位置、预算限制、烹饪偏好以及任何饮食限制。凭借这宝贵的反馈信息,XAgent 轻松地生成了定制的餐厅推荐,确保用户及其朋友们获得了个性化和令人满意的体验。

    案例3. 训练模型:高级工具使用者

    XAgent 不仅能处理琐碎任务,还可以在复杂任务中提供宝贵的帮助,比如模型训练。在这里,我们展示了一个用户希望分析电影评论并评估特定电影周围公众情感的情景。作为回应,XAgent 迅速启动了下载 IMDB 数据集的过程,以训练一款先进的 BERT 模型。拥有了这个训练有素的 BERT 模型,XAgent 能够轻松地应对电影评论的复杂细节,提供关于公众对各种电影看法的见解性预测。

    评测

    我们进行了人类偏好评估,以评估 XAgent 的性能。我们为评估准备了超过 50 个现实世界的复杂任务,可以分为 5 个类别:搜索与报告,编码与开发,数据分析,数学和生活助手。我们将 XAgent 的结果与 AutoGPT 进行比较,结果显示 XAgent 完全胜过 AutoGPT。

    博客

    我们的官方博客在这里

    引用

    如果您发现我们的仓库对您有帮助,希望您能引用我们的论文:

    @misc{xagent2023,
          title={XAgent: An Autonomous Agent for Complex Task Solving}, 
          author={XAgent Team},
          year={2023},
    }

    以上就是 XAgent 的详细介绍和使用案例,希望对您有所帮助。

  • vLLM:让大型模型推理更快的工具

    今天,我要给大家介绍一款名为vLLM的神奇工具。它的主要功能是加速大型语言模型(如OpenAI的GPT-3)的推理速度。如果你是NLP(自然语言处理)领域的研究员或开发者,我相信这个工具可能会对你的工作有所帮助。

    为什么我们需要vLLM?

    在大规模语言模型运行时,我们常常遇到一个问题:显存不足。这是因为在生成新的单词或者词语(token)时,我们需要存储一些称为 keys 和 values的数据(我们可以把它们看作是模型用来生成新token的”记忆”)在GPU的显存中。然而,这些数据通常非常大,而且大小也会不断变化,这使得显存管理变得困难。传统的管理方式往往会造成显存的60%-80%的浪费。

    这就是vLLM要解决的问题。它引入了一种名为PagedAttention的新技术,可以有效地管理这些keys和values,使得显存的使用效率接近最优(浪费比例低于4%)。这样一来,我们就可以使用更大的数据批次进行运算,从而提高GPU的并行计算能力。

    vLLM的核心技术:PagedAttention

    PagedAttention的工作原理受到了操作系统中虚拟内存和分页的启发。它将每个序列的数据划分为块,每个块包含固定数量的keys和values。这些块不需要连续的内存,因此可以更灵活地对它们进行管理。

    此外,PagedAttention还支持内存共享,也就是说,当用一个提示生成多个不同的序列时,可以共享计算量和显存。这种内存共享机制可以大幅降低显存需求(最高可降低55%),从而进一步提升推理速度。

    如何使用vLLM?

    vLLM的使用非常简单。首先,使用pip命令安装vLLM:

    pip install vllm

    然后,你就可以使用vLLM来生成文本了:

    from vllm import LLM
    
    prompts = ["Hello, my name is", "The capital of France is"]  # 提示
    llm = LLM(model="lmsys/vicuna-7b-v1.3")  # 创建一个LLM
    outputs = llm.generate(prompts)  # 从提示生成文本

    vLLM也支持在线服务。你可以使用以下命令启动一个在线服务:

    python -m vllm.entrypoints.openai.api_server --model lmsys/vicuna-7b-v1.3

    然后,你就可以通过HTTP请求来调用这个服务了:

    curl http://localhost:8000/v1/completions \
        -H "Content-Type: application/json" \
        -d '{
            "model": "lmsys/vicuna-7b-v1.3",
            "prompt": "San Francisco is a",
            "max_tokens": 7,
            "temperature": 0
        }'

    如果你对vLLM感兴趣,可以在这里查阅更多信息。希望这个工具能对你的工作或学习有所帮助!

  • QLoRA: 高效Finetuning 量化 LLMs

    Dettmers提出了一种高效的微调方法QLoRA,它能够在保持完整的16位微调任务性能的同时,将内存使用量降低到足以在单个48GB GPU上微调65B参数模型的程度。

    QLoRA通过在低秩适配器(LoRA)中将梯度反向传播到一个冻结的、4位量化的预训练语言模型。我们最优秀的模型家族,我们将其命名为Guanaco,在Vicuna基准测试中胜过之前所有公开发布的模型,达到了ChatGPT性能水平的99.3%,而仅需要在单个GPU上进行24小时的微调。QLoRA在不牺牲性能的前提下采用了许多创新技术来节省内存:

    (a)4位NormalFloat(NF4),一种对于正态分布权重来说,从信息理论角度具有最优性的新数据类型;

    (b)双重量化,通过量化量化常数来减少平均内存占用;

    (c)分页优化器,以管理内存峰值。我们使用QLoRA对超过1000个模型进行微调,在8个指令数据集中,对多种模型类型(LLaMA,T5)以及在常规微调中难以运行的模型规模(例如33B和65B参数模型)进行了详细的指令跟随和聊天机器人性能分析。

    结果表明,QLoRA在小型高质量数据集上的微调可以达到最先进的结果,即使使用比之前SoTA更小的模型。我们根据人类评估和GPT-4评估结果,对聊天机器人性能进行了详细分析,结果表明GPT-4评估是一种廉价且合理的人类评估替代方案。此外,当前的聊天机器人基准测试并不可靠,无法准确评估聊天机器人的性能水平。已发布了所有模型和代码,包括用于4位训练的CUDA内核。


    artidoro/qlora: QLoRA: Efficient Finetuning of Quantized LLMs (github.com)

  • 知乎携手面壁智能推出全新开源大模型:CPM-Bee10b 登顶中文基座模型

    2023年5月27日,知乎在2023中国国际大数据产业博览会上发布了最新的大语言模型成果。知乎合伙人、首席技术官李大海宣布,知乎和面壁智能共同研发的中文基座大模型CPM-Bee10b全面开源,并发布了智能大模型产品“露卡”和知乎大模型应用功能“搜索聚合卡”。李大海表示,知乎将携手面壁智能,让中国用户在大模型时代享受到最优质的服务。

    知乎与面壁智能首度合作,推出开源大模型CPM-Bee10b

    在“2023知乎发现大会”上,知乎发布了大语言模型“知海图AI”并内测首个站内大模型应用功能“热榜摘要”。此举令知乎成为国内首批具备大语言模型能力的公司,并且让更多人开始关注知乎的技术发展。时隔一个月之后,知乎在2023数博会上再度带来惊喜。

    知乎联合面壁智能发布了首个开源中英文基座大模型CPM-Bee 10b。李大海介绍,该模型从零开始自主训练,基于Transformer架构,中英双语表现优秀,拥有百亿量级参数、超过3万亿高质量语料。经过ZeroCLUE的评测,CPM-Bee10b 以平均 79.8 分登顶中文基座模型,并且英文基座模型得到了68的平均分。“CPM-Bee10b 将全面开源,并允许商用。”李大海称,面壁智能一直坚持开源路线,未来也会持续拥抱开源,促进大模型领域技术和生态的繁荣。

    智能大模型产品“露卡”亮相,展现全面性能

    发布会上,知乎还带了最新的智能大模型产品“露卡”(Luca)。该产品在开源基础模型上又有进一步性能提升,可以进行智能交互并支持多轮对话。从评测结果来看,有65%的结果性能等于或优于ChatGPT。在发布会现场演示中,“露卡”既展示了写文案、藏头诗、解数学题等“全科”能力,也能完成例如“如何制作毛血旺”等回答。令人惊喜的是,“露卡”还拥有图片理解能力,甚至可以查找论文并生成摘要,这表明“露卡”拥有非常优秀的多模态理解能力。

    知乎推出大模型应用功能“搜索聚合卡”,助力用户高效获取信息

    除了基础能力,知乎也是国内率先在应用层面探索大模型产品的公司。继“热榜摘要”之后,知乎带来了又一款站内的大模型应用功能“搜索聚合”。该产品将大模型能力应用到了知乎搜索上,每当用户触发搜索时,系统就会从大量提问和回答中聚合观点,提高用户获取信息、形成决策的效率。发布会当天,“露卡”和“搜索聚合”都开启了正式内测。李大海表示,知乎将继续夯实大模型基础能力,迭代应用产品,为让中国用户享受到一流的大模型服务而努力奋斗。

    未来展望:知乎致力于为用户提供一流的大模型服务

    本次发布会标志着知乎在大模型领域的技术实力再次得到了充分展示,同时也展现出知乎在人工智能领域的技术积累和创新能力。在与面壁智能的合作中,双方共同推进了大模型的研发,为中国用户带来了更多优质的服务。

    未来,知乎将继续加强与各方的合作,进一步拓展大模型在实际应用中的价值。通过不断优化和升级大模型技术,以及与实际场景相结合的应用产品,知乎将努力成为大模型领域的引领者,让更多用户在大模型时代享受到一流的服务。

  • ConvNeXt V2:使用遮罩自编码器共同设计和扩展ConvNets

    由于改进的架构和更好的表示学习框架的推动,视觉识别领域在 2020 年代初期迅速现代化并提高了性能。例如,现代卷积神经网络(ConvNets),以 ConvNeXt 为代表,在各种场景中表现出强大的性能。尽管这些模型最初是为具有 ImageNet 标签的监督学习设计的,但它们也可能从自监督学习技术(如遮蔽自动编码器(MAE))中受益。然而,我们发现简单地结合这两种方法会导致性能不佳。在本文中,我们提出了一个全卷积遮蔽自动编码器框架和一个新的全局响应归一化(GRN)层,这个层可以添加到 ConvNeXt 架构中以增强通道间特征竞争。这种自监督学习技术和架构改进的共同设计产生了一个名为 ConvNeXt V2 的新模型族,它显著提高了纯粹的 ConvNets 在各种识别基准上的性能,包括 ImageNet 分类、COCO 检测和 ADE20K 分割。我们还提供了各种尺寸的预训练 ConvNeXt V2 模型,从参数数量为 370 万的高效 Atto 模型(在 ImageNet 上的 top-1 准确率为 76.7%),到使用公共训练数据达到最先进的 88.9% 准确率的 6.5 亿参数的 Huge 模型。

    [2301.00808] ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders (arxiv.org)