评估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代表用于该基准测试的修改版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/611956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Js-基础语法(二)

运算符 赋值运算符 赋值运算符:对变量进行赋值的运算符 已经学过的赋值运算符: 将等号右边的值赋予给左边, 要求左边必须是一个容器 其他赋值运算符: - */% 使用这些运算符可以在对变量赋值时进行快速操作 一元运算符 众多的 JavaScrip…

固定翼仿真的切换

delta固定翼飞行器模型 接着这篇文章文章链接&#xff0c;我们对飞行器模型进行改进&#xff0c; 我们知道&#xff0c;我们打开仿真模型 gazebo --verbose zephyr_ardupilot_demo.world 我们注意这最后一个语句 <model name"zephyr_delta_wing_demo">//加载z…

图像分类任务的可视化脚本,生成类别json字典文件

1. 前言 之前的图像分类任务可视化&#xff0c;都是在train脚本里&#xff0c; 用torch中dataloader将图片和类别加载&#xff0c;然后利用matplotlib库进行可视化。 如这篇文章中&#xff1a;CNN 卷积神经网络对染色血液细胞分类(blood-cells) 在分类任务中&#xff0c;必定…

零基础学习数学建模——(一)什么是数学建模

本篇博客将详细介绍什么是数学建模。 文章目录 个人简介什么是数学建模&#xff08;一&#xff09;引例&#xff1a;高中数学里的简单线性规划问题数学建模的定义及用途数学建模的定义数学建模的用途 正确认识数学建模 个人简介 ​ 本人在本科阶段获得过国赛省一、mathorcup数…

ssm基于Web的汽车客运订票系统的设计与实现论文

毕业设计&#xff08;论文&#xff09; 汽车客运订票系统 姓 名 ______________________ 学 号 ______________________ 班 级 ______________________ 专 业 ______________________ 院 部 ______________________ 指导教师 ______________________ 年 月 日 目 录 目 录 …

Unity3d 实现直播功能(无需sdk接入)

Unity3d 实现直播功能 需要插件 :VideoCapture 插件地址(免费的就行) 原理:客户端通过 VideoCapture 插件实现推流nodejs视频流转服务进行转发,播放器实现rtmp拉流 废话不多说,直接上 CaptureSource我选择的是屏幕录制,也可以是其他源 CaptureType选择LIVE–直播形式 LiveSt…

FastDFS之快速入门、上手

知识概念 分布式文件系统 通过计算机网络将各个物理存储资源连接起来。通过分布式文件系统&#xff0c;将网络上任意资源以逻辑上的树形结构展现&#xff0c;让用户访问网络上的共享文件更见简便。 文件存储的变迁&#xff1a; 直连存储&#xff1a;直接连接与存储&#xf…

websocket介绍并模拟股票数据推流

Websockt概念 Websockt是一种网络通信协议&#xff0c;允许客户端和服务器双向通信。最大的特点就是允许服务器主动推送数据给客户端&#xff0c;比如股票数据在客户端实时更新&#xff0c;就能利用websocket。 Websockt和http协议一样&#xff0c;并不是设置在linux内核中&a…

代码随想录算法训练营Day20 | 40.组合总和||、39.组合总和、131.分割回文串

LeetCode 40 组合总和|| 本题思路&#xff1a;由于解集中不能包含重复的组合&#xff0c;所以要进行去重的操作。 首先要将数组先进行一个排序操作然后在树层进行去重操作&#xff01;&#xff08;不懂的可以去看代码随想录讲解视频&#xff09;利用一个 used 数组来表示&…

全链路压力测试有哪些主要作用

全链路压力测试是在软件开发和维护过程中不可或缺的一环&#xff0c;尤其在复杂系统和高并发场景下显得尤为重要。下面将详细介绍全链路压力测试的主要作用。 一、全链路压力测试概述 全链路压力测试是指对软件系统的全部组件(包括前端、后端、数据库、网络、中间件等)在高负载…

解决 ubuntu 下编译文件的时候与 YAML 相关的的报错

