llama3地位不保?谷歌Gemma2 27B开源,预训练13T tokens!
原创 nipi NLP前沿
今天在柏林的Google I/O Connect上介绍了Gemma 2,提到今天会开源权重,如下图。刚刚瞄了一眼,权重真开源了!

模型细节见后文,最新权重开源地址与测试脚本如下:
开源权重地址:
https://www.kaggle.com/models/google/gemma-2
官方测试脚本:
# Setup the environment
!pip install -q -U immutabledict sentencepiece
!git clone https://github.com/google/gemma_pytorch.git
!mkdir /kaggle/working/gemma/
!mv /kaggle/working/gemma_pytorch/gemma/* /kaggle/working/gemma/
import sys
sys.path.append("/kaggle/working/gemma_pytorch/")
from gemma.config import GemmaConfig, get_model_config
from gemma.model import GemmaForCausalLM
from gemma.tokenizer import Tokenizer
import contextlib
import os
import torch
# Load the model
VARIANT = "27b"
MACHINE_TYPE = "cpu"
weights_dir = '/kaggle/input/gemma-2/pytorch/gemma-2-27b-it/1'
@contextlib.contextmanager
def _set_default_tensor_type(dtype: torch.dtype):
"""Sets the default torch dtype to the given dtype."""
torch.set_default_dtype(dtype)
yield
torch.set_default_dtype(torch.float)
model_config = get_model_config(VARIANT)
model_config.tokenizer = os.path.join(weights_dir, "tokenizer.model")
device = torch.device(MACHINE_TYPE)
with _set_default_tensor_type(model_config.get_dtype()):
model = GemmaForCausalLM(model_config)
model.load_weights(weights_dir)
model = model.to(device).eval()
# Use the model
USER_CHAT_TEMPLATE = "<start_of_turn>user\n{prompt}<end_of_turn><eos>\n"
MODEL_CHAT_TEMPLATE = "<start_of_turn>model\n{prompt}<end_of_turn><eos>\n"
prompt = (
USER_CHAT_TEMPLATE.format(
prompt="What is a good place for travel in the US?"
)
+ MODEL_CHAT_TEMPLATE.format(prompt="California.")
+ USER_CHAT_TEMPLATE.format(prompt="What can I do in California?")
+ "<start_of_turn>model\n"
)
model.generate(
USER_CHAT_TEMPLATE.format(prompt=prompt),
device=device,
output_len=100,
)
content_copy
模型细节
模型是在包含多种来源的文本数据集上进行训练的。27B 模型使用 13T 的tokens进行训练,9B 模型使用 8T 的tokens进行训练。
27b 在聊天机器人领域优于 llama 3 70B 和 nemotron-4-340B!

与 70B 相比,预训练的 27B 分数稍低,但 27B 分数非常接近。对于GPU VRAM 较低的场景来说,27B 可能是 70B 的一个很好的替代品。

kaggle上的参数配置为:{ "name": "gemma_backbone", "trainable": true, "vocabulary_size": 256000, "num_layers": 46, "num_query_heads": 32, "num_key_value_heads": 16, "hidden_dim": 4608, "intermediate_dim": 73728, "head_dim": 128, "layer_norm_epsilon": 0.000001, "dropout": 0, "query_head_dim_normalize": false, "use_post_ffw_norm": true, "use_post_attention_norm": true, "final_logit_soft_cap": 30, "attention_logit_soft_cap": 50, "sliding_window_size": 4096, "use_sliding_window_attention": true }
重点参数应该是sliding_window_size=4096,技术报告中写的是:我们在每个其他层中交替使用局部滑动窗口注意力和全局注意力。局部注意力层的滑动窗口大小设置为 4096 个标记,而全局注意力层的跨度设置为 8192 个标记。”
PS:给公众号添加【星标⭐️】不迷路!您的点赞、在看、关注是我坚持的最大动力!
欢迎多多关注,加入交流群,交个朋友吧,一起学习,一起进步!
最新文章推荐阅读
- RAG应用要如何吃到大模型长上下文的红利?-LongRAG
- 打败GPT4!仅用1/24成本的混合智能体架构逆袭 (mixture of agents)
- 最近爆火的无矩阵乘法的大模型架构是怎么一回事?
- Meta AI开源新Agent框架 “哈士奇”,对复杂推理进行优化的新智能体,效果起飞
- RAG全景图:从RAG启蒙到高级RAG之36技,再到终章Agentic RAG!
版权归原作者 AI生成曾小健 所有, 如有侵权,请联系我们删除。