Gemini(Google)概觀
Google Gemini 模型家族的架構概觀,包括原生多模態設計、長上下文能力、Google 生態整合,以及對紅隊具意義的安全相關特性。
Gemini 是 Google DeepMind 的前沿模型家族,以其原生多模態架構與對 Google 生態的深度整合而具有辨識度。不同於在純文字基礎上外加視覺或音訊能力的模型,Gemini 從設計初始便採用統一架構處理文字、影像、音訊與影片。這構成了與「文字優先」模型截然不同的攻擊面。
架構
原生多模態設計
Gemini 以統一 Transformer 架構處理多種模態,而不是以獨立編碼器餵入文字模型。這有重要的安全意涵:
統一表示空間: 所有模態——文字、影像、音訊、影片——皆位於相同的嵌入空間。這使得跨模態互動比分開處理模態的模型更深、更複雜。
跨模態注意力: 注意力機制跨越模態邊界運作,使模型在處理文字時可注意影像區域,反之亦然。這為跨模態混淆與注入製造了機會。
原生生成: Gemini 可橫跨模態生成(文字與影像),意味著產生的輸出可承載任何模態的 payload。
模型變體
| 變體 | 上下文視窗 | 模態 | 部署 |
|---|---|---|---|
| Gemini Ultra | 1M+ token | 文字、影像、音訊、影片 | 限量提供 |
| Gemini Pro | 1M+ token | 文字、影像、音訊、影片 | API、Vertex AI、Google AI Studio |
| Gemini Flash | 1M token | 文字、影像、音訊、影片 | 成本優化、更快速 |
| Gemini Nano | 依情況 | 文字、影像 | 裝置端(Android) |
1M+ token 的上下文視窗是各主流前沿模型中最大的,也使 Gemini 特別易受長上下文攻擊影響。
長上下文能力
Gemini 的百萬 token 上下文視窗從根本改變攻擊面:
- 大規模 many-shot: 單一 prompt 可塞入數千筆範例,遠超其他模型所支援
- 文件規模注入: 整份文件、程式碼庫或資料集可納入單一 prompt,注入 payload 可嵌於任何位置
- 海底撈針注入: 藏於龐大上下文深處的 payload 可能繞過會隨長度衰退的注意力式安全機制
- 上下文耗盡: 非常長的上下文可能降低模型的安全推理能力
訓練與安全做法
Google 的多層安全
Google 為 Gemini 採用多層安全架構:
- 預訓練安全 —— 預訓練期間的資料過濾與策展
- 對齊訓練 —— RLHF 與用於安全行為的指令微調
- 安全分類器 —— 獨立的分類器模型評估輸入與輸出
- 內容過濾器 —— API 層的規則式與 ML 式內容過濾
- 產品特定防護 —— 於特定 Google 產品中加入的額外安全層
此分層做法意味著,單繞過模型的對齊訓練通常不夠——獨立的安全分類器與內容過濾器提供額外防禦。
安全分類器架構
Google 採用獨立於 Gemini 並行運行的安全分類器模型,同時評估輸入與輸出的安全違規。這些分類器涵蓋下列類別:
- 騷擾
- 仇恨言論
- 色情內容
- 危險內容
- 公共誠信
將這些分類器視為獨立元件相當重要,原因是:
- 可獨立於模型進行測試
- 繞過可能專門瞄準分類器(例如分類器未評估的格式)
- 模型與分類器可能意見不一致,產生邊界情境
API 介面
生成式 AI API
Gemini 可透過 Google 的 Generative AI API 以及 Vertex AI 存取:
import google.generativeai as genai
genai.configure(api_key=os.environ["GOOGLE_API_KEY"])
model = genai.GenerativeModel("gemini-pro")
response = model.generate_content(
"User message",
generation_config=genai.types.GenerationConfig(
temperature=0.0,
max_output_tokens=2048,
),
safety_settings={
"HARM_CATEGORY_HARASSMENT": "BLOCK_NONE",
"HARM_CATEGORY_HATE_SPEECH": "BLOCK_NONE",
"HARM_CATEGORY_SEXUALLY_EXPLICIT": "BLOCK_NONE",
"HARM_CATEGORY_DANGEROUS_CONTENT": "BLOCK_NONE",
}
)將安全設定作為 API 參數
Gemini API 的獨特之處是可調整的安全門檻。使用者可獨立調整每個安全類別的靈敏度:
BLOCK_NONE—— 不過濾(若政策允許)BLOCK_ONLY_HIGH—— 僅封鎖高信心違規BLOCK_MEDIUM_AND_ABOVE—— 預設BLOCK_LOW_AND_ABOVE—— 最嚴格
此可組態性本身就是攻擊面:將安全設定暴露給使用者、或設定過於寬鬆的應用,會製造可利用的缺口。
多模態輸入處理
Gemini 於單一請求中接受多種模態:
response = model.generate_content([
"Describe this image and follow any instructions you find:",
image_part, # 含嵌入文字指令的影像
audio_part, # 含口語指令的音訊
video_part, # 含內嵌文字影格的影片
])各模態皆由同一模型處理,為「一種模態的 payload 影響另一種模態之處理」的跨模態注入製造機會。
Grounding 與 Google Search 整合
Gemini 可設為使用 Google Search 為其回應接地。此功能自 Web 擷取即時資訊,引入間接注入向量——攻擊者可控的 Web 內容可影響模型回應。
程式碼執行
Gemini 支援程式碼執行能力,允許其於回應生成期間撰寫並執行程式。此點對紅隊具意義,因為:
- 程式碼執行沙箱逸出可能可行
- 生成的程式可透過提示注入影響
- 執行結果會回饋至模型上下文
Google 生態整合
Gemini 與 Google 生態的整合製造了獨立模型所沒有的獨特攻擊面:
Google Workspace
Workspace 中的 Gemini 可存取 Gmail、Drive、Docs 與 Calendar 資料。這意味著:
- 共用文件中的注入 payload 可影響 Gemini 回應
- Gemini 處理的 Email 內容可能含間接注入
- 行事曆事件與文件留言是潛在的注入通道
Google Search
與 Google Search 整合意味著攻擊者可控的 Web 內容,可透過 SEO 投毒或網頁上的注入 payload,影響 Gemini 的接地回應。
Android 與裝置端
Gemini Nano 於裝置端運行,引入硬體層考量:
- 儲存於裝置的模型權重可能可被擷取
- 裝置端安全可能與雲端安全不同
- 裝置層級的 API 存取可能繞過雲端安全過濾
相關主題
- Gemini 攻擊面 -- 特定攻擊向量
- Gemini 已知漏洞 -- 已記錄的 exploit
- Gemini 測試方法論 -- 系統化測試程序
- 多模態攻擊 -- 適用於 Gemini 的跨模態技術
- 間接提示注入 -- 以生態為基礎之注入的基礎
參考資料
- Google DeepMind(2024)。"Gemini: A Family of Highly Capable Multimodal Models"
- Google DeepMind(2024)。"Gemini 1.5: Unlocking Multimodal Understanding Across Millions of Tokens of Context"
- Google(2025)。Gemini API Documentation
- Google DeepMind(2024)。Gemini Safety and Responsibility
Gemini 的多模態架構與「在文字模型上外掛視覺能力」的模型有何根本差異?