评估LLM在细胞数据上的实用性(1)-基本概述

2024-01-11 02:36

本文主要是介绍评估LLM在细胞数据上的实用性(1)-基本概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于LLM的基础模型在工业和科学领域都取得了重大进展。本报告通过八个与单细胞数据相关的下游任务的综合实验,评估了LLM在单细胞测序数据分析中的性能。通过将七种不同的单细胞LLM与特定任务下的baselines进行比较,结果发现单细胞LLMs在所有任务中可能并不总是优于特定任务的方法。然而,LLM具有潜力并且在其他领域的成功应用证明是有希望的。此外,该报告还基于所提出的评估框架,通过超参数、初始设置等对训练单细胞LLM的影响进行了系统评估,并为预训练和微调提供了指导。总之,该工作总结了单细胞LLM的现状,并指出了它们的局限性和未来的发展方向。

来自:Evaluating the Utilities of Large Language Models in Single-cell Data Analysis
工程地址:https://github.com/HelloWorldLTY/scEval

目录

  • 背景概述
    • 基准方法
    • evaluation的overview

背景概述

单细胞测序技术通过多模态数据在细胞水平上对复杂的生物系统提供了高分辨率的观测。它们有助于阐明疾病机制和潜在的治疗方法。目前这些技术已经能够表征各种分子,如DNA、RNA和蛋白质。此外,单细胞测序可以促进表观遗传学研究,包括染色质可及性和甲基化。这些技术被评为近十年来最具影响力的技术之一。

随着单细胞技术的发展,现在已经收集了大量的单细胞数据集,它们在分析、整合、解释和下游任务方面都面临挑战。与单细胞数据类似,NLP也拥有广泛的数据集,其中预训练的LLM在处理NLP任务或多模态任务方面取得了巨大成功。包括GPT-4和LLaMA在内的LLM擅长于各种与语言相关的任务,如问答和句子生成,这受到了人工智能社区和社会的广泛关注。此外,这些LLM在零样本场景中表现出压制性的表现,从而使他们能够在原始训练范围外处理任务,例如解决数学问题。

事实上,基于single cell数据的研究与NLP中的研究存在显著的相似之处。首先,两者都有许多与多模态数据密切相关的下游任务。其次,两者都需要数据内和数据间关系的模板化。第三,两者都受益于高质量的数据库。

尽管LLM在DNA分析和生物医学NLP领域取得了显著的成功,但其在单细胞研究中的应用仍然是未知的。在单细胞研究中,能够管理多个任务的稳健预训练模型(称为scLLM)数量有限。一些scLLM专注于细胞类型注释或基因功能预测,包括scBERT、tGPT、CellLM和Geneformer,而另一些则旨在在该领域创建一个可以处理多个任务的基础模型,包括scGPT、scFoundation和SCimilarity。此外,到目前为止,还没有任何研究全面评估这些模型的实用性,并为模型训练提供指导。很少有人将NLP聚焦的LLM与用于单细胞研究的LLM进行比较,以深入了解零样本或小样本场景。

该报告提出了一个评估各种scLLM和任务的框架(图1),称为scEval。使用scEval,我们确定了scLLM微调过程的关键参数和策略。我们还研究了scLLM的潜在涌现能力。
fig1

  • 图1a:scLLM概述,描述LLM的典型结构和单细胞数据分析的一般任务。右边的两个块表示两种类型的下游任务。黄块:任务1,包括细胞类型注释和基因功能预测(从上到下)。蓝块:任务2,包括批次整合、多组学整合、推断(从左到右,上排)、扰动预测、基因网络分析和模拟(从左至右,下排)。
  • 图1b:scEval展示了系统评估分析的工作流程。
  • 图1c:可能影响scLLM性能的因素。已知的因素可以分为四种不同的类型。

基准方法

