许可证:gemma
管道标签:图像-文本到文本
标签:
Gemma-3 12B Instruct GGUF 模型
如何在 llama.cpp 中使用 Gemma 3 Vision
要利用 llama.cpp
中对 Gemma 3 Vision 的实验性支持,请按照以下步骤操作:
-
克隆最新的 llama.cpp 仓库:
git clone https://github.com/ggml-org/llama.cpp.git
cd llama.cpp
-
构建 Llama.cpp:
按照常规方式构建 llama.cpp:https://github.com/ggml-org/llama.cpp#building-the-project
构建完成后,将 ./llama.cpp/build/bin/llama-gemma3-cli
复制到目标文件夹。
- 下载 Gemma 3 gguf 文件:
https://huggingface.co/Mungert/gemma-3-12b-it-gguf/tree/main
选择文件名中不包含 mmproj
的 gguf 文件。
示例 gguf 文件:https://huggingface.co/Mungert/gemma-3-12b-it-gguf/resolve/main/google_gemma-3-12b-it-q4_k_l.gguf
将此文件复制到目标文件夹。
- 下载 Gemma 3 mmproj 文件
https://huggingface.co/Mungert/gemma-3-12b-it-gguf/tree/main
选择文件名中包含 mmproj
的文件。
示例 mmproj 文件:https://huggingface.co/Mungert/gemma-3-12b-it-gguf/resolve/main/google_gemma-3-12b-it-mmproj-bf16.gguf
将此文件复制到目标文件夹。
- 将图像复制到与 gguf 文件相同的文件夹,或根据需要调整路径。
在以下示例中,gguf 文件、图像和 llama-gemma-cli
均位于同一文件夹中。
示例图像:https://huggingface.co/Mungert/gemma-3-12b-it-gguf/resolve/main/car-1.jpg
将此文件复制到目标文件夹。
- 运行 CLI 工具:
在目标文件夹中执行:
llama-gemma3-cli -m google_gemma-3-12b-it-q4_k_l.gguf --mmproj google_gemma-3-12b-it-mmproj-bf16.gguf
运行于聊天模式,可用命令:
/image <路径> 加载图像
/clear 清除聊天历史
/quit 或 /exit 退出程序
> /image car-1.jpg
编码图像 car-1.jpg
图像编码耗时 46305 毫秒
图像解码耗时 19302 毫秒
> 图像内容是什么
以下是图像内容的解析:
**主体:** 图像主体为一辆黑色保时捷 Panamera Turbo 在高速公路上行驶。
**细节:**
* **车辆:** 这是一辆流线型的现代保时捷 Panamera Turbo,可通过其独特的尾部设计、"PORSCHE" 字样和 "Panamera Turbo" 徽标识别。车牌号为 "CVC-911"。
* **场景:** 车辆位于多车道高速公路上,背景模糊可见树木、远处建筑和多云天空。光线暗示时间为黄昏或黎明。
* **动态:** 图像捕捉了车辆运动状态,轻微动态模糊体现了速度感。
**整体印象:** 图像传递出速度感、奢华与力量感。构图精良,突出了车辆的设计与性能。
是否需要我更详细描述图像的特定部分,或分析其构图?
🚀 如果您觉得这些模型有用
请点赞 ❤️。同时,如果您能测试我的网络监控助手 👉 网络监控助手,我将非常感激。
💬 点击聊天图标(主页面和仪表板页面右下角)。选择 LLM;在 LLM 类型间切换:TurboLLM -> FreeLLM -> TestLLM。
我正在测试的内容
我正在尝试对我的网络监控服务进行函数调用测试。使用小型开源模型。我关注的问题是:"模型可以小到什么程度仍能保持功能"。
🟡 TestLLM – 运行 Phi-4-mini-instruct,使用 phi-4-mini-q4_0.gguf,在 CPU 虚拟机的 6 个线程上运行 llama.cpp(加载约需 15 秒。推理速度较慢,且一次只能处理一个用户提示——仍在优化扩展性!)。如果您感兴趣,我很乐意分享其工作原理!
其他可用的 AI 助手
🟢 TurboLLM – 使用 gpt-4o-mini,速度快!注意:由于 OpenAI 模型成本较高,令牌有限,但您可以登录 或 下载 免费的网络监控代理以获取更多令牌,或使用 TestLLM。
🔵 HugLLM – 运行 开源 Hugging Face 模型,速度快,运行小型模型(≈8B),因此质量较低,可获得 2 倍令牌(受 Hugging Face API 可用性影响)。
选择合适的模型格式
选择正确的模型格式取决于您的硬件能力和内存限制。
BF16(Brain Float 16)– 如果支持 BF16 加速则使用
- 一种 16 位浮点格式,专为更快计算设计,同时保持良好精度。
- 提供与 FP32 相似的动态范围,但内存占用更低。
- 如果硬件支持 BF16 加速(检查设备规格),推荐使用。
- 相比 FP32,适合高性能推理且减少内存占用。
📌 使用 BF16 如果:
✔ 您的硬件原生支持 BF16(如新款 GPU、TPU)。
✔ 您需要更高精度同时节省内存。
✔ 您计划将模型重新量化为其他格式。
📌 避免 BF16 如果:
❌ 您的硬件不支持 BF16(可能回退到 FP32 且运行更慢)。
❌ 需要兼容缺乏 BF16 优化的旧设备。
F16(Float 16)– 比 BF16 支持更广泛
- 一种 16 位浮点高精度格式,但数值范围小于 BF16。
- 支持大多数具有 FP16 加速的设备(包括许多 GPU 和部分 CPU)。
- 数值精度略低于 BF16,但通常足以满足推理需求。
📌 使用 F16 如果:
✔ 您的硬件支持 FP16 但不支持 BF16。
✔ 您需要平衡速度、内存占用和准确性。
✔ 您在 GPU 或其他优化 FP16 计算的设备上运行。
📌 避免 F16 如果:
❌ 您的设备缺乏原生 FP16 支持(可能运行速度低于预期)。
❌ 内存有限。
量化模型(Q4_K、Q6_K、Q8 等)– 适用于 CPU 和低 VRAM 推理
量化可减少模型大小和内存占用,同时尽可能保持准确性。
- 低位模型(Q4_K) → 内存占用最小,精度可能较低。
- 高位模型(Q6_K、Q8_0) → 准确性更好,需要更多内存。
📌 使用量化模型如果:
✔ 您在 CPU 上运行推理且需要优化模型。
✔ 设备 VRAM 较低,无法加载全精度模型。
✔ 您希望减少内存占用同时保持合理准确性。
📌 避免量化模型如果:
❌ 需要最高精度(全精度模型更适合)。
❌ 硬件有足够 VRAM 支持更高精度格式(BF16/F16)。
总结表:模型格式选择
模型格式 |
精度 |
内存占用 |
设备要求 |
最佳用例 |
BF16 |
最高 |
高 |
支持 BF16 的 GPU/CPU |
高速推理,减少内存占用 |
F16 |
高 |
高 |
支持 FP16 的设备 |
当 BF16 不可用时 GPU 推理 |
Q4_K |
低 |
极低 |
CPU 或低 VRAM 设备 |
内存受限环境最佳 |
Q6_K |
中低 |
低 |
内存较多的 CPU |
量化模型中更好的准确性 |
Q8 |
中 |
中等 |
有足够 VRAM 的 CPU 或 GPU |
量化模型中最高精度 |
包含文件及详情
google_gemma-3-12b-it-bf16.gguf
- 模型权重保留为 BF16。
- 如需将模型重新量化为其他格式,使用此文件。
- 设备支持 BF16 加速时最佳。
google_gemma-3-12b-it-f16.gguf
- 模型权重存储为 F16。
- 设备支持 FP16 但无 BF16 时使用。
google_gemma-3-12b-it-bf16-q8.gguf
- 输出和嵌入保留为 BF16。
- 其他层量化为 Q8_0。
- 设备支持 BF16 且需要量化版本时使用。
google_gemma-3-12b-it-f16-q8.gguf
- 输出和嵌入保留为 F16。
- 其他层量化为 Q8_0。
google_gemma-3-12b-it-q4_k_l.gguf
- 输出和嵌入量化为 Q8_0。
- 其他层量化为 Q4_K。
- 适合内存有限的 CPU 推理。
google_gemma-3-12b-it-q4_k_m.gguf
- 类似 Q4_K。
- 低内存 CPU 推理的另一选择。
google_gemma-3-12b-it-q4_k_s.gguf
- 最小的 Q4_K 变体,内存占用更少但精度更低。
- 适合极低内存环境。
google_gemma-3-12b-it-q6_k_l.gguf
- 输出和嵌入量化为 Q8_0。
- 其他层量化为 Q6_K。
google_gemma-3-12b-it-q6_k_m.gguf
- 中档 Q6_K 量化模型,平衡性能。
- 适合中等内存的 CPU 推理。
google_gemma-3-12b-it-q8.gguf
- 完全 Q8 量化模型,精度更高。
- 需要更多内存但提供更高精度。
Gemma 3 模型卡
模型页面: Gemma
资源与技术文档:
- [Gemma 3 技术报告][g3-tech-report]
- [负责任生成式 AI 工具包][rai-toolkit]
- [Kaggle 上的 Gemma][kaggle-gemma]
- [Vertex Model Garden 上的 Gemma][vertex-mg-gemma3]
使用条款: [条款][terms]
作者: Google DeepMind
模型信息
简要描述及输入输出的定义。
描述
Gemma 是谷歌推出的一系列轻量级、先进的开放模型,基于创建 Gemini 模型的研究和技术构建。
Gemma 3 是多模态模型,支持文本和图像输入并生成文本输出,提供预训练和指令调优变体的开放权重。
Gemma 3 具有 128K 的大上下文窗口,支持超过 140 种语言,且提供比之前版本更多的尺寸选择。
Gemma 3 模型适用于多种文本生成和图像理解任务,包括问答、摘要和推理。
其相对较小的尺寸使其能够在资源有限的环境(如笔记本电脑、台式机或自有云基础设施)中部署,
democratizing access to state of the art AI models and helping foster innovation for everyone.
输入和输出
- 输入:
- 文本字符串,如问题、提示或待摘要的文档
- 图像,归一化为 896 x 896 分辨率并编码为每个 256 令牌
- 总输入上下文为 128K 令牌(4B、12B 和 27B 尺寸),1B 尺寸为 32K