【Nature】在科研中应用ChatGPT:如何与数据对话

2024-08-26 19:12

本文主要是介绍【Nature】在科研中应用ChatGPT:如何与数据对话,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着人工智能技术的迅猛发展,大型语言模型(LLMs)正逐渐成为科研领域的一种创新工具。这些模型通过自然语言处理技术,使得研究人员能够以直观的方式与数据进行交互,从而简化了数据分析和解释的过程。在《自然》杂志2024年7月25日发表的文章《CHATGPT FOR SCIENCE: HOW TO TALK TO YOUR DATA》中,作者Julian Nowogrodzki深入探讨了LLMs在科学研究中的应用现状及其潜在价值。

文章首先介绍了LLMs如何帮助科学家们以自然语言的形式查询和分析复杂的生物数据,从而减少了对传统编程技能的依赖。通过引用多家公司如Genentech和Enable Medicine在开发和应用LLMs方面的实际案例,文章展示了这些工具如何助力药物发现和临床研究。

进一步,文章探讨了LLMs在实际应用中面临的挑战,包括准确性验证、数据多样性和偏见问题,以及如何通过专家反馈和迭代改进来提高模型的可靠性。作者强调了透明度和数据质量对于确保LLMs输出结果的准确性和可信度的重要性。

本文的介绍旨在为读者提供一个关于LLMs在科学研究中应用的全面视角,同时指出了这一领域未来发展的关键方向和潜在的改进空间。通过这篇文章,我们不仅能够洞察LLMs如何改变科学研究的面貌,还能对这一技术的未来发展趋势有所预见。

以下是正文:

“计算机,分析。” 在科幻小说中,角色无需编程技能即可从数据中提取有意义的信息,他们只需询问即可。现在,越来越多的公司正尝试使用大型语言模型(LLMs)使这种虚构成为现实——某种程度上——这些功能强大但专注的人工智能(AI)工具让研究人员可以用自然语言向他们的数据提问,例如“对照组和实验组之间有什么区别?”。但与科幻小说中的同行不同,这些AI给出的答案仍然需要谨慎对待,并在使用前进行双重检查才能安全使用。想象一下,ChatGPT用于数据。这些工具的原因是简单的:筛选和优先处理生物数据是费力且具有挑战性的,需要专业技能。“生物数据已经变得越来越复杂,”加利福尼亚州旧金山Enable Medicine的科学经理亚历山德罗·特雷维诺说,该公司正在为其药物开发客户构建一个空间基因表达和蛋白质定位数据图谱。“规模已经大幅增加,这些数据集的复杂性已经增加,我认为我们已经扩大了挖掘和有效理解和解释这些数据的挑战。” 理论上,专用的LLMs允许研究人员在不了解数据的复杂性或如何编程的情况下从数据中提取见解。这些工具中的一些已经能够回答非常复杂的问题。但它们仍然是进行中的工作。像其他基于LLM的工具一样,它们可能会“幻觉”或编造答案。因此,它们的开发者表示,它们应该只在人类一定程度的监督下使用。

为什么与您的数据对话?

网上数据和查询工具并不缺乏。例如,CZ CELLxGENE数据门户提供了预构建的工具,允许研究人员查询单细胞基因表达数据集。像ChatPDF这样的实用程序允许研究人员上传PDF文件,例如科学论文,并向它们提问。但更复杂的分析需要知道底层数据的结构以及它们的变量名称和类型。为了使这种交互更容易,

CHATGPT FOR SCIENCE: 如何与您的数据对话

公司正在使用人工智能工具帮助科学家无需编程技能即可查询他们的数据。由Julian Nowogrodzki撰写 插图由The Project Twins提供 924 | 自然 | 第631卷 | 2024年7月25日 工作 / 技术和工具

生物技术公司Genentech正在从头开始构建其基于LLM的工具。由纽约市Genentech前沿研究总监Stephen Ra领导,这个LLM旨在解决“跨越药物发现和开发管道的广泛问题”,他说,“从目标识别、发现、安全性评估、优先级排序,一直到我们如何做出更好的决策,或降低某些临床试验阶段的风险,或更好地理解患者轨迹和不良结果”。Ra说,这个系统可以简化目前手动且繁重的任务。例如,科学家可能会将他们的数据集搁置一段时间,但后来想要总结这些数据。他们可以问,“给我这个特定时间、这个菌株的这个特定测定的所有结果”,Ra说。该系统应该能够理解查询和数据,足够好地满足请求,“Genentech及其母公司罗氏的许多团队”正在测试它。同样,Enable Medicine的LLM旨在允许公司代表其客户查询其生物图谱,首席执行官Kamni Vijay说,这些客户大多是肿瘤学和自身免疫疾病的制药公司。研究人员可以问这样的问题,“患者是否对治疗有反应,哪些因素区分了对治疗有反应的患者和没有反应的患者?”或者“哪些生物标志物会影响或预测疾病进展?”,Vijay说。Enable正在构建几个现有的LLM,并用来自数万个样本的数以百万计的分子和细胞数据进行训练。但他们仍在实验。“我们的一部分研究探索这种类型的界面是否可以在科学上有效和有价值。”

它们是什么样子的?

