HuggingFace镜像/translategemma-4b-it
模型介绍文件和版本分析

TranslateGemma 模型卡片

资源与技术文档:

  • 技术报告
  • 负责任的生成式 AI 工具包
  • Kaggle 上的 TranslateGemma
  • Vertex Model Garden 上的 TranslateGemma

使用条款:条款
作者:Google Translate

模型信息

输入和输出的概要说明及简要定义。

描述

TranslateGemma 是 Google 推出的一系列轻量级、最先进的开放式翻译模型,基于 Gemma 3 系列模型构建。
TranslateGemma 模型旨在处理 55 种语言的翻译任务。其相对较小的模型尺寸使其能够部署在资源有限的环境中,如笔记本电脑、台式机或您自己的云基础设施,从而普及最先进的翻译模型,助力为所有人促进创新。

输入和输出

  • 输入:

    • 文本字符串,表示待翻译的文本
    • 图像,归一化为 896 x 896 分辨率并编码为每个 256 个 token
    • 总输入上下文为 2K token
  • 输出:

    • 翻译成目标语言的文本

使用方法

TranslateGemma 旨在与特定的聊天模板配合使用,该模板支持直接翻译文本输入,或从图像输入中提取文本并进行翻译。此聊天模板已通过 Hugging Face transformers 的聊天模板系统实现,并且与 Gemma tokenizer 和 Gemma 3 processor 提供的 apply_chat_template() 函数兼容。与其他模型的聊天模板相比,显著差异包括:

  • TranslateGemma 仅支持用户(User)和助手(Assistant)角色。

  • TranslateGemma 的用户角色有严格规定:

    • content 属性必须以列表形式提供,且列表中恰好包含一个条目。

    • content 列表条目必须提供:

      • 一个 "type" 属性,其值必须为 "text" 或 "image"。
      • 一个 "source_lang_code" 属性,类型为字符串
      • 一个 "target_lang_code" 属性,类型为字符串
    • content 列表条目应提供以下其中一项:

      • 如果条目的类型是 "image",则提供一个 "url" 属性,从中加载图像
      • 如果条目的类型是 "text",则提供一个 "text" 属性,仅包含待翻译的文本
    • "source_lang_code" 和 "target_lang_code" 属性值可以采用以下两种形式之一:

      • ISO 639-1 Alpha-2 语言代码,例如 en;或
      • 区域化变体,格式为 ISO 639-1 Alpha-2 语言代码与 ISO 3166-1 Alpha-2 国家代码 配对,中间用短横线或下划线分隔,例如 en_US 或 en-GB,类似于 Unicode 通用区域设置数据仓库格式。
    • 如果 "source_lang_code" 和 "target_lang_code" 属性值不受模型支持,则在应用模板时会引发错误。

此外,TranslateGemma 可能对其他提示技术有良好响应,以支持超出所提供聊天模板的用例,例如自动翻译后编辑。由于这些用例未得到官方支持,因此应使用 Gemma 3 技术报告 中指定的特殊控制 token 和结构手动构建它们,并直接发送给 tokenizer 或 processor,而不是使用 apply_chat_template() 函数。TranslateGemma 团队希望了解您使用替代提示的经验,如有任何问题和反馈,请联系我们。

使用 Pipeline

from transformers import pipeline
import torch

pipe = pipeline(
    "image-text-to-text",
    model="google/translategemma-4b-it",
    device="cuda",
    dtype=torch.bfloat16
)

# ---- Text Translation ----
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "source_lang_code": "cs",
                "target_lang_code": "de-DE",
                "text": "V nejhorším případě i k prasknutí čočky.",
            }
        ],
    }
]

output = pipe(text=messages, max_new_tokens=200)
print(output[0]["generated_text"][-1]["content"])

# ---- Text Extraction and Translation ----
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "source_lang_code": "cs",
                "target_lang_code": "de-DE",
                "url": "https://c7.alamy.com/comp/2YAX36N/traffic-signs-in-czech-republic-pedestrian-zone-2YAX36N.jpg",
            },
        ],
    }
]

output = pipe(text=messages, max_new_tokens=200)
print(output[0]["generated_text"][-1]["content"])

直接初始化

import torch
from transformers import AutoModelForImageTextToText, AutoProcessor

model_id = "google/translategemma-4b-it"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForImageTextToText.from_pretrained(model_id, device_map="auto")


