Gemma 是 Google DeepMind 基于 Gemini 研究和技术的开放权重大型语言模型 (LLM) 系列。
该存储库包含基于 Flax 和 JAX 的推理实现和示例。
Gemma 技术报告(v1、v2)详细介绍了模型的功能。
有关教程、其他 ML 框架中的参考实现等,请访问 https://ai.google.dev/gemma。
要安装 Gemma,您需要使用 Python 3.10 或更高版本。
为 CPU、GPU 或 TPU 安装 JAX。按照 JAX 网站上的说明进行操作。
跑步
python -m venv gemma-demo . gemma-demo/bin/activate pip install git+https://github.com/google-deepmind/gemma.git
模型检查点可通过 Kaggle 获取:http://kaggle.com/models/google/gemma。选择Flax模型变体之一,单击 ⤓ 按钮下载模型存档,然后将内容解压到本地目录。存档包含模型权重和分词器,例如 2b Flax 变体包含:
2b/ # Directory containing model weights tokenizer.model # Tokenizer
要运行单元测试,请安装可选的[test]
依赖项(例如,从源树的根目录使用pip install -e .[test]
),然后:
pytest .
请注意,默认情况下, sampler_test.py
中的测试会被跳过,因为没有随 Gemma 源一起分发分词器。要运行这些测试,请按照上述说明下载分词器,并使用tokenizer.model
的路径更新sampler_test.py
中的_VOCAB
常量。
要运行示例采样脚本,请将路径传递给权重目录和分词器:
python examples/sampling.py --path_checkpoint=/path/to/archive/contents/2b/ --path_tokenizer=/path/to/archive/contents/tokenizer.model
还有几个 Colab 笔记本教程:
colabs/sampling_tutorial.ipynb
包含带有示例示例的 Colab 笔记本。
colabs/fine_tuning_tutorial.ipynb
包含一个 Colab,其中包含有关如何针对任务(例如英语到法语翻译)微调 Gemma 的基本教程。
colabs/gsm8k_eval.ipynb
是一个具有参考 GSM8K eval 实现的 Colab。
要运行这些笔记本,您需要下载权重和分词器的本地副本(见上文),并使用相应的路径更新ckpt_path
和vocab_path
变量。
Gemma 可以在 CPU、GPU 和 TPU 上运行。对于 GPU,我们建议在 GPU 上为 2B 检查点使用 8GB+ RAM,为 7B 检查点在 GPU 上使用 24GB+ RAM。
我们愿意接受错误报告、拉取请求 (PR) 和其他贡献。有关 PR 的详细信息,请参阅 CONTRIBUTING.md。
版权所有 2024 DeepMind 技术有限公司
此代码根据 Apache 许可证 2.0 版(“许可证”)获得许可;除非遵守许可证,否则您不得使用此文件。您可以从 http://www.apache.org/licenses/LICENSE-2.0 获取许可证副本。
除非适用法律要求或书面同意,否则根据许可证分发的软件将按“原样”分发,不带任何明示或暗示的保证或条件。请参阅许可证,了解许可证下管理权限和限制的特定语言。
这不是 Google 官方产品。