谷歌最近为其开放人工智能模型系列 ‘Gemma 3’ 推出了量化感知训练 (QAT) 模型。 这一发展旨在解决大型语言模型的计算资源需求,使它们更易于被更广泛的硬件配置所使用。
理解 Gemma 3
Gemma 3 是谷歌开发的一系列轻量级、高性能的开放权重模型。 它建立在与谷歌的 ‘Gemini 2.0’ 模型相同的研究和技术之上。 Gemma 3 提供四种参数大小:1B、4B、12B 和 27B。 它已成为领先的模型,可以在 NVIDIA H100 等高端 GPU 上以原生 BFloat16 (BF16) 精度运行。
Gemma 3 的 QAT 模型的一个显着优势是它们能够在显着降低内存要求的同时保持高质量。 这一点至关重要,因为它允许像 Gemma 3 27B 这样的高性能模型在像 NVIDIA GeForce RTX 3090 这样的消费级 GPU 上本地运行。
QAT 模型的动机
在性能比较中,通常使用 BF16。 但是,在部署大型模型时,有时会使用像 FP8 (8 位) 这样的较低精度格式来降低硬件要求 (例如,GPU 的数量),即使以牺牲性能为代价。 目前,对于使用现有硬件运行 Gemma 3 存在着高度的需求。
这就是量化发挥作用的地方。 在人工智能模型中,量化降低了模型用来存储和计算响应的数字 (模型参数) 的精度。 这类似于通过减少使用的颜色数量来压缩图像。 可以使用较少的位数 (例如 8 位 (INT8) 或 4 位 (INT4)) 来表示参数,而不是以 16 位 (BF16) 表示参数。
然而,量化通常会导致性能下降。 为了保持质量,谷歌使用了 QAT。 QAT 不是在模型完全训练后对其进行量化,而是将量化过程纳入训练本身。 通过在训练期间模拟低精度操作,QAT 可以最大限度地减少训练后的性能下降。 这样可以生成更小、更快的模型,同时保持准确性。
大幅节省 VRAM
谷歌表示,与使用 BF16 相比,INT4 量化显着减少了加载模型所需的 VRAM (GPU 内存),如下所示:
- Gemma 3 27B:54GB (BF16) 到 14.1GB (INT4)
- Gemma 3 12B:24GB (BF16) 到 6.6GB (INT4)
- Gemma 3 4B:8GB (BF16) 到 2.6GB (INT4)
- Gemma 3 1B:2GB (BF16) 到 0.5GB (INT4)
这些内存占用量的减少对于普及对强大人工智能模型的访问至关重要,使它们能够部署在资源有限的设备上。
在各种设备上启用 Gemma 3 模型
根据谷歌的说法,QAT 使 Gemma 3 的强大模型能够在各种消费硬件上运行。
Gemma 3 27B (INT4 QAT): 可以舒适地加载并在具有 NVIDIA GeForce RTX 3090 (24GB VRAM) 或同等显卡的台式机上本地运行,从而允许用户使用最大的 Gemma 3 模型。
Gemma 3 12B (INT4 QAT): 可以高效地在笔记本电脑 GPU (例如 NVIDIA GeForce RTX 4060 笔记本电脑 GPU (8GB VRAM)) 上运行,从而在便携式计算机上实现强大的人工智能功能。
较小的模型 (4B、1B): 对于资源有限的系统 (例如智能手机) 来说,已经变得更容易访问。
这种硬件兼容性的扩展显着扩大了 Gemma 3 的潜在应用范围,使其可供更多的开发人员和用户使用。 在消费级硬件上运行这些模型的能力为本地人工智能处理开辟了新的可能性,减少了对基于云的服务的依赖并提高了隐私。
易于与流行的工具集成
谷歌已确保开发人员可以在熟悉的工作流程中使用这些新的 QAT 模型。 Gemma 3 的 INT4 QAT 和 Q4\_0 (4 位) QAT 模型可在 Hugging Face 和 Kaggle 上获得。 它们可以与流行的开发人员工具无缝测试,例如:
Ollama: 允许用户使用简单的命令运行 Gemma 3 QAT 模型。 Ollama 简化了部署和试验这些模型的过程,使开发人员更容易将它们集成到他们的项目中。
LM Studio: 提供了一个直观且易于使用的 GUI (图形用户界面),允许用户轻松地在其桌面上下载和运行 Gemma 3 QAT 模型。 LM Studio 简化了人工智能模型的安装和管理,使其对非技术用户更易于访问。
MLX: 能够在 Apple silicon 驱动的 Mac 上优化和高效地进行 Gemma 3 QAT 模型的推理。 MLX 利用 Apple silicon 的独特架构,为人工智能工作负载提供增强的性能和能源效率。
Gemma.cpp: 谷歌专门的 C++ 实现。 允许直接在 CPU 上进行非常高效的推理。 Gemma.cpp 为想要微调其人工智能应用程序性能的开发人员提供了一个低级接口。
llama.cpp: 本机支持 GGUF 格式的 Gemma 3 QAT 模型,使其易于集成到现有工作流程中。 Llama.cpp 是一个流行的库,用于在各种硬件平台上 (包括 CPU 和 GPU) 运行大型语言模型。
Gemma 3 QAT 模型在这些平台上的可用性以及它们与流行工具的兼容性显着降低了希望在其项目中利用这些模型的开发人员的入门门槛。 这种易于集成鼓励了实验和创新,从而为 Gemma 3 带来了更广泛的应用。
量化感知训练的技术基础
为了充分了解谷歌的 Gemma 3 QAT 模型的意义,重要的是要深入研究量化的技术细节以及 QAT 如何解决与之相关的挑战。
理解量化:
量化是一种用于通过使用较低精度表示权重和激活来减小神经网络的大小和计算复杂度的技术。 量化模型不是使用浮点数 (例如,32 位或 16 位),而是使用整数 (例如,8 位或 4 位) 来表示这些值。 这种精度降低带来了以下几个好处:
- 减少内存占用: 较低精度的表示需要更少的内存来存储模型,从而可以在内存资源有限的设备上部署模型。
- 更快的推理: 整数运算通常比浮点运算更快,从而缩短了推理时间。
- 更低的功耗: 整数运算比浮点运算消耗更少的功率,从而使量化模型更适合电池供电设备。
量化的挑战:
虽然量化提供了显着的优势,但它也带来了一些挑战:
- 精度下降: 降低权重和激活的精度可能会导致精度损失。 该模型可能变得不太能够捕获数据的细微差别,从而导致性能下降。
- 校准问题: 可以用整数表示的值的范围是有限的。 这可能导致激活的削波或饱和,从而进一步降低精度。
量化感知训练 (QAT):一种解决方案:
量化感知训练 (QAT) 是一种通过将量化纳入训练过程来解决精度下降问题的技术。 在 QAT 中,模型使用模拟量化进行训练,这意味着在训练的前向和后向传递期间对权重和激活进行量化。 这使模型能够学习补偿量化的影响,从而产生更准确的量化模型。
QAT 的工作原理:
模拟量化: 在训练期间,在每次前向和后向传递之后,权重和激活被量化为所需的精度 (例如,8 位或 4 位)。 这模拟了将在推理期间应用的量化。
梯度调整: 梯度也经过调整,以考虑量化的影响。 这有助于模型学习如何最大限度地减少量化引起的误差。
微调: 在使用模拟量化进行训练后,使用量化的权重和激活对模型进行微调。 这进一步提高了量化模型的准确性。
QAT 的优势:
- 提高精度: 与后训练量化 (PTQ) 相比,QAT 显着提高了量化模型的精度,后者是在模型训练后对其进行量化的。
- 对量化的鲁棒性: QAT 使模型对量化的影响更具鲁棒性,从而可以在不牺牲精度的情况下实现更高的压缩比。
- 硬件兼容性: QAT 允许模型部署在支持整数运算的硬件平台上,例如移动设备和嵌入式系统。
谷歌为 Gemma 3 实施 QAT:
谷歌为 Gemma 3 实施 QAT 利用了量化技术的最新进展来实现高精度和压缩比。 其实现的具体细节尚未公开,但他们可能采用了以下技术:
- 混合精度量化: 对模型的不同部分使用不同的精度级别,以优化精度和压缩。
- 逐张量量化: 独立量化每个张量,以最大限度地减少量化引起的误差。
- 可学习的量化参数: 在训练期间学习量化参数以进一步提高精度。
QAT 和 Gemma 3 的更广泛影响
Gemma 3 的 QAT 模型的发布代表着在开发更易于访问和更高效的人工智能模型方面迈出了重要一步。 通过减少这些模型的内存占用和计算要求,谷歌使更多的开发人员和用户能够利用它们的功能。 这具有以下几个重要意义:
人工智能的民主化:
在消费级硬件上运行强大的人工智能模型的能力使人工智能的访问民主化,使个人和小型企业无需依赖昂贵的基于云的服务即可开发和部署人工智能驱动的应用程序。
边缘计算:
QAT 模型非常适合边缘计算应用,在这种应用中,数据是在设备本地而不是在云中进行处理的。 这减少了延迟,提高了隐私,并实现了新的应用,例如自动驾驶汽车和智能传感器。
移动人工智能:
QAT 模型减少的内存占用使其成为移动设备的理想选择,从而实现了新的人工智能驱动功能,例如实时翻译、图像识别和个性化推荐。
研发:
Gemma 3 的开源 QAT 模型的可用性将加速人工智能领域的研究和开发,从而使研究人员可以试验新的量化技术并探索量化模型的新应用。
环境可持续性:
通过减少人工智能模型的能耗,QAT 有助于环境可持续性。 随着人工智能在我们的生活中变得越来越普遍,这一点尤为重要。
总之,谷歌发布 Gemma 3 的 QAT 模型是一项重大进展,将对人工智能领域产生持久的影响。 通过使人工智能模型更易于访问、更高效和更可持续,谷歌正在帮助释放人工智能的全部潜力,从而造福社会。 Gemma 3 的强大架构和 QAT 的高效量化技术的结合有望推动从移动设备到边缘计算等各种应用的创新。