Trong bài viết này
Từ được đánh dấu có giải thích. Di chuột hoặc chạm để xem, hay mở từ điển AI.
LLM là viết tắt của large language model, hay mô hình ngôn ngữ lớn. Mô hình được huấn luyện để học các mẫu trong dữ liệu ngôn ngữ ở quy mô lớn, từ đó hỗ trợ những việc như tạo văn bản, tóm tắt và dịch. Khả năng trả lời trôi chảy không bảo đảm mọi thông tin đều đúng.
Khi bạn gõ một câu hỏi, văn bản được mã hóa, xử lý theo ngữ cảnh và sinh tiếp từng phần. Bài này tập trung vào loại mô hình tự hồi quy thường dùng để tạo văn bản, từ token đầu vào đến câu trả lời cuối cùng.
Văn bản bắt đầu thành những token
Máy không xử lý trực tiếp một câu như cách mắt ta đọc. Bộ tokenizer chia văn bản thành các đơn vị gọi là token, rồi ánh xạ chúng sang mã số. Một token có thể là một từ, một phần của từ, dấu câu hoặc đơn vị khác, tùy bộ mã hóa.
Vì vậy, “một nghìn token” không đồng nghĩa với “một nghìn từ”. Cùng một câu tiếng Việt cũng có thể có số token khác nhau giữa các mô hình. Tài liệu tokenizer của Hugging Face giải thích các phương pháp chia nhỏ phổ biến.
Các mã số được chuyển thành những vector, tức danh sách các giá trị số. Bạn có thể hình dung đây là biểu diễn mà mô hình dùng để tính toán quan hệ giữa các phần của câu. Chúng không phải một từ điển có sẵn, mỗi từ gắn với đúng một ý nghĩa cố định.
Attention giúp xử lý ngữ cảnh
Trong câu “Lan đặt chiếc cốc cạnh quyển sách rồi cầm nó lên”, từ “nó” có thể chỉ điều gì? Muốn xử lý câu này, hệ thống cần kết hợp thông tin từ nhiều vị trí.
Cơ chế attention tính toán cách các vị trí trong chuỗi đóng góp vào biểu diễn của nhau. Qua nhiều lớp xử lý, mô hình tạo ra biểu diễn phụ thuộc ngữ cảnh. Từ “đường” trong câu nấu chè được xử lý trong ngữ cảnh khác với “đường” trong câu chỉ lối đi.
Transformer là kiến trúc sử dụng attention làm thành phần trung tâm. Công trình Attention Is All You Need, công bố năm 2017, giới thiệu kiến trúc này trong bài toán dịch máy. Các LLM ngày nay có nhiều biến thể; không nên coi mọi mô hình là bản sao nguyên vẹn của bài báo đó.
Một query được so với các key để tạo trọng số. Attention dùng những trọng số đó để tổng hợp các value thành biểu diễn mới của vị trí đang xét.
↔ Vuốt ngang để xem toàn bộ sơ đồ.
01 / Query
Vị trí đang xét có một vector truy vấn, gọi là query.
02 / Key
Query được so với các vector key ở những vị trí mà mô hình được phép tham chiếu.
03 / Trọng số
Điểm tương hợp được chuẩn hóa thành trọng số attention cho từng vị trí.
04 / Tổng hợp
Các vector value được cộng theo trọng số đó, tạo biểu diễn có thông tin từ ngữ cảnh.
Sơ đồ giản lược một đầu attention, bỏ qua kích thước vector và phép chiếu. Các đường nối không phải lời giải thích đầy đủ cho quyết định của mô hình.
Một câu trả lời được tạo ra từng bước
Với mô hình tự hồi quy, từ ngữ cảnh hiện có, hệ thống tính phân bố xác suất cho token tiếp theo. Một token được chọn, ghép vào chuỗi, rồi quá trình tiếp tục. Lựa chọn token còn phụ thuộc cách giải mã, nên cùng một yêu cầu có thể cho các cách diễn đạt khác nhau.
Mô hình tự hồi quy tính xác suất token tiếp theo từ ngữ cảnh hiện có, chọn một token rồi nối vào chuỗi. Chuỗi mới trở thành ngữ cảnh cho lượt tiếp theo.
↔ Vuốt ngang để xem toàn bộ sơ đồ.
01 / Đọc ngữ cảnh
Mô hình xử lý các token của yêu cầu và phần trả lời đã có.
02 / Tính xác suất
Từ ngữ cảnh đó, mô hình tính phân bố xác suất cho những token có thể xuất hiện tiếp theo.
03 / Chọn token
Cách giải mã quyết định token được chọn; không phải lúc nào cũng lấy token có xác suất cao nhất.
04 / Nối và lặp
Token được nối vào chuỗi để tạo ngữ cảnh mới. Quá trình lặp đến điều kiện dừng.
Các ô dùng từ nguyên vẹn để dễ quan sát; đây không phải kết quả của một tokenizer cụ thể. Token thực tế có thể chỉ là một phần của từ.
Quá trình huấn luyện và quá trình bạn trò chuyện là hai giai đoạn khác nhau. Khi huấn luyện, tham số được điều chỉnh từ dữ liệu. Khi suy luận thông thường, mô hình dùng tham số đã có để xử lý đầu vào. Việc bạn thêm một đoạn tài liệu vào cuộc trò chuyện không tự động có nghĩa là trọng số mô hình được huấn luyện lại.
Để hỗ trợ hội thoại, mô hình thường trải qua các bước huấn luyện bổ sung. Nghiên cứu InstructGPT là một ví dụ về dùng mẫu hướng dẫn và phản hồi của con người để cải thiện việc làm theo yêu cầu. Đây là một cách tiếp cận, không phải công thức duy nhất cho mọi chatbot.
Hiểu cơ chế để đặt kỳ vọng đúng
Dự đoán token là mục tiêu có thể học được từ rất nhiều văn bản. Qua quá trình đó, mô hình có thể học những biểu diễn hỗ trợ dịch, viết mã, tóm tắt và nhiều nhiệm vụ khác. Nhưng một câu nghe hợp lý vẫn có thể chứa thông tin không có căn cứ.
Hãy thử yêu cầu một chatbot tóm tắt đoạn văn bạn tự viết. Sau đó thay một dữ kiện nhỏ và xem bản tóm tắt có cập nhật đúng không. Tiếp tục hỏi một chi tiết không tồn tại trong đoạn. Công cụ có thừa nhận thiếu thông tin, hay tự bổ sung?
Phép thử nhỏ này hữu ích hơn việc chỉ đánh giá giọng văn. Khi dùng LLM, hãy cung cấp ngữ cảnh cần thiết, đặt yêu cầu rõ và kiểm tra phần đầu ra có thể đối chiếu. Bài Viết prompt rõ ràng sẽ giúp bạn biến ba việc đó thành một thói quen.