摘要
这项工作介绍了Gemma,这是一系列轻量级的最先进的开放模型,是使用研究和技术创建Gemini模型的成果。Gemma模型在语言理解、推理和安全性方面在学术基准测试中表现出色。我们发布了两个模型大小(20亿和70亿参数),并提供了预训练和微调的检查点。在18个基于文本的任务中,Gemma在11个任务上优于大小相似的开放模型,我们还对模型的安全性和责任方面进行了全面评估,并详细描述了模型的开发过程。我们认为负责任地发布大语言模型对于提高前沿模型的安全性,并推动下一波大语言模型创新至关重要。
Model Structure
- 多头查询注意力(Multi-Query Attention): 7B模型使用多头注意力,而2B检查点使用多查询注意力(with 𝑛𝑢𝑚_𝑘𝑣_ℎ𝑒𝑎𝑑𝑠 = 1)。
- RoPE嵌入(Rotary Positional Embeddings): 使用旋转位置嵌入而不是绝对位置嵌入,并且在每一层中共享输入和输出的嵌入,以减小模型尺寸。
- GeGLU激活函数: 将标准的ReLU非线性激活函数替换为GeGLU激活函数。
- 位置标准化: 对每个transformer子层的输入和输出进行标准化,而不是仅标准化其中一个。使用RMSNorm(Zhang and Sennrich, 2019)作为标准化层。
- 好家伙还写了碳排放,此外,谷歌数据中心实现了碳中和,通过提高能效、购买可再生能源和碳抵消的组合方式实现。这种碳中和效应同样适用于我们的实验及用于运行实验的机器。
参数 | 2B | 7B |
d_model | 2048 | 3072 |
Layers | 18 | 28 |
Feedforward hidden dims | 32768 | 49152 |
Num heads | 8 | 16 |
Num KV heads | 1 | 16 |
Head size | 256 | 256 |
Vocab size | 256128 | 256128 |
Data Process
1、启发式的规则进行过滤,过滤个人信息以及不必要不安全的话,减少敏感数据
2、数据混合比例是通过消融实验确定的。分阶段进行训练,以在训练结束时改变语料库混合,增加相关高质量数据的权重。
3、选择有监督微调的数据混合—》给定一组被隔离的提示,我们从测试模型生成响应,从基线模型生成相同提示的响应,将它们随机打乱,并请一个更大、更高性能的模型表达对两个响应的偏好
4、使用合成数据,删除显示某些个人信息、模型输出不安全或有毒、错误的自我识别数据或重复示例的情况。
kaggle上的权重地址: Gemma | Kaggle
技术报告地址:
https://storage.googleapis.com/deepmind-media/gemma/gemma-report.pdf
github地址:
GitHub - google-deepmind/gemma: Open weights LLM from Google DeepMind.