KwaiAgents:基于大型语言模型的通用信息检索代理系统

人类的好奇心驱使着我们不断探索和理解周围的世界,这也导致了各种工具的发明,以满足我们的求知欲。尽管人类的大脑无法处理和记忆大量信息,但人类在批判性思维、规划、反思以及利用现有工具与世界互动和解释方面表现出色,从而能够高效地找到答案 最近大型语言模型(LLMs)的进步表明,机器也可能具备上述类似于人类的能力,即使参数数量受限,也能展现出强大的能力。 在这篇论文中,我们介绍了KwaiAgents,一种基于LLMs的通用信息检索代理系统。在KwaiAgents中,我们提出了一个代理系统,它以LLMs作为认知核心,能够理解用户的查询、行为指南和外部文档的引用。该代理还可以从内部存储器中更新和检索信息,使用基于时间的搜索浏览工具包进行规划和执行操作,并最终提供全面的响应。我们进一步研究了系统在由GPT-4更低级别的LLMs提供支持时的性能,并引入了Meta-Agent Tuning(MAT)框架,旨在确保开源的7B或13B模型在许多代理系统中表现良好。我们利用基准和人工评估系统的能力进行系统验证。广泛的实验显示了我们代理系统相对于其他自主代理的优势,并凸显了我们经过精调的LLMs的增强的通用代理能力。 我们在https://github.com/KwaiKEG/KwaiAgents上发布了系统代码、模型、训练数据和基准的lite版本,供公众使用。 伯特兰·罗素(Bertrand Russell)曾深刻地说过,追求知识是他一生中简单但无比强烈的激情之一。历代人们致力于探索世界的复杂性,创造出精巧的组织和检索工具,以满足无尽的好奇心。 然而,认知科学的研究表明,人类平均在一小时内会遗忘约50%的新获得信息,这种现象被称为遗忘曲线。当个体试图在没有定期强化的情况下内化知识时,这一观察尤其成立。例如,虽然许多人轻松记得珠穆朗玛峰是“世界上最高的山”,但是“第五高的山”的身份常常会被遗忘。 然而,人类的优势在于批判性思维、规划、反思和灵活运用外部资源。面对知识空白,人们可以咨询谷歌等搜索引擎,或者求助于维基百科或书籍等知识库。这种认知和足智多谋的独特结合使人类区别于其他物种,常常使我们比最先进的计算机更有洞察力。

KwaiAgents: 快手Agent系列

KwaiAgents是快手快知团队开源的一整套Agent系列工作。这个开源项目包括以下内容: 动态 KwaiAgents是由快手快知团队开源的一整套Agent系列工作。这个开源项目包括以下内容: 评测表现 KwaiAgents提供了一系列模型和数据集来评测Agent的能力。以下是一些关键的模型和数据集: 模型 训练数据 Benchmark Qwen-7B-MAT KAgentInstruct (即将发布) KAgentBench Baichuan2-13B-MAT KAgentInstruct (即将发布) KAgentBench 使用指南 如果你想使用KwaiAgents,以下是一些快速入门指南: AgentLMs 系列模型使用 AgentLMs系列模型是具备规划、反思和工具使用等能力的大模型。你可以按照以下步骤使用这些模型: pip install -r requirements.txt from transformers import AutoModelForCausalLM, AutoTokenizer model_name = “kwaikeg/kagentlms_qwen_7b_mat”model = AutoModelForCausalLM.from_pretrained(model_name)tokenizer = AutoTokenizer.from_pretrained(model_name) input_text = “今天天气不错,”input_ids = tokenizer.encode(input_text, return_tensors=”pt”)output = model.generate(input_ids, max_length=50,

Empowering Few-Shot Recommender Systems with Large Language Models — Enhanced Representations

Q: 这篇论文试图解决什么问题? A: 这篇论文试图解决推荐系统在少样本(few-shot)场景下如何有效生成推荐的问题。具体来说,作者探讨了如何利用大型语言模型(LLMs)来增强基于显式反馈的推荐系统在少样本场景下的性能。他们提出了一种使用LLMs生成用户和项目表示的方法,并将这些表示集成到不同的推荐模型中,以评估它们在多样化推荐任务中的有效性。通过消融实验和案例研究分析,论文展示了LLMs在处理显式反馈方面的能力,以及它们如何作为推荐系统组件,增强系统在少样本场景下的性能。此外,LLMs的广泛适应性提高了推荐模型的泛化潜力,尽管存在某些固有约束。作者希望他们的研究可以激发研究人员深入探讨LLMs在推荐系统中的多方面作用,并为基于显式反馈的推荐系统领域的发展做出贡献。 Q: 有哪些相关研究? A: 相关研究包括: 1. 利用LLMs(如ChatGPT)作为推荐系统组件的研究,例如Chat-REC,它将ChatGPT作为对话式推荐界面,增强现有推荐模型的性能,使推荐过程更具互动性和可解释性。 2. 使用LLMs进行文本数据增强的研究,如ChatAug,它利用ChatGPT对文本数据进行重述,同时展示了ChatGPT作为文本摘要工具的有效性。 3. 在自然语言生成任务中,ChatGPT在特定条件下表现出在生成有说服力的推荐解释和广告方面的卓越能力。 4. 探索ChatGPT作为显式反馈处理方法的研究,尤其是在少样本推荐场景中,例如将ChatGPT作为推荐系统的独立组件,评估其在特定推荐任务(如直接推荐)中的性能。 5. 使用LLMs生成文本表示的研究,通过提示模板将用户和项目评论转换为文本表示,然后使用语言模型(如MacBERT)将这些表示嵌入到推荐系统中。 6. 评估LLMs处理显式反馈有效性的研究,通过消融实验和案例研究分析来量化LLMs生成的表示与原始评论之间的语义关系,并评估这些表示在不同推荐模型和任务中的有效性。 7. 探索LLMs在推荐系统中的多方面作用,如可解释性、冷启动挑战和模型增强,特别是在涉及显式反馈的推荐系统中。 Q: 论文如何解决这个问题? A: 论文通过以下几个步骤解决少样本推荐问题: 1. **使用LLMs生成用户和项目表示**:作者开发了一个提示模板,该模板利用LLMs(如ChatGPT)处理电影评论,生成用户和项目的文本表示。这些表示是基于用户的评论集合和项目评论集合生成的。 2. **将文本表示嵌入到推荐模型中**:使用预训练的语言模型(如MacBERT,一个针对中文的LLM)将生成的文本表示转换为数值表示,这些数值表示随后被用作推荐模型的输入。 3. **消融实验**:作者在不同的推荐任务上进行了消融实验,包括交互预测(预测用户是否会与特定项目互动)和直接推荐(推荐最可能符合用户偏好的项目)。他们比较了使用LLMs处理的表示与未处理的原始评论表示在推荐模型中的表现。 4. **案例研究分析**:通过手动观察和分析,作者评估了LLMs生成的文本表示的质量,以及它们是否包含额外的可观察属性和特征。 5. **性能评估**:在实验中,作者使用了多种统计方法(如余弦相似度、曼哈顿距离和欧几里得距离)来量化实验数据集和控制数据集之间的语义关系。他们还使用了推荐系统中常用的评估指标,如准确率、召回率、F1分数、HR@k和MRR@k,来评估推荐模型的性能。 通过这些步骤,论文展示了LLMs在处理显式反馈和增强推荐系统性能方面的潜力,特别是在少样本场景下。作者发现,使用LLMs处理的表示在某些推荐模型中显著提高了性能,尤其是在结合神经网络的模型中。此外,LLMs的广泛适用性和处理文本信息的能力,即使在缺乏量化指标的情况下,也能增强推荐系统的泛化潜力。 Q: 论文做了哪些实验? A: 论文中进行了以下实验: 1. **数据集构建**:从公开的豆瓣中文电影数据集(Douban Chinese Moviedata-10M)中随机选择了1000名用户,并提取了这些用户的历史用户-项目交互样本。这些样本按时间顺序排序,最近两次交互的物品ID被提取作为测试和验证样本。其余的交互样本构成了用于输入ChatGPT以生成文本用户表示的训练数据集。为了模拟少样本场景,作者随机丢弃了多余的样本,同时确保至少保留每个用户的一个样本。此外,还构建了项目训练数据集,每个项目至少有一个对应的样本。 2. **表示生成**:使用MacBERT和Word2vec将文本用户和项目表示嵌入到推荐系统中,同时构建了控制数据集。 3. **语义距离评估**:量化了实验数据集(ChatGPT处理+MacBERT嵌入)和控制数据集(仅MacBERT嵌入)之间每个用户/项目表示的语义关系。使用了余弦相似度、曼哈顿距离和欧几里得距离作为统计方法。 4. **推荐任务性能比较**:在用户-项目交互和用户-项目嵌入上进行了消融实验,使用了线性、MLP和CNN模型进行交互预测任务,以及BPR-MF和NCF模型进行直接推荐任务。比较了使用ChatGPT处理的嵌入与仅使用MacBERT嵌入的控制数据集在这些推荐任务上的性能。 5. **案例研究**:对文本用户和项目表示进行了全面的案例研究,以补充发现并揭示嵌入过程中可能被忽视的信息。手动观察了ChatGPT处理的文本表示,并评估了它们在推荐模型中的有效性。 这些实验旨在评估LLMs作为文本显式反馈处理方法在推荐系统中的有效性,特别是在少样本场景下。 Q: … Read more

Algebraic Positional Encodings

Q: 这篇论文试图解决什么问题? A: 这篇论文提出了一种新的Transformer模型的位置编码策略。Transformer模型在自然语言处理等领域取得了巨大成功,但它们在处理结构化数据时存在局限性,因为默认的点积注意力机制无法感知输入/输出标记的结构排列。为了解决这个问题,论文提出了一种灵活的框架,将一个域的代数规范映射到正交算子的解释,从而在模型中保留源域的代数特性。该框架可以适应各种结构,包括序列、网格和树,以及它们的组合。论文通过一系列实验展示了这种方法的实际适用性,并表明其性能与或超过了当前最先进的方法。 Q: 有哪些相关研究? A: 这篇论文提到了以下相关研究: 1. Vaswani et al. (2017) 提出了Transformer模型,它使用多头缩放点积注意力机制。 2. Shaw et al. (2018) 提出了可训练的相对位置编码。 3. Su et al. (2023) 提出了旋转位置编码(RoPE)。 4. Wang et al. (2020) 提出了将位置编码视为序列同态的方法。 5. Dufter et al. (2022) 对Transformer中的位置信息进行了全面的调查。 6. Beltagy et al. (2020) 提出了Longformer模型,通过截断相对距离来处理位置信息。 7. Gehring et al. (2017) 提出了卷积序列到序列学习,这是Transformer的早期工作之一。 8. Hassani et al. (2021) … Read more

A Prompt Learning Framework for Source Code Summarization

Q: 这篇论文试图解决什么问题? A: 这篇论文试图解决的问题是自动生成代码片段的自然语言摘要(也称为注释),这对于帮助开发人员理解和维护源代码至关重要。最近,随着大型语言模型(LLMs)在许多领域的成功应用,软件工程研究人员也尝试将LLMs应用于代码摘要任务。然而,现有的适应LLMs的方案,如指令提示和面向任务的微调,要么需要用户设计精心制作的提示,要么需要高昂的训练成本。因此,作者提出了一种新颖的提示学习框架PromptCS,它可以生成连续的提示,以释放LLMs在代码摘要中的潜力,而不需要用户设计复杂的提示。PromptCS是非侵入性的,可以在不更新LLMs参数的情况下训练提示代理,从而大大减少了训练资源的需求。 Q: 有哪些相关研究? A: 相关研究包括: 1. 使用大型语言模型(LLMs)进行代码摘要,例如 Codex, StarCoder, CodeGen, 和 PolyCoder。 2. 使用指令提示和零/少次学习来适应LLMs进行代码摘要任务。 3. 面向任务的微调,通过在特定任务的数千个标记数据上训练来更新LLMs的权重。 4. 开发用于代码理解和生成的统一跨模态预训练,如 UniXcoder 和 GraphCodeBERT。 5. 使用基于 Transformer 的模型进行代码摘要,例如 CodeBERT 和 PLBART。 6. 自动化评估源代码摘要技术,如使用 BLEU, METEOR, ROUGE-L 和 SentenceBERT 等指标。 7. 研究源代码摘要的自动化文本摘要技术,以支持程序理解。 8. 使用深度学习方法,如 RNN 和 LSTM,来捕捉代码片段和它们相应摘要之间的语义关系。 9. 使用基于检索的方法进行神经源代码摘要,通过从训练集中检索最相似的代码片段来增强基于 Transformer 的模型。 10. 评估大型语言模型在代码任务上的表现,如在 CodeSearchNet 数据集上进行语义代码搜索和代码摘要。 这些研究为使用 … Read more

全新推出:Linly-Talker数字化人物对话系统

准备好体验颠覆性的人机交互方式了吗?不用再等了!Linly-Talker正式登场,将彻底改变我们与人工智能系统的互动方式。🤖💬 Linly-Talker是一款智能AI系统,它将大型语言模型(LLMs)与视觉模型相结合,创造了一种独特的对话体验。通过集成Whisper、Linly、微软语音服务和SadTalker说话头部生成系统等多种技术,Linly-Talker汇集了最佳的特点。🌍🔍 让我们深入了解Linly-Talker的功能和特点: Linly-Talker的组成部分 1️⃣ ASR(自动语音识别)- Whisper:Linly-Talker利用OpenAI的Whisper进行准确的语音识别。这确保系统能够有效地理解和解释您的语音命令。 2️⃣ TTS(文本转语音)- Edge TTS:为了提供自然而人性化的对话体验,Linly-Talker使用微软语音服务进行高质量的文本到语音合成。这意味着AI助手能够以清晰逼真的声音回应您。 3️⃣ THG(说话头部生成)- SadTalker:Linly-Talker更进一步,引入了SadTalker技术,这是CVPR 2023的前沿技术。它可以生成与AI助手回应相匹配的逼真说话头部动画。 4️⃣ LLM(大型语言模型)- Linly:Linly是由深圳大学CVI开发的核心语言模型,它利用大规模语言模型的强大能力,理解和生成人类般的回应。Linly模型在大量数据上进行了预训练,并可以进行特定任务的微调。 设置Linly-Talker 要开始使用Linly-Talker,请按照以下设置说明进行操作: 1️⃣ 创建一个新的conda环境: 2️⃣ 安装所需的依赖项: 3️⃣ 下载所需的模型: 4️⃣ 获取Linly语言模型: 与Linly-Talker对话 一旦您设置好Linly-Talker,就可以开始与AI助手进行有趣的对话了。系统允许您提供图像作为提示来刺激对话。您可以自由对话或根据自己的喜好生成内容。 参考资料和进一步探索 如需深入了解Linly-Talker的能力和微调选项,请参阅Linly-Talker GitHub存储库中提供的文档和资源:GitHub – Kedreamix/Linly-Talker 🌟 热度历史:Linly-Talker已获得34个星标和3个Fork,展现了其受欢迎程度和发展潜力。 现在轮到您来探索Linly-Talker的可能性,见证人机交互的未来了!🚀🤩

Real-time Neural Network Inference on Extremely Weak Devices: Agile Offloading with Explainable AI

Summary: With the wide adoption of AI applications, there is a pressing need of enabling real-time neural network (NN) inference on small embedded devices, but deploying NNs and achieving high performance of NN inference on these small devices is challenging due to their extremely weak capabilities. Although NN partitioning and offloading can contribute to such deployment, … Read more

Turbulence: Systematically and Automatically Testing Instruction-Tuned Large Language Models for Code[URL]Authors: Shahin Honarvar ; Mark van der Wilk ; Alastair Donaldson

Summary: We present a method for systematically evaluating the correctness and robustness of instruction-tuned large language models (LLMs) for code generation via a new benchmark, Turbulence. Turbulence consists of a large set of natural language $\textit{question templates}$, each of which is a programming problem, parameterised so that it can be asked in many different forms. Each … Read more

YAYI 2: Multilingual Open-Source Large Language Models

Summary: As the latest advancements in natural language processing, large language models (LLMs) have achieved human-level language understanding and generation abilities in many real-world tasks, and even have been regarded as a potential path to the artificial general intelligence. To better facilitate research on LLMs, many open-source LLMs, such as Llama 2 and Falcon, have recently … Read more

Pangu-Agent: A Fine-Tunable Generalist Agent with Structured Reasoning 

盘古-智能体:可微调的通用智能体,赋能结构化推理 人工智能(AI)智能体的构建方法之一是强化学习(RL),但直接将感知映射到动作的独立RL策略面临着重大挑战,主要包括: 造成这些问题的根本原因在于,RL策略在制定策略时无法有效地将先验信息整合到感知-动作循环中。大型语言模型(LLMs)为将跨领域知识融入AI智能体提供了一种基础方法,但它们缺乏针对特定决策问题进行学习和适应的能力。 本文提出了一种将结构化推理集成到AI智能体策略中的通用框架模型,盘古-智能体。该框架的灵感来源于人脑的模块化结构,利用内在函数和外在函数的构建,将推理结构的先验理解融入其中,并提供在每个模块或函数内部学习模型的适应能力,与认知过程的模块化结构相一致。 盘古-智能体的核心设计:结构化推理与可微调 盘古-智能体框架的核心设计在于将结构化推理融入RL管道,并通过监督微调和RL微调来实现智能体的可适应性。 结构化推理:将先验知识融入决策过程 盘古-智能体框架将智能体的内部思考过程形式化为结构化推理,通过引入内在函数 µ(·) 来操作和转换智能体的内部记忆,从而将传统的RL目标重塑为支持多个“思考”步骤的目标。 传统的RL目标旨在找到一个策略 π,该策略根据观察历史 ⃗o 来最大化回报 R,即 maxπ(·) R(π(·|⃗o))。而盘古-智能体框架则通过嵌套的内在函数集 ⃗µ(·) 来重新定义这一目标: 内在函数可以是各种操作,例如:思考、计划、反思经验、与其他智能体交流、使用工具等等。例如,当要求智能体进行思考时,它会观察问题并产生关于当前情况的高级想法。 可微调:利用LLMs和环境反馈进行学习 盘古-智能体框架利用LLMs作为基础模型,并通过监督微调和RL微调来实现智能体的可适应性。 盘古-智能体的优势:超越现有框架的性能 盘古-智能体框架具有以下优势: 实验结果:验证盘古-智能体的有效性 本文通过一系列实验验证了盘古-智能体框架的有效性,包括: 实验结果表明,在ALFWorld和BabyAI任务中,通过监督微调和RL微调,智能体的成功率分别提高了三倍和两倍。此外,跨领域实验表明,通过RL管道训练的单个LLM能够同时在ALFWorld和BabyAI领域取得高性能。 未来展望:更强大的通用智能体 盘古-智能体框架的未来发展方向包括: 盘古-智能体框架的出现,标志着AI智能体发展的新阶段,它将结构化推理和可微调能力相结合,为构建更强大的通用智能体提供了新的思路和方法。 参考文献 Q: 这篇论文试图解决什么问题? A: 这篇论文提出了一个名为Pangu-Agent的框架,旨在解决如何创建能够在多个任务中表现良好的通用智能体(AI代理)的问题。具体来说,它试图解决以下两个主要问题: 1. 直接将感知映射到动作的独立强化学习(RL)策略在构建时会遇到严重问题,尤其是缺乏跨多个任务的普遍性和需要大量训练数据。 2. 大型语言模型(LLMs)虽然可以作为将跨领域知识整合到AI代理中的基本方式,但缺乏针对特定决策问题的学习和适应能力。 Pangu-Agent框架通过整合和学习结构化推理到AI代理的政策中来解决这些问题。该框架受到人类大脑模块性的启发,利用构建内在和外在功能来添加对推理结构的先前理解。它还提供了适应性能力,可以在每个模块或功能中学习模型,这与认知过程的模块化结构一致。 总之,这篇论文提出了一个通用框架,通过整合结构化推理、先前知识和适应性学习来解决创建通用智能体的挑战,使其能够在多个任务中表现良好。 Q: 有哪些相关研究? A: 这篇论文讨论了几种与Pangu-Agent框架和创建通用智能体相关的现有研究和方法。其中一些最相关的研究包括: * 使用元学习、内在动机、辅助任务、逆强化学习和贝叶斯先验的改进学习,以提高强化学习代理的学习能力和适应性。 * 将大型语言模型(LLMs)整合到代理框架中,例如AutoGen、AutoGPT和AgentVerse,以利用跨领域知识并构建通用智能体。 * 研究LLM代理,不仅使用LLMs作为基础先验,还使用工具和多智能体通信来构建通用智能体。 * 开发模块化和灵活的智能体框架,例如Transformers Agents、LangChain、OpenAgents、XAgent和MetaGPT。 * … Read more