Gemma — это семейство открытых моделей большого языка (LLM) от Google DeepMind, основанное на исследованиях и технологиях Gemini.
Этот репозиторий содержит реализацию вывода и примеры, основанные на Flax и JAX.
В техническом отчете Gemma (v1, v2) подробно описаны возможности моделей.
Учебные пособия, справочные реализации в других платформах машинного обучения и многое другое можно найти на странице https://ai.google.dev/gemma.
Чтобы установить Gemma, вам необходимо использовать Python 3.10 или выше.
Установите JAX для процессора, графического процессора или TPU. Следуйте инструкциям на веб-сайте 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 не распространяется токенизатор. Чтобы запустить эти тесты, загрузите токенизатор, следуя инструкциям выше, и обновите константу _VOCAB
в sampler_test.py
, указав путь к tokenizer.model
.
Чтобы запустить пример сценария выборки, передайте пути к каталогу весов и токенизатору:
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
— это Colab со эталонной реализацией оценки GSM8K.
Чтобы запустить эти блокноты, вам потребуется загрузить локальную копию весов и токенизатора (см. выше) и обновить переменные ckpt_path
и vocab_path
указав соответствующие пути.
Gemma может работать на процессоре, графическом процессоре и TPU. Что касается графического процессора, мы рекомендуем использовать более 8 ГБ ОЗУ на графическом процессоре для контрольной точки 2B и более 24 ГБ ОЗУ на графическом процессоре для контрольной точки 7B.
Мы открыты для отчетов об ошибках, запросов на включение (PR) и других материалов. Подробную информацию о PR можно найти на сайте CONTRIBUTING.md.
Авторские права принадлежат DeepMind Technologies Limited, 2024 г.
Этот код лицензируется по лицензии Apache версии 2.0 («Лицензия»); вы не можете использовать этот файл, кроме как в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу http://www.apache.org/licenses/LICENSE-2.0.
Если это не требуется действующим законодательством или не согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумеваемых. См. в Лицензии конкретный язык, регулирующий разрешения и ограничения в рамках Лицензии.
Это не официальный продукт Google.