Model Bahasa Wiki40B

Lihat di TensorFlow.org Jalankan di Google Colab Lihat di GitHub Unduh buku catatan Lihat model TF Hub

Menghasilkan Wikipedia-seperti teks menggunakan model bahasa Wiki40B dari TensorFlow Hub !

Buku catatan ini mengilustrasikan cara:

  • Memuat 41 monolingual dan 2 model bahasa multibahasa yang merupakan bagian dari koleksi Wiki40b-LM pada TF-Hub
  • Gunakan model untuk mendapatkan kebingungan, aktivasi per lapisan, dan penyisipan kata untuk bagian teks tertentu
  • Hasilkan teks token-by-token dari sepotong teks benih

Model bahasa dilatih pada baru diterbitkan, dibersihkan-up Wiki40B dataset yang tersedia di TensorFlow Datasets. Setup pelatihan didasarkan pada kertas “Wiki-40B: multibahasa Bahasa Model Dataset” .

Mempersiapkan

Menginstal Dependensi

Impor

Pilih bahasa

Mari kita pilih yang model bahasa untuk memuat dari TF-Hub dan panjang teks yang akan dihasilkan.

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

Bangun Modelnya

Oke, sekarang kita sudah dikonfigurasi yang pra-model terlatih untuk digunakan, mari kita konfigurasikan untuk menghasilkan teks hingga max_gen_len . Kita perlu memuat model bahasa dari TF-Hub, memasukkan sepotong teks awal, dan kemudian secara iteratif memasukkan token saat dihasilkan.

Muat potongan model bahasa

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.

Buat grafik generasi per-token

Membangun grafik statis membuka gulungan untuk max_gen_len token

Hasilkan beberapa teks

Mari buat beberapa teks! Kami akan menetapkan teks seed untuk meminta model bahasa.

Anda dapat menggunakan salah satu benih ditentukan sebelumnya atau opsional masukkan sendiri. Teks ini akan digunakan sebagai benih untuk model bahasa untuk membantu mendorong model bahasa untuk apa yang akan dihasilkan selanjutnya.

Anda dapat menggunakan token khusus berikut mendahului bagian khusus dari artikel yang dihasilkan. Gunakan _START_ARTICLE_ untuk menunjukkan awal artikel, _START_SECTION_ untuk menunjukkan awal dari suatu bagian, dan _START_PARAGRAPH_ untuk menghasilkan teks dalam artikel

Benih yang telah ditentukan sebelumnya

Masukkan benih Anda sendiri (Opsional).

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.

Inisialisasi sesi.

Hasilkan teks

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

Kita juga dapat melihat output lain dari model - kebingungan, id token, aktivasi perantara, dan embeddings

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)