AIHieu.comAI Hiểu
Mô hình ngôn ngữ hoạt động thế nào

Chatbot AI hoạt động như thế nào: từ câu bạn gõ đến câu trả lời hiện trên màn hình

Đi theo một câu hỏi từ lúc bạn bấm gửi: cắt thành mảnh, đoán mảnh tiếp theo, chọn theo xác suất, lặp lại tới hết câu trả lời — không công thức.

Grandmother and teenage grandson sitting on a sofa in a Hanoi apartment, both looking at a tablet with a blank screen, seen from behind, warm afternoon light

Chatbot AI trả lời bằng cách đoán, mỗi lần một mảnh chữ, mảnh nào hợp nhất để viết tiếp sau những gì đã có — rồi lặp lại việc đó hàng trăm lần cho tới khi xong câu trả lời. Không có kho câu trả lời soạn sẵn, cũng không có ai ngồi gõ thay. Toàn bộ sự trôi chảy bạn thấy là kết quả của một phép đoán được làm rất nhiều lần, rất nhanh, bởi một mô hình đã đọc lượng chữ khổng lồ.

Nghe thì đơn giản, nhưng chính cách làm này giải thích được hầu hết những điều người dùng thắc mắc: vì sao chatbot viết hay mà vẫn có lúc nói sai, vì sao hỏi lại cùng một câu ra câu khác, vì sao cuộc trò chuyện dài thì nó quên đoạn đầu. Phần dưới đi theo đúng hành trình của một câu hỏi, từ lúc bạn bấm gửi đến lúc chữ hiện ra, mỗi chặng giải thích bằng ví dụ đời thường.

Chặng một: câu hỏi của bạn không đi một mình

Khi bạn gõ "Mùa này đi Đà Lạt nên mang áo gì?" rồi bấm gửi, thứ được đưa vào mô hình không chỉ là câu đó. Ứng dụng chatbot ghép thêm vài thứ ở phía trước: một đoạn chỉ dẫn do nhà cung cấp viết sẵn, thường gọi là câu lệnh hệ thống, dặn mô hình đóng vai trợ lý, trả lời lịch sự, tránh những chủ đề nhất định; rồi toàn bộ các lượt hỏi đáp trước đó trong cùng cuộc trò chuyện; có khi thêm ngày giờ hiện tại, nội dung tệp bạn đính kèm, hoặc kết quả tìm kiếm trên mạng nếu tính năng đó đang bật.

Tất cả được nối thành một văn bản dài, giống như một kịch bản đang dở: phần đầu là lời dặn, phần giữa là các lượt nói qua lại, và dòng cuối cùng là chỗ trống dành cho lượt của trợ lý. Mô hình chỉ có một việc: viết tiếp kịch bản đó sao cho hợp lý nhất.

Hiểu được chặng này là hiểu vì sao cùng một mô hình mà mỗi ứng dụng cho cảm giác khác nhau. Hai sản phẩm có thể dùng chung một bộ não, nhưng lời dặn khác nhau, cách đưa lịch sử trò chuyện vào khác nhau, có hay không có tìm kiếm khác nhau, thì câu trả lời sẽ khác. Nó cũng giải thích vì sao chatbot "biết" bạn vừa nói gì ba câu trước: không phải nó nhớ, mà là ba câu đó được gửi lại cùng câu mới.

Vì mọi thứ bạn gõ, kể cả tệp đính kèm, đều đi lên máy chủ của nhà cung cấp theo cách này, thói quen tốt là che tên người, số giấy tờ, thông tin khách hàng trước khi dán. Phần chi tiết về chuyện dữ liệu đi đâu có ở AI Bảo Mật; ở đây chỉ cần nhớ rằng chatbot đọc nguyên văn mọi thứ bạn đưa.

Chặng hai: cắt chữ thành mảnh để máy đọc được

Máy không đọc chữ cái như người. Trước khi vào mô hình, văn bản được cắt thành những mảnh nhỏ gọi là token. Một token có thể là cả một từ ngắn, một âm tiết, một phần của từ dài, một dấu câu hay một khoảng trắng đi kèm. Mỗi mảnh được đổi thành một con số theo một bảng tra cố định, và mô hình chỉ làm việc với dãy số đó.

