如何在Google AI Studio上部署高效能模型Gemma 3n?

如何在Google AI Studio上部署高效能模型Gemma 3n?

文章目录

  • 什麼是Gemma 3n?
  • PLE如何提高Gemma 3n的效能?
  • Gemma 3n的主要功能
  • MatFormer架構有何幫助?
  • 如何訪問Gemma 3n?
  • 小結

如何在Google AI Studio上部署高效能模型Gemma 3n?

Gemma 3 在單 GPU 上執行強大的人工智慧,顯示出令人印象深刻的效率。這個新版本為移動裝置和邊緣裝置帶來了最先進的人工智慧技術,在提供快速、多模式效能的同時,使用了最少的記憶體。在本文中,我們將探討是什麼讓 Gemma 3n 如此強大,它是如何透過每層嵌入(PLE)和 MatFormer 架構等創新技術在引擎蓋下工作的,以及如何使用 Google AI Studio 輕鬆訪問 Gemma 3n。如果您是一位希望構建快速、智慧和輕量級人工智慧應用程式的開發人員,那麼這就是您的起點。

什麼是Gemma 3n?

Gemma 3 向我們展示了強大的人工智慧模型可以高效地執行,即使是在單個 GPU 上也是如此,同時在聊天機器人 Elo 分數方面,它的效能超過了 DeepSeek V3 等大型模型,而計算量卻大大減少。現在,谷歌又進一步推出了 Gemma 3n,旨在為手機和邊緣裝置等更小的裝置環境帶來最先進的效能。

聊天機器人 Elo 分數

Source: Google Blog

為了實現這一目標,谷歌與高通(Qualcomm)、聯發科(MediaTek)和三星 System LSI 等硬體領導廠商合作,推出了全新的裝置上人工智慧架構,為快速、私密和多模態人工智慧體驗提供動力。Gemma 3n 中的“n”代表奈米(nano),體現了其小巧而強大的功能。

這種新架構基於兩項關鍵創新:

  • 每層嵌入(PLE):由 Google DeepMind 創新,透過在模型主記憶體之外快取和管理特定層資料來減少記憶體使用。它使大型模型(5B 和 8B 引數)只需 2GB 至 3GB 記憶體即可執行,與 2B 和 4B 模型類似。
  • MatFormer (Matryoshka Transformer) :巢狀模型架構允許較小的子模型在較大的模型中獨立執行。這讓開發人員可以靈活選擇效能或速度,而無需切換模型或增加記憶體使用量。

聊天機器人 Elo 分數

Source: Google Blog

這些創新使 Gemma 3n 能夠在低資源裝置上高效執行高效能、多模態人工智慧。

PLE如何提高Gemma 3n的效能?

執行 Gemma 3n 模型時,每層嵌入(PLE)設定可生成資料,從而提高每個模型層的效能。每層執行時,PLE 資料可以在模型工作記憶體之外獨立建立,快取到快速儲存區,然後納入模型推理過程。透過防止 PLE 引數進入模型記憶體空間,這種方法在不影響模型響應質量的前提下降低了資源使用率。

Gemma 3n 模型標有 E2B 和 E4B 等引數數,指的是有效引數使用量,該值低於引數總數。”E” 字首表示這些模型可以使用較少的引數集執行,這要歸功於 Gemma 3n 中嵌入的靈活引數技術,使其能夠在資源較少的裝置上更高效地執行。

這些模型將引數分為四大類:文字、視覺、音訊和每層嵌入 (PLE) 引數。例如,E2B 模型在標準執行期間通常會載入超過 50 億個引數,但透過使用引數跳轉和 PLE 快取,它可以將活動記憶體佔用減少到僅 19.1 億個引數,如下圖所示:

文字、視覺、音訊和每層嵌入 (PLE) 引數

Source: Google Blog

Gemma 3n的主要功能

