Để ChatGPT có thể ứng dụng hữu ích vào các bài toán thực tế như chatbot chăm sóc khác hàng, sáng tạo bài marketing tự động...điều quan trọng là phải dạy cho ChatGPT hiểu các dữ liệu mới. Bài viết này mình sẽ chia sẻ mô hình tổng quát và các kĩ thuật để dạy ChatGPT hiệu quả.
A. Nguyên lý chung
ChatGPT nói riêng và các mô hình ngôn ngữ lớn (LLM) nói chung có một tính chất rất đặc biệt. Đó là nó có một "trí nhớ ngắn hạn" mà nếu đưa dữ liệu mới vào vùng nhớ này, thì mô hình sẽ học được dữ liệu mới này và sử dụng trong nội dung trả lời. Thuật ngữ gọi là in-context learning, hoặc one/few-shot learning.
Đây là một đặc điểm có tính cách mạng, bởi nó giúp huấn luyện ChatGPT nhanh chóng và dễ dàng hơn rất nhiều so với giải pháp "fine-tune" truyền thống.
So sánh đơn giản, cách huấn luyện AI truyền thống giống như một anh học trò phải bỏ công bỏ sức ôn tập để có kiến thức đi thi. Trong khi đó huấn luyện ChatGPT theo in-context learning thì giống như anh học trò đó sử dụng phao. Cùng một mục đích là trả lời được câu hỏi của người ra đề, thì rõ ràng dùng phao sẽ nhanh chóng và thậm chí trong nhiều trường hợp còn chính xác hơn là tự học, với điều kiện là học trò này phải rất thông minh, là điều mà ChatGPT có thừa.
Đặc điểm có tính cách mạng này của ChatGPT và LLM mở đường cho rất nhiều ứng dụng khác nhau có thể phát triển trên nền ChatGPT, với chi phí rẻ hơn rất nhiều so với truyền thống.
Về tổng thể những ứng dụng này sẽ đều hoạt động theo mô hình như sau. Mình tiếp tục lấy ví dụ thi cử ở trên cho dễ hiểu
- Bước 1: Đọc đề, phân tích đề
Ở bước này, hệ thống sẽ lấy câu hỏi của người dùng, và phân tích ý đồ (intention) của câu hỏi đó là gì?
- Bước 2: Tìm "phao" phù hợp
Phao ở đây chính là đoạn dữ liệu phù hợp cần đưa vào bộ nhớ ngắn hạn của ChatGPT để nó trả lời được câu hỏi. Việc chọn phao này gọi là truy vấn thông tin (information retrieval) mà mình sẽ giới thiệu các kĩ thuật chính của nó ở phần tiếp
- Bước 3: Sử dụng "phao" để xây dựng đáp án
Ở bước này thì cho ChatGPT đọc hiểu thông tin trong "phao" và sử dụng thông tin này để trả lời cho người dùng. Có thể điều khiển quá trình này bằng "prompt điều khiển", giúp câu trả lời có tính cách và văn phong khác nhau. Hiểu đơn giản là cùng một đề bài, dùng cùng một phao, thì các anh học trò khác nhau sẽ cho ra các câu trả lời theo phong thái riêng.
B. Các kĩ thuật lấy dữ liệu từ bộ nhớ dài hạn
Trong mô hình huấn luyện ChatGPT kể trên, thì khâu quan trọng nhất chính là chuẩn bị và chọn ra được đúng "phao" từ đống kiến thức lớn chung. Khâu này quyết định toàn bộ chất lượng trả lời của ChatGPT, hay hiểu đơn giản là chuẩn bị "phao" lệch tủ, hay dùng "phao" lệch đề bài thì đều khiến thi trượt.
Khâu này trong khoa học máy tính gọi là truy vấn thông tin (information retrieval - IR), là một lĩnh vực được phát triển rất lâu dài. Có rất nhiều kĩ thuật IR khác nhau, nhưng dưới đây là một số kĩ thuật có thể áp dụng hiệu quả với bài toán huấn luyện ChatGPT:
- Fuzzy matching (so khớp văn bản)
Đây là kĩ thuật đơn giản nhất, nó đơn thuần so sánh sự khác biệt về từ khoá giữa câu hỏi với lại dữ liệu phù hợp để trả lời. Kĩ thuật này giống như anh học sinh dốt trong đầu không có kiến thức gì, chỉ xem đề bài nhắc đến từ khoá gì thì tìm phao có chứa nhiều từ trùng nhất để chép
2. BM25
Đây là kĩ thuật cao cấp hơn Fuzzy matching, nó biết trong câu hỏi của người dùng và dữ liệu trả lời, thì đâu là từ khoá quan trọng, đâu là từ khoá ít quan trọng. Kĩ thuật này giống như anh học sinh có nghe giảng, dù cũng chưa thực sự hiểu lắm nhưng cũng nhớ được vài từ khoá thày cô hay nhắc tới, nên trong các phao na ná nhau, thì anh biết chọn phao chứa nhiều từ khoá quan trọng nhất có trong đề bài. Điều thú vị ở đây là trong thực tiễn, dù anh học sinh chẳng hiểu gì bài giảng, chỉ dùng "mẹo" thì mẹo này cũng rất hiệu quả.
3. Semantic search (vector search)
Cuộc đời không bao giờ đơn giản kiểu học gì thi nấy, mà đề bài luôn được các thày cô ra kiểu lắt léo mà phải tư duy thì mới hiểu được đây là dạng bài gì, áp dụng kiến thức đã học nào. Đây chính là chỗ mà kĩ thuật semantic search áp dụng. Từ cái tên cũng đã nói lên kĩ thuật này, đó là thay vì chỉ nhìn vào mặt chữ, thì "đọc hiểu" câu hỏi, rồi tìm xem kiến thức nào trong những cái đã biết thực sự liên quan tới nội dung này. Quá trình "đọc hiểu" này của máy gọi là embedding, dữ liệu ngữ nghĩa của câu hỏi được biểu diễn ở dạng vector, và quá trình tìm kiếm là quá trình so sánh độ gần-xa giữa các vector nên kĩ thuật này còn gọi là vector search. Lĩnh vực vector search đang được thúc đẩy phát triển rất nhanh sau khi ChatGPT xuất hiện.
C. Đánh giá
Từ thực tiễn áp dụng, phối hợp các kĩ thuật huấn luyện ChatGPT kể trên vào sản phẩm GPT SaleBot (demo tại: https://support.gptsalebot.com), mình rút ra được một số đánh giá:
- Fuzzy matching rất thích hợp để áp dụng cho các câu hỏi cụ thể, rõ nghĩa, dùng chuẩn thuật ngữ
- BM25 rất thích hợp với những câu hỏi dài, có nhiều chi tiết
- Semantic search thích hợp với những nội dung ngắn, và giỏi trong việc phân biệt các câu na ná nhau về hình thức nhưng khác nhau về ngữ nghĩa
Trên thực tế, để huấn luyện ChatGPT hiệu quả, thì không chỉ sử dụng một phương pháp, mà cần kết hợp nhiều phương pháp lại với nhau. Và team GPT SaleBot hiện đã triển khai các kĩ thuật để huấn luyện ChatGPT đạt chất lượng tương đương chatbot Fin của Intercom, là phiên bản tiên tiến nhất của trùm chatbot quốc tế (https://www.intercom.com/fin). Ở trình độ này, chatbot không những cần hiểu tốt câu hỏi của người dùng, và trả lời chính xác theo thông tin được huấn luyện, mà còn phải có khả năng xử lý các dạng viết tắt, viết sai chính tả, từ lóng, có khả năng đặt lại câu hỏi làm rõ nghĩa và gợi ý các câu hỏi follow-up để tiếp tục hội thoại.Các bạn có thể trải nghiệm thử các tính năng này tại: https://support.gptsalebot.com
D. Mở rộng
Huấn luyện ChatGPT trên dữ liệu riêng, và áp dụng phương pháp này vào các bài toán cụ thể như chatbot đang là lĩnh vực phát triển nhanh và sẽ còn có nhiều giải pháp thú vị hơn trong tương lai. Nếu bạn muốn nắm bắt cơ hội và trở thành các chuyên gia về triển khai chatbot, chuyên gia huấn luyện ChatGPT theo bài toán đặc thù của doanh nghiệp thì có thể đăng ký trở thành partner triển khai hoặc nhân sự của GPT SaleBot theo link dưới đây: https://aivgroupworking.sg.larksuite.com/.../shrlgvtifZ8t...
Quyền lợi của partner là sẽ được tiếp cận những hiểu biết sâu về công nghệ ChatGPT, những insight trong việc triển khai chatbot, trợ lý ảo thành công và đón đầu làn sóng conversational marketing đang diễn ra nhanh chóng sắp tới.
From FB Lộc Đặng