】昨晚,谷歌正式开源了自家最强的开源模型Gemma 2,直指为全球范围研究开发者提供实用部署工具。
就在昨晚,谷歌的明星开源大模型系列,又迎来两位新成员——Gemma 2 9B和Gemma 2 27B!
四个月前谷歌宣布重磅开源Gemma,四个月后Gemma 2上线,专门面向研究和开发人员。
目前,模型权重已经在HuggingFace上公开。
项目地址:https://huggingface.co/collections/google/gemma-2-release-667d6600fd5220e7b967f315
Gemma 2的核心亮点概括来说就是:参数虽小但性能极佳。
而且,27B模型甚至可在单张谷歌云TPU、英伟达A100 80GB GPU或英伟达H100 GPU上,以全精度高效运行推理。
高效新模型的诞生
Gemma 2在设计的架构上均有创新,旨在实现卓越的性能和提高推理效率。
在技术报告中,Gemma 2最引人注目的三大创新优势在于:
首先,性能远超同同等规模模型。
Gemma 2 27B在同类产品中性能最佳,甚至能挑战规模更大的模型。
Gemma 2 9B的性能在同类产品中也处于领先地位,超过了Llama 3 8B和其他同规模的开源模型。
与其他大模型在Lmsys同场竞技,同等规模模型中Gemma 2的性能「一览众山小」。
其次,超高效率,节约成本。
27B模型可用于在单个谷歌Claude TPU主机或NIVIDIA H100 GPU上以全精度高效运行推理,从而在保持高性能的同时大幅降低成本。
用较小的模型规模能够在更广泛的硬件上部署,对于开发者和研究人员带来许多便利。
最后,能够跨硬件快速推理。
Gemma 2经过优化,可在各种硬件上以惊人的速度运行。
比如在Google AI Studio中尝试全精度的Gemma 2,在CPU上使用量化版本 Gemma.cpp解锁本地性能,或通过 Hugging Face Transformers库在配备英伟达RTX或GeForce RTX的家用电脑上,均可使用。
高效的源头:架构创新
Gemma是谷歌团队推出的一系列轻量级、先进的开源模型,基于与Gemini模型相同的研究和技术构建的文本生成解码器大型语言模型。
Gemma 2训练数据量大约是第一代的两倍,并沿用了上一代的基本架构,但进行了全方位的改良。
局部滑动窗口和全局注意力
Gemma 2交替使用局部滑动窗口注意力和全局注意力层级进行切换,局部注意力层的滑动窗口大小设置为4096个token,而全局注意力层的设置为8192个token。
在正确捕捉文本细节的同时,又能保持对上下文和全局的正确理解。
Logit软上限
按照Gemini 1.5版,Gemma对每个注意层和最终层的logit进行软封顶。
通过将logits设置在一个合理的固定范围内,可以有效提升训练的稳定性,防止内容过长。
使用RMSNorm进行前后归一化
为了使训练更加稳定,Gemma 2运用了RMSNorm对每个转换层、注意层和反馈层的输入和输出进行归一化。
这一步和Logit软上限都使得模型训练更稳定平滑,不易出现崩溃。
分组查询注意力
GQA通过对于注意力分组,将算力用于一组注意力的组内。
在计算时显示出更快的数据处理速度,同时还能保持下游性能。
知识蒸馏
传统训练大语言模型的方法主要是根据上一个Token,预测下一个Token,需要大量的数据进行训练。
但是,人类的学习过程并不依赖走量的知识输入。比如,一位学生由于阅读原著的需要学习一门外语,他并不需要看遍所有的书籍,只需要以一本书为纲,通过理解后融会贯通。
而知识蒸馏法与人的学习过程更加类似。一个小模型向另一个已经进行过预训练的大模型学习,通过这种方式助产小模型对于Token的预测。
站在老师模型的肩膀上,学生模型能用较少的训练数据达到更好的效果。