CHƯƠNG 1. MÔ HÌNH BERT 1. Khái niệm BERT ( Bidirectional Encoder Representations from Transformers ) là một mô hình ngôn ngữ ( Language Model ) được tạo ra bởi Google AI và được giới thiệu vào năm 2008. BERT được coi như là đột phá lớn trong Machine Learning bởi vì khả năng ứng dụng của nó vào nhiều bài toán NLP ( Natural Language Processing ) khác nhau: Question Answering, Natural Language Inference,.
với kết quả rất tốt. Các nhà nghiên cứu làm việc tại Google AI tái khẳng định, sự thiếu hụt dữ liệu huấn luyện là một trong những thách thức lớn nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên. Đây là một lĩnh vực rộng lớn và đa dạng với nhiều nhiệm vụ riêng biệt, hầu hết các tập dữ liệu đều chỉ đặc thù cho từng nhiệm vụ. Để thực hiện được tốt những nhiệm vụ này ta cần những bộ dữ liệu lớn chứa hàng triệu thậm chí hàng tỷ ví dụ mẫu.
Tuy nhiên, trong thực tế hầu hết các tập dữ liệu hiện giờ chỉ chứa vài nghìn hoặc vài trăm nghìn mẫu được đánh nhãn bằng tay bởi con người ( các chuyên gia ngôn ngữ học ). Sự thiếu hụt dữ liệu có nhãn chất lượng cao để huấn luyện mô hình gây cản trở lớn cho sự phát triển của NLP nói chung. Để giải quyết thách thức này, các mô hình xử lý ngôn ngữ tự nhiên sử dụng một cơ chế tiền xử lý dữ liệu huấn luyện bằng việc transfer từ một mô hình chung được huấn luyện 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e từ một lượng lớn các dữ liệu không được gán nhãn. Ví dụ một số mô hình đã được nghiên e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 7 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a cứu trước đây để thực hiện nhiệm vụ này như Word2vec, Glove hay FastText.
860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 0 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b Việc nghiên cứu các mô hình này sẽ giúp thu hẹp khoảng cách giữa các tập dữ liệu dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc chuyên biệt cho huấn luyện bằng việc xây dựng mô hình tìm ra đại diện chung của ngôn c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6 ngữ sử dụng một số lượng lớn các văn bản chưa được gán nhãn lấy từ các trang web. fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 Các mô hình được huấn luyện trước khi được tinh chỉnh lại trên các nhiệm vụ khác 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 nhau với các bộ dữ liệu nhỏ như Question Answering, Sentiment Analysis,.sẽ dẫn đến sự 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 cải thiện đáng kể về độ chính xác cho so với các mô hình được huấn luyện trước với các df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 bộ dữ liệu này. 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 0 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b Tuy nhiên, các mô hình kể trên có những yếu điểm riêng của nó, đặc biệt là không thể 3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 hiện được sự đại diện theo ngữ cảnh cụ thể của từ trong từng lĩnh vực hay văn cảnh cụ thể. 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 9 Tiếp nối sự thành công nhất định của các mô hình trước đó, Google đã công bố thêm 1 kỹ thuật mới được gọi là Bidirectional Encoder Representations from Transformers ( BERT ).
Tại sao lại cần BERT Một trong những thách thức lớn nhất của NLP là vấn đề dữ liệu. Trên internet có hàng tá dữ liệu, nhưng những dữ liệu đó không đồng nhất; mỗi phần của nó chỉ được dùng cho một mục đích riêng biệt, do đó khi giải quyết một bài toán cụ thể, ta cần trích ra một bộ dữ liệu thích hợp cho bài toán của mình, và kết quả là ta chỉ có một lượng rất ít dữ liệu. Ví dụ : Trong OpenAI GPT, các tác giả sử dụng đã kiến trúc left-to-right, nghĩa là các từ chỉ phụ thuộc vào các từ ở trước đó. Nhưng có một nghịch lý là các mô hình Deep Learning cần lượng dữ liệu rất lớn - lên tới hàng triệu - để có thể cho ra kết quả tốt.
Do đó một vấn đề được đặt ra: làm thế nào để tận dụng được nguồn dữ liệu vô cùng lớn có sẵn để giải quyết bài toán của mình. Đó là tiền đề cho một kỹ thuật mới ra đời: Transfer Learning. Với Transfer Learning, các mô hình (model) "chung" nhất với tập dữ liệu khổng lồ trên internet ( pre-training ) được xây dựng và có thể được "tinh chỉnh" ( fine-tune ) cho các bài toán cụ thể. Nhờ có kỹ thuật này mà kết quả cho các bài toán được cải thiện rõ rệt, không chỉ trong 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e xử lý ngôn ngữ tự nhiên mà còn trong các lĩnh vực khác như Computer Vision,.
BERT là e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 7 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a một trong những đại diện ưu tú nhất trong Transfer Learning cho xử lý ngôn ngữ tự nhiên, 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b f81b6f9 bdc32e cac7 776e0 cf7b6 0da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b86 0 6f9bdc3 2eca c77 76e0 cf7 b60 da52 f6cf66 b5ff294 1e74 7e6f87e1 b11a9 32dab860 f81 b nó gây tiếng vang lớn không chỉ bởi kết quả mang lại trong nhiều bài toán khác nhau, mà dc32e cac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f87 e1b1 1a932 dab8 60f81b6 f9 b còn bởi vì nó hoàn toàn miễn phí, tất cả chúng ta đều có thể sử dụng BERT cho bài toán 32eca c7776 e0cf7 b60da 52f6cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc c7776 e0cf7b60da 52f6 cf66b5ff2941 e747e 6f8 7e1b11a932 dab8 60f81b6 f9 bdc32e ca e0cf7b60 da52 f6 cf6 6b5ff2 941e7 47e6 f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6 của mình. fc3a3 f93a 08582 6d66a 60f835 d2406 ea15 f7e7 b88cbf5e9cb78 cc9e16 d1072 e24 c3ee4 7d0800 c6a8 0136 f54 da448 1c2 b397 7f6 f33 e0be 8a4b3 d678 cc5b77 828 cc3 7ae38 f66a4 9c84a7 1dc1cb825a 4f1 d7c732fb9a4 e5765 f83 10c1984 f96 1e06 cf3 fc71f185b5ad74 b 1. Một số khái niệm fac7b7b2 0dfcfdcdf1 cf4 2b2 fc6 b5a c1e9 c4a51ae fef5b7 de7f4b3 cc9e5d780d33d5 94 9e3f2 1bf4656 147e4 1c5 63d1 76a97 9e946 6be8 9c63 c0e 2907 0df0e654 8e28 c32 c6 f8f7 7ea8e433 c9 f051 8c9 06b9a 684d9d02 5cb598 854db148 3a8024 9bc348 7e1be 4646 2d7a b 1. Nhiệm vụ phía sau (Downstream task) f21d145b5b08 b8e1 f8 c76 f42 b4ce 759fb93 c48 e7f8a41e7 8571e 64a2 f48b0e5 c8d4 bb8 df3 fa34df8 f2c9de ba5dcb1e e30bc7d67cb1d4163 72d9 47cdab0 1c5 76b2 b2efb3 c49a2 08d258 539 bc6 96d5a 3b1a4 c49 7180 bae30 dc4 4793a3 dc5d19 4ad09 3cb5c3f9 9f2 02398 Là những nhiệm vụ học hỏi được giám sát được cải thiện dựa trên những mô hình được 30ff2d29 b07 f39 d69e d7d2 e358bfca d25b40c5434 0e68a b4ee2 b76e0 b2a8 65300 be6e 0 95f4 fcb5fd1f4 934 f29e7 ee6d7cfa 31ddc0 5b49 f94 3c1 e22 f3b5 c0e4a d46 2e7c96fc5b huấn luyện trước.
3f9 f11 c9f0 8a6db91a1 7118e 3de6 3e7a02 f9 c1d19137 7d0a7a 34d40ff5b8 453 f6f4e0e 59e15a9 f853 8397 40b3 e9ac33e6fc51 7d8 b739 3a5076 c67 d16e 7cc03df1 b1f0b9 fc0 46 3a67e368 0a4d3d50 cf8d5 f476 8201 e328 cbbba50 c741 ebd4f6 b2e1 0316e d218 e1d2 918 Ví dụ: Chúng ta sử dụng lại các biểu diễn từ học được từ những mô hình được huấn 0d4204 90efb3ab05fb73 c76 f04 f402 4609 30bbbd8c70 8725 e74dc8 cf9a 5b23 c6 ce52 6d 5a2ffad28c03f5ddc8 b5b1 9f6 5a9a4 f8ff22e 5e28b515a6 e2baff25 e0185 e7457 d94 b3 luyện trước trên bộ văn bản lớn vào một nhiệm vụ phân tích cảm xúc huấn luyện trên bộ 6e74e1a5 eb8e 6a6629 e94dc3 b8533 4599 8a334 c325 5d17 f25 1a9f0fc09d15d4 76fc381 14dd4 024 c2f27f32d2 1896e 863 d2798 93b4 5fb87d4d3 b709a d32bf1 f855 3822 14eb1 0a văn bản có kích thước nhỏ hơn. Áp dụng nhúng huấn luyện trước ( pretrain-embedding ) 4a2b893 e6f264e6 3adfe30c144aa d9ad6 d154a 23f6b2 be48 d55b74c3677 f31a2 6752 77 10 đã giúp cải thiện mô hình. Như vậy nhiệm vụ sử dụng nhúng huấn luyện trước được gọi là nhiệm vụ sau. Điểm khái quát đánh giá mức độ hiểu ngôn ngữ (GLUE score benchmark) GLUE score benchmark là một tập hợp các chỉ số được xây dựng để đánh giá khái quát mức độ hiểu ngôn ngữ của các mô hình NLP.
Các đánh giá được thực hiện trên các bộ dữ liệu tiêu chuẩn được qui định tại các convention về phát triển và thúc đẩy NLP. Mỗi bộ dữ liệu tương ứng với một loại tác NLP vụ như: • Phân tích tình cảm (Sentiment Analysis) • Hỏi đáp (Question and Answering) • Suy luận ngôn ngữ tự nhiên (NLI - Natural Languague Inference) • Dự báo câu tiếp theo (NSP - Next Sentence Prediction) • Nhận diện thực thể trong câu (NER - Name Entity Recognition) 1. Phân tích cảm xúc (Sentiment Analysis) Phân loại cảm xúc văn bản thành 2 nhãn tích cực (positive) và tiêu cực (negative). Thường được sử dụng trong các hệ thống đánh giá bình luận của người dùng.
Hỏi đáp (Question and Answering) 6f87e 1b11a 932da b860 f81 b6 f9bdc3 2eca c777 6e0cf7 b60da 52f6cf66 b5ff294 1e747 e e1b11a9 32da b860 f81 b6f9bdc32 ecac7776 e0cf7b60da5 2f6 cf66b5ff2941e 747e 6f8 7 Là thuật toán hỏi và đáp. Đầu vào là một cặp câu (pair sequence) bao gồm: câu hỏi 932dab860 f81b6f9 bdc32e cac7776e 0cf7b6 0da5 2f6 cf66b5ff2 941e 747e6 f87e 1b1 1a 860f8 1b6 f9bdc32eca c77 76e0 cf7 b60 da52 f6cf66 b5ff29 41e74 7e6f87e1 b11a9 32da b (question) có chức năng hỏi và đoạn văn bản (paragraph) chứa thông tin trả lời cho câu hỏi.