客戶臨時要他找出「導演在咖啡廳提到預算超支」的那一小段,素材包含語音備忘錄、手機影片和現場照片
EmbeddingGemma 2 是 Google 釋出的開放模型。它的工作不是聊天,而是把東西變成 嵌入向量(embedding)一長串數字,用來代表一段內容的「意思」,意思越接近的內容,數字排列就越相似。去年的第一代只處理文字,累積超過 2000 萬次下載,大家拿它做手機上的本機搜尋,以及不把資料外傳的 RAG檢索增強生成:先從資料庫找出相關資料,再交給 AI 參考後回答,讓 AI 不用靠記憶亂答 系統。
第二代最大的改變是 多模態同一個模型能處理多種資料型態,例如文字、圖片、影片、聲音。它把程式碼、圖片、影片和聲音,全部放進同一個「共享嵌入空間」。你可以把它想成一張大地圖:「導演說預算超支」的錄音、寫著預算的投影片截圖、討論預算的文字,會被放在地圖上很近的位置,所以用文字就能搜到聲音。
它基於 Gemma 4 架構,總共有 740 million(7.4 億)個 參數模型裡可以調整的數字旋鈕,數量越多通常越強,但也越吃記憶體和算力,採用 Apache 2.0 授權一種寬鬆的開源授權,商業產品也可以免費使用、修改,所以個人和公司都能直接拿來用。
| 組合 | 參數量 | 官方標示的用途 |
|---|---|---|
| 只用文字 | 約 270M | 純文字工作負載,運作記憶體約 191MB(量化、Pixel 11 Pro) |
| 文字+視覺 | 270M + 170M | 加入圖片、影片、文件理解 |
| 文字+視覺+音訊(完整版) | 約 740M | 完整多模態,運作記憶體約 567MB(量化、Pixel 11 Pro) |
這是我們自己寫的小範例,用來說明 MRL 截短的概念,不是官方 API。重點是:截短後要重新把長度「正規化」,比較相似度時才公平。
import numpy as npvec = np.random.randn(768)short = vec[:128]short = short / np.linalg.norm(short)print(vec.nbytes, short.nbytes)