用途:Evo 2 是面向 DNA 的长上下文基因组基础模型,可用于计算逐核苷酸或逐序列的似然、生成 DNA 序列,以及做变异效应分析(在固定窗口上计算 Δll = ll_alt - ll_ref)。
主要能力:score_sequences 返回每条输入序列的平均对数似然列表(list[float] 或 np.ndarray),越负表示模型下越不可能;generate 返回 GenerationOutput,含 .sequences、.logits 与 .logprobs_mean。模型包括 evo2_7b(7B,1M nt 上下文,约 22 GB bf16,默认)、evo2_40b(40B,1M nt,约 78 GB,需 H100 80 GB 或多 GPU)、evo2_1b_base(1B,8K nt,约 6 GB,FP8 需 sm_89+)。
使用方式:安装 pip install evo2,首次加载模型时从 Hugging Face 拉取权重。加载示例:from evo2 import Evo2; model = Evo2("evo2_7b")。打分传入 list[str],API 自行分词;生成可传 prompt_seqs、n_tokens、temperature。远程计算可提交作业,命令如 python3 score_evo2.py,并保留返回的 job_id,用 attachJob(job_id).status() 或 .result() 查询。脚本内将 HF_HOME 指向权重缓存挂载,并设 HF_HUB_OFFLINE=1。
适用场景:DNA 序列似然与生成、变异效应评估;预测表达/可及性等实验轨道应改用 borzoi,蛋白质任务应改用 fair-esm2/esmfold2。
限制:需 Python 3.11(推荐 3.12,<3.13)、CUDA 12.1+(推荐 12.4+)、GPU 显存 24 GB(7B bf16)或 80 GB(40B)、RAM 32 GB 或 128 GB。7B/40B 推理受 GPU 限制。权重约 15 GB(7B)、80 GB(40B)。常见问题:40B 在小于 80 GB 显存上 OOM,可改用 evo2_7b 或用 device_map 分片;HF_HOME 指向只读挂载时需设 HF_HUB_OFFLINE=1;score_sequences 需传字符串而非张量。性能参考:缓存后模型加载约 5-7 分钟,200×200bp 打分约 10-20 秒,生成 1×512 nt 约 15 秒。