1 điểm bởi GN⁺ 2024-06-25 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đề xuất một phương pháp tính độ bất định từ phân phối ngữ nghĩa của câu trả lời, thay vì chuỗi từ, để phát hiện confabulation — các câu trả lời sai nhưng nghe có vẻ hợp lý và mang tính ngẫu nhiên của LLM
  • Lấy mẫu nhiều câu trả lời cho cùng một câu hỏi, gom các câu trả lời suy hàm hai chiều lẫn nhau vào cùng một cụm ngữ nghĩa, rồi tính entropy theo từng cụm
  • Khi đánh giá LLaMA 2 Chat, Falcon Instruct và Mistral Instruct trên TriviaQA, SQuAD 1.1, BioASQ, NQ-Open và SVAMP, phương pháp này đạt AUROC trung bình 0.790, cao hơn naive entropy 0.691, P(True) 0.698 và embedding regression 0.687
  • Trên FactualBio, bộ dữ liệu tiểu sử do GPT-4 tạo, trong 150 mệnh đề thực tế trích từ tiểu sử của 21 người thì có 45 mệnh đề sai; semantic entropy rời rạc, vốn hoạt động cả khi không có xác suất đầu ra, cho AUROC và AURAC cao hơn self-check và biến thể của P(True)
  • Semantic entropy có thể khái quát sang tác vụ mới mà không cần kiến thức miền từ trước hay nhãn theo từng tác vụ, nhưng không đảm bảo tính đúng sự thật của các câu trả lời sai một cách nhất quán, như lỗi dữ liệu huấn luyện, thất bại suy luận có hệ thống hay đầu ra gây hiểu lầm cho người dùng

Đối tượng phát hiện: không phải mọi dạng ảo giác mà là confabulation

  • Các LLM như ChatGPT hay Gemini cho thấy khả năng suy luận và hỏi đáp, nhưng việc ứng dụng thực tế gặp khó khăn do các rủi ro như bịa đặt án lệ pháp lý, thông tin sai trong tin tức, hay nguy cơ trong các lĩnh vực y khoa như chẩn đoán hình ảnh
  • Đối tượng được bàn ở đây không phải toàn bộ khái niệm ảo giác theo nghĩa rộng mà là confabulation
    • LLM nói trôi chảy nhưng câu trả lời lại sai và mang tính ngẫu nhiên
    • Với cùng một chỉ dẫn, câu trả lời có thể thay đổi theo các chi tiết không liên quan như random seed
    • Ví dụ, với câu hỏi “Target của Sotorasib là gì?”, có lúc mô hình trả lời đúng là KRASG12 ‘C’, nhưng cũng có lúc trả lời sai là KRASG12 ‘D’
  • Các kiểu thất bại sau được phân biệt với confabulation
    • Sai một cách nhất quán do dữ liệu huấn luyện sai hoặc do quan niệm phổ biến
    • Mô hình nói dối trong quá trình theo đuổi phần thưởng
    • Thất bại suy luận có hệ thống hoặc thất bại khái quát hóa
  • Phương pháp này tập trung vào việc phát hiện các câu trả lời sai ngẫu nhiên nhưng vẫn có vẻ hợp lý đối với con người, và không cung cấp bảo đảm về tính đúng sự thật của đầu ra LLM

Ý tưởng cốt lõi của semantic entropy

  • Cách tính entropy thông thường dùng phân phối xác suất của chuỗi token do mô hình sinh ra
    • Cùng một đáp án đúng có thể được diễn đạt theo nhiều cách, nên dù nghĩa giống nhau nhưng từ ngữ khác nhau thì entropy vẫn có thể bị đo cao
    • Naive entropy không phân biệt được sự đa dạng về cách diễn đạt với khác biệt về ý nghĩa
  • Semantic entropy ước lượng độ bất định sau khi gom các câu trả lời sinh tự do theo đơn vị ngữ nghĩa
    • Các câu trả lời có cùng ý nghĩa được gom vào một cụm ngữ nghĩa
    • Xác suất của từng cụm được cộng lại để tính entropy theo đơn vị ngữ nghĩa
  • Khi để mô hình trả lời nhiều lần cho cùng một câu hỏi, nếu chỉ khác cách diễn đạt mà cùng ý nghĩa thì được xem là độ bất định thấp; còn nếu lẫn nhiều ý nghĩa khác nhau thì được xem là độ bất định cao
  • Với các mô hình không thể truy cập xác suất đầu ra, có thể dùng semantic entropy rời rạc
    • Thay vì xác suất token, nó dùng tỷ lệ số mẫu thuộc từng cụm ngữ nghĩa
    • Trong thí nghiệm với GPT-4, biến thể này được dùng vì khi đó không thể truy cập xác suất đầu ra và hidden state
    • Biến thể rời rạc cho hiệu năng tương đương bộ ước lượng tiêu chuẩn

