Google DeepMind开源的Gemma大语言模型
Gemma是Google DeepMind推出的开源大语言模型系列,基于Gemini技术开发。项目提供Flax和JAX框架的推理实现和示例,支持CPU、GPU和TPU等多种硬件平台。包括模型权重下载、入门指南、示例代码和教程,便于开发者学习和应用。Gemma共有2B和7B两种参数规模的模型可供选择。
Gemma是由Google DeepMind基于Gemini研究和技术开发的一系列开放权重大型语言模型(LLM)。
本仓库包含基于Flax和JAX的推理实现和示例。
安装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模型变体,点击⤓按钮下载模型存档,然后将内容解压到本地目录。
或者,访问Hugging Face Hub上的gemma模型。如果安装了huggingface_hub,可以运行以下代码下载模型:
from huggingface_hub import snapshot_download
local_dir = snapshot_download(repo_id="google/gemma-2b-flax")
snapshot_download(repo_id="google/gemma-2b-flax", local_dir=local_dir)
在这两 种情况下,存档都包含模型权重和分词器,例如2b Flax变体包含:
2b/ # 包含模型权重的目录
tokenizer.model # 分词器
要运行单元测试,请安装可选的[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包含一个基本教程,介绍如何针对特定任务(如英语到法语翻译)微调Gemma。
colabs/gsm8k_eval.ipynb是一个包含GSM8K评估参考实现的Colab。
要运行这些笔记本,您需要下载权重和分词器的本地副本(见上文),并使用相应的路径更新ckpt_path和vocab_path变量。
Gemma可以在CPU、GPU和TPU上运行。对于GPU,我们建议2B检查点使用8GB+的GPU内存,7B检查点使用24GB+的GPU内存。
我们欢迎错误报告、拉取请求(PR)和其他贡献。有关PR的详细信息,请参阅CONTRIBUTING.md。
版权所有 2024 DeepMind Technologies Limited
本代码根据Apache许可证2.0版("许可证")授权;除非符合许可证,否则您不得使用此文件。您可以在http://www.apache.org/licenses/LICENSE-2.0获取许可证副本。
除非适用法律要求或书面同意,根据许可证分发的软件是基于"按原样"的基础分发的,不附带任何明示或暗示的担保或条件。有关许可证下特定语言的权限和限制,请参阅许可证。
这不是官方的Google产品。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国 内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。