Mơ hình BERT

Một phần của tài liệu LATS-TuanLM (Trang 57)

Chương 2 CÁC KIẾN THỨC NỀN TẢNG

2.2. Các mơ hình ngơn ngữ dựa trên học sâu được huấn luyện trước

2.2.3. Mơ hình BERT

2.2.3.1. Giới thiệu

Mơ hình BERT [102] là mơ hình biểu diễn mã hóa hai chiều dựa trên Transformer, được thiết kế cho lớp bài tốn biểu diễn ngơn ngữ trong NLP của Google. Mơ hình BERT được phát triển để huấn luyện các véc tơ biểu diễn văn bản thông qua ngữ cảnh 2 chiều. Véc tơ biểu diễn sinh ra từ mơ hình BERT được kết hợp với các lớp bổ sung đã tạo ra các mơ hình hiệu quả cho các nhiệm vụ trong xử lý ngôn ngữ tự nhiên như: Đưa điểm đánh giá hiểu ngôn ngữ chung (GLUE - General Language Understanding Evaluation) đạt 80,5% (tăng 7,7%), bộ dữ liệu hỏi đáp SQuAD v2.0 (SQuAD - Stanford Question Answering Dataset) với điểm F1 (F1 - score) đạt 83,1% (tăng 5,1%),...v...v... Mơ hình BERT khắc phục được các nhược điểm của các phương pháp trước đây bằng cách tạo các biểu diễn theo ngữ cảnh dựa trên các từ phía trước và phía sau để tạo ra một mơ hình ngơn ngữ với ngữ nghĩa phong phú hơn.

Mơ hình BERT được huấn luyện trước trên một kho ngữ liệu văn bản lớn không gán nhãn là sự kết hợp của BooksCorpus (800 triệu từ) [103] và Wikipedia tiếng Anh (2.500 triệu từ), tổng cộng ~16GB văn bản không nén và được tinh chỉnh bằng cách sử dụng dữ liệu được gán nhãn của các nhiệm vụ phía sau.

2.2.3.2. Kiến trúc BERT

Hình 2.17. Kiến trúc mơ hình BERT [102]

BERT sử dụng Transformer [97] được biểu diễn trong Hình 2.17 (với: Ei là biểu diễn các mã hóa từ (word embedding), Trm là các véc tơ biểu diễn trung gian cho mỗi từ tại mỗi tầng Transformer tương ứng, Ti là véc tơ biểu diễn cho mỗi từ đầu ra cuối cùng). Trong kiến trúc của BERT, L là số lớp Transformer, H là kích thước của lớp ẩn và A là số đầu ở lớp chú ý (heads attention). Có 2 kích thước mơ hình BERT là:

- BERTBASE (L = 12, H = 768, A = 12, với 110 triệu tham số (110M)). - BERTLARGE (L = 24, H = 1.024, A = 16, với 340 triệu tham số (340M)).

Mỗi lớp thực hiện tính tốn multi-head attention trên biểu diễn từ của lớp trước để tạo ra một biểu diễn trung gian mới. Tất cả các biểu diễn trung gian này có cùng kích thước.

2.2.3.3. Biểu diễn đầu vào

Hình 2.18. Biểu diễn đầu vào của mơ hình BERT [102]

Đầu vào (Input): Có thể là một câu hoặc một cặp 2 câu ghép nối thành một

chuỗi các từ (token). Hai câu này được biểu diễn là một chuỗi đầu vào duy nhất với các token đặc biệt được thêm vào để phân biệt chúng như sau:

trong đó: x1, x2,…, xN; y1, y2,..., yM là 2 câu có M từ và N từ tương ứng; CLS, SEP là các token được thêm vào đầu câu, cuối câu thứ nhất tương ứng; EOS là token thêm vào kết thúc chuỗi và thỏa mãn điều kiện M + N < T (với T là độ dài lớn nhất của

chuỗi (512 token)). Một ví dụ minh họa biểu diễn đầu vào của BERT như trong Hình 2.18 ở trên.

Mã hóa từ vựng (Token Embeddings): Vai trò của lớp này là chuyển đổi các từ

thành véc tơ biểu diễn có kích thước cố định là 768 chiều.

Mã hóa phân đoạn (Segment Embeddings): BERT có thể lấy các cặp câu làm

