许可证:其他
许可证名称:健康AI开发者基础条款
许可证链接:https://developers.google.com/health-ai-developer-foundations/terms
语言:
- 英文
任务标签:文本生成
库名称:transformers
标签:
- 治疗学
- 药物开发
额外访问标题:在Hugging Face上访问TxGemma
额外访问提示:>-
要访问Hugging Face上的TxGemma,您需要审阅并同意健康AI开发者基础使用条款。
为此,请确保您已登录Hugging Face并点击下方按钮。请求将立即处理。
额外访问按钮内容:确认许可证
TxGemma模型卡片
模型文档: TxGemma
资源:
使用条款: 健康AI开发者基础使用条款
作者: Google
模型信息
本节介绍TxGemma模型及其使用方法。
描述
TxGemma是基于Gemma 2构建的一系列轻量级、先进的开放语言模型,专为治疗开发而微调。它提供三种规模:2B、9B和27B。
TxGemma模型设计用于处理和理解与各种治疗方式和靶点相关的信息,包括小分子、蛋白质、核酸、疾病和细胞系。TxGemma擅长属性预测等任务,可作为进一步微调的基础,或作为药物发现的交互式对话代理。该模型使用来自治疗数据共享库(TDC)的多样化指令微调数据集从Gemma 2微调而来。
TxGemma既可作为预测模型(需要特定格式的提示),也可作为9B和27B版本的对话模型(更灵活,可用于多轮交互,包括解释其预测背后的逻辑)。这种对话模型会牺牲一些原始预测性能。更多信息请参阅我们的论文。
主要特点
- 多功能性:在广泛的治疗任务中表现出色,在大量基准测试中超越或匹配最佳性能。
- 数据效率:与大型模型相比,即使在数据有限的情况下也表现出竞争力,提供了优于前代模型的改进。
- 对话能力(TxGemma-Chat):包含对话变体,可进行自然语言对话并解释其预测背后的逻辑。
- 微调基础:可作为预训练基础用于专业用例。
潜在应用
TxGemma可成为以下领域研究人员的宝贵工具:
- 加速药物发现:通过预测治疗药物和靶点的属性,简化治疗开发流程,包括靶点识别、药物-靶点相互作用预测和临床试验批准预测等广泛任务。
使用方法
以下是一些示例代码片段,帮助您快速开始在GPU上本地运行模型。如果您想使用模型对大量输入进行推理,建议使用Model Garden创建生产版本。
为治疗任务格式化提示
import json
from huggingface_hub import hf_hub_download
tdc_prompts_filepath = hf_hub_download(
repo_id="google/txgemma-27b-predict",
filename="tdc_prompts.json",
)
with open(tdc_prompts_filepath, "r") as f:
tdc_prompts_json = json.load(f)
task_name = "BBB_Martins"
input_type = "{Drug SMILES}"
drug_smiles = "CN1C(=O)CN=C(C2=CCCCC2)c2cc(Cl)ccc21"
TDC_PROMPT = tdc_prompts_json[task_name].replace(input_type, drug_smiles)
print(TDC_PROMPT)
生成的提示符合模型预期的格式:
指令:回答以下关于药物属性的问题。
背景:作为分隔循环血液和脑细胞外液的膜,血脑屏障(BBB)是阻挡大多数外来药物的保护层。因此,药物穿透屏障到达作用部位的能力在中枢神经系统药物开发中形成关键挑战。
问题:给定药物SMILES字符串,预测其
(A) 不穿过BBB (B) 穿过BBB
药物SMILES: CN1C(=O)CN=C(C2=CCCCC2)c2cc(Cl)ccc21
答案:
在预测任务上运行模型
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("google/txgemma-27b-predict")
model = AutoModelForCausalLM.from_pretrained(
"google/txgemma-27b-predict",
device_map="auto",
)
prompt = TDC_PROMPT
input_ids = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**input_ids, max_new_tokens=8)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
或者,您可以使用pipeline
API,它提供了一种简单的方法来运行推理,同时抽象出加载和使用模型及标记器的复杂细节:
from transformers import pipeline
pipe = pipeline(
"text-generation",
model="google/txgemma-27b-predict",
device="cuda",
)
prompt = TDC_PROMPT
outputs = pipe(prompt, max_new_tokens=8)
response = outputs[0]["generated_text"]
print(response)
示例
查看以下Colab笔记本了解如何使用TxGemma:
模型架构概述
- TxGemma基于Gemma 2系列轻量级、先进的开放LLM。它采用仅解码器变压器架构。
- 基础模型:Gemma 2(2B、9B和27B参数版本)。
- 微调数据:治疗数据共享库,涵盖多样化治疗方式和靶点的指令微调数据集集合。
- 训练方法:使用治疗数据(TxT)和(对话变体的)通用指令微调数据的混合进行指令微调。
- 对话变体:TxGemma-Chat模型(9B和27B)使用治疗和通用指令微调数据的混合训练,以保持对话能力。
技术规格
性能与验证
TxGemma的性能已在源自TDC的66项治疗任务的综合基准测试中得到验证。
关键性能指标
- 综合改进:在66项治疗任务中的45项上优于原始Tx-LLM论文。
- 最佳性能:在66项任务中的50项上超越或匹配最佳性能,在26项任务上超越专业模型。完整分类见TxGemma论文的表A.11。
输入和输出
- 输入: 文本。为获得最佳性能,文本提示应按TDC结构格式化,包括指令、背景、问题和可选的少量示例。输入可包括SMILES字符串、氨基酸序列、核苷酸序列和自然语言文本。
- 输出: 文本。
数据集详情
训练数据集
治疗数据共享库:精选的指令微调数据集集合,涵盖66项任务,涉及安全有效药物的发现和开发。这包括超过1500万个数据点,涵盖不同的生物医学实体。发布的TxGemma模型仅在使用商业许可的数据集上训练,而我们论文中的模型也在非商业许可的数据集上训练。
通用指令微调数据:与TDC结合用于TxGemma-Chat。
评估数据集
治疗数据共享库:用于训练的相同66项任务也用于评估,遵循TDC推荐的数据分割方法(随机、骨架、冷启动、组合和时间)。
许可证
TxGemma的使用受健康AI开发者基础使用条款约束。
实现信息
本节包含有关模型内部实现的详细信息。
软件
训练使用JAX完成。
JAX允许研究人员利用包括TPU在内的最新硬件,更快、更高效地训练大型模型。
使用和限制
预期用途
优势
TxGemma为加速治疗开发提供了多功能且强大的工具。它提供:
- 在广泛任务中的强大性能。
- 与大型模型相比的数据效率。
- 从私有数据进一步微调的基础。
- 集成到代理工作流中。
限制
- 在TDC的公共数据上训练。
- 任务特定验证仍是终端用户下游模型开发的重要方面。
- 与任何研究一样,开发人员应确保任何下游应用都经过验证,以了解在使用适当代表预期使用环境的数据(如年龄、性别、条件、扫描仪等)时的性能。
引用
@article{wang2025txgemma,
title={TxGemma: Efficient and Agentic LLMs for Therapeutics},
author={Wang, Eric and Schmidgall, Samuel and Jaeger, Paul F. and Zhang, Fan and Pilgrim, Rory and Matias, Yossi and Barral, Joelle and Fleet, David and Azizi, Shekoofeh},
year={2025},
}
论文链接此处。