# ---- Text Translation ----
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "text",
                "source_lang_code": "cs",
                "target_lang_code": "de-DE",
                "text": "V nejhorším případě i k prasknutí čočky.",
            }
        ],
    }
]

inputs = processor.apply_chat_template(
    messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt"
).to(model.device, dtype=torch.bfloat16)
input_len = len(inputs['input_ids'][0])

with torch.inference_mode():
    generation = model.generate(**inputs, do_sample=False)

generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)

# ---- Text Extraction and Translation ----
messages = [
    {
        "role": "user",
        "content": [
            {
                "type": "image",
                "source_lang_code": "cs",
                "target_lang_code": "de-DE",
                "url": "https://c7.alamy.com/comp/2YAX36N/traffic-signs-in-czech-republic-pedestrian-zone-2YAX36N.jpg",
            },
        ],
    }
]

inputs = processor.apply_chat_template(
    messages, tokenize=True, add_generation_prompt=True, return_dict=True, return_tensors="pt"
).to(model.device, dtype=torch.bfloat16)

with torch.inference_mode():
    generation = model.generate(**inputs, do_sample=False)

generation = generation[0][input_len:]
decoded = processor.decode(generation, skip_special_tokens=True)
print(decoded)

引用格式

@article{gemmatranslate2026,
    title={{TranslateGemma Technical Report}},
    url={https://arxiv.org/pdf/2601.09012},
    publisher={Google DeepMind},
    author={{Google Translate Research Team} and
	Finkelstein, Mara and
	Caswell, Isaac and
	Domhan, Tobias and
	Peter, Jan-Thorsten and
	Juraska, Juraj and
	Riley, Parker and
	Deutsch, Daniel and
	Dilanni, Cole and
	Cherry, Colin and
	Briakou, Eleftheria and
	Nielsen, Elizabeth and
	Luo, Jiaming and
	Agrawal, Sweta and
	Xu, Wenda and
	Kats, Erin and
	Jaskiewicz, Stephane and
	Freitag, Markus and
	Vilar, David
},
    year={2026}
}

模型数据

用于模型训练的数据以及数据的处理方式。

训练数据集

这些模型是在原始 Gemma 3 检查点的基础上,使用来自多种来源的平行数据进行微调的。TranslateGemma 模型在监督微调(SFT)阶段使用了 43 亿个 tokens,在强化学习阶段使用了 1020 万个 tokens。其关键组成部分包括:

  • 单语网络文档,配以由 Gemini 生成的、高质量的多种语言翻译。
  • 公开可用的平行文档。

实现信息

关于模型内部结构的详细信息。

硬件

TranslateGemma 的训练使用了 Tensor Processing Unit (TPU) 硬件(TPUv4p、TPUv5p 和 TPUv5e)。TPU 是专为机器学习中常见的矩阵运算而设计的,在该领域具有多项优势:

  • 性能:TPU 专为处理训练视觉语言模型(VLM)所需的海量计算而设计。与 CPU 相比,它们能显著加快训练速度。
  • 内存:TPU 通常配备大量高带宽内存,能够在训练过程中处理大型模型和大批量数据,从而有助于提升模型质量。
  • 可扩展性:TPU Pod(大型 TPU 集群)为处理日益复杂的大型基础模型提供了可扩展的解决方案。可以跨多个 TPU 设备分布训练任务,以实现更快、更高效的处理。
  • 成本效益:在许多情况下,与基于 CPU 的基础设施相比,TPU 可为训练大型模型提供更具成本效益的解决方案,尤其是考虑到更快的训练速度所节省的时间和资源时。
  • 这些优势与 Google 致力于可持续运营的承诺 相符。

软件

训练使用了 JAX 和 ML Pathways。JAX 使研究人员能够利用最新一代的硬件(包括 TPU),更快、更高效地训练大型模型。ML Pathways 是 Google 为构建能够跨多个任务进行泛化的人工智能系统所做的最新努力。这特别适用于基础模型,包括此类大型语言模型。 正如 Gemini 系列模型论文 中所述,JAX 和 ML Pathways 协同工作:“Jax 和 Pathways 的‘单一控制器’编程模型允许单个 Python 进程协调整个训练运行,极大地简化了开发工作流程。”

评估

模型评估指标与结果。

基准测试结果

为全面评估文本生成的各个方面,我们在大量不同数据集和指标上对这些模型进行了评估。

4B12B27B
WMT24++(55种语言)
MetricX ↓5.323.603.09
Comet ↑81.683.584.4
WMT25(10种语言)
MQM ↓N/A7.945.86
Vistra(4种语言)*
MetricX ↓2.572.081.57
  • Vistra语料库已过滤为仅包含单文本的图像。

伦理与安全

伦理与安全评估方法及结果。

评估方法

我们的评估方法包括结构化评估和针对相关内容政策的内部红队测试。红队测试由多个不同团队执行,每个团队都有不同的目标和人工评估指标。这些模型针对多个与伦理和安全相关的类别进行了评估,包括:

  • 儿童安全:评估涵盖儿童安全政策的文本到文本及图像到文本提示词,包括儿童性虐待与剥削。
  • 内容安全:评估涵盖安全政策的文本到文本及图像到文本提示词,包括骚扰、暴力与血腥内容以及仇恨言论。
  • 代表性伤害:评估涵盖安全政策的文本到文本及图像到文本提示词,包括偏见、刻板印象以及有害关联或不准确信息。

评估结果

在所有安全测试领域,我们观察到与之前的Gemma模型相比,儿童安全、内容安全和代表性伤害等类别的表现均有显著提升。所有测试均在未启用安全过滤器的情况下进行,以评估模型的能力和行为。无论是文本到文本还是图像到文本任务,在所有模型尺寸上,模型产生的政策违规内容极少,并且在无根据推断方面,相较于之前的Gemma模型表现出显著改进。

使用方法与局限性

这些模型存在一些用户应注意的局限性。

预期用途

这些模型的训练目标明确,旨在从文本或图像输出中生成文本翻译。我们不对这些模型的其他能力做任何宣称。

局限性

  • 训练数据

    • 训练数据的质量和多样性对模型能力有显著影响。训练数据中的偏差或缺口可能导致模型响应存在局限。
    • 训练数据集的范围决定了模型能够有效处理的主题领域。
  • 上下文与任务复杂度

    • 模型在处理能够通过清晰提示和指令构建的任务时表现更佳。开放式或高度复杂的任务可能具有挑战性。
    • 模型的性能会受到所提供上下文数量的影响(通常,上下文越长,输出效果越好,但存在一定限度)。
  • 语言歧义与细微差别

    • 自然语言本质上是复杂的。模型可能难以理解微妙的语气、讽刺或比喻性语言。
  • 事实准确性

    • 模型基于其从训练数据集中学到的信息生成响应,但它们并非知识库。它们可能会生成不正确或过时的事实陈述。
  • 常识判断

    • 模型依赖于语言中的统计模式。在某些情况下,它们可能缺乏应用常识推理的能力。

伦理考量与风险

视觉语言模型(VLMs)的发展引发了若干伦理问题。在创建开放模型时,我们仔细考虑了以下几点:

  • 偏差与公平性

    • 在大规模真实世界文本和图像数据上训练的VLMs可能会反映出训练材料中蕴含的社会文化偏差。这些模型经过了仔细审查,本卡片中描述了输入数据的预处理过程,并报告了后续评估结果。
  • 错误信息与滥用

    • VLMs可能被滥用来生成虚假、误导性或有害的文本。
    • 提供了负责任使用模型的指南,请参见负责任的生成式AI工具包。
  • 透明度与问责制:

    • 本模型卡片总结了有关模型架构、能力、局限性和评估过程的详细信息。
    • 一个负责任开发的开放模型通过向整个AI生态系统的开发者和研究人员开放VLM技术,提供了分享创新的机会。

已识别的风险及缓解措施:

  • 偏见的延续:建议在模型训练、微调及其他使用场景中进行持续监控(使用评估指标、人工审核)并探索去偏技术。
  • 有害内容的生成:内容安全机制和指南至关重要。鼓励开发者保持谨慎,并根据其特定的产品政策和应用用例实施适当的内容安全保障措施。
  • 恶意目的滥用:技术限制以及对开发者和最终用户的教育有助于减轻VLMs的恶意应用。提供了教育资源和用户报告滥用的机制。Gemma模型的禁止用途在Gemma禁止使用政策中列出。
  • 隐私侵犯:模型的训练数据经过筛选,以移除某些个人信息和其他敏感数据。鼓励开发者使用隐私保护技术,遵守隐私法规。

优势

在发布时,此系列模型提供了基于 Gemma 3 模型微调的高性能翻译模型实现。
通过本文档中描述的基准评估指标,这些模型已展现出相较于其他同等规模开源模型替代品更卓越的性能。