- BERT và RoBERTa như các mô hình ngôn ngữ masked cũng có thể được diễn giải theo khái niệm mô hình khuếch tán văn bản
- Khác với phương pháp tự hồi quy truyền thống (ví dụ: GPT), đã chứng minh khả năng áp dụng sinh theo khối và phục hồi dần
- Khi huấn luyện với tỷ lệ masking điều chỉnh theo từng giai đoạn, thực nghiệm xác nhận RoBERTa cũng có thể tạo văn bản tự nhiên
- Chỉ cần điều chỉnh mục tiêu huấn luyện, không cần thay đổi kiến trúc hiện có, vẫn có thể có được năng lực sinh
- So với GPT-2, mô hình khuếch tán dựa trên RoBERTa cũng cho ra kết quả tạo văn bản có độ mạch lạc nhất định
Tổng quan
Gemini Diffusion do Google DeepMind công bố là một mô hình ngôn ngữ dựa trên khuếch tán tạo văn bản theo từng khối cùng lúc, khác với họ GPT. Đây là phương pháp tạo văn bản bằng cách tinh lọc dần dần tiếng ồn ngẫu nhiên. Từ việc xem xét bài báo Large Language Diffusion Models, kết quả cho thấy khuếch tán ngôn ngữ rời rạc là một sự tổng quát hóa của Masked Language Modeling (MLM). Tức là, bài viết này thử nghiệm xem liệu có thể tận dụng ý tưởng này để tạo văn bản với các mô hình họ BERT hay không.
Lưu ý: Sau đó, bài báo DiffusionBERT kiểm chứng nghiêm ngặt hơn với ý tưởng tương tự.
Lược sử nhanh về Transformer
Transformer, được đề xuất lần đầu năm 2017, có kiến trúc encoder-decoder. Năm 2018, encoder (BERT: hai chiều, tập trung khôi phục masked) và decoder (GPT: autoregressive, tập trung dự đoán tuần tự) tách ra, hình thành các nhóm mô hình chuyên dụng.
- Chỉ encoder (họ BERT)
- Nhận toàn bộ ngữ cảnh đầu vào, che một phần bằng
<MASK>và khôi phục từ phần còn lại - Ưu thế trong biểu diễn câu, phân loại, ...
- Nhận toàn bộ ngữ cảnh đầu vào, che một phần bằng
- Chỉ decoder (họ GPT)
- Dự đoán token tiếp theo từ thứ tự đã cho
- Tỏa sáng ở tạo văn bản, tóm tắt, dịch thuật
BERT ban đầu được dùng trực tiếp cho phân loại, nhưng sau đó họ GPT giành được nhiều trường hợp sử dụng hơn nhờ năng lực sinh đã được cải thiện.
Mô hình khuếch tán ngôn ngữ rời rạc
Mô hình khuếch tán vốn đã nổi tiếng ở tạo ảnh. Trong trường hợp ảnh:
- Quy trình thuận: thêm dần dần nhiễu Gaussian vào ảnh gốc để đạt trạng thái chỉ còn nhiễu
- Quy trình nghịch: dùng mô hình deep learning để lặp lại khử nhiễu dần dần, khôi phục dữ liệu gốc
Khi áp dụng cho văn bản, cách đơn giản nhất là quy trình nhiễu dựa trên masking.
- Thuận (masking)
- Khi t=0 là văn bản gốc, khi bước tăng dần thì thay thế ngẫu nhiên một số token bằng
<MASK> - Ở bước cuối cùng, toàn bộ chuỗi được thay bằng
<MASK>
- Khi t=0 là văn bản gốc, khi bước tăng dần thì thay thế ngẫu nhiên một số token bằng
- Nghịch (de-noise)
- Transformer encoder học khôi phục token gốc trong cấu hình masking đã cho
- Masking tỷ lệ thấp dễ khôi phục hơn, còn tỷ lệ càng cao thì càng khó
- Lặp lại từ tỷ lệ masking cao đến thấp để tạo toàn bộ chuỗi
Trong khuôn khổ khuếch tán này, mô hình huấn luyện bằng cách cộng tổng loss khử nhiễu trên các mức tỷ lệ masking khác nhau. Mục tiêu khôi phục masking của BERT về bản chất là một phần của khuếch tán văn bản. Kết hợp lịch trình tỷ lệ masking và lặp lại de-noise sẽ mở rộng mục tiêu BERT thành thủ tục sinh ngôn ngữ.
Thí nghiệm RoBERTa Diffusion
RoBERTa, được công bố năm 2019, đặc trưng bởi mở rộng hyperparameter và dữ liệu so với BERT, cùng mục tiêu huấn luyện đơn giản hơn (MLM Only). Trong thí nghiệm, sử dụng trọng số RoBERTa gốc, tokenizer và Trainer từ các thư viện HuggingFace transformers, datasets. Dựa trên tập dữ liệu WikiText, tinh chỉnh tiếp theo các bước:
- Lấy mẫu ngẫu nhiên một trong 10 lịch trình khuếch tán (mask_probs: 1.0~0.1) cho mỗi batch để masking
- Với
diffusion_collatortùy chỉnh, sau khi chọn xác suất masking thì áp dụng<MASK>ngẫu nhiên theo từng token - Để giữ bối cảnh prompt, 16 token đầu luôn được giữ lại
Che dữ liệu (custom collator):
- Sau khi đệm (
padding) mỗi nhóm token mẫu, chọn xác suất masking ngẫu nhiên - Áp dụng
<MASK>theo xác suất cho tất cả token ngoài 16 token đầu - Trả về cả dữ liệu đã masking và bộ nhãn đáp án
Tạo sinh (inference):
- Nhập chuỗi đầu vào độ dài 256 token, 16 token đầu là prompt, phần còn lại là
<MASK> - Ở mỗi bước, mẫu hóa token mà mô hình dự đoán để điền vào, rồi remask lại một phần theo tỷ lệ nhất định
- Lặp lại bằng cách giảm dần tỷ lệ masking, và cuối cùng toàn bộ được khôi phục
Ví dụ kết quả tạo:
- Có thể tạo ra văn bản nối tiếp tự nhiên cùng với prompt, với tính nhất quán khá tốt
- Một số dị biệt do định dạng tiền xử lý của tập WikiText (ví dụ: dấu nối
@-@)
So sánh với GPT-2
- GPT-2 nhanh hơn một chút và nhất quán hơn, nhưng RoBERTa Diffusion vẫn cho hiệu năng tốt hơn kỳ vọng (đặc biệt có tiềm năng cải thiện dần)
- Các cách AR-Diffusion, Skip-Step Diffusion mới và tối ưu hóa có thể cải thiện chất lượng/tốc độ
Kết luận
- Các mô hình ngôn ngữ masked như RoBERTa, nếu huấn luyện với điều chỉnh tỷ lệ masking, cũng có thể trở thành engine sinh ngôn ngữ
- Chỉ cần cách học làm hỏng rồi khôi phục dần văn bản bằng token
<MASK>đã cho thấy khả năng chuyển hoàn toàn thành mô hình sinh - Không cần sửa đổi kiến trúc, chỉ cần thay đổi mục tiêu huấn luyện đã có thể đạt năng lực sinh
- Về bản chất, các mô hình họ BERT cũng tương ứng với một mô hình khuếch tán văn bản
Chưa có bình luận nào.