đầu vào cho các tác vụ nên nó học các mã hóa khác nhau cho câu thứ nhất và câu thứ hai để mơ hình phân biệt chúng. Ví dụ: các tokens đánh dấu “EA” thuộc về câu

A và tương tự “EB” thuộc về câu B.

Mã hóa vị trí của từ (Position Embeddings): BERT học và sử dụng mã hóa vị

trí để chỉ ra vị trí của các từ trong câu. Mã hóa vị trí (position embedding) được thêm vào để khắc phục hạn chế của Transformer.

Với mỗi từ, véc tơ biểu diễn đầu vào được tính bằng tổng của 3 thành phần: mã hóa từ, mã hóa loại câu và mã hóa vị trí của từ trong câu tương ứng.

BERT sử dụng các mã hóa từ WordPiece [104] với bộ từ vựng có 30.000 từ và sử dụng ký hiệu “##” làm dấu phân tách để lấy từ gốc (ví dụ: từ “playing” được

phân tách thành “play” và “##ing”).

2.2.3.4. Biểu diễn đầu ra

Với mỗi từ thứ i (i 1 N , ) của chuỗi đầu vào, đầu ra là véc tơ Ti biểu diễn cho từ đầu vào tương ứng.

2.2.3.5. BERT được huấn luyện trước

BERT được huấn luyện trước (pre-trained BERT) với 2 nhiệm vụ dự đốn khơng giám sát là: Mơ hình dự đốn từ bị che (Masked LM - Masked Language Model) và dự đoán câu tiếp theo (NSP - Next Sentence Prediction). Khi huấn luyện mơ hình BERT, Masked LM và NSP được huấn luyện cùng nhau để giảm thiểu giá trị hàm lỗi.

Mơ hình dự đoán từ bị che (Masked LM): Một tập các token ngẫu nhiên trong

chuỗi đầu vào được thay thế bằng token đặc biệt gọi là token bị che [MASK]. Nhiệm vụ của Masked LM là dự đoán các token bị che dựa trên ngữ cảnh của các từ không bị che trong chuỗi. BERT chọn 15% token trong mỗi chuỗi đầu vào để thay thế bằng token [MASK], 80% các tokens đã chọn này được thay thế bằng [MASK], 10% giữ nguyên và 10% được thay thế bằng các token trong từ vựng. Dự đoán các từ đầu ra yêu cầu:

- Thêm một lớp phân loại trên đầu ra của bộ mã hóa.

- Nhân các véc tơ đầu ra với ma trận mã hóa, chuyển chúng thành kích thước từ vựng.

- Tính xác suất của mỗi từ trong từ vựng với hàm softmax.

Dự đoán câu tiếp theo (NSP): Nhiệm vụ này sẽ tạo ra hai nhãn “Position” và “Negative”. Mơ hình nhận các cặp câu làm đầu vào và học cách dự đoán nếu câu

thứ hai trong cặp là câu tiếp theo trong văn bản nguồn thì nhãn “Position” được tạo ra. Nhãn “Negative” được tạo ra nếu câu thứ hai là một câu ngẫu nhiên từ kho ngữ liệu văn bản.

Ví dụ: Giả sử cần huấn luyện trước mơ hình BERT sử dụng kho ngữ liệu văn bản có 100.000 câu. Như vậy, ta có 50.000 mẫu huấn luyện (mỗi mẫu là cặp 2 câu) làm dữ liệu huấn luyện.

- Với 50% cặp câu này, câu thứ 2 là câu tiếp theo của câu thứ nhất trong văn bản, các nhãn được tạo ra là “Position”.

- Với 50% cặp câu còn lại, câu thứ 2 là một câu ngẫu nhiên từ bộ dữ liệu, các nhãn này ký hiệu là “Negative”.

2.2.3.6. Tinh chỉnh BERT

Tùy thuộc vào hiệm vụ phía sau của các bài tốn, BERT sẽ được tinh chỉnh (fine-tuning) với các bộ dữ liệu huấn luyện của các nhiệm vụ phía sau để tạo ra mơ hình ngữ nghĩa phù hợp hơn cho các nhiệm vụ đó. Mơ hình sử dụng hai chiến lược tinh chỉnh:

(i) Đóng băng một vài lớp trước đó để đóng băng các trọng số đã học được từ mơ hình được huấn luyện trước (chỉ cập nhật trọng số ở một số lớp cao hơn) để tăng tốc độ huấn luyện của mơ hình;

