Mỗi khi bạn gõ một câu hỏi vào công cụ tìm kiếm ngữ nghĩa và nó trả về đúng đoạn văn bạn cần dù không hề trùng từ khóa, phía sau là một mô hình embedding đã được huấn luyện để hiểu "giống nhau" theo nghĩa toán học. Bí quyết không nằm ở việc dạy máy đọc hiểu như con người, mà ở một ý tưởng đơn giản đến bất ngờ: kéo những thứ liên quan lại gần nhau trong không gian vector, đẩy những thứ không liên quan ra xa. Đó chính là contrastive learning, kỹ thuật đứng sau gần như mọi mô hình embedding hiện đại, từ tìm kiếm văn bản đến nhận diện ảnh.
Positive và negative pairs: nền móng của mọi thứ
Contrastive learning bắt đầu bằng việc tạo ra các cặp dữ liệu. Một cặp positive là hai thứ nên được xem là giống nhau, ví dụ một câu hỏi và câu trả lời đúng của nó, hoặc hai bản dịch của cùng một câu. Một cặp negative là hai thứ không liên quan, chẳng hạn câu hỏi đó ghép với một câu trả lời ngẫu nhiên khác trong tập dữ liệu. Mô hình không được dạy trực tiếp "đây là nghĩa của từ này", nó chỉ được thưởng khi đưa embedding của cặp positive lại gần nhau, và bị phạt khi để embedding của cặp negative lại gần nhau.
InfoNCE: biến bài toán thành một câu hỏi phân loại
InfoNCE, viết tắt của Information Noise Contrastive Estimation, là hàm mất mát phổ biến nhất để huấn luyện embedding kiểu này. Ý tưởng cốt lõi: với một anchor và một positive, mô hình phải chọn đúng positive đó giữa một rổ gồm nhiều negative, giống như một câu hỏi trắc nghiệm. Về mặt toán học, InfoNCE tính độ tương đồng cosine giữa anchor với từng ứng viên, đưa qua hàm softmax, rồi tối ưu để xác suất gán cho positive tiến gần 1. Cách làm này biến một bài toán biểu diễn trừu tượng thành một bài toán phân loại rõ ràng mà mạng nơ-ron vốn đã giỏi giải quyết.
Temperature scaling: núm vặn độ khắt khe
Trước khi đưa vào softmax, các điểm tương đồng thường được chia cho một tham số gọi là temperature, ký hiệu tau. Temperature nhỏ khiến phân phối xác suất trở nên sắc nét, mô hình bị phạt nặng nếu không phân biệt rạch ròi positive với negative gần giống nó, buộc embedding phải tách biệt dứt khoát. Temperature lớn làm phân phối mềm hơn, mô hình dễ dãi hơn với những negative na ná positive. Chọn temperature quá thấp dễ khiến huấn luyện mất ổn định, còn quá cao thì embedding học được lại mờ nhạt, không đủ sắc để phân biệt các trường hợp khó.
In-batch negatives: tận dụng tài nguyên có sẵn
Việc tạo negative cho từng ví dụ một cách thủ công rất tốn kém, nên phần lớn mô hình embedding hiện đại dùng chiến lược in-batch negatives: trong một lô huấn luyện gồm hàng trăm hoặc hàng nghìn cặp positive, mỗi anchor coi tất cả các positive của những cặp khác trong cùng lô là negative của chính nó. Cách này gần như miễn phí về mặt tính toán vì embedding đã được tính sẵn cho cả lô, đồng thời số lượng negative tăng tuyến tính theo kích thước lô. Các nghiên cứu về mô hình embedding như E5 cho thấy tăng batch size từ một nghìn lên ba mươi hai nghìn mẫu vẫn tiếp tục cải thiện chất lượng biểu diễn.
Hard negative mining: luyện tập với đối thủ khó nhằn
Vấn đề của in-batch negatives ngẫu nhiên là chúng thường quá dễ đoán, ví dụ một câu hỏi về nấu ăn ghép với một đoạn văn về bóng đá thì mô hình phân biệt được ngay từ đầu, không học thêm được gì mới. Hard negative mining giải quyết điều đó bằng cách chủ động tìm những negative gần giống positive nhất, những trường hợp mà chính mô hình đang huấn luyện dễ nhầm lẫn nhất. Kỹ thuật này giống như luyện võ với đối thủ ngang tài thay vì người mới tập, giúp embedding học được ranh giới ngữ nghĩa tinh tế hơn nhiều, dù cần cẩn trọng để tránh lẫn phải negative giả, tức những mẫu thực ra lại đúng nghĩa với anchor.
Ba yếu tố temperature, in-batch negatives và hard negative mining cùng nhau quyết định chất lượng cuối cùng của một embedding. Đó cũng là lý do vì sao khi các công ty công nghệ công bố mô hình embedding mới, phần lớn cải tiến nằm ở cách họ chọn và trộn negative, chứ không phải ở kiến trúc mạng nơ-ron.