这个领域的一些工具模仿了ChatGPT流行的问答格式。例如,由马萨诸塞州波士顿布莱根妇女医院的计算病理学家Faisal Mahmood构建的PathChat,允许用户输入病理图像,如肿瘤活检结果,以及描述性数据,如“这个肿瘤对标记A、B和C呈阳性”。(M. Y. Lu等人。自然 A Multimodal Generative AI Copilot for Human Pathology | Nature (2024)。然后用户可以就这些数据提出自然语言问题,例如,“你对肿瘤的主要起源有何评估?”交流看起来像WhatsApp对话中的来回文本气泡。然而,Vijay说,Enable的系统偏离了问答格式。它是一个更复杂的自动化系统,允许自然语言查询。尽管如此,其他工具输出代码而不是文字。Mergen是由柏林马克斯·德尔布吕克中心的生物信息学家Altuna Akalin构建的基于LLM的R编程语言库。Akalin创建了这个库(或“包”),因为他的团队收到了比它能够处理的更多的分析基因组数据的请求。Mergen旨在分析预处理的基因组数据集,以回答诸如“你能给我所有在某个特定个体集合中过表达的基因吗?”这样的问题。与所有LLM一样,该工具返回的代码在使用前应该由人双重检查,Akalin警告说,因为即使代码是可执行的,它可能包含逻辑错误。

它们是如何制造的?

构建一个允许研究人员与数据对话的LLM需要什么?与所有AI系统一样,答案是大量的训练数据。但数据类型的平衡同样重要,他的团队在实现正确的平衡方面付出了相当大的努力,Ra说。“对我们来说,价值在于能够采取对Genentech的许多团队都有广泛用途的东西,并允许这些团队也微调他们自己的模型。” Genentech训练其模型使用了涵盖多个项目和领域的内部和外部信息的组合,包括组学和临床数据,Ra说。特雷维诺说,将通用LLM转变为一个系统,使用户能够与他们的数据对话,有两种主要方式。一种是使用特定领域的信息,如病理数据,对通用LLM进行微调。在这种“非常有效”的方法中,他说,模型本身“正在具体学习新东西”。另一种方法,称为上下文化,不会改变底层的通用LLM,但会在查询中给它提供定制的上下文,如医学文献数据库。特雷维诺拒绝透露Enable使用哪种方法。为了构建PathChat,Mahmood和他的团队从Meta开发的通用LLM Llama 2开始。他们将LLM连接到他们为病理学构建的两个视觉语言模型,称为UNI和CONCH,每个模型都经过了数百万病理图像和标题的训练,以制造一个多模态LLM。然后研究人员使用来自病例报告和教育文章的半百万病理对话来提炼这个多模态LLM,这些对话遵循了布里格姆妇女医院和马萨诸塞州总医院的大多数病例的完整轨迹,以产生PathChat,Mahmood说。布里格姆和妇女的一些病理学家现在正在使用该系统来解释显微镜图像并编写病理学家随后可以检查的形态学描述,他说。

它们值得信赖吗?

确认很重要:仅仅因为LLM提供了一个答案,并不意味着那个答案是正确的。LLMs可以编造答案或遗漏信息,如何最好地确保模型的响应是可验证和可复制的仍然是一个未解决的问题,特雷维诺说。“这是一个积极的研究领域,如何审查结果。” Ra说,一个关键方面是来自特定领域专家的反馈。有不同的方式来纳入这样的检查——用户可以提供一个简单的点赞或不点赞,例如,一个更详细的回应,或者可以是人与LLM之间的迭代互动。无论如何,希望随着时间的推移,模型将进化到需要更少的输入,因为这样的反馈在数据集扩展时并不可扩展。特雷维诺和Ra说,在研究特定的LLMs中,理解和信任底层模型中发生的事情尤为重要。特雷维诺说,一个挑战是“稍微打开那个黑匣子”,以更好地理解它为什么会以这种方式回答。这可能有助于最小化幻觉。事实上,Ra说,Genentech从头开始构建其LLM的一个动机是,它希望知道它能够信任和理解输入的每一个数据点。“这在处理特权信息或非常敏感的信息的环境中非常重要,”例如患者数据,他说。对于现成的“黑匣子”LLMs,它们是如何被训练的并不总是清楚,Ra解释说。“我认为这是一些商业LLM解决方案的常见批评,通常没有足够的数据透明度。” 另一个持续的挑战,就像LLM领域本身一样,是底层数据的偏见。在训练数据中代表性不足的群体将被结果模型错误表示,当前的基因组数据极大地过度代表了欧洲后裔。特雷维诺和Vijay说,解决方案是提高底层数据的多样性。但他们说,没有真正的终点,可以确定底层数据何时足够多样化。然而,如果这些挑战被克服,特雷维诺说,“这些类型的模型将带来非常真实的好处。”重要的是“确保这种好处得以实现,并最大限度地民主化,”并且收益值得所有仍在进行中的工作。

作者

Julian Nowogrodzki是马萨诸塞州波士顿的科学作家和编辑。 “在这个非常有效的方法中,模型本身正在具体学习新东西。” 自然 | 第631卷 | 2024年7月25日 | 925

这篇关于【Nature】在科研中应用ChatGPT:如何与数据对话的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1109436

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat