Hỏi cùng một câu mà chatbot trả lời mỗi lần một khác là vì ở mỗi bước viết, nó không luôn chọn chữ chắc nhất, mà bốc thăm trong số những chữ hợp lý theo xác suất. Chỉ cần lần bốc đầu tiên khác đi một chút, cả câu trả lời rẽ sang một nhánh khác. Đây là thiết kế có chủ đích, không phải lỗi.
Điều này làm nhiều người bối rối, nhất là khi hai câu trả lời không chỉ khác lời mà khác cả kết luận. Bài viết giải thích cơ chế bốc thăm, nút vặn độ ngẫu nhiên mà giới làm AI hay gọi là nhiệt độ, vì sao nhà cung cấp chọn để mô hình có ngẫu nhiên, và quan trọng nhất là cách đọc sự khác biệt: khi nào nó vô hại, khi nào nó là tín hiệu cho thấy mô hình đang không chắc.
Mỗi bước viết là một lần bốc thăm có trọng số
Ở mỗi bước, mô hình ngôn ngữ chấm điểm mọi mảnh chữ có thể đứng tiếp theo rồi đổi thành xác suất. Giả sử sau câu "Món ăn sáng phổ biến ở Hà Nội là", mô hình cho "phở" 55 phần trăm, "bún" 20 phần trăm, "xôi" 12 phần trăm, "bánh" 8 phần trăm, còn lại chia cho hàng nghìn mảnh khác. Đây chỉ là ví dụ giả định để minh hoạ, không phải số đo của mô hình nào.
Nếu hệ thống luôn lấy mảnh đứng đầu, câu trả lời sẽ luôn bắt đầu bằng "phở". Nhưng phần lớn chatbot không làm vậy. Chúng bốc thăm: "phở" có nhiều phiếu nhất nên thường được chọn, nhưng cứ vài lần sẽ có lần ra "bún" hoặc "xôi". Hình dung một hộp phiếu có 55 phiếu ghi "phở", 20 phiếu "bún", 12 phiếu "xôi" và vài phiếu lẻ; mỗi bước rút một phiếu.
Một câu trả lời có hàng trăm bước như vậy. Lựa chọn ở bước đầu ảnh hưởng tới bảng xác suất của mọi bước sau, vì mô hình luôn viết tiếp cho hợp với những gì đã viết. Bắt đầu bằng "bún" thì câu tiếp theo sẽ nói về bún chả, bún thang; bắt đầu bằng "phở" thì sẽ tả nước dùng. Hai nhánh tách nhau từ chữ thứ nhất và càng đi càng xa.
Vì thế, sự khác biệt giữa các lần trả lời không phải là mô hình "đổi ý" theo nghĩa con người. Nó giống việc kể lại một câu chuyện quen: ý chính giữ nguyên nhưng mỗi lần kể chọn lời khác, ví dụ khác, thứ tự khác.
Nút vặn độ ngẫu nhiên: nhiệt độ và các bạn đồng hành
Nhà phát triển có vài nút vặn để điều khiển cách bốc thăm. Người dùng ứng dụng chatbot thường không thấy các nút này, nhưng chúng quyết định câu trả lời của bạn "bay" tới đâu. Bảng dưới mô tả ở mức nguyên lý.
| Nút vặn | Làm gì với hộp phiếu | Cảm giác khi đọc |
|---|---|---|
| Nhiệt độ thấp | Dồn thêm phiếu cho mảnh đứng đầu, mảnh thấp gần như hết phiếu | Chắc chắn, nhất quán, đôi khi khô và lặp từ |
| Nhiệt độ cao | San bớt phiếu từ mảnh đứng đầu sang các mảnh khác | Đa dạng, bất ngờ, dễ lan man hoặc lệch đề |
| Giới hạn nhóm đầu theo số lượng | Chỉ giữ một số ứng viên đứng đầu rồi mới bốc | Loại hẳn những chữ quá xa lạ |
| Giới hạn nhóm đầu theo tổng xác suất | Giữ đủ số ứng viên sao cho cộng lại đạt một ngưỡng, bỏ phần đuôi | Linh hoạt: lúc mô hình chắc thì nhóm nhỏ, lúc phân vân thì nhóm rộng |
| Hạt giống ngẫu nhiên cố định | Dùng cùng một chuỗi bốc thăm cho mọi lần chạy | Lặp lại gần giống nhau, có ích khi cần kiểm thử |
Tên gọi "nhiệt độ" mượn từ vật lý theo nghĩa ẩn dụ: nóng thì các hạt chuyển động hỗn loạn, lạnh thì đứng yên. Phần toán đằng sau thuộc về các trang chuyên về toán trong AI; với người dùng thường, chỉ cần nhớ nhiệt độ thấp là chắc và đều, nhiệt độ cao là phóng khoáng và khó đoán.
Ngay cả khi đặt nhiệt độ bằng không, nhiều hệ thống vẫn không cho ra kết quả giống nhau tuyệt đối, vì những khác biệt rất nhỏ trong cách máy chủ tính toán song song, hoặc vì ứng dụng âm thầm thêm thông tin khác nhau vào đầu vào như ngày giờ.
Vì sao các hãng cố tình để chatbot có ngẫu nhiên
Luôn chọn chữ chắc nhất làm văn bản tệ đi. Nghe ngược đời nhưng đúng: khi luôn lấy mảnh đứng đầu, mô hình dễ rơi vào vòng lặp, lặp đi lặp lại một cụm từ, hoặc viết những câu nhạt và chung chung. Một chút ngẫu nhiên giúp văn bản tự nhiên hơn, gần cách người viết hơn.
Nhiều việc cần sự đa dạng. Khi bạn nhờ đặt tên cho tiệm bánh, viết lời chúc, nghĩ ý tưởng, thì mỗi lần ra một phương án khác chính là điều bạn muốn. Nút tạo lại câu trả lời trong nhiều ứng dụng tồn tại vì lý do này.
Câu hỏi mở không có một đáp án duy nhất. "Nên đọc sách gì để hiểu lịch sử Việt Nam" có nhiều câu trả lời hợp lý. Sự khác nhau giữa các lần hỏi phản ánh đúng thực tế là có nhiều lựa chọn tốt.
Mỗi việc một mức nhiệt khác nhau. Dịch vụ dùng cho viết sáng tạo có thể đặt nhiệt cao hơn, dịch vụ trích xuất thông tin từ hoá đơn sẽ đặt thấp. Ứng dụng chatbot phổ thông thường chọn mức trung bình để vừa trôi chảy vừa không quá lan man; mức cụ thể mỗi hãng tự quyết và ít khi công bố.
Khi sự khác biệt là tín hiệu cần chú ý
Không phải sự khác biệt nào cũng vô hại. Hãy phân biệt hai loại. Loại thứ nhất là khác về cách diễn đạt: lần này mở bằng ví dụ, lần kia mở bằng định nghĩa, nhưng nội dung chính thống nhất. Loại này bình thường, phản ánh đúng cơ chế bốc thăm chọn lời.
Loại thứ hai là khác về sự thật: lần này nói một sự kiện xảy ra năm này, lần kia nói năm khác; lần này nói thuốc A uống được với thuốc B, lần kia nói không; lần này đưa một con số, lần kia đưa con số khác hẳn. Khi gặp loại này, nhiều khả năng mô hình đang không có thông tin vững trong dữ liệu đã học, và bảng xác suất ở những bước quan trọng đang chia đều cho nhiều phương án. Bốc thăm vào lúc đó gần như là đoán.
Ở đây có một quan sát hữu ích mà các nhà nghiên cứu cũng dùng: nếu hỏi lại vài lần mà câu trả lời về sự thật vẫn nhất quán, đó là một dấu hiệu, dù không phải bằng chứng, cho thấy mô hình có cơ sở vững hơn. Nếu mỗi lần một kiểu, đó là dấu hiệu khá mạnh rằng bạn không nên tin bất kỳ lần nào trong số đó khi chưa kiểm ở nguồn đáng tin.
Ngược lại, nhất quán cũng không bảo đảm đúng. Một hiểu lầm phổ biến trong dữ liệu huấn luyện có thể được mô hình lặp lại rất đều đặn. Sự nhất quán chỉ cho biết mô hình chắc, không cho biết điều nó chắc là đúng. Cơ chế bịa và giới hạn của AI có chuyên mục riêng trên trang.
Những yếu tố khác làm câu trả lời thay đổi, ngoài bốc thăm
Không phải mọi khác biệt đều do nhiệt độ. Có những nguyên nhân khác, đôi khi còn ảnh hưởng mạnh hơn:
- Bạn hỏi trong hai cuộc trò chuyện có lịch sử khác nhau. Mọi lượt trước đều nằm trong đầu vào, nên câu hỏi giống hệt vẫn được đọc trong bối cảnh khác.
- Ứng dụng đã cập nhật mô hình hoặc câu lệnh hệ thống. Các hãng thay đổi phía sau thường xuyên, có khi không báo rõ, nên câu trả lời tuần này khác tuần trước.
- Tính năng tìm kiếm trên mạng bật hay tắt, hoặc kết quả tìm kiếm khác nhau giữa hai lần. Mô hình dựa vào những gì được đưa lên bàn.
- Bộ nhớ dài hạn đã lưu thêm điều gì đó về bạn và đưa vào đầu vào.
- Cách gõ khác một chút: thêm dấu chấm hỏi, viết hoa, đổi một từ đồng nghĩa. Với mô hình, đó là một dãy mảnh khác, bảng xác suất khác.
- Bạn đang dùng một chế độ khác, chẳng hạn chế độ suy luận lâu hơn hay mô hình nhẹ hơn để trả lời nhanh.
Biết được các nguồn khác biệt này giúp bạn không quy hết cho "AI thất thường". Nhiều khi câu trả lời khác chỉ vì đầu vào đã khác mà bạn không nhìn thấy.
Sống chung với một cỗ máy có ngẫu nhiên
Điều quan trọng nhất cần thay đổi trong cách nghĩ là: một câu trả lời của chatbot là một mẫu rút ra từ nhiều câu trả lời có thể, không phải "câu trả lời của AI" duy nhất. Khi ai đó chụp màn hình và nói "AI bảo thế này", hãy nhớ rằng nếu người đó bấm tạo lại, rất có thể AI đã bảo khác.
Với những việc sáng tạo, tính ngẫu nhiên là món quà: hỏi nhiều lần, chọn câu hay nhất, ghép ý từ vài lần. Với những việc cần sự thật, tính ngẫu nhiên là lời nhắc: thông tin quan trọng phải được kiểm ở nguồn gốc, không dựa vào việc chatbot nói chắc nịch một lần.
Với người làm sản phẩm, chuyện này còn là một bài toán thiết kế. Một ứng dụng chấm bài, trích xuất dữ liệu hay trả lời khách hàng cần độ nhất quán cao, nên họ phải đặt nhiệt thấp, cố định đầu vào, và thêm khâu kiểm tra. Đó là phần việc kỹ thuật thuộc về các trang chuyên lập trình với AI. Ở góc người dùng, chỉ cần hiểu rằng cùng một câu hỏi ra nhiều câu trả lời là bản chất của cách mô hình viết chữ, và đọc sự khác biệt đó như một tín hiệu thay vì một sự cố.
Ví dụ giả định: hai lần hỏi, hai nhánh chữ
Để thấy rõ hai nhánh tách nhau ra sao, hãy theo một ví dụ giả định. Bạn hỏi: "Vì sao lá cây chuyển màu vàng vào mùa thu?" Lần thứ nhất, ở mảnh đầu tiên, phiếu rút trúng "Lá". Mô hình viết tiếp "Lá cây chuyển vàng vì chất diệp lục bị phân huỷ", rồi đi vào giải thích sắc tố vàng vốn có sẵn trong lá, bị màu xanh che khuất suốt mùa hè. Câu trả lời mạch lạc, đi từ hoá học của lá ra ngoài.
Lần thứ hai, mảnh đầu tiên rút trúng "Khi". Mô hình viết "Khi ngày ngắn lại và trời lạnh dần, cây bắt đầu chuẩn bị cho mùa đông", rồi đi theo hướng thời tiết, ánh sáng, việc cây thu hồi chất dinh dưỡng trước khi rụng lá. Câu trả lời này cũng đúng, nhưng xuất phát từ môi trường thay vì từ sắc tố.
Hai câu trả lời có cùng kiến thức nền, chỉ khác điểm vào. Đó là loại khác biệt vô hại. Bây giờ giả sử bạn hỏi tên một loại cây hiếm ở một tỉnh cụ thể, và lần thứ nhất mô hình nói cây đó có ở Lâm Đồng, lần thứ hai nói ở Quảng Trị. Ở bước viết tên tỉnh, bảng xác suất có lẽ đang chia đều cho nhiều tỉnh vì dữ liệu về loài cây đó quá ít. Câu trả lời nào nghe cũng trôi chảy, nhưng không câu nào đáng tin khi chưa tra ở nguồn chuyên ngành.
Cách nhìn này giúp bạn đọc câu trả lời của chatbot như đọc một bản nháp có tính xác suất: phần khung ý tưởng thường ổn định, phần chi tiết hiếm như tên riêng, năm tháng, con số là phần dễ lung lay nhất qua mỗi lần bốc.
Câu hỏi thường gặp
Chatbot trả lời khác nhau có phải vì nó đang học thêm từ mình không?
Thường là không. Mô hình không tự thay đổi tham số khi bạn trò chuyện. Sự khác nhau chủ yếu do bốc thăm theo xác suất, do lịch sử trò chuyện khác, hoặc do nhà cung cấp cập nhật mô hình phía sau.
Nhiệt độ trong AI có liên quan đến nhiệt độ máy chủ không?
Không. Đây là tên gọi ẩn dụ cho một nút vặn điều chỉnh mức ngẫu nhiên khi chọn chữ. Nhiệt độ thấp làm câu trả lời chắc chắn và đều, nhiệt độ cao làm câu trả lời đa dạng và khó đoán hơn.
Người dùng thường có chỉnh được nhiệt độ không?
Trong phần lớn ứng dụng chatbot phổ thông thì không, nhà cung cấp đã đặt sẵn. Người dùng giao diện dành cho nhà phát triển hoặc một số công cụ chuyên dụng mới thấy nút này. Tính năng có thể thay đổi, hãy kiểm phiên bản hiện hành.
Hỏi lại nhiều lần có giúp biết câu trả lời đúng không?
Giúp phát hiện chỗ mô hình không chắc: nếu sự thật thay đổi giữa các lần, đừng tin lần nào khi chưa kiểm nguồn. Nhưng nhiều lần giống nhau cũng chưa chứng minh là đúng, vì mô hình có thể lặp đều một hiểu lầm.
Vì sao đặt nhiệt độ bằng không mà vẫn ra kết quả hơi khác?
Vì máy chủ tính toán song song với những sai khác số học rất nhỏ, vì mô hình phía sau có thể được cập nhật, hoặc vì ứng dụng thêm thông tin khác nhau như ngày giờ vào đầu vào. Gần giống nhau là kỳ vọng hợp lý, giống tuyệt đối thì không.
Câu trả lời khác nhau có phải là AI không đáng tin không?
Không hẳn. Khác về cách diễn đạt là chuyện bình thường. Chỉ khi khác về sự thật, con số, kết luận thì mới là dấu hiệu mô hình đang đoán, và lúc đó bạn cần kiểm ở nguồn đáng tin trước khi dùng.