Modelos de lenguaje Wiki40B

Ver en TensorFlow.org Ejecutar en Google Colab Ver en GitHub Descargar cuaderno Ver modelos TF Hub

Generar Wikipedia como texto utilizando los modelos de lenguaje Wiki40B de TensorFlow Hub !

Este cuaderno ilustra cómo:

  • Cargar el 41 monolingües y multilingües 2 modelos de lenguaje que forman parte de la colección Wiki40b-LM en la TF-Hub
  • Utilice los modelos para obtener perplejidad, activaciones por capa e incrustaciones de palabras para un fragmento de texto determinado
  • Genere texto token por token a partir de un fragmento de texto inicial

Los modelos de lenguaje son entrenados en la recientemente publicada, limpien con agua Wiki40B conjunto de datos disponibles en TensorFlow conjuntos de datos. El sistema de formación se basa en el documento de “Wiki-40B: Modelo multilingüe Idioma del conjunto de datos” .

Configuración

Instalación de dependencias

Importaciones

Elige lengua

Vamos a elegir qué modelo de lenguaje para la carga de TF-Hub y la longitud del texto que se va a generar.

Using the https://tfhub.dev/google/wiki40b-lm-en/1 model to generate sequences of max length 20.

Construye el modelo

Bien, ahora que hemos configurado el que pre-formados modelo para su uso, vamos a configurarlo para generar texto hasta max_gen_len . Necesitaremos cargar el modelo de lenguaje desde TF-Hub, ingresar un fragmento de texto inicial y luego ingresar iterativamente los tokens a medida que se generan.

Cargar las piezas del modelo de lenguaje

2021-11-05 13:33:19.950673: W tensorflow/core/common_runtime/graph_constructor.cc:1511] Importing a graph with a lower producer version 359 into an existing graph with producer version 808. Shape inference will have run different parts of the graph with different producer versions.

Construya el gráfico de generación por token

Construir la gráfica estática desenrollado para max_gen_len fichas

Genera algo de texto

¡Generemos texto! Vamos a configurar un texto seed para impulsar el modelo de lenguaje.

Puede utilizar una de las semillas predefinidos o eventualmente introducir su propio. Este texto se utilizará como semilla para el modelo de lenguaje para ayudar a indicar al modelo de lenguaje qué generar a continuación.

Puede utilizar los siguientes tokens especiales antes de las partes especiales del artículo generado. Uso _START_ARTICLE_ para indicar el comienzo del artículo, _START_SECTION_ para indicar el comienzo de una sección, y _START_PARAGRAPH_ para generar texto en el artículo

Semillas predefinidas

Ingrese su propia semilla (Opcional).

Generating text from seed:

_START_ARTICLE_
1882 Prince Edward Island general election
_START_PARAGRAPH_
The 1882 Prince Edward Island election was held on May 8, 1882 to elect members of the House of Assembly of the province of Prince Edward Island, Canada.

Inicializar sesión.

Generar texto

_START_SECTION_ Candidates _START_PARAGRAPH_ Thirteen members of the House of Assembly were all members nominations. Among

También podemos observar las otras salidas del modelo: la perplejidad, los identificadores de token, las activaciones intermedias y las incrustaciones.

ppl_result
array([23.507753], dtype=float32)
token_ids_result
array([[   8,    3, 6794, 1579, 1582,  721,  489,  448,    8,    5,   26,
        6794, 1579, 1582,  721,  448,   17,  245,   22,  166, 2928, 6794,
          16, 7690,  384,   11,    7,  402,   11, 1172,   11,    7, 2115,
          11, 1579, 1582,  721,    9,  646,   10]], dtype=int32)
activations_result.shape
(12, 1, 39, 768)
embeddings_result
array([[[ 0.12262525,  5.548009  ,  1.4743135 , ...,  2.4388404 ,
         -2.2788858 ,  2.172028  ],
        [-2.3905468 , -0.97108954, -1.5513545 , ...,  8.458472  ,
         -2.8723319 ,  0.6534524 ],
        [-0.83790785,  0.41630274, -0.8740793 , ...,  1.6446769 ,
         -0.9074106 ,  0.3339265 ],
        ...,
        [-0.8054745 , -1.2495526 ,  2.6232922 , ...,  2.893288  ,
         -0.91287214, -1.1259722 ],
        [ 0.64944506,  3.3696785 ,  0.09543293, ..., -0.7839227 ,
         -1.3573489 ,  1.862214  ],
        [-1.2970612 ,  0.5961366 ,  3.3531897 , ...,  3.2853985 ,
         -1.6212384 ,  0.30257902]]], dtype=float32)