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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Istio 实战:WasmPlugin(Proxy-Wasm 插件)开发(实现限流和修改请求和响应的 header)

WasmPlugin 的典型应用 限流:当前 envoy 提供的限流能力虽然比较强大,但主要提供了一些 api,在使用上对用户不够友好,且全局限流对每个请求都调用一次限流服务,性能损耗较大。因此,可以通过开发限流过滤器…

linux 压力测试 AB ApacheBench

ab的简介 ab是apachebench命令的缩写。 ab是apache自带的压力测试工具。ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试。比如nginx、tomcat、IIS等 ab的原理 ab的原理:ab命令会创建多…

order by之后的injection(sqllabs第四十六关)

order by相关注入知识 这一关的sql语句是利用的order by 根据输入的id不同数据排序不一样可以确定就是order by order by后面无法使用ubion注入(靠找不到) 可以利用后面的参数进行攻击 1)数字 没作用考虑布尔类型 rand和select ***都可以 …

xss-labs(10-16)

level10:欢迎来到level10 尝试注入 <script>alert(欢迎来钓鱼)</script> 寻找注入点 让表单显示出来 随便输入一个字符康康 url出现了变化</

中国大学生计算机设计大赛—人工智能实践赛赛道—赛后感想

1.比赛介绍 中国大学生计算机设计大赛是我国高校面向本科生最早的赛事之一&#xff0c;是全国普通高校大学生竞赛排行榜榜单赛事之一。自2008年开赛至2019年&#xff0c;一直由教育部高校与计算机相关教指委等或独立或联合主办。大赛的目的是以赛促学、以赛促教、以赛促创&…

VMware设置

主机和虚拟机共享文件 虚拟机/设置/选项/共享文件夹/添加 登录账号需要Administrator, 才能调用VMware Tools. 否则不能显示&#xff0c; 也装不起来。即使设置其他用户为Administrator, 任然也没有成功

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门

【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax概述 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax快速入门 【大数据进阶第三阶段之Datax学习笔记】阿里云开源离线同步工具Datax类图 【大数据进阶第三阶段之Datax学习笔记】使用…

CSS3背景样式详解(图像大小,图像位置等)

背景样式 在CSS3中&#xff0c;新增了3个背景属性 属性说明background-size背景大小background-origin背景位置background-clip背景剪切 background-size属性 概念&#xff1a;在CSS3之前&#xff0c;我们是不能用CSS来控制背景图片大小的&#xff0c;背景图片的大小都是由…

Spring MVC 参数传递和JSON数据处理

参数传递 ModelAndView传递 编写controller Controller RequestMapping("/account") public class AccountController { ​//也可以不创建ModelAndView&#xff0c;直接在参数中指定RequestMapping(value "/findAccount9")public ModelAndView findAccou…

ArrayBlockingQueue原理探究

类图结构 同样&#xff0c;为了能从全局一览ArrayBlockingQueue的内部构造&#xff0c;先来看它的类图。 ArrayBlockingQueue的内部有一个数组items,用来存放队列元素&#xff0c;putindex变量表示入队元素下标&#xff0c;takelndex是出队下标&#xff0c;count统计队列元素个…

从零开发短视频电商 Tesseract OCR 的 Java 拓展库 javacpp-presets

文章目录 简介添加依赖识别示例示例一 识别本地图片示例二 识别图像中的各个组件&#xff08;比如文本行&#xff0c;单词&#xff0c;或单个字符&#xff09;示例三 使用迭代器遍历识别结果及其选择项示例四 方向和脚本检测示例五 结果迭代器示例六 设置引擎、页面分割模式、语…

Java面试之并发篇(二)

1、前言 本篇主要基于Java面试题之并发篇&#xff08;一&#xff09;继续梳理java中关于并发相关的高频面试题。本篇的面试题基于网络整理&#xff0c;和自己编辑。在不断的完善补充哦。 2、synchronized 的原理是什么? synchronized是 Java 内置的关键字&#xff0c;它提供…

Python类型转换,数据类型转换函数大全 与 strip()函数介绍

Python类型转换&#xff0c;数据类型转换函数大全 虽然 Python 是弱类型编程语言&#xff0c;不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型&#xff0c;但在一些特定场景中&#xff0c;仍然需要用到类型转换。 比如说&#xff0c;我们想通过使用 print() 函数…

你猜不到的2024年!特斯拉首席预言家马斯克,发表预言惹社交平台沸腾,2024年真的...

埃隆马斯克&#xff0c;特斯拉首席执行官&#xff0c;一向以其独特的见解和预测而备受瞩目。最新消息显示&#xff0c;他对2024年的预测让人瞠目结舌&#xff0c;称2024将比过去四年更加“疯狂”。 就在2024年刚刚来临的时候&#xff0c;有人在社交平台上发问&#xff0c;希望…

uni微信小程序强制用户更新版本

强制更新的代码参考官方文档 uni.getUpdateManager() | uni-app官网 我这边的如下&#xff1a; //检查版本更新const updateManager uni.getUpdateManager();updateManager.onCheckForUpdate(function (res) {// 请求完新版本信息的回调console.log(res.hasUpdate, "是…

您的计算机已被.LIVE勒索病毒感染?恢复您的数据的方法在这里!

引言&#xff1a; 在数字时代&#xff0c;.LIVE勒索病毒如暗夜中的黑暗调&#xff0c;威胁着个人和企业的数字安全。本文将深入介绍.LIVE勒索病毒的特征&#xff0c;提供解密数据的方法&#xff0c;并讨论预防措施&#xff0c;让我们共同筑起数字世界的防护之墙。数据的重要性…

使用FFmpeg+EasyDarwin搭建音视频推拉流测试环境

1. 前言 在上一篇文章《使用VS2017在win10 x64上编译调试FFmpeg&#xff08;附源码和虚拟机下载&#xff09;》中&#xff0c;我们讲解了如何搭建FFmpeg源码编译和调试环境。 调试FFmpeg&#xff0c;还需要搭建流媒体服务器。流媒体服务器的作用是通过网络对外提供音视频服务…

01-你好Python-python环境安装 python解释器的安装 pycharm的安装

python环境安装 官方网址&#xff1a;https://python.org 这里可以下载最新版本的&#xff0c;下载完成以后在自己的浏览器文件下载的文件夹中找到该文件 下载速度可能会比较慢&#xff0c;这里已经提供好了文件&#xff0c;可以直接点击安装 点击Customize installation 点击…

【QML COOK】- 006-用C++定义一个QML元素类型

Qt原本是一个C图形框架&#xff0c;因此QML也少不了C。QML通常只负责显示&#xff0c;而后台逻辑由C实现&#xff0c;因此掌握C和QML之间的交互非常必要。 本例实现一个最简单的例子&#xff0c;用C定义一个QML的元素类型并在QML使用它。 需求是在窗口上显示鼠标点击的次数。…

postman做接口测试

之前搞自动化接口测试&#xff0c;由于接口的特性&#xff0c;要验证接口返回xml中的数据&#xff0c;所以没找到合适的轮子&#xff0c;就自己用requests造了个轮子&#xff0c;用着也还行&#xff0c;不过就是case管理有些麻烦&#xff0c;近几天又回头看了看postman也可以玩…