scLLM包括:

  • tGPT:tGPT是基于GPT-2结构的scLLM。它利用大规模的scRNA-seq数据集进行预训练,并将预训练任务设置为预测基因表达的排序(ranking)。tGPT的下游应用遵循零样本学习框架,包括聚类、批次整合。
  • scBERT:scBERT是一种基于预训练的scLLM,专注于细胞类型预测。它基于Performer,具有由Gene2vec初始化的基因embedding。scBERT向下游数据集的默认微调过程是冻结至倒数第二层。细胞类型注释任务考虑使用scBERT。
  • Geneformer:Geneformer使用迁移学习来预测细胞类型和基因功能。Geneformer的tokenization步骤是基于在整个训练数据集上缩放后对单个细胞中的基因表达值进行排序来完成的。细胞被表示为toekn strings,基因排名作为tokens。
    Geneformer 用于细胞类型注释任务和基因功能预测任务。这两项任务都是通过在已发布的预训练 Geneformer 的基础上进行微调来完成的。 默认的超参数用于 Geneformer 微调。 在tokenization之前,所有数据集中的基因名称均使用 python 包 mygene 和 pyensembl 转换为 ENSEMBL IDs。
  • CellLM:CellLM是使用三种不同预训练策略的scLLM。预训练损失函数包括:1.masked基因表达水平重建,2.细胞状态判别,3.自监督的对比学习。此外,在预训练过程中引入了蛋白质-蛋白质相互作用网络作为先验信息。CellLM的下游任务都与细胞类型注释有关。

任务特定的方法包括:

  • ResPAN:ResPAN是一种基于GAN的批次整合工具。ResPAN用于批次整合任务和多组学数据整合任务。
  • scVI:scVI是一种基于变分推理和变分自编码器的批次整合工具。scVI使用神经网络用批次信息对基因表达数据进行编码,并将网络的输出设置为分布的参数。
  • Vanilla NNs:该神经网络包含三个MLP层,并使用Mish作为激活函数。Vanilla NNs用于细胞类型注释任务和基因功能预测任务。
  • TOSICA:TOSICA是一种基于深度学习的一站式细胞类型注释方法。TOSICA采用了无需预训练的多头Transformer。它还为研究人员提供了关于注意力embedding的解释。
  • GEARS:GEARS是一种基于scRNA-seq数据集的单基因和多基因扰动预测工具。它结合了基因-基因相互作用网络作为先验信息,并使用跨基因神经网络和图神经网络来预测扰动后的基因表达。
  • Tangram:Tangram是一个基于神经网络的空间转录组数据分析工具箱。Tangram背后的思想是使用神经网络找到从单细胞基因表达数据空间到空间数据空间的映射函数。在映射过程之后,整合来自单细胞水平和空间水平的信息,它可以执行几个下游任务,包括数据插补、细胞类型反卷积等。
  • scDesign3:scDesign3是一个基于Copula分布的模型,用于生成不同的单细胞数据集。这样的数据集可以是多模态的。此外,基于scDesign3的输入参数和要求,它还可以生成具有特定条件的数据集,比如批次效应。

evaluation的overview

该报告通过评估LLM在8个任务和22个数据集上的性能,评估了5个开源单细胞LLM(scGPT、Geneformer、scBERT、CellLM和tGPT)的性能。图2总结了不同模型可以执行的任务以及总体排名。作者还将它们的性能与任务特定的SOTA方法进行比较。对于每个任务,作者讨论了不同参数设置对模型性能的影响,并通过消融实验研究了不同损失函数和初始设置的贡献。对于涌现能力,作者考虑了模型大小对性能的贡献。最后,作者评估了不同scLLM的稳定性和可用性,并提出了选择模型的建议。
fig2

  • 图2:在基于任务的广度选择模型时要考虑的标准表。空白表示所选模型不符合标准,因为它们没有针对特定任务的设计。这里的scGPT benchmark代表用于该基准测试的修改版本。

这篇关于评估LLM在细胞数据上的实用性(1)-基本概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

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

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

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

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

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.