将 ScienceAI 设为星标 第一时间掌握 新鲜的 AI for Science 资讯 编辑 | 紫罗 最近,大型语言模型 (LLM),尤其是基于 Transformer 的模型在机器学习研究领域发展迅速。这些模型已成功应用于自然语言、代码生成、生物和化学研究等各个领域。 近日,来自卡内基梅隆大学的研究人员提出了一个 Intelligent Agent(以下简称 Agent) 系统,结合了多个大型语言模型,用于自主设计、规划和执行科学实验。 研究人员通过三个不同的例子展示了 Agent 的科学研究能力。最后,讨论了此类系统的安全隐患,并提出了防止滥用的措施。 该研究以「Emergent autonomous scientific research capabilities of large language models」为题,于 2023 年 4 月 11 日发布在 arXiv 预印平台。 3 月 份,OpenAI 发布了迄今为止最强大的大语言模型 GPT-4。GPT-4 在 SAT 和 BAR 考试中得高分、通过 LeetCode 挑战、给一张图就能做对物理题,甚至可以讲笑话。此外,该技术报告还提供了如何使用该模型来解决化学相关问题的示例。 受此启发,卡内基梅隆大学研究人员旨在开发一种能够自主设计、规划和执行复杂科学实验的基于多 LLM 的 Agent。 Agent 可以使用工具浏览互联网和相关文档,使用机器人实验 API,并利用其他 LLM 完成各种任务。 研究人员通过评估 Agent 在三个任务中的性能来展示其的多功能性和有效性: 1. 高效搜索和浏览大量硬件文档; 2.在低液位精确控制液体处理仪器; 3. 解决需要同时使用多个硬件模块或集成不同数据源的复杂问题。 Agent 架构Agent 由多个交换信息的模块组成。有的还可以访问 API、互联网和 Python 解释器。 Agent 的系统由四个组件组成,由「Planner」驱动。 实验可以在各种环境中进行——云实验室,使用液体处理器,或提供手动实验的说明。指示模型推理其操作,搜索互联网,计算反应中的所有量,然后执行相应的反应。Agent 意识到,平均而言,至少需要十个步骤才能完全理解所请求的任务。如果提供的描述足够详细,则无需向提示提供者进一步澄清问题。 「网络搜索器」(Web searcher)组件接收来自 Planner 的查询,将它们转换为适当的网络搜索查询,并用 Google 搜索 API 执行它们。过滤返回的前十个文档,排除 PDF,并将生成的网页列表传回网络搜索器组件。然后 Web searcher 可以使用「BROWSE」操作,从网页中提取文本并为 Planner 编译一个答案。对于这项任务,可以使用 GPT-3.5,它的性能明显快于 GPT-4,而且没有明显的质量损失。 「文档搜索器」(Docs searcher)组件通过查询和文档索引,来查找最相关的页面/部分,从而梳理硬件文档(例如,机器人液体处理器、GC-MS、云实验室)。然后汇总最佳匹配结果,生成最准确的答案。 「代码执行」(Code execution)组件不使用任何语言模型,只是在隔离的 Docker 容器中执行代码,保护终端主机免受 Planner 的任何意外操作。所有代码输出都被传回 Planner,使其能够在出现软件错误时修复其预测。 这同样适用于「自动化」(Automation)组件,然后在相应的硬件上执行生成的代码,或者只是提供人工实验的合成过程。 Agent 合成规划能力为了证明系统的功能,以布洛芬的合成为例。输入提示很简单:「合成布洛芬。」 然后该模型会在互联网上搜索有关布洛芬合成的信息,并在特定网站上找到必要的详细信息。该模型正确识别了合成的第一步,即异丁苯和乙酸酐在氯化铝催化下发生的 Friedel-Crafts 反应。 另外,Agent 还合成了阿司匹林,模型可以有效地搜索和设计。 对于阿斯巴甜合成,尽管产品中缺少甲基 ,一旦模型收到合适的合成示例,可以在云实验室中执行,就可以进行更正。 此外,当被要求研究铃木反应时,该模型准确地识别了底物和产物。 通过 API 将模型连接到 Reaxys 或 SciFinder 等化学反应数据库,可以显著提高系统的性能。另外,分析系统之前的记录也是提高其准确性的另一种方法 矢量搜索可用于检索密集的硬件 API 文档将能够进行复杂推理的 Agent 与现代软件集成,提供清晰简洁的相关技术文档介绍至关重要。然而,专业的技术语言文档软件给许多非专业的用户造成了障碍。 大型语言模型可以通过生成非专家更容易访问的软件文档的自然语言描述来克服这一障碍。这些模型的训练来源之一,就是和 API 相关的大量信息,比如 Opentrons Python API。 但 GPT-4 的训练数据截至 2021 年 9 月。因此,需要提高 Agent 使用 API 的准确性。 为此,研究人员设计了一种方法来为 Agent 提供给定任务的必要文档。 掌握自动化:自然语言控制的多仪器系统获取文档使研究者能够为 Agent 在真实世界中进行实验提供足够的信息。 研究人员选择了一个文档齐全的 Python API 开源液体处理程序。 ![]() 从操作机器人的简单实验开始,将一组样本视为一个整体(在例子中,是整个微孔板)。使用自然语言的直截了当的提示,例如「用您选择的一种颜色为每隔一行涂上颜色」。当由机器人执行时,这些协议与请求的提示非常相似。 Agent 的第一个动作是准备原始溶液的小样本。然后它要求进行 UV-Vis 测量。完成后,Agent 会获得一个文件名,其中包含一个 NumPy 数组,包含微孔板每个孔的光谱。Agent 随后编写了 Python 代码来识别具有最大吸光度的波长,并使用此数据正确解决了问题。 Agent 的化学实验设计和执行能力先前的实验可能会受到来自预训练步骤的代理模块知识的影响。 |
|