在Cloud Run上部署Google的Gemma 3 (4B):实用指南

单GPU运行最强模型!谷歌推出Gemma 3:单卡可跑27B超o3-mini

介绍

谷歌刚刚发布了最新一代开放语言模型 Gemma 3,这在人工智能社区引起了轰动。正如官方公告所述:

“Gemma 3 引入了多模态性,支持视觉语言输入和文本输出。它可以处理多达 128k 个标记的上下文窗口,理解 140 多种语言,并提供改进的数学、推理和聊天功能,包括结构化输出和函数调用。”

与以前的版本相比,这是一个重大的飞跃,谷歌声称,由于使用蒸馏、强化学习和模型合并优化了训练过程,它现在是“LMArena 中得分为 1338 的顶级开放式紧凑模型”。

在本文中,我们将深入探讨如何使用 Ollama 在 Google Cloud Run 上部署 Gemma 3(4B 参数)模型,从而创建一个可与您自己的应用程序集成的生产就绪 API。虽然 Google 提供了多种部署选项(包括其官方 Cloud Run 教程),但我们将探索一种简化的方法并进行一些实际优化。

这里概述的部署方法使用一个合并脚本来处理整个过程,从设置 Google Cloud 环境到在具有 GPU 加速的 Cloud Run 上部署 Gemma 3 模型。

先决条件

在开始之前,请确保您已准备好以下内容:

  1. 已启用结算功能的 Google Cloud Platform 帐号

  2. gcloudCLI 安装和配置

  3. 已启用 Cloud Run API 和 Artifact Registry API 的 Google Cloud 项目

  4. Docker 和 API 的基础知识

  5. 对使用尖端人工智能技术的兴奋(这一点很重要!)

Google 已通过多个平台提供 Gemma 3,包括Hugging FaceKaggleOllama,我们将在本教程中使用它们。

理解架构

我们的部署由一项服务组成:

Gemma Ollama 服务:此服务使用开源模型服务框架 Ollama 托管 Gemma 3 (4B) 模型。

该服务部署在 Google Cloud Run 上,它为容器化应用程序提供无服务器计算平台,具有自动扩展和按使用付费定价功能。

部署脚本

为了简化部署过程,我们创建了一个名为的合并脚本belha-deploy.sh来处理整个工作流程。以下是该脚本功能的概述:

/bin/bash #!/bin/bash
# 设置环境变量PROJECT_ID=$(gcloud config get-value project) REGION="us-central1" REPOSITORY="gemma-repo" OLLAMA_SERVICE_NAME="ollama-gemma" SERVICE_ACCOUNT="ollama-service"# 设置 Google Cloud 环境gcloud config set run/region $REGION gcloud artifacts repositories create $REPOSITORY --repository-format=docker --location=$REGION || true gcloud iam service-accounts create $SERVICE_ACCOUNT || true# 构建并部署 Gemma Ollama 服务# [Dockerfile 和构建命令]

该脚本以一致的命名创建所有必要的资源,确保资源易于识别和组织。

使用 Ollama 部署 Gemma 3 (4B)

我们设置的核心是使用 Ollama 部署的 Gemma 3 (4B) 模型。该脚本创建一个 Docker 容器,该容器:

  1. 使用 Ollama 基础镜像

  2. 设置适当的环境变量

  3. 拉杰玛 3 (4B) 型号

  4. 在端口 8080 上公开服务

以下是 Gemma Ollama 服务使用的 Dockerfile 定义:

来自 ollama/ollama:0.6.0环境 OLLAMA_HOST 0.0.0.0:8080环境 OLLAMA_MODELS /models 环境OLLAMA_DEBUG false环境 OLLAMA_KEEP_ALIVE -1环境 模型 gemma3:4b运行 ollama serve & sleep 5 && ollama pull $MODEL ENTRYPOINT [ “ollama”,“serve” ]

然后将此容器部署到 Cloud Run,配置如下:

  • 8 个 CPU

  • 32GB 内存

  • 已启用 CPU 加速

  • 禁止公开访问(需要身份验证)

  • 适当的超时和并发设置

使用已部署的 Gemma API

部署完成后,您可以通过 Ollama API 与 Gemma 3 (4B) 模型进行交互。以下是生成文本的示例:

curl -X POST “https://your-gemma-service-url.a.run.app/api/generate” \   -H “Content-Type:application/json” \   -H “Authorization:Bearer $(gcloud auth print-identity-token)” \   -d'{ “model”:“gemma3:4b”,“prompt”:“写一首关于 AI 的短诗”,“stream”:false }'

API 响应包括生成的文本以及模型元数据:

{   “model”:“gemma3:4b”,  “created_at”:“2025-03-12T09:14:19.068446Z”,  “response”:“一个沉默的头脑,代码和光,\n生于逻辑,敏锐而明亮。\n它学习和成长,模仿的优雅,\n反映模式、时间和空间。\n \n它没有心脏,没有灵魂可以宣称,\n只是算法,一个数字名称。\n一种工具,一个奇迹,奇怪而新奇,\n不断发展的人工智能视角。”,  “done”:true }

性能注意事项

在 Cloud Run 上部署 Gemma 3(4B)时,了解资源要求和性能特征非常重要:

  1. 内存使用情况:4B 参数模型需要大量内存(建议使用 32GB 以获得最佳性能)

  2. CPU 要求:我们已分配 8 个具有 CPU 加速功能的 CPU,以确保低延迟响应

  3. 成本优化:Cloud Run 的按使用付费模式意味着您只需为服务处理请求的时间付费

  4. 冷启动时间:容器启动后,不活动后的第一个请求可能会出现延迟

扩展性和安全性

我们的部署包括几个扩展和安全方面的最佳实践:

  1. 身份验证:所有 API 端点均使用 Google Cloud 的身份令牌进行保护

  2. 服务帐户:具有最小权限的专用服务帐户

  3. 自动扩展:Cloud Run 根据流量自动扩展

  4. 资源限制:CPU 和内存限制可防止成本失控

与您的应用程序集成

Gemma 3 模型可以集成到各种应用程序中:

  1. Web 应用程序:从前端 JavaScript 或后端服务器调用 API

  2. 聊天界面:使用它来为对话代理提供支持

  3. 内容生成:生成文章、摘要或创意文本

  4. 代码协助:获取编程任务方面的帮助

结论

Gemma 3 代表了开放语言模型的重大进步,带来了以前仅在更大的封闭模型中才有的功能。正如谷歌在其发布中指出的那样:

“Gemma 的训练前和训练后流程通过结合提炼、强化学习和模型合并进行了优化。这种方法提高了数学、编码和指令遵循方面的表现。”

在 Cloud Run 上部署 Gemma 3 (4B) 是一种功能强大、可扩展且经济高效的方式,可让您在应用程序中利用这种先进的语言模型。通过使用整合的部署脚本和 Ollama,我们简化了原本复杂的流程,让您可以专注于使用这项尖端技术构建出色的应用程序。

与一个能够理解 140 多种语言、处理 128k 上下文窗口并提供显著改进的推理能力的模型进行交互的体验——所有这些都在您自己的基础架构上运行——对于希望构建下一代 AI 驱动应用程序的开发人员来说,这是真正的变革。

在本系列的后续文章中,我们将探讨:

  • 针对特定领域对 Gemma 3 进行微调

  • 性能优化和成本管理技术

  • Gemma 模型的高级提示工程

  • 探索 Gemma 3 的多模式功能






标签: 部署指南, Gemma 3, Google, Cloud Run

添加新评论 »