公众号/
编辑 | 紫罗
最近,大型语言模型 (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 意识到,平均而言,至少需要十个步骤才能完全理解所请求的任务。如果提供的描述足够详细,则无需向提示提供者进一步澄清问题。
图 1:系统架构概述。(来源:论文)
「网络搜索器」(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 还合成了阿司匹林,模型可以有效地搜索和设计。
对于阿斯巴甜合成,尽管产品中缺少甲基 ,一旦模型收到合适的合成示例,可以在云实验室中执行,就可以进行更正。
此外,当被要求研究铃木反应时,该模型准确地识别了底物和产物。
图 2:Agent 在合成规划任务中的能力。(来源:论文)
通过 API 将模型连接到 Reaxys 或 SciFinder 等化学反应数据库,可以显著提高系统的性能。另外,分析系统之前的记录也是提高其准确性的另一种方法
矢量搜索可用于检索密集的硬件 API 文档
将能够进行复杂推理的 Agent 与现代软件集成,提供清晰简洁的相关技术文档介绍至关重要。然而,专业的技术语言文档软件给许多非专业的用户造成了障碍。
大型语言模型可以通过生成非专家更容易访问的软件文档的自然语言描述来克服这一障碍。这些模型的训练来源之一,就是和 API 相关的大量信息,比如 Opentrons Python API。
但 GPT-4 的训练数据截至 2021 年 9 月。因此,需要提高 Agent 使用 API 的准确性。
为此,研究人员设计了一种方法来为 Agent 提供给定任务的必要文档。
图 3:文档搜索概述。(来源:论文)
掌握自动化:自然语言控制的多仪器系统
获取文档使研究者能够为 Agent 在真实世界中进行实验提供足够的信息。
研究人员选择了一个文档齐全的 Python API 开源液体处理程序。
图 4.:机器人液体处理器控制能力和与分析工具的集成。( A:代理配置概述;B-E:绘制几何图形;F:Agent 使用 UV-Vis 数据解决颜色识别问题。)
从操作机器人的简单实验开始,将一组样本视为一个整体(在例子中,是整个微孔板)。使用自然语言的直截了当的提示,例如「用您选择的一种颜色为每隔一行涂上颜色」。当由机器人执行时,这些协议与请求的提示非常相似。
Agent 的第一个动作是准备原始溶液的小样本。然后它要求进行 UV-Vis 测量。完成后,Agent 会获得一个文件名,其中包含一个 NumPy 数组,包含微孔板每个孔的光谱。Agent 随后编写了 Python 代码来识别具有最大吸光度的波长,并使用此数据正确解决了问题。
Agent 的化学实验设计和执行能力
先前的实验可能会受到来自预训练步骤的代理模块知识的影响。
在此,研究人员想通过结合来自互联网的数据、执行必要的计算并最终为液体处理器编写代码,来评估 Agent 设计实验的能力。
为了增加复杂性,要求 Agent 使用 GPT-4 训练数据收集截止后发布的 heater-shaker 模块。这些要求已合并到 Agent 的配置中。
问题设计为:为 Agent 提供配备有两个微孔板的液体处理器。一个(源板)包含多种试剂的储备溶液,包括苯乙炔和苯硼酸、multiple aryl halide coupling partners、两种催化剂、两种碱和溶解样品的溶剂。目标板安装在加热器-振动器模块上。
Agent 的目标是设计一个协议来执行 Suzuki 和 Sonogashira 反应。
图 5:Agent 设计和执行的交叉偶联 Suzuki 和 Sonogashira 反应实验。(来源:论文)
Agent 首先在互联网上搜索要求的反应、化学计量和条件的信息。它为相应的反应选择正确的偶联伙伴。在所有芳基卤化物中,选择溴苯进行 Suzuki 反应,选择碘苯进行 Sonogashira 反应。
当然,这种行为在每次运行中都会发生变化。这突出了该模型的潜在未来用例——多次执行实验以分析模型的推理并构建更大的图景。
该模型选择了 Pd/NHC 催化剂作为一种更高效、更现代的交叉偶联反应方法,并选择了三乙胺作为碱基。
然后 Agent 计算所有反应物所需的体积并编写协议。但是,它使用了不正确的加热器-振动器模块名称。注意到错误后,模型查阅了文档。然后使用该信息修改协议,协议成功运行。随后对反应混合物进行 GC-MS 分析表明两种反应均形成了目标产物。
防止滥用
Agent 可用于各种化合物合成、化学实验设计,在一定程度上有助于化学研究人员,但 AI 无疑也会合成一些有毒的物质,比如大麻、芥子气等,
像海洛因和芥子气这种耳熟能详的违禁品,AI 也清楚得很。可问题是,这个系统目前只能检测出已有的化合物。而对于未知的化合物,该模型就不太可能识别出潜在的危险了。
图 6:两用安全初步研究的结果。(来源:论文)
最后,研究人员呼吁,必须设置防护措施来防止大型语言模型被滥用。
「AI 是把双刃剑,如何使用是关键」。