Mô hình ngôn ngữ Wiki40B

Xem trên TensorFlow.org Chạy trong Google Colab Xem trên GitHub Tải xuống sổ ghi chép Xem các mẫu TF Hub

Tạo Wikipedia giống như văn bản bằng cách sử dụng mô hình ngôn ngữ Wiki40B từ TensorFlow Hub !

Sổ tay này minh họa cách:

  • Nạp 41 đơn ngữ và 2 mô hình ngôn ngữ đa ngôn ngữ là một phần của bộ sưu tập Wiki40b-LM vào TF-Hub
  • Sử dụng các mô hình để có được sự phức tạp, kích hoạt trên mỗi lớp và nhúng từ cho một đoạn văn bản nhất định
  • Tạo mã thông báo văn bản theo mã thông báo từ một đoạn văn bản gốc

Các mô hình ngôn ngữ được đào tạo trên vừa được công bố, làm sạch-up Wiki40B bộ dữ liệu có sẵn trên TensorFlow Datasets. Các thiết lập đào tạo dựa trên giấy “Wiki-40B: Đa ngôn ngữ Ngôn ngữ Mẫu Dataset” .

Thành lập

Cài đặt phụ thuộc

Nhập khẩu

Chọn ngôn ngữ

Hãy chọn những ngôn ngữ mô hình để tải lại từ TF-Hub và độ dài của văn bản được tạo ra.

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

Xây dựng mô hình

Được rồi, bây giờ mà chúng ta đã cấu hình mà pre-đào tạo mô hình để sử dụng, chúng ta hãy cấu hình nó để tạo ra văn bản lên đến max_gen_len . Chúng tôi sẽ cần tải mô hình ngôn ngữ từ TF-Hub, cấp dữ liệu trong một đoạn văn bản bắt đầu, và sau đó cấp dữ liệu lặp đi lặp lại các mã thông báo khi chúng được tạo.

Tải các mảnh mô hình ngôn ngữ

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.

Xây dựng biểu đồ tạo mỗi mã thông báo

Xây dựng đồ thị tĩnh unrolled cho max_gen_len tokens

Tạo một số văn bản

Hãy tạo một số văn bản! Chúng tôi sẽ thiết lập một văn bản seed để nhắc nhở người mô hình ngôn ngữ.

Bạn có thể sử dụng một trong những hạt giống được xác định trước hoặc tùy chọn nhập của riêng bạn. Văn bản này sẽ được sử dụng làm hạt giống cho mô hình ngôn ngữ để giúp nhắc mô hình ngôn ngữ về những gì sẽ tạo tiếp theo.

Bạn có thể sử dụng các mã thông báo đặc biệt sau trước các phần đặc biệt của bài viết được tạo. Sử dụng _START_ARTICLE_ để chỉ bắt đầu của bài viết, _START_SECTION_ để chỉ ra sự khởi đầu của một phần, và _START_PARAGRAPH_ để tạo ra văn bản trong bài viết

Hạt giống xác định trước

Nhập hạt giống của riêng bạn (Tùy chọn).

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.

Khởi tạo phiên.

Tạo văn bản

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

Chúng tôi cũng có thể xem xét các kết quả đầu ra khác của mô hình - sự phức tạp, id mã thông báo, kích hoạt trung gian và nhúng

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)