Gemma es una familia de modelos de lenguaje grande (LLM) de peso abierto de Google DeepMind, basada en la investigación y la tecnología de Gemini.
Este repositorio contiene una implementación de inferencia y ejemplos, basados en Flax y JAX.
El informe técnico de Gemma (v1, v2) detalla las capacidades de los modelos.
Para ver tutoriales, implementaciones de referencia en otros marcos de aprendizaje automático y más, visite https://ai.google.dev/gemma.
Para instalar Gemma necesitas usar Python 3.10 o superior.
Instale JAX para CPU, GPU o TPU. Siga las instrucciones en el sitio web de JAX.
Correr
python -m venv gemma-demo . gemma-demo/bin/activate pip install git+https://github.com/google-deepmind/gemma.git
Los puntos de control del modelo están disponibles a través de Kaggle en http://kaggle.com/models/google/gemma. Seleccione una de las variaciones del modelo Flax , haga clic en el botón ⤓ para descargar el archivo del modelo y luego extraiga el contenido a un directorio local. El archivo contiene tanto los pesos del modelo como el tokenizador; por ejemplo, la variación 2b Flax contiene:
2b/ # Directory containing model weights tokenizer.model # Tokenizer
Para ejecutar las pruebas unitarias, instale las dependencias [test]
opcionales (por ejemplo, usando pip install -e .[test]
desde la raíz del árbol fuente), luego:
pytest .
Tenga en cuenta que las pruebas en sampler_test.py
se omiten de forma predeterminada ya que no se distribuye ningún tokenizador con las fuentes de Gemma. Para ejecutar estas pruebas, descargue un tokenizador siguiendo las instrucciones anteriores y actualice la constante _VOCAB
en sampler_test.py
con la ruta a tokenizer.model
.
Para ejecutar el script de muestreo de ejemplo, pase las rutas al directorio de pesos y al tokenizador:
python examples/sampling.py --path_checkpoint=/path/to/archive/contents/2b/ --path_tokenizer=/path/to/archive/contents/tokenizer.model
También hay varios tutoriales sobre portátiles Colab:
colabs/sampling_tutorial.ipynb
contiene un cuaderno de Colab con un ejemplo de muestra.
colabs/fine_tuning_tutorial.ipynb
contiene un Colab con un tutorial básico sobre cómo ajustar Gemma para una tarea, como la traducción del inglés al francés.
colabs/gsm8k_eval.ipynb
es un Colab con una implementación de evaluación GSM8K de referencia.
Para ejecutar estos cuadernos, deberá descargar una copia local de los pesos y el tokenizador (ver arriba) y actualizar las variables ckpt_path
y vocab_path
con las rutas correspondientes.
Gemma puede ejecutarse en CPU, GPU y TPU. Para GPU, recomendamos 8 GB+ de RAM en GPU para el punto de control 2B y 24 GB+ de RAM en GPU para el punto de control 7B.
Estamos abiertos a informes de errores, solicitudes de extracción (PR) y otras contribuciones. Consulte CONTRIBUTING.md para obtener detalles sobre las relaciones públicas.
Copyright 2024 DeepMind Technologies Limited
Este código está bajo la Licencia Apache, Versión 2.0 (la "Licencia"); no puede utilizar este archivo excepto de conformidad con la Licencia. Puede obtener una copia de la Licencia en http://www.apache.org/licenses/LICENSE-2.0.
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye TAL CUAL, SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y limitaciones de la Licencia.
Este no es un producto oficial de Google.