Modelli di linguaggio Wiki40B

Visualizza su TensorFlow.org Esegui in Google Colab Visualizza su GitHub Scarica taccuino Vedi i modelli di mozzo TF

Genera Wikipedia-come testo utilizzando i modelli di linguaggio Wiki40B da tensorflow Hub !

Questo quaderno illustra come:

  • Caricare il 41 monolingue e 2 modelli linguistiche multilingui che fanno parte della collezione Wiki40b-LM sulla TF-Hub
  • Usa i modelli per ottenere perplessità, attivazioni per livello e incorporamenti di parole per un dato pezzo di testo
  • Genera testo token per token da un pezzo di testo seed

I modelli di linguaggio sono addestrati sul recente pubblicazione, puliti-up Wiki40B set di dati disponibili sul tensorflow set di dati. Il setup di formazione si basa sulla carta “Wiki-40B: multilingue Lingua Modello Dataset” .

Impostare

Installazione delle dipendenze

Importazioni

Scegli la lingua

Scegliamo quale modello di linguaggio per caricare da TF-Hub e la lunghezza del testo da generare.

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

Costruisci il modello

Okay, ora che abbiamo configurato quale pre-addestrati modello da utilizzare, configuriamo per generare il testo fino a max_gen_len . Avremo bisogno di caricare il modello linguistico da TF-Hub, inserire una parte del testo iniziale e quindi inserire in modo iterativo i token man mano che vengono generati.

Carica i pezzi del modello linguistico

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.

Costruisci il grafico di generazione per token

Costruire il grafico staticamente srotolato per max_gen_len gettoni

Genera del testo

Generiamo del testo! Metteremo un testo seed per richiedere il modello di linguaggio.

È possibile utilizzare uno dei semi predefiniti o, in alternativa inserire il proprio. Questo testo verrà utilizzato come seme per il modello linguistico per aiutare a suggerire al modello linguistico cosa generare in seguito.

È possibile utilizzare i seguenti token speciali che precedono parti speciali dell'articolo generato. Utilizzare _START_ARTICLE_ per indicare l'inizio di questo articolo, _START_SECTION_ per indicare l'inizio di una sezione, e _START_PARAGRAPH_ per generare il testo in questo articolo

Semi predefiniti

Inserisci il tuo seme (opzionale).

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.

Inizializza la sessione.

Genera testo

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

Possiamo anche guardare gli altri output del modello: la perplessità, gli ID token, le attivazioni intermedie e gli embedding

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)