Nghiên cứu trước đây fine-tune LM để encode text như câu và đoạn vănthành các biểu diễn dense vector để so sánh và truy xuất văn bản hiệu quả.Nhưng dense encoders thì yêu cầu nhiều dữ li
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
-***** -SEMINAR MÔN HỌC KHAI THÁC NGỮ LIỆU VĂN BẢN NÂNG CAO -
K31Condenser: a Pre-training Architecture for Dense Retrieval
Giảng viên hướng dẫn : Nguyễn Trường Sơn Học viên thực hiện :
Hoàng Minh Thanh – 21C11029Trần Hữu Nghĩa – 21C12005
Trang 2Mục lục
1 Giới thiệu 2
2 Các phương pháp liên quan 3
2.1 Mô hình BERT 3
2.2 Mô hình SBERT 5
2.3 Dense Retrieval 8
2.4 Inverse Cloze Task (ICT) 9
2.5 Effective Dense Retriever 10
3 Mô hình Condenser 11
3.1 Nhược điểm của mô hình BERT 11
3.2 Mô hình Condenser 12
4 Thực nghiệm 16
4.1 Sentence Similarity 16
4.2 Retrieval cho Open QA 17
4.3 Retrieval for Web Search 18
4.4 Attention Analysis 19
5 Condenser trong bài toán Zalo 2021 20
Bài toán Zalo AI 2021: Legal Text Retrieval 21
Mục tiêu thực hiện: 21
Các bước thực hiện: 22
6 Kết luận 23
7 Tài liệu kham khảo 24
Trang 3Condenser: a Pre-training Architecture
for Dense Retrieval
Thực nghiệm đã chứng minh rằng mô hình Condenser giúp cho việc DenseRetrieval tốt hơn Giúp kết quả của việc truy xuất văn bản tốt hơn
Nghiên cứu trước đây fine-tune LM để encode text như câu và đoạn vănthành các biểu diễn dense vector để so sánh và truy xuất văn bản hiệu quả.Nhưng dense encoders thì yêu cầu nhiều dữ liệu và những kỹ thuật phức tạp
để trong các tình huống mà có ít dữ liệu Bên trong tiêu chuẩn LM thì kiếntrức Attention thì không sẵn sàng cho dense encoder
2
Trang 42 Các phương pháp liên quan
2.1 Mô hình BERT
Mô hình BERT là mô hình dựa trên cơ chế attention
Cơ bản mục tiêu của mô hình BERT là biểu diễn một từ thành một vector
sao cho vector đó có thể biểu diễn đầy đủ thông tin và các đặc trưng vốn cócủa từ đó
Ví dụ minh họa như ở đây, câu Apple is good for your health và câu Apple is
good in its design
Từ Apple chỉ biểu diễn thành một vector có kích thước d chiều, thì rất khó để đểbiểu diễn đúng trong các điều kiện và hoàn cảnh khác nhau Vì vậy vector đó
phải ở vị trí mà sao cho khi nhân với các vector lận cận khác thì kết quả cuối
cùng sẽ phân biệt được với nhau Ví dụ: khi nhân vector Apple X1 với các vector
từ khác (Y1, Y2, Y3, Y4, Y5) ở câu thứ nhất, và vector từ Apple khi nhân với cácvector từ ở câu thứ hai thì kết quả phải khác nhau
Đó chính là nền tảng và tư tưởng chính của cơ chế chú ý (attention
mechanism)
Về mặt toán học cơ chế attention được biểu diễn theo công thức sau:
Trang 5Với Softmax(Q*K^T/sqrt(d_k)) là một hệ số thể hiện sự quan trọng từng phần
tử trong vector query với vector key, sau đó mô hình nhân với vector value
để được kết quả cuối cùng MultiHead Attention chỉ đơn giản là ghép các kếtquả của attention rồi nhân với một vector biến đổi tuyến tính
Mô hình Transfomer được dựa trên cơ chế attention, với hai phần lớp Encoder
và Decoder Đầu tiên các văn bản được nhúng sao cho các từ được nhúng đểcho các từ được phân biệt với nhau bằng kỹ thuật Position Embedding
Mô hình đi qua hai thành phần chính là Encoder và Decoder Với mục tiêu là tính
sự quan trọng của các vector input với nhau thông qua nhiều bước của attentionmechanisn để tạo ra nhiều bước lọc xếp chồng lên nhau trước khi đi đến kết quảcuối cùng
Mô hình BERT là mô hình dựa trên cơ mô hình Transfomer nhưng chỉ sử dụnglớp Encoder của Transfomer
4
Trang 6Kiến trúc của mô hình cũng tương tự như mô hình Transfomer như hình minhhọa dưới đây.
Như ta có thể thấy ở hình minh họa, mô hình BERT sẽ ghép hai câu lại vớinhau ngăn cách bởi token vector SEP và đưa vào các Block Transfomer Vớitoken đầu tiên sẽ được biểu diễn thành một vector có ký hiệu là CLS Vectorcuối cùng sẽ được ký hiệu là SEP
2.2 Mô hình SBERT
Mục tiêu của mô hình SBERT là biểu diễn câu, mô hình BERT cũng dựa trên
mô hình Transfomer và chỉ sử dụng lớp Encoder
Tuy nhiên, thay vì sử dụng Cross-Encoder như mô hình BERT thì SBERT dùngBi-encoders để đảm bảo tính toán nhanh hơn giữa các vector, giúp việc lưutrữ các kết quả đã tính toán để so sánh, inference trên các bộ dữ liệu cực lớn
Bi-Encoders
5
Trang 7Bi-Encoders sx tính độ tương đồng giữa queries và data trong không gianvector Model này được biểu diễn dữ liệu (văn bản, hình ảnh, video,…) dướidạng vector Nó sẽ chụp (capture) ngữ cảnh và ngữ nghĩa của dữ liệu Tương
tự, các truy vấn tìm kiếm cũng có thể được biểu diễn bằng cách Embbendingvector Có thể thực hiện tìm kiếm tương tự để truy xuất (retrieve) các vectơgần nhất
Các mô hình tính toán các phép dense vector embeddings cho dữ liệu (mà saunày có thể được sử dụng cho các truy vấn tìm kiếm) được gọi là các mô hình Bộ
mã hóa hai chiều (Bi-Encoder) Các vectơ dữ liệu và vectơ truy vấn có thể được
so sánh bằng cách tính toán độ tương tự (ví dụ cosine) giữa các vector Tất cảcác mục dữ liệu trong cơ sở dữ liệu có thể được biểu diễn bằng cách vectorembedding sử dụng mô hình Bi-Encoder
Cross-Encoder
Cross-Encoder không tạo ra các embedding vector cho dữ liệu mà thay vào đó
sử dụng cơ chế phân loại cho các cặp dữ liệu Đầu vào của mô hình luôn baogồm một cặp dữ liệu, ví dụ hai câu và xuất ra một giá trị từ 0 đến 1 cho thấy sựgiống nhau giữa hai câu này Vì vậy, các câu riêng lẻ không thể được chuyểnsang mô hình Cross-Encoder, nó luôn cần một cặp "mục" Về tìm kiếm, cần sửdụng Cross-Encoder với từng mục dữ liệu và truy vấn tìm kiếm, để tính toán mức
độ tương đồng giữa truy vấn và đối tượng dữ liệu
Trang 8Cross-Encoder ta sẽ cho đồng thời cả hai câu vào trong mạng Transformer.
Nó sẽ tạo ra giá trị từ 0 đến 1 cho biết sự giống nhau của hai câu
Nếu một mô hình Cross-Encoder được đào tạo trên một tập huấn luyện đạidiện, nó sẽ đạt được độ chính xác cao hơn so với Bi-Encoder Tuy nhiên, vìcần sử dụng mô hình Cross-Encoder trong khi tìm kiếm mọi mục dữ liệu đơn
lẻ kết hợp với truy vấn nên phương pháp này rất kém hiệu quả Đối với mộtứng dụng tìm kiếm ngữ nghĩa trong đời thực – với hàng nghìn hoặc hàng triệuđối tượng – điều này sẽ không thực tế, vì sẽ mất “mãi mãi” để thực hiện tìmkiếm
Bert sử dụng cross-encoder tức là sẽ cho hai vào trong transformer và dựđoán cặp giá trị Tuy như việc sử dụng cross-encoder cho các tác vụ hồi quycặp khác nhau do có quá nhiều kết hợp có thể
Ví dụ Tìm trong tập hợp n = 10 000 câu, cặp có độ tương tự cao nhất yêu cầu với BERT n·(n−1)/2 = 49 995 000 phép tính suy luận trên trên V100 GPU sẽ mất khoản 65 giờ.
Để giảm bớt vấn đề này, SBERT Kiến trúc mạng siamese cho phép các
vector có kích thước cố định cho các câu đầu vào có thể được lấy ra Sử dụng thước đo độ tương tự như cosine có thể tìm thấy các câu giống nhau
về mặt ngữ nghĩa SBERT được sử dụng để tìm kiếm sự tương đồng về ngữ nghĩa cũng như để phân cụm Độ phức tạp để cặp câu giống nhau nhất
trong 10.000 câu được giảm từ 65 giờ với BERT xuống tính toán 10.000
sentence embeddings (khoảng 5 giây với SBERT) và tính toán cosine
(khoảng 0,01 giây)
Language model (LM) pre-training rất hiệu quả trong công việc learning text
encoders có thể finetuned cho nhiều Nhiệm vụ phía sau (downstream tasks).Gần đây việc tinh chỉnh Token CLS để encode input chuỗi văn bản đầu vàothành một biểu diễn vector Do
Trang 9đó, các vector có thể được sử dụng để so sánh hoặc truy xuất (retrieval) vănbản hiệu quả bằng Không gian tích trong (inner product).
Không giống như các pre-train cụ thể Condenser pre-train hướng đến cấutrúc Bi-encoder Nhận thấy trong các thiết lập dữ liệu ít, với kiến trúc thờigian thử nghiệm giống hệt nhau, Condenser mang lại sự cải thiện đáng kể sovới LM tiêu chuẩn và cho thấy hiệu suất tương đương với các mô hình đượcđào tạo trước dành riêng cho từng nhiệm vụ mạnh mẽ Với dữ liệu đào tạolớn, nhận thấy công cụ truy xuất Condenser tối ưu hóa dễ dàng hơn, vượt trội
so với các Model trước đây được đào tạo bằng các kỹ thuật phức tạp chỉ asingle round of negative mining
Việc đào tạo trước LM của Transformer Bi-encoder sau đó fine-tuning đã
trở thành một mô hình quan trọng trong NLP Thử thách lớn của áp dụngdeep Transformer là chi phí tính toán khi tri xuất văn bản từ một tập dữ liệulớn SBERT đào tạo Bi-encoder từ BERT và không gian tích trong(innerproduct) vector để so sánh độ tương đồng trong câu Transformer bi-encoders cũng sớm được sử dụng làm dense retriever
2.3 Dense Retrieval
Dense Retrieval so sánh các vector truy vấn với các vector tài liệu văn bản
bằng cách sử dụng không gian tích trong Các mô hình như vậy vẫn còn quátốn kém để truy xuất kho văn bản đầy đủ(full corpus) Một giải pháp thay thế
là mô hình truy xuất thưa thớt theo ngữ cảnh được đề xuất gần đây
Bi-encoder để truy xuất danh sách các ứng cử viên kết quả, sau đó sử dụng
Cross-Encoder trên danh sách các ứng cử viên này để chọn ra (hoặc xếp hạnglại) các kết quả phù hợp nhất Bằng cách này sẽ hưởng lợi từ phương pháp truyxuất hiệu quả bằng cách sử dụng
Trang 10Bi-encoder và độ chính xác cao của Cross-Encoder, có thể sử dụng phươngpháp này trên các bộ dữ liệu quy mô lớn.
Pre-train Bi-encoder một trong những phương pháp cho thấy tính hiệu quả
trong bi-encoder cho dense retrieval Họ đã đề xuất đào tạo thêm BERT trướcvới Inverse Cloze Task (ICT)
2.4 Inverse Cloze Task (ICT)
ICT sử dụng cặp đoạn văn và đoạn văn đầy đủ làm cặp huấn luyện giả Kếtquả cho thấy rằng các mô hình không được đào tạo trước không tạo ra kếtquả truy xuất với dữ liệu thấp.Một câu được coi là một câu hỏi giả và ngữcảnh của nó được coi là bằng chứng giả Đưa ra một câu hỏi giả, ICT yêu cầuchọn bằng chứng giả tương ứng trong số các ứng cử viên trong một đợt
Khác với các Cloze task tiêu chuẩn (standard Cloze task) thay vì dự đoánmasked-out văn bản trên ngử cảnh đó thì ICT cho một câu và dự đoán ngửcảnh của nó
Một khía cạnh quan trọng của ICT là nó đòi hỏi phải học nhiều hơn các tínhnăng ghép từ, vì câu hỏi giả không có trong bằng chứng (evidence) Ví dụ:câu hỏi giả trong Figure2 không bao giờ đề cập rõ ràng đến “Ngựa vằn”,nhưng retriever vẫn có thể chọn ngữ cảnh thảo luận về Ngựa vằn
9
Trang 11Kết quả của họ cũng cho thấy rằng các mô hình không được đào tạo trướckhông tạo ra kết quả truy xuất tốt trong các thiết lập ít dữ liệu
2.5 Effective Dense Retriever
Knowledge distillation là thuật toán lấy ý tưởng chính từ quá trình học tập ởngười khi mà kiến thức được truyền đạt từ giảng viên có hiểu biết tốt hơn tớingười học có hiểu biết kém hơn Trong kỹ thuật knowledge distillation thì mộtmodel lớn hơn sẽ đóng vai trò là teacher nhằm chuyển giao kiến thức sangmodel nhỏ hơn đóng vai trò là student
Áp dụng knowledge distillation có thể tạo cải thiện đáng kể các tác vụ trên
cả NLP và computer vision với cùng một lớp mô hình Ngoài ra nó còn giúptạo ra những mô hình nhỏ nhưng độ chính xác cao hơn ban đầu nhằm triểnkhai trên các thiết bị cấu hình yếu
Quá trình distillation sẽ bao gồm các bước:
• Huấn luyện teacher: Teacher được huấn luyện trên một tập dữ liệu
đã được labeled Bộ dữ liệu này thường có kích thước vừa đủ để teachernetwork học được tổng quát các trường hợp Sau khi teacher đã đủ tốt (giả
sử đạt 95% accuracy), chúng ta sử dụng teacher để huấn luyện student
• Huấn luyện student: Quá trình này sẽ sử dụng gợi ý từ teacher để cải
thiện student Nếu huấn luyện theo phương pháp thông thường thì student
sẽ áp dụng hàm loss function dạng cross-entropy dạng như sau:
Trang 123 Mô hình Condenser
3.1 Nhược điểm của mô hình BERT
Mô hình BERT sẽ nhúng từng câu thành các vector, như hình minh họa ở trên câu qua các layer nhúng sẽ biến đổi thành hai vector tương ứng Hai câu được ghép với nhau bằng một vector token [SEP] Tuy nhiên ở đoạn đầu tiên, ta thấy
vector token [CLS] lại được nhúng thành vector c, và vector đó mới tiếp tục
biến đổi tiếp để tiến hành tính score cuối cùng Điều này khiến cho quá trình
đạo hàm ngược sẽ cập nhật từ hàm f trở xuống, và vector gần với hàm f nhất
đó là vector đã được nhúng tương ứng với token [CLS], vì vậy các vector được nhúng từ first_sentence -> u và second_sentence -> v sẽ không có độ khớp tương xứng so với input ban đầu. Chính vì vậy mà tác giả có dẫn chứng
rằng khi training cho model pre-train thì hầu hết các sự cập nhật trọng số đến từ phần giữa mô hình, tức là phần Transfomer Encoder Các vector u, h được cập nhật nhưng không tạo ra sự ảnh hưởng lớn tương xứng với từng input vào final score.
Chính vì sự lệnh pha này mà khi sử dụng các vector u, v cho fine-tune thì cầnthiết kế để xếp chồng lên các layer phù hợp (Sophisticated), và kết quả sẽ
chưa đủ tốt bởi vì các
Trang 13vector u, v chưa sẵn sàng để sử dụng trực tiếp Chính vì vậy mà tác giả đề
xuất mô hình Condenser để cải thiện vấn đề này
3.2 Mô hình Condenser
Ý tưởng:
Mô hình BERT có sự lệnh pha -> Ghép chồng thêm (cho đúng pha) ->
xóa bỏ phần thêm -> mô hình cuối cùng
• Thay vì dùng u, v (hình trên) để fine-tune cho các tác vụ khác thì ta ghép thêm một layer Head (Pre-train) Transfomer nữa, rồi training cho vector nhúng CLS qua final score Sau đó bỏ (drop) lớp layer Head vừa mới thêm , chỉ sử dụng vector u, v để tiếp tục fine- tune như bình thường.
Vấn để của Transformer Encoder
Để fine-tune từ model BERT sang dense detriever ta cần có một phươngpháp khá phức tạp nhưng nếu ta sử dụng Condenser thì ta chỉ cần pre-traintrước sau đó sủ dụng cấu trúc Condenser ta có thể fine-tune đơn gian hơnnhư hình mô tả bên dưới
Nhận thấy BERT fine-tuning cẩn thận có thể tạo ra kết quả tốt hơn so với các
hệ thống dense retrieval được đào tạo trước đó
Trong Transformers, tất cả các token, bao gồm cả CLS, chỉ nhận thông tincủa các token khác trong attention Do đó, Attention xác định mức độ hiệuquả của CLS có thể tổng hợp thông tin Để hiểu các hành vi atttention củaCLS,
1)Ở hầu hết các lớp giữa, Token CLS có Attention tương tự như các Token văn bản khác và không được các Token khác tham gia
2) Cho đến lớp cuối cùng, CLS có sự attention rộng rãi duy nhất trên toàn bộchuỗi để thực hiện nhiệm vụ NSP Nói cách khác, token CLS vẫn không hoạtđộng ở nhiều lớp trung gian và chỉ kích hoạt lại trong vòng attention cuốicùng Bi-encoder hiệu quả nên
Trang 14cố gắng tổng hợp thông tin có mức độ chi tiết khác nhau từ toàn bộ câuthông qua tất cả các lớp và cấu trúc này trong LM được đào tạo trước tiêuchuẩn chưa sẵn sàng ngay lập tức để fine-tunning.
Từ những vấn để đó mà ta có kiến trúc mới là Condenser
Giống như Transformer Encoder, Condenser được tham số hóa thành một
chồng các khối Transformer, được hiển thị trong Figure1
Thiết kế của mô hình Condenser được chia thành 3 nhóm
Le early encoder backbone layers
Ll late encoder backbone layers
Lh Condenser head Layers
13
Trang 15Condenser Head Thiết kế quan trọng đặt một mạch ngắn từ đầu ra sớm
đến đầu, nhận một cặp biểu diễn trễ-sớm
Train MLM loss với head output
Condenser, late encoder backbone có thể tinh chỉnh thêm các biểu diễn
Token nhưng chỉ có thể chuyển thông tin mới qua hlatecls ,late CLS Do đó,Late CLS được yêu cầu để tổng hợp thông tin mới được tạo later in thebackbone và sau đó, header có thể tạo điều kiện cho Late CLS để đưa ra dựđoán LM Trong khi đó, bỏ qua việc kết nối các early layer, loại bỏ encodingthông tin cục bộ và cấu trúc cú pháp của văn bản đầu vào, tập trung CLS vào
ý nghĩa toàn văn bản đầu vào Số lớp Le và Ll kiểm soát sự phân tách thôngtin này
Fine-tuning
Condenser head là một thành phần thời gian trước khi đào tạo và bị loại bỏtrong quá trình Fine-tuning Tinh chỉnh đào tạo late CLS hlatecls vàbackpropagate gradient vào Backbone Nói cách khác, Condenser giảmxuống encoder backbone của nó hoặc trở