(ii) Giảm tỉ lệ học (learning rate) để tăng độ chính xác cho mơ hình.

2.2.4. Các phiên bản chủ yếu của mơ hình BERT

2.2.4.1. Mơ hình BERT đã ngơn ngữ

Các mơ hình pre-trained BERT [102] đã công bố chỉ hỗ trợ cho các nhiệm vụ xử lý đơn ngôn ngữ tiếng Anh trong xử lý ngôn ngữ tự nhiên. Dựa trên các mơ hình pre-trained BERT, các mơ hình BERT đa ngơn ngữ (mBERT - BERT multilingual) [105] tương ứng đã được phát triển trong đó có tiếng Việt. Kiến trúc của các mơ hình mBERT dựa trên kiến trúc của các mơ hình pre-trained BERT tương ứng. Có hai mơ hình mBERT dựa trên các mơ hình BERT-Base là BERT-Base, Multilingual Cased (104 ngôn ngữ, 12 lớp, 768 chiều, 12 đầu attention, 110 triệu tham số) và BERT-Base, Multilingual Uncased (102 ngôn ngữ, 12 lớp, 768 chiều, 12 đầu

attention, 110 triệu tham số). Các mơ hình mBERT được huấn luyện trên trang Wikipedia gồm 104 ngôn ngữ với bộ từ vựng tương ứng thay vì chỉ được huấn luyện trên bộ dữ liệu đơn ngữ tiếng Anh với bộ từ vựng tiếng Anh tương ứng như các mơ hình BERT.

2.2.4.2. Mơ hình RoBERTa

