Gemma 3简介与部署

1.Gemma 3概述

基本信息

  • 发布背景:Gemma 3 是2025年3月12日谷歌在之前发布的 Gemma AI 模型基础上的升级之作,基于 Gemini 2.0 技术打造。
  • 模型规模:提供了四种不同尺寸的模型,分别是 1B、4B、12B 和 27B,以满足不同硬件性能的需求。

主要特点

  • 性能卓越:Gemma 3 被称为“全球最强的单加速器模型”,在单 GPU 或 TPU 环境下的性能优于其他同类模型,如 Llama、DeepSeek 和 OpenAI 的 o3-mini。
  • 多语言支持:支持超过 35 种语言,并预训练支持超过 140 种语言,帮助开发者轻松推出多语言应用。
  • 多模态处理能力:具备高级文本与视觉推理能力,支持构建能够分析图像、文本和短视频的 AI 应用。
  • 上下文窗口增大:上下文窗口扩展到了 128k Token,能够高效处理大量信息,轻松应对复杂任务。
  • 函数调用与结构化输出:支持函数调用和结构化输出,帮助开发者自动化任务,构建具备智能决策能力的应用。
  • 量化模型提升效率:官方推出的量化版本大大缩减了模型体积,减少了计算需求,同时保持了高精度。
  • 安全特性:配备 ShieldGemma 2 图像安全分类器,能检测和标记危险内容、色情内容和暴力内容。

技术原理

  • 训练与优化:Gemma 3 采用知识蒸馏、强化学习(包括人类反馈和机器反馈)以及模型合并等技术,提升了模型在数学、编码和指令跟随方面的能力。
  • 硬件适配:针对 Nvidia GPU 和 Google Cloud TPU 进行了深度优化,确保在不同硬件平台上的高效运行。

2.Ollama升级

Ollama拉取Gemma3后,报错提示Ollama版本太低,需要升级,查阅官网,需要最新的0.6版本的ollama才行,报错如下:

ollama run gemma3:27b
Error: llama runner process has terminated: this model is not supported by your version of Ollama. You may need to upgrade

本地版本是:0.5.7

ollama --version
ollama version is 0.5.7

看到Ollama Github上是0.6版本,需要升级,因为原来我是源码部署的ollama,因此这次也是用源码。

官网提供的命令是:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz

直接用迅雷或者别的下载:https://ollama.com/download/ollama-linux-amd64.tgz会比较快,下载完上传Linux服务器,下载

安装脚本:https://ollama.com/install.sh

下载后注释第82~84行,该脚本会自动清理老版本Ollama

image-20250313172201776

这一部分改变的内容加了注释,完整的如下:

status "Installing ollama to $OLLAMA_INSTALL_DIR"
$SUDO install -o0 -g0 -m755 -d $BINDIR
$SUDO install -o0 -g0 -m755 -d "$OLLAMA_INSTALL_DIR/lib/ollama"
# status "Downloading Linux ${ARCH} bundle"
# curl --fail --show-error --location --progress-bar \
#     "https://ollama.com/download/ollama-linux-${ARCH}.tgz${VER_PARAM}" | \
#     $SUDO tar -xzf - -C "$OLLAMA_INSTALL_DIR"
# 假设你已经手动解压了 ollama-linux-amd64.tgz,并且解压后的文件在当前目录下的 ollama-linux-amd64 文件夹中
$SUDO cp -r ./ollama-linux-amd64/* "$OLLAMA_INSTALL_DIR/"

if [ "$OLLAMA_INSTALL_DIR/bin/ollama" != "$BINDIR/ollama" ] ; then
    status "Making ollama accessible in the PATH in $BINDIR"
    $SUDO ln -sf "$OLLAMA_INSTALL_DIR/ollama" "$BINDIR/ollama"
fi

创建ollama-linux-amd64目录并加压缩源码到这个目录,改变install.sh安装脚本执行权限:

mkdir ollama-linux-amd64
sudo tar -xzf ollama-linux-amd64.tgz -C ./ollama-linux-amd64
sudo chmod +x install.sh

关闭老版本的ollama服务:

sudo systemctl stop ollama

直接安装还会报错,原来是每行末尾的回车换行符\r\n,用sed替换后安装:

sudo sed -i 's/\r$//' install.sh
./install.sh

启动ollama:

sudo ollama serve

查看版本:

ollama --version

0.6

在 Linux 中直接通过 sudo ollama serve 运行的服务会绑定到当前终端会话,关闭终端或中断操作会导致服务停止。若要让 Ollama 在后台持续运行,可以如下操作:

创建 Systemd 服务文件

 sudo vi /etc/systemd/system/ollama.service

添加以下内容(假设 Ollama 可执行文件在 /usr/local/bin/ollama):接下来就可以进入step4 拉取想要的模型了

 [Unit]
 Description=Ollama Service
 After=network.target
 
 [Service]
 Type=simple
 User=root
 ExecStart=/usr/local/bin/ollama serve
 Restart=always
 RestartSec=3
 Environment="OLLAMA_MODELS=/path/to/custom/models"  # 可选:自定义模型路径
 
 [Install]
 WantedBy=multi-user.target

重载 Systemd 配置

 sudo systemctl daemon-reload
 sudo systemctl start ollama      # 启动服务
 sudo systemctl enable ollama    # 开机自启

3.测试

继续用我之前测试DeepSeek的二年级数学题,还是错误,哈哈!

image-20250314072737693

显存占用大约21GB,与DeepSeek32B差不多