Evo 2:基因编程AI革命!!DNA版GPT-4问世:100万碱基全解析,自动设计基因编辑器

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🧫 「生物博士的噩梦终结者!凌晨3点还在比对百万碱基?现在AI一键生成基因编辑器!」
大家好,我是蚝油菜花。如果你经历过——

  • 🔬 为定位一个SNP位点,手动筛查十万级基因序列
  • 🧬 设计合成质粒时,反复试错启动子组合
  • 📊 预测BRCA1突变效应,结果被Nature审稿人质疑方法…

那么今天介绍的 Evo 2 将改变你的科研人生!这个由斯坦福×英伟达联合研发的DNA大模型,能像读小说一样解析百万碱基序列,自动生成高活性基因编辑器,甚至预测变异对蛋白结构的影响。合成生物实验室已用它缩短70%实验周期——是时候让AI接管移液枪了!

🚀 快速阅读

Evo 2 是一个突破性的 DNA 语言模型,专注于基因组建模与设计。

  1. 长上下文建模:支持高达百万碱基对的 DNA 序列处理,精度极高。
  2. 生成与预测能力:具备 DNA 序列生成、零样本变异预测等功能,适用于合成生物学与疾病研究。

Evo 2 是什么

Evo 2

Evo 2 是由 Acr 研究所、英伟达和斯坦福大学合作开发的一款先进 DNA 语言模型。该模型基于 StripedHyena 2 架构,能够以单核苷酸分辨率处理长达 100 万个碱基对的基因组序列。Evo 2 使用 OpenGenome2 数据集进行自回归预训练,该数据集包含来自生命所有领域的 8.8 万亿个标记,覆盖细菌、古菌和真核生物等多个领域。

Evo 2 不仅可以用于基因组建模,还能够生成新的 DNA 序列,为合成生物学和基因编辑提供支持。此外,它还可以提取嵌入向量,用于下游分析,如基因功能预测和变异效应评估。Evo 2 的推出标志着基因组学研究迈入了一个新时代,为生物医学和合成生物学等领域带来了巨大的潜力。

Evo 2 的主要功能

  • 长上下文建模:处理长达 100 万个碱基对的 DNA 序列,支持高精度的基因组建模。
  • DNA 序列生成:根据给定提示生成新的 DNA 序列,适用于合成生物学和基因编辑。
  • 嵌入向量提取:提取 DNA 序列的嵌入向量,用于下游分析,如基因功能预测和变异效应分析。
  • 零样本预测:支持零样本学习,例如预测基因变异对功能的影响(如 BRCA1 基因变异效应预测)。
  • 序列评分:计算 DNA 序列的似然分数,评估序列的稳定性和功能潜力。

Evo 2 的技术原理

  • 大规模数据训练:基于超过 9.3 万亿个核苷酸的数据进行训练,涵盖多个生命领域的基因组信息。
  • 独特的 AI 架构:采用 StripedHyena 2 架构,处理长基因序列并理解基因组中相距较远部分之间的关系。
  • 深度学习与生成生物学:通过深度学习技术理解核酸序列,预测基因突变影响并生成新基因组。
  • 强大的计算支持:利用英伟达 DGX Cloud AI 平台和超过 2000 个 H100 GPU,实现高效的模型训练。

如何运行 Evo 2

1. 安装环境

Evo 2 基于 Python 3.11 开发,部分层使用 NVIDIA Transformer Engine FP8 技术,需要 H100 或其他具有计算能力 ≥8.9 的 GPU。推荐使用 Conda 创建新环境并安装依赖:

git clone --recurse-submodules git@github.com:ArcInstitute/evo2.git
cd evo2
pip install .

2. 测试安装

确保安装成功,可以通过以下命令运行测试脚本:

python ./test/test_evo2.py --model_name evo2_7b

3. 使用示例

DNA 序列评分

以下代码展示如何计算 DNA 序列的似然分数:

import torch
from evo2 import Evo2

evo2_model = Evo2('evo2_7b')

sequence = 'ACGT'
input_ids = torch.tensor(
    evo2_model.tokenizer.tokenize(sequence),
    dtype=torch.int,
).unsqueeze(0).to('cuda:0')

outputs, _ = evo2_model(input_ids)
logits = outputs[0]

print('Logits: ', logits)
print('Shape (batch, length, vocab): ', logits.shape)

DNA 序列生成

以下代码展示如何生成新的 DNA 序列:

from evo2 import Evo2

evo2_model = Evo2('evo2_7b')

output = evo2_model.generate(prompt_seqs=["ACGT"], n_tokens=400, temperature=1.0, top_k=4)

print(output.sequences[0])

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值