Liu và cộng sự [106] đã đề xuất các mơ hình tối ưu của mơ hình pre-trained BERT [102] tương ứng là RoBERTa (Robustly optimized BERT approach) và đạt được kết quả tốt hơn mơ hình pre-trained BERT đã cơng bố. Mơ hình RoBERTa có kiến trúc giống mơ hình pre-trained BERT tương ứng. Những điểm thay đổi chủ yếu của mơ hình RoBERTa được tóm tắt như sau: RoBERTa được huấn luyện trên nhiều dữ liệu hơn so với pre-trained BERT (tổng cộng 160GB văn bản là sự kết hợp của các bộ dữ liệu: BOOKCORPUS [103] plus English WIKIPEDIA, CC-NEWS1, OPENWEBTEXT2, STORIES [107], thời gian huấn luyện mơ hình lâu hơn với

500.000 bước. Phương pháp huấn luyện RoBERTa cũng được thay đổi so với mơ hình BERT là loại bỏ nhiệm vụ dự đoán câu tiếp theo (NSP - Next Sentence Prediction) nên không bị mất mát NSP, RoBERTa được huấn luyện sử dụng cơ chế

che động (Dynamic Masking) nên các từ bị che (masked token) sẽ được sinh ra khi

câu được đưa vào mơ hình (mơ hình BERT sử dụng cơ chế che tĩnh (Static Masking)), mơ hình RoBERTa được huấn luyện với kích thước lơ dữ liệu (batch size) lớn hơn giúp chống nhiễu tốt hơn trong quá trình huấn luyện, và sử dụng thuật toán BPE mức byte (byte-level BPE) lớn hơn [108]. Độ dài tối đa của véc tơ câu sau khi mã hóa là 512. Mơ hình RoBERTa được huấn luyện theo kiến trúc của mơ hình BERTLARGE (L = 24; H = 1024; A = 16; 355 triệu tham số). Mơ hình được tối ưu với bộ tối ưu Adam [109].

2.2.4.3. Mơ hình PhoBERT

1 https: //commoncrawl.org/2016/10/newsdataset-available

2 https://Skylion007.github.io/OpenWebTextCorpus

PhoBERT [110] là mơ hình tối ưu của mơ hình BERT được huấn luyện trước dành riêng cho tiếng Việt, đã đạt được hiệu quả cao trong các nhiệm vụ xử lý ngôn ngữ tiếng Việt. Tóm tắt những điểm thay đổi chính của PhoBERT như sau: PhoBERT được phát triển với hai phiên bản PhoBERTBASE và PhoBERTLARGE, sử dụng các kiến trúc giống như các kiến trúc của mơ hình BERTBASE và BERTLARGE tương ứng. Phương pháp huấn luyện trước của PhoBERT dựa trên mơ hình RoBERTa để tối ưu phương pháp huấn luyện trước BERT. PhoBERT được huấn luyện trước trên bộ dữ liệu gồm 20GB văn bản không nén sau khi làm sạch (bộ dữ liệu này là sự kết hợp của hai kho văn bản là kho văn bản Wikipedia tiếng Việt (~1Gb) và kho văn bản (~19Gb) của kho tin tức tiếng Việt 40Gb sau khi lọc các tin tức trùng lặp3). Đối với mơ hình PhoBERT, bộ dữ liệu huấn luyện trước được xử lý tách từ trước khi mã hóa bằng thuật tốn BPE [108] (do tiếng Việt có từ ghép mà BPE khơng nhận biết được). Độ dài tối đa của véc tơ câu sau khi mã hóa là 256 nhỏ hơn so với mơ hình RoBERTa. Mơ hình cũng được tối ưu với bộ tối ưu Adam [109].

2.2.4.4. Các mơ hình BERT thu nhỏ

Các mơ hình BERT thu nhỏ [111] là các mơ hình BERT có kích thước nhỏ hơn, thời gian xử lý tính tốn nhanh hơn, tốn ít bộ nhớ hơn và hiệu quả đạt được xấp xỉ các mơ hình pre-trained BERT được phát triển để đáp ứng các yêu cầu ràng buộc về tài ngun. Dựa trên các mơ hình pre-trained BERT [102], các mơ hình BERT thu nhỏ được phát triển theo mơ hình “mạng dạy” - “mạng học” (“teacher” – “student”), trong đó mạng học là mơ hình BERT thu nhỏ (BERT “học”) được huấn luyện trước để tái tạo lại hành vi và nhận chuyển giao tri thức từ mạng dạy lớn hơn (BERT “dạy”) là các mơ hình BERTBASE, BERTLARGE được tinh chỉnh trên dữ liệu được gán nhãn của nhiệm vụ cụ thể thông qua kỹ thuật chưng cất tri thức (KD - Knowledge Distillation) [112,113]. Các mơ hình BERT thu nhỏ được huấn luyện qua ba bước: Huấn luyện trước trên dữ liệu mơ hình ngơn ngữ khơng gán nhãn để nắm bắt các đặc trưng ngôn ngữ từ kho ngữ liệu văn bản lớn; chưng cất trên dữ liệu chuyển giao không gán nhãn để tận dụng tối đa tri thức và được huấn luyện trên các

nhãn mềm (phân phối dự đoán) được sinh bởi BERT “dạy”; tinh chỉnh trên dữ liệu được gán nhãn của tác vụ cụ thể nếu cần để xử lý vấn đề khơng tương thích giữa tập dữ liệu chuyển giao và tập dữ liệu gán nhãn của tác vụ cụ thể (Hình 2.19). Có 24 mơ hình BERT thu nhỏ đã được phát triển như BERT-Tiny (với 2 lớp, 128 chiều, 4 triệu tham số), BERT-Mini (với 4 lớp, 256 chiều, 11 triệu tham số), BERT-Small (với 4 lớp, 512 chiều, 29 triệu tham số), BERT-Medium (với 8 lớp, 512 chiều, 41 triệu tham số), BERT-Base (với 12 lớp, 768 chiều, 110 triệu tham số),...v...v....

Hình 2.19. Mơ hình biểu diễn các bước chưng cất được huấn luyện trước của các mơ hình BERT thu nhỏ [111]

2.3. Kỹ thuật học tăng cường Q-Learning

2.3.1. Học tăng cường Q-Learning

Học tăng cường (RL - Reinforcement Learning) [114] là một kỹ thuật học máy mà một tác tử học bằng cách tương tác với môi trường xung quanh để tối đa hóa điểm thưởng nhận được. Các yếu tố chính trong học tăng cường bao gồm: Tác tử tương tác với môi trường bằng các hành động. Sau mỗi hành động, môi trường trả lại cho tác tử một trạng thái và điểm thưởng tương ứng với trạng thái đó. Một chuỗi các trạng thái và hành động từ trạng thái bắt đầu đến trạng thái kết thúc được gọi là một tập (episode). Trong một tập, tác tử sẽ chọn ra các hành động tối ưu để tối đa hóa điểm thưởng nhận được sau mỗi tập. Cách mà tác tử chọn những hành động đó gọi là chiến lược và mục đích là tìm ra chiến lược tốt nhất. Hình 2.20 dưới đây mơ tả tương tác giữa tác tử - mơi trường.

Hình 2.20. Mơ hình học tăng cường

Tác tử sẽ thực thi một chuỗi hành động mà tạo ra tổng điểm thưởng lớn nhất dựa trên điểm thưởng mong muốn của mỗi hành động ở mỗi bước. Tổng điểm thưởng này còn được gọi là giá trị Q (Q-value), được tính theo cơng thức sau:

( , ) ( , ) max ( ', )

a

Q s ar s a  Q s a

(2.38) trong đó: Q(s,a) là Q-value khi thực hiện hành động a tại trạng thái s, r(s,a) là điểm thưởng nhận được, s' là trạng thái kế tiếp, γ là hệ số tiêu hao (discount factor) kiểm sốt sự đóng góp của điểm thưởng để đảm bảo càng "xa" đích thì Q-value càng nhỏ.

Công thức (2.38) tạo ra một ma trận trạng thái - hành động được xem như một bảng tra cứu Q (Q-table). Với mỗi cặp trạng thái - hành động tác tử chỉ cần tìm hành động có Q-value lớn nhất bằng việc tra cứu bảng Q-table. Tuy nhiên, học tăng cường là một tiến trình ngẫu nhiên nên Q-value ở thời điểm (t-1) và thời điểm t sau khi thực hiện hành động là khác nhau và giá trị này được tính theo cơng thức:

1 ' ( , ) ( , ) max ( ', ') t ( , ) a TD a sr s a  Q s aQs a (2.39) với: a' là hành động kế tiếp, α là hệ số học.

Tại thời điểm t, ma trận Q(s,a) cần phải cập nhật trọng số dựa trên giá trị

TD(a,s) như sau:

1

( , ) ( , ) ( , )

t t t

Q s aQs a TD a s (2.40)

Quá trình này được gọi là học Q (Q-Learning) và thuật toán Q-Learning [114] học tất cả các giá trị Q(s,a) của môi trường bằng việc thử và cập nhật để xây dựng Q-table.

2.3.2. Thuật tốn học tăng cường Deep Q-Learning

Thuật tốn Q-Learning có nhược điểm là u cầu số lượng trạng thái xác định để kích thước bảng Q-table khơng q lớn để có thể dự đoán được. Để giải quyết vấn đề này, kỹ thuật học tăng cường Deep Q-Learning [114] sử dụng mạng nơ ron (đầu vào là trạng thái, đầu ra là Q-value của tất cả các hành động) thay thế bảng Q- table để ước lượng các giá trị Q-value với từng cặp trạng thái - hành động. Deep Q- Learning khắc phục vấn đề qúa khớp (overfitting) của mạng nơ ron sử dụng kỹ thuật kinh nghiệm phát lại (Experience Replay) được mô tả như sau: Hệ thống sẽ lưu lại các trạng thái vào bộ nhớ thay vì mỗi trạng thái mạng cập nhật một lần, sau đó thực hiện lấy mẫu thành các lơ (batch) và đưa vào mạng nơ ron.

Thuật toán học tăng cường Deep Q-Learning với kỹ thuật kinh nghiệm phát lại [114] được tóm tắt sau đây.

phát lại

Đầu vào: Các trạng thái s;

Đầu ra: Các Q-value của các hành động tương ứng; Thuật toán:

1: Tác tử chọn hành động bằng một chiến lược và thực hiện hành động đó;

2: Mơi trường trả lại trạng thái s' và điểm thưởng r là kết quả của hành động a và lưu bộ kinh nghiệm (experience) (s, a, r, s') vào bộ nhớ;

3: Thực hiện lấy mẫu các experience thành các lô (batch) và huấn luyện mạng nơ ron;

4: Lặp lại đến khi kết thúc M tập (episode); 5: Return;

2.4. Tìm kiếm Beam

Trong mơ hình seq2seq, ở giai đoạn giải mã, bộ giải mã sẽ nhận đầu vào là kết quả được sinh ra tại bước trước đó (với bước đầu tiên, bộ giải mã nhận đầu vào là kết quả được sinh ra từ bộ mã hóa) để sinh ra bản tóm tắt mới. Trong bài tốn tóm tắt văn bản, thông thường việc lựa chọn chuỗi đầu ra được thực hiện bởi các thuật

Một phần của tài liệu LATS-TuanLM (Trang 57)

Tải bản đầy đủ (DOCX)

(194 trang)
w