Thuật toán: lấy mẫu, phân cụm ngữ nghĩa, tính entropy

  • Quy trình gồm ba bước
    • Sinh: lấy mẫu nhiều câu trả lời cho cùng một đầu vào
    • Phân cụm: gom các câu trả lời thành các nhóm có cùng ý nghĩa
    • Ước lượng entropy: cộng xác suất của các chuỗi thuộc cùng một cụm ngữ nghĩa để tính entropy
  • Tính tương đương ngữ nghĩa được xấp xỉ bằng suy hàm hai chiều
    • Nếu câu A suy ra câu B, và câu B cũng suy ra câu A, thì được xem là cùng một ý nghĩa
    • “The capital of France is Paris” và “Paris is the capital of France” suy hàm lẫn nhau nên được xử lý là cùng nghĩa
    • Các câu trả lời ngắn như “Paris” chỉ có thể mang cùng nghĩa với câu trả lời dài hơn trong ngữ cảnh của câu hỏi
  • Việc xác định suy hàm dùng cả LLM thông thường lẫn công cụ NLI
    • Trong các thí nghiệm QA và toán học, GPT-3.5 được chọn vì khớp tốt với đánh giá của con người và cho hiệu quả phát hiện confabulation tốt
    • Các mô hình NLI như DeBERTa-Large-MNLI cũng được xem xét
  • Việc lấy mẫu dùng temperature 1, nucleus sampling P=0.9 và top-K sampling K=50
    • Để đánh giá độ chính xác của mô hình, dùng một lần sinh duy nhất với temperature thấp 0.1
  • Với câu dài, tích xác suất token có thể trở nên rất nhỏ, nên khi so sánh log-probability có dùng chuẩn hóa theo độ dài

Đánh giá trên QA và bài toán toán học

  • Các bộ dữ liệu đánh giá đều yêu cầu câu trả lời sinh tự do
    • TriviaQA: kiến thức kiểu đố vui
    • SQuAD 1.1: đọc hiểu dựa trên Wikipedia
    • BioASQ: hỏi đáp khoa học sự sống
    • NQ-Open: câu hỏi miền mở bắt nguồn từ truy vấn thực trên Google Search
    • SVAMP: toán có lời văn bậc tiểu học
  • Ở mỗi bộ dữ liệu, lấy mẫu ngẫu nhiên 400 ví dụ train và 400 ví dụ test
    • Bản thân semantic entropy không dùng dữ liệu train
    • Để làm bài toán khó hơn và kích thích confabulation, đoạn context gốc của bộ dữ liệu không được cung cấp
  • Các mô hình được dùng gồm
    • LLaMA 2 Chat 7B, 13B, 70B
    • Falcon Instruct 7B, 40B
    • Mistral Instruct 7B
  • Độ dài trung bình của câu trả lời ở mức sentence-length là 96±70 ký tự, và semantic entropy đạt AUROC trung bình cao nhất trên 30 tổ hợp tác vụ-mô hình
    • semantic entropy: 0.790
    • naive entropy: 0.691
    • P(True): 0.698
    • embedding regression: 0.687
  • Hiệu năng của semantic entropy cũng ổn định theo từng họ mô hình và kích thước mô hình
    • Trên LLaMA, Falcon và Mistral, AUROC nhìn chung nằm trong khoảng 0.78~0.81
    • Từ 7B đến 70B, phương pháp này vẫn cao hơn các baseline
  • P(True) có xu hướng cải thiện khi kích thước mô hình tăng, nên trong các thiết lập mà mô hình cực kỳ mạnh và trung thực hiểu tốt nhiệm vụ, nó có thể cạnh tranh hơn
  • Đánh giá phát hiện câu trả lời sai không chỉ gồm confabulation mà còn có cả các lỗi sai có hệ thống mà semantic entropy không trực tiếp nhắm tới
    • Dù vậy, việc semantic entropy vẫn vượt các phương pháp khác cho thấy confabulation là một nhóm lỗi chính trong lỗi sinh thực tế