Cách cắt do bộ tách chữ quyết định. Bộ tách chữ được dựng trước khi huấn luyện mô hình, dựa trên việc những chuỗi ký tự nào xuất hiện nhiều trong dữ liệu. Chuỗi gặp thường xuyên được giữ thành một mảnh, chuỗi hiếm bị chẻ nhỏ. Vì vậy cùng một câu, tiếng Anh thường ra ít mảnh hơn tiếng Việt có dấu ở nhiều bộ tách, dù điều này đang thay đổi dần theo từng thế hệ mô hình.

Mảnh chữ giải thích vài lỗi kỳ lạ. Khi bạn hỏi chatbot một từ có bao nhiêu chữ cái, nó hay đếm sai. Lý do là nó không nhìn thấy từng chữ cái, mà nhìn thấy một hai mảnh đã gộp sẵn. Việc đếm chữ cái giống như bắt người ta đếm số nét trong một con dấu chỉ được xem qua ảnh mờ.

Số mảnh còn quyết định độ dài tối đa. Mỗi mô hình chỉ xử lý được một lượng mảnh nhất định trong một lần, gọi là cửa sổ ngữ cảnh. Câu lệnh hệ thống, lịch sử trò chuyện, tệp đính kèm và câu trả lời đang viết đều chia nhau phần sức chứa đó. Bài riêng về token và về cửa sổ ngữ cảnh trong cùng chuyên mục đi sâu hơn hai chuyện này.

Chặng ba: mô hình đoán mảnh tiếp theo

Đây là trái tim của cả hệ thống. Dãy số được đưa qua mô hình, một mạng tính toán có hàng tỉ con số điều chỉnh được gọi là tham số. Các tham số này không chứa câu trả lời nào cụ thể; chúng là kết quả của quá trình huấn luyện, khi mô hình được cho đọc lượng văn bản rất lớn và liên tục bị chấm điểm xem đoán mảnh tiếp theo đúng hay sai, rồi tự chỉnh dần cho đoán khá hơn.

Đầu ra của mô hình ở mỗi bước không phải một chữ, mà là một bảng chấm điểm cho tất cả các mảnh có thể đứng tiếp theo. Sau đoạn "Mùa này đi Đà Lạt nên mang", các mảnh như "áo", "theo", "một" có thể được điểm cao; các mảnh như "xe tải" hay "bánh chưng" gần như bằng không. Bảng điểm đó được đổi thành xác suất, cộng lại đủ một trăm phần trăm.

Để đoán tốt như vậy, mô hình phải nắm được rất nhiều thứ cùng lúc: ngữ pháp tiếng Việt, nghĩa thường gặp của từ, việc Đà Lạt ở vùng cao nên trời se lạnh, giọng điệu của một lời khuyên. Không ai lập trình từng điều đó vào; chúng hình thành gián tiếp vì muốn đoán đúng chữ tiếp theo trong hàng tỉ câu thì buộc phải nắm được những quy luật đó. Mức độ "nắm" này có phải là hiểu theo nghĩa con người hay không vẫn là chuyện giới nghiên cứu còn tranh luận, và chuyên mục hỏi đáp của trang bàn riêng.

Một chi tiết hay bị bỏ qua: mô hình nhìn toàn bộ đoạn văn đang có mỗi lần đoán, chứ không chỉ vài chữ cuối. Nhờ cơ chế chú ý của kiến trúc transformer, nó cân nhắc chữ nào ở xa mà vẫn liên quan, chẳng hạn chữ "mùa này" ở đầu câu khi chọn loại áo ở cuối câu.

Chặng bốn: chọn một mảnh, viết thêm, rồi đoán tiếp

Có bảng xác suất rồi, hệ thống phải chọn một mảnh để viết ra. Cách chọn ảnh hưởng thẳng tới cảm giác của câu trả lời. Bảng dưới so sánh các kiểu chọn ở mức nguyên lý.

