Gemma 2 27B
Google · Gemma 2 · open weights
- GQA
- Sliding window
- RoPE
- Sandwich norm
Facts and where they come from
| Released | 2024-06 | config.jsonconfig.jsonHugging Face repository creation date (api.createdAt) |
|---|---|---|
| Licence | gemma | config.jsonconfig.jsonREADME metadata: license |
| Total parameters | 27B | labmodel cardmodel name gemma-2-27b |
| Active parameters | not disclosed | not disclosed |
| Context length | 8K tokens | labgoogle-deepmind/gemma _gemma.py (pinned)Gemma 2 report (arXiv 2408.00118): context length 8192 |
| Norm placement | sandwich | codemodelling codegoogle-deepmind/gemma _gemma.py: use_post_attn_norm and use_post_ffw_norm |
| Norm type | RMSNorm | codemodelling codegoogle-deepmind/gemma _gemma.py: use_post_attn_norm and use_post_ffw_norm |
| QK-norm | no | config.jsonconfig.jsonuse_qk_norm |
| Positional encoding | RoPE | codemodelling coderotary on the full head (default) |
| Parallel attention and MLP | no | codemodelling codegoogle-deepmind/gemma _gemma.py: use_post_attn_norm and use_post_ffw_norm |
Architecture, drawn from the data
23× GQA 32q/16kv, window 4096 + 23× GQA 32q/16kv. Each column is one layer: its token mixer above, its feed-forward block below. Paler columns reuse another layer’s keys and values.
Modelled costs
From the cost model, batch size 1. Totals the lab states are in the table above; differences come from rounding, from what a lab counts, or from parts the model does not describe (listed on the about page).
| Parameters (modelled) | 27.2B |
|---|---|
| Active per token (modelled) | 27.2B |
| Without embeddings and output head | 26B total, 26B active |
| Published weights (Hugging Face count) | 27.2B |
| KV cache per token, BF16 (layers that grow with context) | 184 KiB |
| KV cache + state at 8K tokens, BF16 | 2.16 GiB |
| Decode FLOPs per token at 4K context | 57.5 GFLOP |
| Prefill FLOPs for a 4K prompt | 220 TFLOP |
KV cache against context
Every architecture field
| Field | Value | Source |
|---|---|---|
| d_model | 4,608 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: embed_dim |
| vocab | 256,128 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: num_embed |
| tied_embeddings | true | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: embedder shared with the output layer |
| mixers.full.type | attn | codemodelling codeattention block |
| mixers.full.heads | 32 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: num_heads |
| mixers.full.kv_heads | 16 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: num_kv_heads |
| mixers.full.head_dim | 128 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: head_dim |
| mixers.sliding.type | attn | codemodelling codeattention block |
| mixers.sliding.heads | 32 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: num_heads |
| mixers.sliding.kv_heads | 16 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: num_kv_heads |
| mixers.sliding.head_dim | 128 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: head_dim |
| mixers.sliding.window | 4,096 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: sliding_window_size |
| ffns.dense.type | dense | codemodelling codeMLP block |
| ffns.dense.d_ff | 36,864 | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: hidden_dim |
| ffns.dense.gated | true | codemodelling codeMLP: gated (SwiGLU/GeGLU) |
| layout | 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense · 1× sliding/dense · 1× full/dense | labgoogle-deepmind/gemma _gemma.py (pinned)_gemma.py Gemma2_27B: attention_types (local sliding / global pattern) |
| norms_per_layer | 4 | codemodelling codeGemma 2/3: sandwich norms (pre and post around attention and MLP) |
Sources
- config.json @ 938270f
- model card
- arXiv 2408.00118
- google-deepmind/gemma _gemma.py (pinned) · google-deepmind/gemma _gemma.py (pinned)
- modelling code · transformers 5.18.0 modelling code, or the model repository's own modelling file at the pinned revision