Độ chính xác khi từ chối trả lời và các chỉ số đánh giá

  • AUROC được dùng cho biến cố nhị phân là một câu trả lời cụ thể có sai hay không
    • Giá trị nằm trong khoảng 0~1; 1 là bộ phân loại hoàn hảo, còn 0.5 là bộ phân loại không có thông tin
  • AURAC là diện tích dưới đường cong rejection accuracy
    • Khi từ chối các câu hỏi được đánh giá là có khả năng confabulation cao, chỉ số này đo độ chính xác của mô hình trên phần câu hỏi còn lại
    • Nó tóm tắt mức cải thiện độ chính xác mà người dùng trải nghiệm ở nhiều ngưỡng khác nhau
  • Semantic entropy có thể được dùng trong các tình huống sau
    • Không trả lời những câu hỏi có khả năng cao gây ra confabulation
    • Thông báo cho người dùng rằng một câu trả lời cụ thể có độ tin cậy thấp
    • Bổ sung các quy trình có cơ sở hơn như tìm kiếm hoặc retrieval
  • Việc chấm đúng/sai cho các câu trả lời mức sentence-length được tự động hóa bằng cách để GPT-4 đánh giá xem reference answer và proposed answer có khớp về mặt ngữ nghĩa hay không
    • Ở tài liệu bổ sung riêng, chất lượng đánh giá tự động đã được đối chiếu với phán đoán của con người

Sinh tiểu sử dài: thí nghiệm FactualBio

  • Trong đoạn văn dài có nhiều mệnh đề trộn lẫn, nên khó đánh giá trực tiếp tính tương đương ngữ nghĩa của cả đoạn
    • Nếu sinh lại cùng một đoạn, khác biệt có thể đến từ thứ tự sự kiện hoặc cấu trúc đoạn văn, chứ không nhất thiết là độ bất định của bản thân sự thật
  • FactualBio là bộ dữ liệu tiểu sử do GPT-4 v.0613 tạo ra
    • Đối tượng là 21 người đủ nổi tiếng để có trang Wikipedia nhưng không có quá nhiều tiểu sử chi tiết trên mạng
    • Từ các tiểu sử được sinh ra, hệ thống tự động trích xuất 150 mệnh đề sự thật
    • Trong 150 mệnh đề, có 45 mệnh đề được gán nhãn thủ công là sai
  • Với sinh văn bản dài, quy trình sau được áp dụng
    • Tách đoạn văn thành các mệnh đề sự thật riêng lẻ
    • Tự động sinh các câu hỏi mà mỗi mệnh đề sự thật có thể là câu trả lời
    • LLM gốc sinh câu trả lời mới cho từng câu hỏi
    • Đưa câu trả lời mới cùng với mệnh đề sự thật ban đầu vào để tính semantic entropy
    • Lấy trung bình semantic entropy của nhiều câu hỏi để thu được điểm độ bất định cho mệnh đề sự thật đó
  • Với mỗi sự thật, tạo 6 câu hỏi, và với mỗi câu hỏi sinh 3 câu trả lời mới
    • Việc tính entropy có bao gồm mệnh đề sự thật ban đầu giúp giữ được grounding với claim gốc
    • Nếu các câu trả lời từ chối như “not available”, “not provided”, “unknown”, “unclear” chiếm quá nửa, thì độ bất định ngữ nghĩa được đặt ở mức tối đa
  • Semantic entropy rời rạc trên FactualBio đạt AUROC và AURAC cao hơn baseline self-check và biến thể P(True) cho văn bản ở mức paragraph-length
    • Ở rejection accuracy, semantic entropy rời rạc tốt hơn cho tới khi khoảng 20% câu hỏi bị từ chối; tại mốc đó P(True) nhỉnh hơn đôi chút

Giới hạn và khả năng áp dụng

  • Semantic entropy có thể áp dụng cho LLM hoặc các foundation model tương tự mà không cần sửa đổi kiến trúc mô hình
  • Ngay cả trong môi trường truy cập hạn chế không có xác suất đầu ra, vẫn có thể dùng biến thể rời rạc
  • Không giống các phương pháp học có giám sát, cách này không cần ví dụ confabulation đã gán nhãn và có thể khái quát sang tác vụ mới mà không cần kiến thức miền từ trước
    • Các phương pháp có giám sát như embedding regression sẽ suy giảm hiệu năng khi phân phối dữ liệu huấn luyện và dữ liệu triển khai khác nhau
  • Phương pháp này không trực tiếp giải quyết tình huống LLM tự tin nhưng vẫn sai
    • Mục tiêu huấn luyện khiến mô hình thực hiện hành vi nguy hiểm một cách có hệ thống
    • Lỗi suy luận có hệ thống
    • Đầu ra có hệ thống nhằm đánh lừa người dùng
    • Những trường hợp này có thể trông giống confabulation nhưng cần cách xử lý riêng
  • Đây là một cách tiếp cận đưa các công cụ ước lượng độ bất định của học máy xác suất, dựa trên ý nghĩa, vào bài toán sinh ngôn ngữ tự do; nó có thể khái quát sang tác vụ mới mà không cần dữ liệu theo từng tác vụ và giúp xác định các tình huống mà người dùng nên thận trọng hơn

