albe_sf

谷歌已发布 Gemma 2,这是其开放模型的下一代版本,对于任何使用开源 AI 进行构建的人来说,这都是一个重大举措。核心要点是:27B 参数版本提供的性能可与参数量超过其两倍的模型竞争,同时其效率足以在单张 GPU 上运行。

这不仅仅是一次增量更新。它采用全新的架构设计,旨在为需要掌控自身技术栈的开发者提供实用且高性能的替代方案。

什么是 Gemma 2

Gemma 2 提供了两种规格:90 亿和 270 亿参数。与前代产品不同,Gemma 2 构建在重新设计的架构之上。技术报告提到了一种混合注意力机制,通过交替使用局部和全局注意力来平衡性能与内存使用。

27B 模型是本次发布的主要亮点。谷歌声称该模型在同等规模中实现了最佳性能,并能与更大规模的专有模型竞争。其效率提升显著;27B 模型可在单张 NVIDIA H100 或 A100 80GB GPU,或 Google Cloud TPU 主机上以全精度运行推理。这大大降低了部署此类能力模型的门槛。

较小的 9B 模型也被定位为同类领先者,性能优于同等规模的其他开放模型,例如 Llama 3 8B。

这对开发者意味着什么

对于工程师和小型团队而言,Gemma 2 改变了自托管的考量因素。在单张易于获取的 GPU 上运行具备此性能水平的 27B 参数模型,带来了重大的成本和复杂度优势。这使得自托管成为更可行的选择,而在此之前,你可能不得不依赖专有模型 API 来获得同等算力。

它提供了一个来自不同主要实验室的、商业友好的强力开放模型。这为开源生态系统带来了更多竞争与选择。该模型现已可在 Hugging Face、Kaggle 和 Google AI Studio 上获取,并支持 PyTorch、JAX 和 TensorFlow 等框架的集成。

谷歌还表示正在为 Gemma 模型开源其 SynthID 文本水印技术,这对于关注 AI 安全和内容溯源的开发者而言是一个值得关注的进展。

开始使用 Gemma 2

你可以直接从 Hugging Face 获取模型。指令微调(-it)版本适合大多数聊天和指令遵循任务。以下是使用 transformers 库加载 9B 指令微调模型的方法。

import torch
from transformers import pipeline

# Make sure you have accepted the license on the Hugging Face model page
model_id = "google/gemma-2-9b-it"

pipe = pipeline(
    "text-generation",
    model=model_id,
    model_kwargs={"torch_dtype": torch.bfloat16},
    device="cuda",
)

messages = [
    {"role": "user", "content": "Write a short, professional git commit message for a change that fixes a bug where the user session expires prematurely."},
]

prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe(
    prompt,
    max_new_tokens=256,
    do_sample=True,
    temperature=0.7,
    top_k=50,
    top_p=0.95
)

print(outputs[0]["generated_text"][len(prompt):])

Enter fullscreen mode Exit fullscreen mode

此代码片段假设你已拥有支持 CUDA 的 GPU 并安装了必要的库。关键是使用模型的聊天模板正确格式化提示,以便用于指令微调版本。

重要意义

Gemma 2 是开放模型领域的一名强有力新竞争者。它在性能与推理效率方面实现了卓越的结合,尤其是在 27B 规模上。对于希望获得大模型能力,同时避免大规模集群带来的成本和基础设施复杂性的开发者而言,这是一次值得密切关注的发布。它是一个实用工具,能够降低以自身方式交付复杂 AI 功能的门槛。

来源