一、前言
这段时间,在非工作时间我一直在致力于做一个在低配置的硬件上可实际运行的个人智能助理:小落同学。
然而前两天谷歌的2025 Google I/O大会发布的Gemma 3n真的让我震撼了。
二、关于Gemma 3n

2025年5月21日,在一年一度的谷歌I/O大会上,谷歌推出了Gemma 3n – Gemma 3系列开放式人工智能模型的新成员。
谷歌表示,该模型旨在在智能手机、笔记本电脑和平板电脑等日常设备上高效运行。
Gemma 3n与下一代Gemini Nano共享其架构,Gemini Nano是一种轻量级的AI模型,已经为Android设备上的几个设备上的AI功能提供了支持,例如Pixel智能手机上的录音机摘要。
详细信息
谷歌表示,Gemma 3n使用了一种名为Per-Layer Embeddings(PLE)的新技术,可以让模型比类似大小的其他一些技术的模型消耗更少的RAM。
尽管Gemma 3n有50亿和80亿个参数(5B和8B),但PLE技术让它的内存占用仅相当于2B或4B模型。
这意味着Gemma 3n可以在2GB到3GB的RAM下运行,使其适用于更广泛的设备。
图片来自Google Blog:https://developers.googleblog.com/en/introducing-gemma-3n/
图片来自Google Blog:https://developers.googleblog.com/en/introducing-gemma-3n/
关键功能
- 音频输入:该模型可以处理基于声音的数据,支持语音识别、语言翻译和音频分析等应用程序。
- 多模式输入:通过支持视觉、文本和音频输入,该模型可以处理涉及组合不同类型数据的复杂任务。
- 广泛的语言支持:谷歌表示,该模型已接受140多种语言的训练。
- 32K token上下文窗口:Gemma 3n支持多达32000个token的输入,使其能够一次性处理大块数据,这对于总结长文档或执行多步推理非常有用。
- PLE缓存:模型的内部组件(嵌入)可以临时存储在快速本地存储(如设备的SSD)中,有助于减少重复使用时所需的RAM。
- 条件参数加载:如果任务不需要音频或视觉功能,模型可以跳过加载这些部分,节省内存并提高性能。
可用性
作为Gemma开放模型系列的一部分,Gemma 3n提供了可访问的权重,并获得了商业使用许可,允许开发人员在各种应用程序中对其进行调优、调整和部署。Gemma 3n现在可以在Google AI Studio中预览。
三、如何获取Gemma 3n?
Gemma 3n预览版可在谷歌人工智能工作室(Google AI Studio)、谷歌GenAI SDK和MediaPipe(Huggingface和Kaggle)中使用。
下面是在Google AI Studio中使用Gemma 3n的具体步骤:
Step 1: 登录 Google AI studio
Step 2: 点击 Get API key
点击 Get API key
Step 3: 点击 Create API key
Step 4: 选择你要的项目,并点击 Create API Key
Step 5: 复制 API 并保存下来以备后面使用 Gemma 3n.
Step 6: 有了 API 后,开启一个 colab 实例. 在浏览器中创建一个新的notebook,并取名 colab.new.
Step 7: 安装依赖
!pip install google-genai
Step 8: 用colab的 secret keys来保存你的 GEMINI_API_KEY, 并让 notebook 也可以访问.
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()
输出:
四、结语
Google 把这玩意儿一出,好了,我又有得搞了。小落同学又要大改了。但是我又对我的小落同学有了更多的一些期待了。
之前的ASR用了一些小模型,结果识别准确率太差;然后用白嫖的百度文心一言LLM API,它的上下文只有8K,稍长一点的记忆他就忘记。
这下有了32K上下文并且全能的Gemma 3n,咱可以看来搞搞看,效果会是如何。加油!