评估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

相关文章

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

MySQL 中的 LIMIT 语句及基本用法

《MySQL中的LIMIT语句及基本用法》LIMIT语句用于限制查询返回的行数,常用于分页查询或取部分数据,提高查询效率,:本文主要介绍MySQL中的LIMIT语句,需要的朋友可以参考下... 目录mysql 中的 LIMIT 语句1. LIMIT 语法2. LIMIT 基本用法(1) 获取前 N 行数据(

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Python Faker库基本用法详解

《PythonFaker库基本用法详解》Faker是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍PythonF... 目录安装基本用法主要功能示例代码语言和地区生成多条假数据自定义字段小结Faker 是一个 python

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,