Dữ liệu và mã nguồn

  • Các thí nghiệm với cụm từ ngắn và câu trả lời mức sentence-length dùng các bộ dữ liệu công khai, và phương pháp truy cập được bao gồm trong mã nguồn công khai
  • Bản công khai của FactualBio được cung cấp như một phần của codebase để tái lập thí nghiệm ở mức paragraph-length
  • Nơi công bố mã nguồn

1 bình luận

 
GN⁺ 2024-06-25
Ý kiến trên Hacker News
  • Các bình luận có vẻ đang tranh cãi về ý nghĩa của từ ngữ hay việc nhân hóa LLM, nhưng cách tiếp cận này có một vấn đề thực sự ở tầng toán học.
    Với bất kỳ văn bản đầu vào nào cũng có một phân phối văn bản đầu ra tương ứng, và cách lấy nhiều mẫu rồi đánh giá entropy hoặc sự bất nhất dường như dựa vào giả định rằng ta đã biết tính chất của phân phối đầu ra đó.
    Ví dụ, với câu “Tom Cruise nổi tiếng vì điều gì?”, những câu trả lời cách xa nhau trong không gian vector như “movie star”, “katie holmes”, “topgun”, “scientology” đều có thể đúng.
    Ngược lại, nếu với câu “Taylor Swift nổi tiếng vì điều gì?” lại xuất hiện các câu trả lời gần nhau về mặt ngữ nghĩa như “standup comedy”, “comedian”, “comedy actress”, thì tất cả đều có thể là ảo giác.
    Nếu việc biết phân phối chuỗi từ đúng cho một đầu vào cụ thể chính là bài toán mà LLM phải giải, thì không có cách nào chỉ đánh giá phân phối đầu ra để phán đoán câu trả lời có đúng hay không.
    Có các mô hình thống kê đánh giá độ bất định của đầu ra mạng nơ-ron nhân tạo, nhưng chúng có vẻ không thực tế ở quy mô LLM; còn ước lượng từng phần chỉ dùng 1–2 lớp cuối thì đã cắt xén nghiêm trọng độ bất định của toàn bộ mạng.
    Những ảo giác mà tôi gặp cũng thường rất hợp lý và trông gần với đáp án đúng, như đổi tên biến hoặc bịa ra khóa cấu hình, nhưng thực tế lại sai.

    • Câu trả lời có độ bất định cao thì theo định nghĩa có xác suất thấp, nên nếu hỏi nhiều lần, khả năng cao là sẽ nhận được những câu trả lời khác nhau về mặt ngữ nghĩa, thay vì cùng một câu trả lời hiếm rằng Taylor Swift là diễn viên hài lặp đi lặp lại.
      Nếu dữ liệu huấn luyện nói Taylor Swift là diễn viên hài thì đó không phải là vấn đề ảo giác.
    • Có vẻ như đã giải thích một cách kỹ thuật hơn nhiều điều mà cái đầu khoa học máy tính không có toán của tôi vẫn cảm nhận.
      Điều này nghe giống giảm temperature. Có vẻ như không phải là kéo tốt hơn từ những sự thật có căn cứ, mà là đi về phía có xác suất cao hơn trong không gian vector; không biết tôi hiểu vậy có đúng không.
    • Nhận xét đó hợp lý, nhưng trong ví dụ Taylor Swift, nếu là một mô hình có nền tảng tốt thì có lẽ khả năng nó liên tiếp xuất ra câu trả lời “diễn viên hài” không có trong dữ liệu huấn luyện là thấp.
      Trong ví dụ Tom Cruise, tất cả đều là sự thật và có căn cứ trong dữ liệu huấn luyện, nên kỹ thuật này có thể nhầm lẫn và đánh dấu dương tính là ảo giác.
      Tuy vậy, ví dụ trong bài báo là các câu hỏi có một đáp án duy nhất như “thụ thể mà loại thuốc cụ thể này tác động lên là gì?” hay “tháp Eiffel ở đâu?”, nên có vẻ có thể hữu ích cho những ứng dụng như vậy.
    • Nói cách khác, “lấy mẫu rồi đánh giá độ tương đồng giữa các mẫu thì có thể biết độ phân tán của phân phối, nhưng không thể biết phân phối đó có đúng hay không.”
      Lấy mẫu từ một phân phối Gauss thì có thể nói về độ lệch chuẩn, nhưng không thể biết phân phối đó có chính xác hay không.
      Cũng có thể có một phân phối rất chính xác của một biến có entropy cao, và ngược lại một phân phối dày đặc với độ lệch chuẩn thấp có thể đơn giản là sai. Nếu không biết trước đầu ra nên có dạng như thế nào, chỉ lấy mẫu thôi thì không thể biết được.
    • Phương pháp trong bài báo không phải là “lấy nhiều mẫu rồi chỉ đánh giá entropy hoặc sự bất nhất”.
      Họ lấy mẫu nhiều câu trả lời, nhóm chúng theo độ tương đồng ngữ nghĩa, rồi cộng xác suất của các câu trả lời trong từng nhóm và chuẩn hóa.
      Ví dụ, có thể nhóm “music:0.8, musician:0.9, concert:0.7, actress:0.5, superbowl:0.6” thành [music, musician, concert] → MUSIC, [actress] → ACTING, [superbowl] → SPORTS, rồi tính ra MUSIC:0.686, SPORTS:0.171, ACTING:0.143.
      Bài báo định nghĩa rõ đối tượng muốn ngăn chặn là bịa đặt (confabulation). Tức là những khẳng định trôi chảy nhưng sai và tùy tiện, nhạy cảm thay đổi theo các chi tiết không liên quan như seed ngẫu nhiên.
      Những hiểu lầm phổ biến sẽ vẫn còn bám mạnh trong dataset, và phương pháp này gần với việc phạt các câu trả lời vừa bị cô lập về mặt ngữ nghĩa so với những câu trả lời khả dĩ khác, vừa có likelihood mơ hồ.
      Bài báo chỉ so sánh hiệu quả phát hiện, chứ không đưa ra phương pháp lấy mẫu cải tiến sử dụng việc phát hiện đó. Nếu đưa vào kỹ thuật sinh, cũng sẽ phát sinh chi phí lớn là phải cho mô hình sinh nhiều hơn khoảng 10 lần.
      Mã nguồn: https://github.com/jlko/semantic_uncertainty
  • Kiến trúc LLM hiện nay chủ yếu tập trung vào phía tìm kiếm, còn các trọng số đã học chỉ hội tụ để dự đoán token tiếp theo tốt hơn mà thôi
    Tôi nghĩ khả năng đưa dữ liệu này vào một hệ thống logic lẽ ra cũng phải là mục tiêu huấn luyện
    Nếu thêm kiểm chứng hình thức của tri thức ở giai đoạn huấn luyện vào dự đoán token tiếp theo, LLM sẽ có thể duy trì tính nhất quán trong việc tạo tri thức và nhìn thấy những ảo giác đúng đắn, tức những thứ gần với tưởng tượng
    Quy trình có thể là dùng các mô hình lớn hiện có để chuyển dữ liệu huấn luyện hiện có thành các quan hệ logic hình thức, tạo ra nhiều lời giải, rồi dùng tập dữ liệu tăng cường đó để huấn luyện một LLM mới không chỉ xuất token tiếp theo mà còn xuất cả quan hệ hình thức giữa tri thức hiện có và văn bản mới được tạo
    Mạng có thể tối ưu trọng số cùng với độ chính xác tạo token, sao cho mã hình thức được tạo đạt độ chính xác cao trong trình kiểm chứng chứng minh
    Cá nhân tôi thấy ngôn ngữ không phải nền tảng của trí tuệ mà chỉ là thứ phụ trợ; nền tảng có vẻ gần với một mô phỏng như giấc mơ, nơi các sự vật nhất quán với nhau, còn ngôn ngữ giống như công cụ để mô tả nó

    • Đề xuất này quay lại cuộc tranh luận kinh điển khi xây dựng hệ thống quản lý tri thức ngữ nghĩa giữa cách tiếp cận từ trên xuống mang tính hình thứctừ dưới lên phi hình thức
      Cách từ trên xuống từng được thử nhiều vào thời trước big data, trước các mô hình xác suất, nhưng cần khối lượng tuyển chọn thủ công khổng lồ và tri thức cũng thiếu
      Sự xuất hiện của big data không giải quyết được vấn đề tuyển chọn; vì không thể tự động hóa việc tuyển chọn nên quy mô càng lớn thì càng tệ hơn
      Khi AI chuyển sang hướng xác suất vào khoảng thập niên 1990, các mô hình xác suất mang tính liên tưởng ngày nay mới trở nên khả thi, và không thấy hy vọng rằng những cách tiếp cận được tuyển chọn kỹ hơn, hình thức hơn có thể thắng được chúng
      Dù gắn tư duy loại 2 như suy luận hay tính nhân quả vào LLM bằng cách nào, phần triển khai vẫn phải tiếp tục mang tính xác suất, phi hình thức và từ dưới lên
      Việc con người tuyển chọn thủ công các quan hệ logic/ngữ nghĩa vào mô hình tri thức đã được chứng minh là không đủ cho quy mô cần thiết và cho việc ứng phó với tính mong manh
    • Logic cũng có rất nhiều vấn đề riêng
      Chỉ cần xem “Godel, Escher, Bach”, hoặc nghĩ xem vì sao OWL đã tồn tại 20 năm mà gần như không có thị phần
      Việc người ta thử đủ kiểu câu trả lời thay vì RETE để quản lý mã bất đồng bộ, việc “xử lý sự kiện phức hợp” vẫn là một lĩnh vực chuyên biệt chứ không phải đối thủ của các trình chạy tác vụ như Celery, hay vì sao Drools không thể đưa ra thông báo lỗi dễ hiểu, cũng đều cùng một bối cảnh
    • Vấn đề phát sinh ở những thứ mới mà mô hình chưa từng thấy và ở những câu hỏi mà con người cũng không biết đáp án
      Toàn bộ vấn đề ảo giác có cảm giác như chỉ là bài toán dừng được gắn thêm vài bước. Có lẽ phải hỏi ChatGPT xem P=NP hay không
    • Ở bước đầu tiên, CYC có thể là một lời giải hữu hiệu
      Theo kinh nghiệm của tôi, có thể gọi nó là một lược đồ quan hệ có ý nghĩa cho DAG. Cũng có phiên bản nguồn mở, nhưng công ty không còn trực tiếp duy trì nữa
      https://cyc.com
      https://github.com/asanchez75/opencyc
    • Kiểm chứng hình thức tri thức hay quan hệ logic ư, vậy sẽ kiểm chứng hình thức tiểu thuyết khoa học viễn tưởng hay thơ như thế nào?
      Còn các nghịch lý tồn tại trong tự nhiên, hoặc những lý thuyết mâu thuẫn lẫn nhau nhưng từng cái lại đúng về mặt logic thì sao?
      Nói thì dễ, nhưng thực tế chẳng khác nào đề xuất rằng “nó sẽ hoạt động nếu ta giải được một bài toán NP-khó mà ta chưa biết cách giải”
  • Có thể gọi điều này là ảo giác, nhưng nói cách khác, có thể xem các hệ thống này trực giao với sự thật
    Nghĩa là chúng không liên quan gì đến đúng hay sai
    Ý này cũng được thể hiện trong bài báo này: https://link.springer.com/article/10.1007/s10676-024-09775-5

    • Cũng giống như hỏi một phân phối xác suất là trung thực hay là kẻ nói dối
      Nói như thể thuật toán có đặc tính cá nhân là một lỗi phạm trù
    • Bài báo được liên kết nói về việc phát hiện LLM chọn ngẫu nhiên hay chọn nhất quán ở cấp độ sự kiện
      Tính ngẫu nhiên được tạo theo thủ tục có thể rất tuyệt cho những việc như brainstorming, còn tính nhất quán là tín hiệu rằng nó đang lặp lại điều gì đó cũng xuất hiện tương đối nhất quán trong tài liệu huấn luyện
      Vì vậy nó có thể đúng hoặc sai, nhưng khả năng cao hơn là nó đã lấy từ đâu đó
      Biết thông tin ngẫu nhiên đến mức nào có vẻ là một bước tiến nhỏ
    • LLM được huấn luyện với mục tiêu “dù có chuyện gì cũng hãy trả lời ít nhất ba đoạn”, và kiểu trả lời đó luôn được ưu tiên hơn việc im lặng hoặc trả lời thiếu thân thiện như “anh đang nói cái gì vậy?”
      Vậy thì trên thực tế chẳng khác nào dạy nó nói những điều nhảm nhí nghe có vẻ hợp lý
      Nó giống như trong lớp diễn ứng biến, người ta dạy phải giữ cho cuộc đối thoại thú vị và đừng nói “không” với bạn diễn
    • Tôi nghi rằng thực tại chung sẽ bị bẻ cong để phù hợp với LLM, chứ không phải ngược lại
      Điều máy tính nói có thể trở thành “sự thật”
    • Các LLM này trông giống vô thức hơn là ý thức
      Nếu là Jung, có lẽ ông sẽ gọi đó là “antinomy”. Mục tiêu không phải là biểu trưng sự thật, mà là biểu trưng tổng thể các câu trả lời khả dĩ
  • Chẳng phải cuối cùng mọi thứ LLM làm đều là “ảo giác” sao?
    Muốn biết nó có ảo giác hay không thì bạn đã phải biết sẵn đáp án đúng. Nếu có thể tạo ra một hệ thống biết câu trả lời có đúng hay không, thì sẽ không còn cần LLM nữa

    • Ảo giác vốn hàm ý sự thất bại của một tâm trí lành mạnh
      Điều LLM hiện nay làm thì gọi là nói nhảm có lẽ đúng hơn. Khi thứ nói nhảm đó tốt lên, tỷ lệ tình cờ đúng chỉ ngày càng tăng mà thôi
    • Tôi tự hỏi có nhất thiết trong mọi thread về chủ đề này đều phải có người bắt bẻ thuật ngữ “ảo giác”, vốn đã là một thuật ngữ được xác lập và truyền đạt ý nghĩa tốt không. Càng ngày càng mệt
    • Con người cũng toàn bịa dựng
      Đôi khi nhất quán dựa trên động lực học vật lý và xã hội, đôi khi thì không
      Vì một hệ thống hiển nhiên luôn đúng là bất khả thi, nên ta cần một hệ thống theo đuổi tính nhất quán
    • Nếu đã đọc bài, hẳn bạn đã biết rằng quá trình tạo câu trả lời bằng LLM là một phần quan trọng của quá trình kiểm chứng sự thật
  • Trong thời gian tới, có lẽ các công ty AI nên trình bày chatbot chỉ như một công cụ tạo văn bản được điều chỉnh đôi chút thì hơn
    Như vậy mọi người có thể dùng chúng cho phù hợp
    Có những thứ trông như một chút hiểu biết, và cũng có thể khiến chúng bắt chước phần nào suy luận từng bước, nhưng 95% chức năng của hộp đen này là tạo văn bản
    Thật ra nó không phải tạo ra sự thật hay tri thức, mà gần với một bạn diễn ứng biến hơn là bách khoa toàn thư; người trong ngành công nghệ đều biết điều đó
    Tôi không chắc vấn đề LLM đánh lừa mọi người có nhất thiết cần một giải pháp entropy câu trả lời thông minh hay không. Giải pháp đó thú vị, và có vẻ sẽ đem lại cải thiện thực tế theo kiểu gắn điểm tự tin cho các phát biểu
    Nhưng chỉ cần không tiếp thị bộ tạo văn bản bằng machine learning như thể gần như là AGI thì chẳng phải đã giảm được phần lớn thiệt hại và còn hữu ích hơn sao

    • Hiện tôi đang làm frontend bằng React và Redux cùng với LLM, mà cả hai đều là công nghệ tôi gần như không biết
      Khi tôi đặt câu hỏi, LLM đưa ra câu trả lời và mã JavaScript, trong khi JavaScript của tôi cũng đã khá gỉ sét
      Tất cả mã đều biên dịch được và phần lớn hoạt động như kỳ vọng. Cũng có lỗi, nhưng LLM giải thích những lỗi tôi không hiểu và đưa ra mã sửa chạy được
      Nhìn chung đó là một trải nghiệm tuyệt vời, giống như làm việc cùng một mentor, và theo tiêu chuẩn của một người mới như tôi thì đã tiết kiệm rất nhiều thời gian. Dĩ nhiên vẫn cần kiểm chứng kết quả
      Con số 95% đó từ đâu ra? Và việc đó là tạo văn bản hay tạo sự thật/tri thức cũng không quan trọng. Đây là một công cụ thực sự có giá trị và vượt xa bất cứ thứ gì tôi từng dùng
  • Cách “lấy mẫu nhiều câu trả lời khả dĩ cho mỗi câu hỏi, rồi dùng thuật toán gom các câu trả lời có ý nghĩa tương tự lại với nhau” là hợp lý với những câu hỏi có một đáp án trắc nghiệm khách quan duy nhất
    Với các trường hợp có thể có nhiều câu trả lời hợp lệ ngang nhau, nó có thể không giúp được nhiều
    Dù vậy, với ứng dụng công cụ tìm kiếm thì như vậy là đủ tốt

  • Khái niệm entropy ngữ nghĩa làm tôi nhớ đến chuyện sau vụ Enron, có một ngân hàng đã tạo ra một “bullshitometer” để đo mức độ nhảm nhí trong thông cáo báo chí
    Tôi không nhớ tên ngân hàng đó, nhưng nghe nói khi áp dụng nó cho các thông cáo báo chí của Enron, họ đã cho thấy có thể dự đoán được sự sụp đổ của công ty

  • Trong thống kê có khái niệm phân tích độ nhạy
    Cách này trông cũng giống ở một mức nào đó, nhưng một phương án thay thế thú vị có thể là sửa đầu vào theo cách được cho là vẫn giữ nguyên ý nghĩa, rồi xem ý nghĩa của đầu ra thay đổi như thế nào
    Tất nhiên phần khó là thay đổi đầu vào mà không làm đổi ý nghĩa, nhưng điều đó có vẻ không hoàn toàn bất khả thi
    Ít nhất có thể yêu cầu LLM thử thay đổi đầu vào mà không đổi ý nghĩa. Tuy vậy, mô hình có thể sửa theo hướng khớp với cách nó đã hiểu sai đầu vào, khiến sau khi sửa thì đầu ra ảo giác lại càng khớp hơn

  • Tôi hiểu rằng entropy ngữ nghĩa, có vẻ cần một LLM được huấn luyện để phát hiện tương đương ngữ nghĩa, có thể bắt ảo giác tốt hơn
    Nhưng tôi chưa thấy rõ tương đương ngữ nghĩa trực tiếp giải quyết vấn đề ảo giác như thế nào
    Hiện tại tôi nghi nó gần với một heuristic để bắt ảo giác hơn
    Hơn nữa, việc cần một LLM thứ hai để phát hiện tương đương ngữ nghĩa nhằm bắt các trường hợp này trông có vẻ phức tạp không cần thiết
    Nếu có bộ dữ liệu tương đương ngữ nghĩa, tôi nghĩ nên đưa trực tiếp vào quá trình huấn luyện LLM chính hơn là huấn luyện một LLM thứ hai

    • Tôi chưa hiểu nghiên cứu này đủ sâu để phê bình, nhưng có thể tích hợp bộ dữ liệu tương đương ngữ nghĩa vào huấn luyện
      Tuy nhiên, nếu trộn nhiều hàm rõ ràng như “đạt AUC tốt về ngữ nghĩa” để bù cho điểm yếu của một mô hình phức tạp với mục tiêu tri giác không rõ ràng, chuyện vẫn trở nên kỳ lạ
      Ta không biết mình có trộn đúng hay không, cũng không biết liệu có đưa các kết quả, rủi ro và thiên lệch khó dự đoán vào quá trình huấn luyện hay không
      Với một tác vụ được định nghĩa hẹp như “có thể phán định tương đương ngữ nghĩa không”, ta có thể tạo ra một mô hình tốt hơn với ít rủi ro chưa biết hơn; nếu áp dụng mô hình đó theo cách tương đối rõ ràng thì rủi ro chưa biết cũng giảm
      Vì vậy, dùng hai bộ ước lượng hơi thiên lệch để mở đường tới một heuristic hợp lý cụ thể có thể an toàn và phổ quát hơn nhiều so với việc trộn dữ liệu vào hỗn hợp phức tạp hiện có rồi hy vọng đóng góp của nó có thể dự đoán được
    • Bắt ảo giác khá hữu ích trong nhiều ứng dụng
      Tôi đang nghiên cứu cách giảm tác động của lỗi sự thật trong câu trả lời LLM dành cho cơ quan công quyền, nơi việc đưa ra câu trả lời sai sự thật có thể là bất hợp pháp
      Nếu có thể phát hiện với độ chính xác đủ cao, hệ thống có thể từ chối trả lời và yêu cầu người dùng liên hệ với cơ quan đó
      Dĩ nhiên, tốt hơn là huấn luyện mô hình để ngay từ đầu không đưa ra câu trả lời sai
      Sự phức tạp không cần thiết cũng xuất hiện khi dùng LLM hộp đen thương mại đã huấn luyện sẵn qua API. Đáng tiếc là trong các ứng dụng, LLM phần lớn được dùng theo cách này
      Cũng có thể fine-tune qua API, nhưng với những bộ dữ liệu tổng hợp quy mô lớn như thế này thì phiền phức, hạn chế và rất đắt
      Chỉ đọc bài thì khó nắm được “entropy ngữ nghĩa” cụ thể được tính như thế nào. Nếu quan tâm, mã dễ hiểu hơn nhiều: https://github.com/jlko/semantic_uncertainty/blob/master/sem...
  • Một ý tưởng khá thông minh. Đó là cách kiểm tra xem mô hình có trả lời khác nhau khi hỏi lặp lại cùng một câu hỏi nhiều lần hay không
    Việc “kiểm tra” do một mô hình khác thực hiện, còn “khác nhau” được đo bằng entropy