Cómo usar LIT con Gemma

Ver en IA generativa Ejecutar en Google Colab Ver el código fuente en GitHub Aprende en Codelabs

Los productos de IA generativa son relativamente nuevos y sus comportamientos pueden variar más de con versiones anteriores de software. Es importante sondear el modelo de aprendizaje de modelos que se usan, examinar ejemplos de comportamiento de los modelos y, luego, investigar sorpresas.

Herramienta de interpretabilidad de aprendizaje (LIT; sitio web, GitHub) es una plataforma para depurar y analizar modelos de AA para comprender por qué y cómo se comportan como se comportan.

Aquí aprenderás a configurar la LIT para aprovechar al máximo la tecnología de Google modelo Gemma con el módulo de prominencia de la secuencia para analizar diferentes enfoques de ingeniería de instrucciones.

Configura LIT para depurar mensajes de Gemma

ERROR: pip's dependency resolver does not currently take into account all the 
packages that are installed. This behaviour is the source of the following 
dependency conflicts.
bigframes 0.21.0 requires scikit-learn>=1.2.2, but you have scikit-learn 1.0.2 
which is incompatible.
google-colab 1.0.0 requires ipython==7.34.0, but you have ipython 8.14.0 
which is incompatible.

Puedes ignorarlas.

Instala LIT y Keras NLP

En este notebook, se usa la implementación de KerasNLP de Gemma (más información sobre cómo configúralo a continuación). Necesitarás una versión reciente de keras (3.0 o superior). keras-nlp (0.12+) y lit-nlp (1.2+), y una cuenta de Kaggle para descargar la modelo base.

# Keras is included in Colab runtimes, but needs to be updated to to v3.0+.
# LIT and Keras NLP are not icnldued by default and must be installed.
# Running this cell may require you to restart your session to ensure the newer
# packages are imported correctly.
 pip install -q -U "keras >= 3.0, <4.0" "keras-nlp >= 0.14" "lit-nlp >= 1.2"

Acceso a Kaggle

KerasNLP almacena los pesos de sus modelos previamente entrenados en Kaggle. El Se usó paquete kagglehub para autenticar con este servicio. Asegúrate de aceptar también el contrato de licencia. de Gemma desde tu cuenta de Kaggle.

Consulta el Apéndice al final para obtener más información sobre cómo configurar un Kaggle de servicio predeterminada.

import kagglehub

kagglehub.login()

Cómo configurar la LIT

LIT proporciona una función, make_notebook_widget(), para configurar la instrucción. de depuración en un contexto de notebook.

LIT proporciona un conjunto de datos de instrucciones de muestra que acompañan al instructivo vinculado más adelante en este documento.

Consulta los comentarios a continuación para configurar el widget con el fin de usar modelos diferentes. conjuntos de datos.

from lit_nlp.examples.prompt_debugging import notebook as lit_pdbnb

# The following function initializes a LIT Notebook Widget. It's configured by
# two required positional arguments:
#
# * `datasets_config`: A list of strings containing the dataset names and
#       paths to load from, as "dataset:path", where path can be a URL or a
#       local file path. The example below uses a special value,
#       `sample_prompts`, to load the example prompts provided in the LIT
#       distribution; no other special values are supported.
# * `models_config`: A list of strings containing the model names and paths to
#       load from, as "model:path", where path can be a URL, a local file path,
#       or the name of a preset for the configured deep learning framework.
#
# LIT supports salience computation for KerasNLP and Hugging Face Transformers
# models running on TensorFlow or PyTorch. Note that all models passed to the
# `models_config` parameter will be loaded using the same framework and runtime.
# You can cofnigre these with the following keywork arguments.
#
# * `dl_framework`: Must be one of "kerasnlp" or "transformers".
# * `dl_runtime`: Must be one of "tensorflow" or "torch".
#
# Changing the `dl_framework` value will affect the authentication method used
# to access Gemma model weights.

lit_widget = lit_pdbnb.make_notebook_widget(
    ['sample_prompts'],
    ["gemma_2b_it:gemma_1.1_instruct_2b_en"],
    dl_framework="kerasnlp",
    dl_runtime="tensorflow",
    batch_size=1,
    max_examples=5,
    precision="bfloat16",
)