Cách chọnLàm gìCâu trả lời ra sao
Luôn lấy mảnh điểm cao nhấtMỗi bước chọn đúng một ứng viên đứng đầuỔn định, hỏi lại vẫn ra gần như y hệt, nhưng dễ đơn điệu và lặp vòng
Bốc thăm theo xác suấtMảnh 60% có nhiều phiếu hơn mảnh 5%, nhưng mảnh 5% vẫn có lúc được chọnTự nhiên, đa dạng, mỗi lần hỏi một khác
Bốc thăm trong nhóm đầuBỏ hẳn những mảnh xác suất quá thấp rồi mới bốcGiữ được sự đa dạng mà ít khi nhảy sang chữ lạc đề
Chỉnh độ ngẫu nhiênMột nút vặn làm bảng xác suất nhọn hơn hoặc phẳng hơnVặn thấp thì chắc chắn và khô, vặn cao thì phóng khoáng nhưng dễ lan man

Sau khi một mảnh được chọn, nó được nối vào cuối văn bản, và toàn bộ văn bản mới lại được đưa vào mô hình để đoán mảnh kế tiếp. Vòng lặp này chạy cho tới khi mô hình chọn một mảnh đặc biệt mang nghĩa "đã xong", hoặc chạm giới hạn độ dài. Đó là lý do chữ hiện ra trên màn hình từng chút một: ứng dụng cho bạn xem ngay từng mảnh vừa được chọn thay vì chờ cả câu.

Cũng vì mỗi mảnh đã viết ra thì không rút lại được, một chữ đi lệch ở đầu có thể kéo cả đoạn sau đi lệch theo. Mô hình sẽ cố viết tiếp cho hợp với chữ lệch đó, giống người kể chuyện lỡ nói sai tên nhân vật rồi cố gắng hợp lý hoá phần sau.

Vì sao một máy chỉ biết đoán chữ lại tỏ ra thông minh

Câu hỏi này có nhiều cách trả lời tuỳ người bạn hỏi. Có vài điểm mà phần lớn nhà nghiên cứu đồng ý:

  • Đoán chữ tiếp theo thật giỏi là một việc khó hơn vẻ ngoài. Muốn đoán đúng câu cuối của một bài toán đố, một đoạn hội thoại hay một công thức nấu ăn, mô hình phải nắm được cấu trúc của bài toán, ý định của người nói, thứ tự các bước nấu.
  • Dữ liệu huấn luyện chứa vô số ví dụ về giải thích, lập luận, hỏi đáp, nên mô hình học được cả dáng dấp của việc giải thích và lập luận.
  • Sau giai đoạn đọc thô, mô hình còn được tinh chỉnh bằng những đoạn hội thoại mẫu và đánh giá của con người, để biến một cỗ máy viết tiếp văn bản thành một trợ lý biết trả lời đúng câu được hỏi. Chuyên mục AI học từ đâu nói kỹ phần này.
  • Cách đánh giá "thông minh" của chúng ta dựa nhiều vào ngôn ngữ. Một câu trả lời trôi chảy, đúng giọng, dễ tạo cảm giác người nói hiểu sâu, kể cả khi nội dung sai.

Điểm còn tranh luận là phía sau sự trôi chảy đó có gì. Một số nhà nghiên cứu cho rằng mô hình đã hình thành được những biểu diễn bên trong khá giống khái niệm; số khác cho rằng đó chủ yếu là nhận dạng khuôn mẫu ở quy mô rất lớn. Bạn không cần chọn phe để dùng cho đúng, chỉ cần biết câu hỏi này chưa khép lại.

Những hệ quả bạn gặp hằng ngày

Câu trả lời nghe chắc mà vẫn sai. Mô hình được huấn luyện để viết ra chữ hợp lý, không phải để kiểm chứng. Khi không có thông tin, nó vẫn có thể ghép ra một cái tên, một con số, một nguồn trích dẫn trông hợp lý. Chuyên mục vì sao AI bịa giải thích cơ chế này kỹ hơn.

