![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Tại sao AI không thể đếm được số chữ "R" trong từ "Strawberry"?
Các mô hình ngôn ngữ lớn, đặc biệt là ChatGPT của OpenAI, đã cách mạng hóa cách chúng ta tương tác với các máy móc có thể hiểu và tạo ra văn bản giống con người. Nhưng bản thân các mô hình này cũng đi kèm với các ký tự kỳ lạ của riêng chúng. Sự kỳ lạ khó chịu nhất đã lan truyền trên tất cả các phương tiện truyền thông xã hội gần đây là sự thất bại của mô hình ngôn ngữ lớn này trong việc đếm chính xác số lượng của một chữ cái nhất định trong một từ. Một ví dụ rất phổ biến là từ "strawberry", trong đó AI rất thường không đếm chính xác số lần xuất hiện của "r". Nhưng tại sao nó lại làm như vậy? Câu trả lời nằm sâu trong cốt lõi của cách các mô hình này xử lý và tạo ra ngôn ngữ.
Một trong những lý do chính khiến AI gặp khó khăn khi trả lời các câu hỏi như đếm chữ cái là do cách nó thực sự xử lý các từ. Các mô hình ngôn ngữ, chẳng hạn như GPT-3 và GPT-4, không coi các từ là một chuỗi các chữ cái riêng lẻ. Thay vào đó, chúng chia nhỏ văn bản thành các đơn vị nhỏ hơn được gọi là "mã thông báo". Mã thông báo có thể ngắn bằng một ký tự hoặc dài bằng toàn bộ một từ, tùy thuộc vào thiết kế của mô hình đang xét và từ cụ thể liên quan.
Ví dụ, từ "strawberry" rất có thể sẽ được chia thành hai token, biểu diễn các đoạn từ một phần mà mô hình biết từ quá trình đào tạo. Vấn đề là những đoạn này thường không tương ứng với các chữ cái trong từ. Điều này là do, trong các ví dụ như "strawberry", AI có thể không thấy sự phân chia từ thành các chữ cái đơn lẻ, đầy đủ mà là hai token; chẳng hạn như ID token 496 và 675. Khi sau đó, được yêu cầu đếm các chữ cái cụ thể, mô hình này sẽ không tìm thấy cách dễ dàng để ánh xạ các token trở lại số lần xuất hiện của một chữ cái cụ thể.
Về cơ bản, các mô hình ngôn ngữ dự đoán từ hoặc mã thông báo tiếp theo trong một chuỗi sẽ là gì, dựa trên ngữ cảnh do các từ hoặc mã thông báo trước đó cung cấp. Điều này đặc biệt hiệu quả để tạo ra văn bản không chỉ mạch lạc mà còn nhận thức được ngữ cảnh của nó. Tuy nhiên, nó không thực sự phù hợp với mục đích mà bạn cần đếm chính xác một cái gì đó hoặc lý luận về các ký tự riêng lẻ.
Nếu bạn yêu cầu AI đếm số lần xuất hiện của chữ "r" trong từ "strawberry", nó sẽ không có một biểu diễn từ chính xác như vậy để có thể suy ra số lượng và vị trí của mọi trường hợp của chữ cái đó. Thay vào đó, nó trả lời theo khuôn mẫu những gì nó đã học được về việc hình thành dự đoán từ cấu trúc của yêu cầu. Tất nhiên, điều này có thể không chính xác, vì dữ liệu mà nó học được không phải là về việc đếm các chữ cái, và thậm chí có thể không bao gồm loại tài liệu cần thiết để theo dõi chữ "r" trong từ ví dụ của chúng ta.
Một điểm quan trọng khác là các mô hình ngôn ngữ tự thân, được sử dụng trong hầu hết các chatbot, không phù hợp để đếm hoặc tính toán rõ ràng. Theo cách khác, các mô hình ngôn ngữ thuần túy không hơn gì các từ điển nâng cao hoặc các thuật toán văn bản dự đoán thực hiện các nhiệm vụ được cân nhắc theo xác suất dựa trên các mẫu mà chúng học được nhưng lại gặp khó khăn với các nhiệm vụ đòi hỏi lý luận logic chặt chẽ, chẳng hạn như đếm. Nếu AI được yêu cầu đánh vần một từ hoặc chia nhỏ nó thành các chữ cái riêng lẻ, nó có thể thực hiện đúng thường xuyên hơn, vì điều này phù hợp hơn với nhiệm vụ mà nó đã được đào tạo: tạo văn bản.
Bất chấp những hạn chế này, việc cải thiện hiệu suất của AI trong các tác vụ như vậy là có thể. Chúng có thể được cải thiện bằng cách yêu cầu AI sử dụng tất cả các loại ngôn ngữ lập trình, chẳng hạn như Python, để thực hiện việc đếm. Ví dụ, Bạn có thể thử đưa cho AI một hướng dẫn để viết một hàm Python đếm số chữ "r" trong "strawberry" và có lẽ nó sẽ làm đúng. Chúng tôi sử dụng phương pháp này vì nó tận dụng khả năng hiểu và tạo mã của AI, có thể được thực thi để thực hiện tác vụ một cách chính xác.
Bên cạnh đó, các thế hệ mô hình ngôn ngữ mới hơn được kết hợp với các công cụ và thuật toán khác giúp các mô hình này mạnh mẽ hơn đối với các tác vụ có cấu trúc hơn, bao gồm cả đếm và số học.
Việc nhúng lý luận tượng trưng hoặc kết hợp LLM với các công cụ lý luận bên ngoài sẽ giúp hệ thống AI có khả năng khắc phục những nhược điểm đó.
Vấn đề đếm chữ cái trong từ, như "strawberry", chỉ ra một vấn đề lớn hơn và tổng quát hơn nhiều về vấn đề này: "sự ngu ngốc tập thể" của các mô hình được đào tạo này. Các mô hình này, ngay cả khi chúng được đào tạo trên các tập dữ liệu rất lớn và do đó có thể thực hiện việc tạo văn bản ở các cấp độ rất phức tạp, đôi khi vẫn mắc phải những lỗi rất ngu ngốc mà một đứa trẻ nhỏ có thể dễ dàng tránh được. Điều này xảy ra vì "kiến thức" của mô hình phải bao gồm nhận dạng mẫu và các liên kết thống kê, thay vì hiểu biết thực tế hoặc suy luận logic của nó.
Ngay cả khi được hướng dẫn chi tiết hoặc thậm chí được thiết lập trong tình huống nhiều mô hình kiểm tra lẫn nhau, AI vẫn có thể ngoan cố bám vào các câu trả lời sai. Hành vi này cho thấy rất chi tiết tầm quan trọng của việc không đánh giá quá cao các hệ thống AI về khả năng vượt quá điểm mạnh của chúng mà phải đánh giá đầy đủ những gì chúng có thể và không thể làm.
Việc AI không thể đếm được số chữ "r" trong "dâu tây" không phải là một lỗi nhỏ nhặt; mà là sự phản ánh của kiến trúc cơ bản và triết lý thiết kế của các mô hình ngôn ngữ. Các mô hình này rất mạnh mẽ trong việc tạo ra văn bản giống con người, hiểu ngữ cảnh và mô phỏng cuộc trò chuyện nhưng không được tạo ra trực tiếp cho các nhiệm vụ cụ thể đòi hỏi sự chú ý đến chi tiết ở cấp độ nhân vật.
Với AI liên tục cải tiến, các mô hình tương lai có khả năng thực hiện các nhiệm vụ như vậy tốt hơn thông qua các quy trình mã hóa được cải thiện, tích hợp các công cụ lý luận bổ sung hoặc thậm chí là các cách hoàn toàn khác để hiểu và thao tác ngôn ngữ. Cho đến lúc đó, cần tiếp cận nó với sự hiểu biết về các hạn chế của nó, sử dụng các giải pháp thay thế phù hợp và nhận ra rằng mặc dù nó có thể mô phỏng sự hiểu biết, nhưng nó vẫn chưa thực sự "hiểu" theo cách con người làm.