输入&#xff1a; catkin build -DCMAKE_C_COMPILERgcc-8 -DCMAKE_CXX_COMPILERg-8 或 catkin build airsim_tutorial_pkgs -DCMAKE_C_COMPILERgcc-8 -DCMAKE_CXX_COMPILERg-8 报错如下&#xff1a; 可能是缺少 yaml-cpp 文件&#xff0c;然后操作&#xff1a; sudo apt-g…

书生·浦语大模型实战2

轻松玩转书生浦语大模型趣味 Demo 大模型及 InternLM 模型简介 什么是大模型 大模型通常指的是机器学习或人工智能领域中参数数量巨大、拥有庞大计算能力和参数规模的模型。这些模型利用大量数据进行训练&#xff0c;并且拥有数十亿甚至数千亿个参数。大模型的出现和发展得益…

单片机原理及应用——C51语言版(第2版,林立、张俊亮编著)课后习题及答案

第一章习题 1.1 单项选择题 &#xff08;1&#xff09; 单片机又称为单片微计算机&#xff0c;最初的英文缩写是____。 答案(D) A.MCPB.CPUC.DPJD.SCM &#xff08;2&#xff09; Intel公司的MCS-51系列单片机是______的单片机。 答案(C) A.1位B.4位C.8位D.16位 &#xf…

66.网游逆向分析与插件开发-角色数据的获取-角色类的数据分析与C++还原

内容来源于&#xff1a;易道云信息技术研究院VIP课 ReClass.NET工具下载&#xff0c;它下方链接里的 逆向工具.zip 里的reclass目录下&#xff1a;注意它分x64、x32版本&#xff0c;启动是用管理员权限启动否则附加时有些进程附加不上 链接&#xff1a;https://pan.baidu.com/…

【S32K 进阶之旅】 NXP S32K3 以太网 RMII 接口调试(2)

前言 前文介绍了 NXP S32K3 以太网 RMII 接口调试的开发环境搭建&#xff0c;下面开始详解软件调试步骤。没看过第一节的小伙伴请移步《【S32K 进阶之旅】 NXP S32K3 以太网 RMII 接口调试&#xff08;1&#xff09;》&#xff0c;话不多说我们直接进入正题。 lwip Stack 介绍 …

视频号小店发展趋势如何?适合新手吗?

我是电商珠珠 视频号团队在22年7月发展了自己的电商平台-视频号小店。截止到目前为止&#xff0c;也发展了不过一年的时间&#xff0c;所以各项平台政策还不太严谨。 一个新兴平台所做的第一步就是招揽更多的商家来入驻&#xff0c;就会将红利全部倾向商家&#xff0c;而在今…

Python 编写不同时间格式的函数

该代码是一个时间相关的功能模块&#xff0c;提供了一些获取当前时间的函数。 Report_time() 函数返回当前时间的格式化字符串&#xff0c;例如 "20240110114512"。Y_M_D_h_m_s_time() 函数返回当前时间的年、月、日、时、分、秒的元组格式。Y_M_D_h_m_s() 函数返回…

【笔记】书生·浦语大模型实战营——第三课(基于 InternLM 和 LangChain 搭建你的知识库)

【参考&#xff1a;tutorial/langchain at main InternLM/tutorial】 【参考&#xff1a;(3)基于 InternLM 和 LangChain 搭建你的知识库_哔哩哔哩_bilibili-【OpenMMLab】】 笔记 基础作业 这里需要等好几分钟才行 bug&#xff1a; 碰到pandas相关报错就卸载重装 输出文字…

PyTorch项目源码学习(2)——Tensor代码结构初步学习

PyTorch版本&#xff1a;1.10.0 Tensor Tensor是Pytorch项目较为重要的一部分&#xff0c;其中的主要功能如存储&#xff0c;运算由C和CUDA实现&#xff0c;本文主要从前端开始探索学习Tensor的代码结构。 结构探索 PyTorch前端位于torch目录下&#xff0c;从_tensor.py可以…

Python基础语法(上)——基本语法、顺序语句、判断语句、循环语句(有C++基础快速掌握Python语言)

文章目录 0.python小技巧与易错点1.python 与 c 语法有哪些区别2.Python基本语法2.1python的变量类型2.2python中的运算符2.3python中的表达式2.4python中的输入输出 3.python判断语句3.1基本用法&#xff1a;3.2关于else if 的用法3.3关于pass语句3.4python变量的作用域3.5pyt…