Tại thời điểm này thì có lẽ bạn đã biết về ChatGPT. Đây là một chatbot (hệ thống trả lời tự động) nổi lên như một hiện tượng với khả năng trả lời rất hay trong nhiều lĩnh vực khác nhau.

ChatGPT chính là là một ví dụ điển hình cho generative based chatbots. Vậy generative based chatbots được xây dựng như thế nào? Trong bài hôm nay, hãy cùng tìm hiểu sâu hơn một chút về cách hoạt động và những tiến bộ gần đây của nhóm chatbots này.

Mô hình ngôn ngữ: nền tảng cho generative chatbots

Đầu tiên chúng ta cần nhắc đến mô hình ngôn ngữ (Language model - tạm gọi là LM cho ngắn gọn nhé), mô hình học máy đặt có khả năng hiểu về ngôn ngữ. Đây là mô hình đặt nền móng cho rất nhiều bài toán NLP và generative based chatbots cũng không phải là ngoại lệ.

Mô hình ngôn ngữ được huấn luyện thông qua bài toán dự đoán từ tiếp theo

Về cơ bản, LM được huấn luyện dựa trên một lượng lớn các văn bản với mục tiêu dự đoán từ tiếp theo dựa trên các từ xuất hiện trước đó. Chúng ta có thể tưởng tượng rằng thông quan việc ôn luyện với rất nhiều bài tập dạng “điền vào chỗ trống”, LM đã có khả năng hiểu được ngữ pháp, ý nghĩa của từ vựng và mối liên hệ giữa các từ trong câu.

Ví dụ về bài tập điền từ còn thiếu

Ứng dụng của mô hình ngôn ngữ cho chatbots

Mô hình ngôn ngữ có nhiều ứng dụng trong lĩnh vực NLP, bao gồm việc tạo ra văn bản tự động, dịch ngôn ngữ, gợi ý từ, … Đối với chatbots, khác với mô hình dự đoán từ còn thiếu, mô hình ngôn ngữ được tinh chỉnh và “nâng cấp” để có thể dự đoán câu trả lời dựa trên đoạn hội thoại trước đó.

Cách hoạt động của generative-based chatbots

Sự phát triển của mô hình ngôn ngữ

Các mô hình ngôn ngữ đã được xây dựng và phát triển từ rất lâu nhưng phải đến vài năm gần đây, chúng mới hoạt động thực sự tốt. Vào năm 2017, các nhà nghiên cứu giới thiệu một cấu trúc mới với tên gọi Transfomers qua bài báo Attention Is All You Need với khả năng xử lý tốt các văn bản dài, nhược điểm lớn nhất của các mô hình trước đó.

Sự phát triển của mô hình ngôn ngữ (ảnh từ Analytics Vidhya)

Transformers nhanh chóng trở thành một trong những mô hình tốt nhất cho mô hình ngôn ngữ nhờ hiệu suất và khả năng vượt trội. Trong những năm sau đó, hàng loạt các mô hình được xây dựng trên nền tảng của Transformers như BERT (Bidirectional Encoder Representations from Transformers) và GPT (Generative Pre-trained Transformer).

ChatGPT: nâng tầm chatbots

Mặc dù vậy, khi áp dụng các mô hình này cho chatbots, những câu trả lời không được chính xác và tự nhiên như cuộc đối thoại giữa người với người. Phải đến khi ChatGPT được ra mắt vào năm, chúng ta mới có một chatbot có khả năng tương tác tự nhiên và mang lại trải nghiệm tốt hơn cho người dùng.

Mô hình tinh chỉnh cho đoạn hội thoại InstructGPT (ảnh từ OpenAI)

Để đạt được điều này, mô hình ngôn ngữ đã được tinh chỉnh để tối ưu cho việc xử lý các đoạn hội thoại. Một kỹ thuật được sử dụng trong quá trình này là học tăng cường với phản hồi của người dùng (reinforcement learning from human feedback - RLHF).

RHFL cho ChatGPT

Tuy không đi sâu vào RLHF trong bài hôm nay, chúng ta có thể hiểu phương pháp này bao gồm 3 bước chính:

  • (1) Xây dựng mô hình cơ sở (Supervised fine-tuning model): tinh chỉnh mô hình ngôn ngữ cho đoạn hội thoại
  • (2) Xây dựng mô hình phần thưởng (Reward model) để mô phỏng lựa chọn của người dùng
  • (3) Tối ưu cách trả lời (Policy model) bằng mô hình học tăng cường

Tại thời điểm hiện tại, có nhiều mô hình được phát triển để tối ưu cho chatbots như InstructGPT, ChatGPT, BARD, Falcon-40B-instruct, … Và chắc chắn rằng, đây sẽ là mảng nghiên cứu rất được quan tâm trong vài năm tới, các chatbots cũng ngày càng thông minh và tương tác tốt hơn.

Tạm kết

Hy vọng rằng bài viết này giúp bạn hiểu thêm phần nào về cách dùng mô hình ngôn ngữ cho generative based chatbots. Những đột phá gần đây (như ChatGPT) là một cú hích lớn cho cộng đồng nghiên cứu và phát triển những ứng dụng liên quan đến mô hình ngôn ngữ nói chung và chatbot nói riêng. Hãy cũng chờ xem những bước tiến mới trong thời gian sắp tới.

Tham khảo

Leave a comment