Gemma 3n 針對裝置任務進行了微調:

  1. 這是指該模型利用使用者輸入直接在裝置上啟動或呼叫特定操作的能力,例如啟動應用程式、傳送提醒、開啟手電筒等。它使人工智慧不僅能做出響應,還能與裝置本身進行交流。
  2. Gemma 3n 可以理解文字和圖形交錯的輸入,並對其做出反應。例如,當你上傳一張圖片並對其進行文字查詢時,該模型可以同時處理這兩種輸入。
  3. 在 Gemma 系列中,它首次具備了理解音訊和影片輸入的能力。早期的 Gemma 型號不支援音訊和影片。現在,Gemma 3n 能夠觀看影片和聆聽聲音,以便理解正在發生的事情,例如識別動作、檢測語音或根據影片片段回答問題。

這樣,模型就能與環境互動,讓使用者與應用程式自然互動。Gemma 3n 的移動速度是 Gemma 3 4B 的 1.5 倍。這增加了使用者體驗的流暢性(克服了 LLM 的生成延遲)。

Gemma 3n 具有較小的子模型,是獨特的二合一矩陣變換器架構。這讓使用者可以根據需要動態選擇效能和速度。為此,我們無需管理單獨的模型。所有這些都在相同的記憶體空間內完成。

MatFormer架構有何幫助?

Gemma 3n 模型使用的是 Matryoshka Transformer 或 MatFormer 模型架構,它由巢狀在大模型內的小模型組成。 在對查詢做出反應時,可以使用分層的子模型進行推斷,而無需觸發外層模型的引數。 在 MatFormer 模型中只執行較小的核心模型,有助於降低模型的能耗、響應時間和計算成本。 E2B 模型的引數包含在 Gemma 3n 的 E4B 模型中。 您還可以選擇設定,並利用此架構將大小介於 2B 和 4B 之間的模型組合在一起。

如何訪問Gemma 3n?

Gemma 3n 預覽版可在 Google AI Studio、Google GenAI SDK 和 MediaPipe(Huggingface 和 Kaggle)中使用。我們將使用 Google AI Studio 訪問 Gemma 3n。

如何訪問Gemma 3n?

  • Step 1:登入 Google AI studio
  • Step 2:點選 Get API key

Get API key

  • Step 3:點選 Create API key

 Create API key

  • Step 4:選擇一個專案,點選 Create API Key

點選 Create API Key

  • Step 5:複製 API 並儲存,以便今後訪問 Gemma 3n。
  • Step 6:現在我們有了 API,讓我們建立一個 colab 例項。在瀏覽器中使用 colab.new 建立一個新 notebook。
  • Step 7:安裝依賴項
!pip install google-genai
  • Step 8:在 colab 中使用秘鑰儲存 GEMINI_API_KEY,同時啟用 notebook 訪問。

GEMINI_API_KEY

  • Step 9:使用下面的程式碼設定環境變數:
from google.colab import userdata
import os
os.environ["GEMINI_API_KEY"] = userdata.get('GEMINI_API_KEY')
  • Step 10:執行以下程式碼,從 Gemma 3n 中推斷結果:
import base64
import os
from google import genai
from google.genai import types
def generate():
   client = genai.Client(
       api_key=os.environ.get("GEMINI_API_KEY"),
   )
   model = "gemma-3n-e4b-it"
   contents = [
       types.Content(
           role="user",
           parts=[
               types.Part.from_text(text="""Anu is a girl. She has three brothers. Each of her brothers has the same two sisters. How many sisters does Anu have?"""),
           ],
       ),
   ]
   generate_content_config = types.GenerateContentConfig(
       response_mime_type="text/plain",
   )
   for chunk in client.models.generate_content_stream(
       model=model,
       contents=contents,
       config=generate_content_config,
   ):
       print(chunk.text, end="")
if __name__ == "__main__":
   generate()

輸出:

從 Gemma 3n 中推斷結果

小結

Gemma 3n 是人工智慧在小型裝置上的一大飛躍。它能以更少的記憶體和更快的速度執行強大的模型。得益於 PLE 和 MatFormer,它既高效又智慧。它能在裝置上處理文字、影像、音訊甚至影片。透過 Google AI Studio,開發人員可以輕鬆測試和使用 Gemma 3n。如果您正在開發移動或邊緣 AI 應用程式,Gemma 3n 絕對值得一試。檢視 Google AI Edge,在本地執行 Gemma 3n。

評論留言