Skip to content
Minh-Thien Nguyen
Quay lại

Pre-training GPT2, BERT and BART (Pre-training các mô hình GPT2, BERT và BART)

English

Mục lục

Mở Mục lục

Pre-train mô hình GPT2

Pre-training objective

Mô hình GPT2 được pre-train với objective là autoregressive language modeling.

Với một câu input đầu vào, mục tiêu của mô hình là sinh ra token dự đoán tiếp theo cho câu. Ví dụ với một document như sau: “bóng chày là môn thể thao phổ biến nhất tại Puerto Rico và nước này có hẳn một mùa giải bóng chày chuyên nghiệp riêng được tổ chức vào mùa đông” với mẫu input là đoạn được in đậm, việc dự đoán có thể được minh hoạ như sau:

next token
bóngchày
bóngchày
bóngchàymôn
bóngchàymônthể
bóngchàymônthểthao
bóngchàymônthểthaophổ
bóngchàymônthểthaophổbiến
bóngchàymônthểthaophổbiếnnhất

Do đó label tương ứng với câu input trên là: chày là môn thể thao phổ biến nhất.

Pre-training

Các tham số được sử dụng:

Tham sốGiá trị
hidden_size384384
num_layers66
num_heads66
intermediate_size15361536
dropout0.10.1
seq_length256256
activationGELU
optimAdamW
weight_decay0.00010.0001
lr0.50.5
warmup_steps40004000
batch_size3232
max_grad_norm1.01.0

Mô hình được train trên 50MB text được trích xuất ra từ corpus.viwiki, train với tổng số bước là 40K40K. Mô hình có 35M tham số. Hình bên dưới là đồ thị biểu diễn loss của mô hình trong quá trình training.

Đồ thị training loss của mô hình GPT2

Training loss của mô hình GPT2

Ví dụ về một số đoạn text được sinh bởi mô hình:

python gpt2/generate.py \
    --model ./checkpoints/gpt2-40000.pt \
    --tokenizer ./checkpoints/tokenizer.json \
    --seed 42 \
    --max-new-tokens 120 \
    --temperature 1

kết quả:

>> Nghiên cứu là một quá
Nghiên cứu là một quá trình tạo ra các chất hút điện ngoài sự vật chất . Có hai lĩnh vực điện xuất nhằm tạo ra các loại nguyên tử tự nhiên thù của các kim loại - kim loại . Gốc vụ có thể có các loại kim loại như hiđrua liti , Gd và các loại sulfua kim loại khác . Các chất phóng xạ khác gồm các đồng ( 90 %), 1 %, ") [ 25 ] 6H2O ( 20 % tương đương với 66 %.
Các hợp chất ở dạng O2 là hyđrô sulfit ở nhiệt độ thấp , là một trong các điều kiện quan trọng cho sự cháy cháy . Các chất này là nguồn
python gpt2/generate.py \
    --model ./checkpoints/gpt2-40000.pt \
    --tokenizer ./checkpoints/tokenizer.json \
    --seed 42 \
    --max-new-tokens 40 \
    --temperature 0.5

kết quả:

>> Đầu năm 2021
Đầu năm 2021 , một nhóm hội nghị quốc tế đã được thành lập tại Paris năm 1973 , và cuộc họp này đã được tổ chức bởi các đảng hợp nhất . Năm 1999 , Hội nghị thượng đỉnh thứ nhất được

Pre-train mô hình BERT

Pre-training objective

Mô hình BERT được pre-train trên hai bài toán là masked language modeling (MLM) và next sentence prediction (NSP).

Pre-training

Các tham số được sử dụng (bộ tham số BERT-medium):

Tham sốGiá trị
hidden_size512512
num_layers88
num_heads88
intermediate_size20482048
dropout0.150.15
attention_dropout0.150.15
pooler_dropout0.30.3
seq_length128128
activationGELU
optimAdamW
weight_decay0.0050.005
lr0.60.6
warmup_steps1000010000
batch_size6464
max_grad_norm1.01.0

Mô hình được train trên tập text kích thước 500MB được trích ra từ tập dữ liệu OSCAR, tập dữ liệu sau khi được xử lý có tổng số mẫu là khoảng 11 triệu 400400 (việc tạo tập dữ liệu được thực hiện như mô tả của nhóm tác giả).

Mô hình có tổng số tham số là khoảng 58M58M và được train với 128K128K bước. Mô hình đạt được accuracy với MLM là 0.5610.561 và NSP là 0.9460.946 trên tập test.

Accuracy đối với MLM và NSP của mô hình BERT

Accuracy đối với MLM và NSP của mô hình

Đối với NSP thì mô hình hội tụ khá nhanh, còn đối với MLM thì lại khá chậm.

Ví dụ kết quả của mô hình trên tác vụ dự đoán [MASK] token:

sentence = '[CLS] Anh [MASK] là một [MASK] trai thấp [MASK] [SEP]'
>> predictions = [
    {
        'token': 'cũng',
        'score': 0.12953687
    },
    {
        'token': 'chàng',
        'score': 0.85561085
    },
    {
        'token': 'giọng',
        'score': 0.1861668
    },
]

Pre-train mô hình BART

Pre-training objective

Mô hình BART được pre-train với objective là denoising objective.

Pre-training

Các tham số được sử dụng:

Tham sốGiá trị
hidden_size512512
num_layers66
num_heads88
intermediate_size20482048
dropout0.10.1
attention_dropout0.10.1
src_seq_length128128
target_seq_length156156
activationGELU
optimAdamW
weight_decay0.0050.005
lr0.50.5
warmup_steps80008000
batch_size3232
max_grad_norm1.01.0
beam_size44

Mô hình được train trên tập text kích thước 500MB được trích ra từ tập dữ liệu OSCAR, cách xử lý dữ liệu được thực hiện theo mô tả của nhóm tác giả. Mô hình được thử nghiệm trên 44 tập dataset với khoảng 750K750K mẫu huấn luyện, tương ứng với các thao tác biến đổi và tỉ lệ như sau:

Mô hình có tổng số tham số là khoảng 61M61M, train trong 40K40K bước. Dưới đây là một số kết quả của mô hình:

BLEU score trên tập validation của mô hình BART

BLEU score trên tập validation

Có thể thấy điểm BLEU đạt cao nhất với text infilling so với token maskingtoken masking + token deletion + text infilling (do một vài các token liên tiếp được thay bởi một token [MASK] duy nhất dẫn đến số token [MASK] trong câu khá ít so với hai cách còn lại). Token deletion là khá khó đối với mô hình.

Training loss và validation loss của mô hình BART

Training loss và validation loss của mô hình

Ví dụ kết quả của mô hình với token masking:

Ví dụ kết quả của mô hình với token deletion:

Ví dụ kết quả của mô hình với text infilling:


Chia sẻ bài viết:

Bài tiếp theo
Examples of using bit compression (Một số ví dụ về bit-compression)