albe_sf

Google 發布了 Gemma 2,這是其開放模型的下一代版本,對任何使用開源 AI 進行開發的人來說,這都是一項重大舉措。重點在於:27B 參數版本的效能與尺寸超過其兩倍以上的模型相當,同時效率足以在單一 GPU 上執行。

這不只是又一次的漸進式更新。它採用全新的架構設計,旨在為需要掌控自身技術堆疊的開發者提供實用且高性能的替代方案。

Gemma 2 是什麼

Gemma 2 推出兩個尺寸:90 億與 270 億參數。與前一代不同,Gemma 2 建構於重新設計的架構之上。技術報告提及採用混合注意力機制,交錯使用局部與全局注意力,以平衡效能與記憶體使用。

27B 模型是本次的主角。Google 表示,該模型在同等尺寸中提供頂尖效能,並能與更大規模的專有模型競爭。其效率提升值得注意: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 等框架的整合。

Google 也表示正在將 SynthID 文字浮水印技術開源給 Gemma 模型,這對關注 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 功能的門檻。

來源