Hỏi lại có thể ra câu khác. Vì có bước bốc thăm theo xác suất, hai lần hỏi cùng một câu có thể đi theo hai nhánh chữ khác nhau từ rất sớm.

Kiến thức có điểm dừng. Mô hình biết những gì có trong dữ liệu tới một thời điểm nào đó. Muốn biết chuyện mới hơn, ứng dụng phải chủ động tìm trên mạng rồi dán kết quả vào văn bản đầu vào.

Cuộc trò chuyện dài thì loãng. Lịch sử càng dài càng chiếm chỗ trong cửa sổ ngữ cảnh. Tới một lúc ứng dụng phải cắt bớt hoặc tóm tắt phần cũ, và chi tiết ở đầu dễ bị bỏ sót.

Cách hỏi ảnh hưởng tới câu trả lời. Mọi chữ bạn gõ đều là một phần của văn bản mà mô hình viết tiếp. Câu hỏi có ngữ cảnh rõ thì những mảnh hợp lý tiếp theo cũng rõ hơn. Các mẹo hỏi cụ thể có ở những trang chuyên về dùng AI hằng ngày; ở đây chỉ cần hiểu vì sao cách hỏi lại quan trọng đến vậy.

Câu hỏi thường gặp

Chatbot AI có tra câu trả lời trong một kho dữ liệu không?

Không theo nghĩa tra sổ. Mô hình tự sinh câu trả lời từng mảnh chữ dựa trên những gì đã học trong lúc huấn luyện. Chỉ khi ứng dụng bật tìm kiếm hoặc bạn đính kèm tài liệu thì nội dung đó mới được đưa thêm vào để mô hình dựa vào khi viết.

Vì sao chữ hiện ra từng chút một thay vì cả đoạn?

Vì mô hình thật sự viết từng mảnh một, mỗi mảnh cần một lượt tính toán. Ứng dụng cho bạn xem ngay mảnh vừa sinh ra để đỡ phải chờ, thay vì giữ lại tới khi xong cả câu trả lời rồi mới hiện.

Mô hình ngôn ngữ và chatbot có phải là một không?

Không hẳn. Mô hình ngôn ngữ là phần lõi biết đoán chữ. Chatbot là cả ứng dụng bọc quanh lõi đó: giao diện, câu lệnh hệ thống, cách lưu lịch sử, công cụ tìm kiếm, bộ lọc an toàn. Cùng một mô hình có thể nằm trong nhiều chatbot khác nhau.

Chatbot có biết mình đang nói sai không?

Thường là không biết một cách đáng tin cậy. Mô hình không có bước tự kiểm chứng với thực tế, nó chỉ đánh giá chữ nào hợp lý để viết tiếp. Một số hệ thống có thêm bước tự soát hoặc tìm nguồn, nhưng vẫn không thay được việc bạn tự kiểm những thông tin quan trọng.

Tham số của mô hình là gì?

Là những con số điều chỉnh được bên trong mạng tính toán, quyết định mô hình biến dãy chữ đầu vào thành bảng xác suất như thế nào. Huấn luyện chính là quá trình chỉnh hàng tỉ con số này cho tới khi mô hình đoán chữ tiếp theo đủ tốt.

Hiểu cơ chế đoán chữ có giúp dùng chatbot tốt hơn không?

Có. Khi biết chatbot viết tiếp văn bản bạn đưa, bạn sẽ hiểu vì sao nên nói rõ bối cảnh, vì sao phải kiểm lại tên và số, vì sao cuộc trò chuyện quá dài nên mở cuộc mới, và vì sao hỏi lại có thể ra kết quả khác.

Cần tư vấn cụ thể cho trường hợp của bạn?

Chúng tôi sẽ liên hệ trong vòng 24 giờ.

Đăng ký tư vấn ngay

Bài viết liên quan

Bạn cần hỗ trợ thêm?

Để lại thông tin, chúng tôi sẽ liên hệ trong 24 giờ.

hoặc
Gọi ngay 0926 138 138