【论文笔记】Gemma: Open Models Based on Gemini Research and Technology

Gemma

日期: March 5, 2024
平台: CSDN, 知乎
状态: Writing

Gemma: Open Models Based on Gemini Research and Technology

谷歌最近放出的Gemma模型【模型名字来源于拉丁文gemma,意为宝石】采用的是与先前Gemini相同的架构。这次谷歌开源了两个规模的模型,分别是2B和7B的版本。【对于个人电脑来说,2B真的要容易运行的多】。在18个基于文本的任务上,有11项胜过其他开源的模型

谷歌在开源社区领域真的做出了巨大的贡献🌼,Transformers, TensorFlow, BERT, T5, JAX, AlphaFold, 以及AlphaCode。每一项对人工智能的发展都起到了推波助澜的作用。

引言

We trained Gemma models on up to 6T tokens of text, using similar architectures, data, and training recipes as the Gemini model family.

分别发布了pre-trained和fine-tuned的checkpoints。

模型架构

在这里插入图片描述

请添加图片描述

其实通过上面第一张表格就大体就可以计算第二张表格的参数具体是怎么来的

model.layers.0.self_attn.q_proj.weight torch.Size([2048, 2048]) = 4,194,304
model.layers.0.self_attn.k_proj.weight torch.Size([256, 2048]) = 524,288
model.layers.0.self_attn.v_proj.weight torch.Size([256, 2048]) = 524,288
model.layers.0.self_attn.o_proj.weight torch.Size([2048, 2048]) = = 4,194,304
model.layers.0.mlp.gate_proj.weight torch.Size([16384, 2048]) = 33,554,432
model.layers.0.mlp.up_proj.weight torch.Size([16384, 2048]) = 33,554,432
model.layers.0.mlp.down_proj.weight torch.Size([2048, 16384]) = 33,554,432
model.layers.0.input_layernorm.weight torch.Size([2048]) = 2048
model.layers.0.post_attention_layernorm.weight torch.Size([2048]) = 2048

model.norm.weight torch.Size([2048])

(4,194,3042+524,2882+33,554,4323+20482)*18+2048=1,981,884,416

下面四种技术,有机会会出单独的文章进行讲解

Multi-Query Attention

对于7B 模型使用的是multi-head attention【transformer中原始的】

对于2B模型则是使用的multi-query attention (with 𝑛𝑢𝑚_𝑘𝑣_ℎ𝑒𝑎𝑑𝑠 = 1)

RoPE Embeddings

位置编码使用的RoPE位置编码,在每一层中使用旋转位置嵌入

GeGLU Activation

标准 ReLU 非线性被 GeGLU 激活函数取代。

Normalizer Location

对输入输出都是用RMSNorm 标准化

模型训练基础设施

用的全是谷歌自己的TPU,说结论吧,训练7B的Gemma用了4096个TPUv5e,训练

B模型用了512个TPUv5e

预训练

训练数据

Gemma 2B 和 7B 分别针对来自网络文档、数学和代码的主要英语数据的 2T 和 6T 标记进行训练。并没有对语言进行优化!!!!

Instruction Tuning

Formatting

请添加图片描述
在这里插入图片描述

结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

相关推荐

  1. 论文阅读笔记】清单

    2024-03-10 02:02:03       51 阅读

最近更新

  1. Django中模型的基于类的混入

    2024-03-10 02:02:03       0 阅读
  2. Impala写Parquet文件

    2024-03-10 02:02:03       0 阅读
  3. C# 反射

    2024-03-10 02:02:03       1 阅读
  4. 在程序中引用cuda.memory函数监控GPU内存

    2024-03-10 02:02:03       1 阅读
  5. LlamaInde相关学习

    2024-03-10 02:02:03       0 阅读

热门阅读

  1. 获取通知细节信息

    2024-03-10 02:02:03       24 阅读
  2. linux禁止被ping的方法

    2024-03-10 02:02:03       25 阅读
  3. MySQL客户端和服务器进程通信的几种方式

    2024-03-10 02:02:03       23 阅读
  4. svn + ssh

    2024-03-10 02:02:03       28 阅读
  5. Unix Network Programming Episode 88

    2024-03-10 02:02:03       27 阅读
  6. elementUI Table组件点击取当前行索引

    2024-03-10 02:02:03       24 阅读