Ahora puedes renderizar la IU en una celda de Colab.

lit_widget.render()
<IPython.core.display.Javascript object>

Depuración de instrucciones con relevancia de la secuencia

Los modelos grandes de lenguaje (LLM) de texto a texto, como Gemma, toman una secuencia de entrada en forma de texto con asignación de token y generan tokens nuevos que se seguimiento o completados lógicos.

Los métodos de relevancia le permiten inspeccionar qué partes de un de entrada son importantes para el modelo para diferentes partes de la salida generada. El módulo de importancia de la secuencia de LIT extiende estos métodos para explicar la importancia de las secuencias en varios niveles de detalle: de los tokens a de palabras a oraciones y más allá.

Puedes usar LIT en la celda anterior para experimentar con la importancia de la secuencia. módulo por tu cuenta. Para una experiencia de aprendizaje guiada, puedes seguir con el instructivo para depurar instrucciones con la importancia de la secuencia directamente en este Colab.

Para obtener más información académica y técnica sobre el funcionamiento de la importancia de la secuencia, consulta nuestro informe.

Apéndice: Acceso a Gemma en Kaggle Hub

En este notebook, se usa la implementación de KerasNLP de Gemma en este documento. KerasNLP almacena los pesos de sus modelos previamente entrenados en Kaggle, y Gemma requiere autenticación y el reconocimiento de la licencia para acceder a esas ponderaciones.

Las siguientes instrucciones te guiarán a través de la configuración de una cuenta de Kaggle y autenticar con Kaggle a través del paquete kagglehub.

  1. Crear una cuenta de Kaggle si no tienes una
  2. Solicitar acceso a Gemma
    • Asegúrate de haber iniciado sesión en Kaggle con la cuenta anterior
    • Ve a la página de consentimiento: https://www.kaggle.com/models/google/gemma/license/consent
    • Selecciona la opción "Verificar a través de la cuenta de Kaggle". (opción predeterminada) y haz clic en Siguiente
    • Completa el formulario de consentimiento (los campos de nombre y apellido en la parte superior).
    • Para confirmar la política, usa las casillas de verificación que se encuentran en la parte inferior.
    • Haz clic en el botón "Aceptar" en la parte inferior para que te otorgue acceso
    • Esto debería redireccionarte a la página del modelo (https://www.kaggle.com/models/google/gemma).
  3. Crea un token de API
    • Asegúrate de haber iniciado sesión en Kaggle con la cuenta que creaste anteriormente
    • Ve a la página Configuración: https://www.kaggle.com/settings.
    • Desplázate hacia abajo hasta la sección API.
    • Usa el comando “Create New Token” botón para activar la generación de tokens
    • Usa el menú en pantalla para guardar el archivo JSON, llamado kaggle.json, que el servicio genera en tu máquina.
    • El archivo JSON es un objeto con dos propiedades (nombre de usuario y clave). Necesitarás ambas para autenticarte con su servicio más adelante.
  4. Usar las credenciales del token de la API para autenticar con kagglehub en Colab
    • Ve a Colab de salida de secuencia de LIT: https://colab.sandbox.google.com/github/google/generative-ai-docs/blob/main/site/en/gemma/docs/lit_gemma.ipynb#scrollTo=yKw8gDsh_nVR
    • Conéctate a un entorno de ejecución de GPU
    • Para Gemma 2B, puedes usar el entorno de ejecución T4 de nivel gratuito
    • Para usar Gemma 7B, necesitarás créditos de procesamiento de Colab prepagos o una cuenta de Colab Pro para usar una GPU V100, L4 o A100.
    • Ejecuta la celda de código kagglehub para mostrar un formulario HTML que solicite tu nombre de usuario y un token.
    • Copia el campo username del archivo kaggle.json que descargaste en el paso anterior y pégalo en el campo username del formulario.
    • Copia el campo key del archivo kaggle.json que descargaste en el paso anterior y pégalo en el campo token del formulario.
    • Haz clic en el botón de acceso para guardar estas credenciales en el entorno de ejecución.

Deberás repetir este último paso cada vez que se desconecte el entorno de ejecución de Colab, ya que esta acción borrará la caché en la que están almacenadas las credenciales.