Xác suất token và log-likelihood trong phát hiện AI
Perplexity thu hút sự chú ý, nhưng phép tính bên dưới nó là xác suất token: phân phối của mô hình đối với từ tiếp theo thực sự chứa gì, vì sao toán học phát hiện chạy trong không gian log thay vì xác suất thô, và một chuỗi điểm theo từng token trở thành một số như thế nào.
Nếu bạn hỏi một bộ phát hiện nó đã đưa ra điểm số đó như thế nào, hầu hết giao diện người dùng của nó sẽ cho bạn cùng một câu trả lời: một đoạn văn với một số từ được tô đậm hơn những từ khác. Việc tô đậm không phải là một phỏng đoán. Nó xuất phát từ một con số gắn với từng token trong đoạn văn, được tính trước khi bộ phát hiện chạm tới perplexity, burstiness, hoặc một phần trăm cuối cùng.
Đó là xác suất token, và mọi phát hiện ai dựa trên xác suất token đều dựa trên điều đó, từ nền tảng. Bất kỳ số liệu nào mà một bộ phát hiện sẽ báo cáo, bao gồm hai số liệu mà chúng tôi trình bày ở nơi khác trên trang này, chỉ là phép tính số học áp dụng cho một chuỗi các con số này. Lớp bên dưới lớp mà hầu hết các giải thích dừng lại là nơi bạn phải nghĩ về token thực sự là gì, phân phối của mô hình đối với nó có nghĩa là gì, và vì sao phép tính diễn ra trong không gian log thay vì xác suất thô. Hầu hết các giải thích dừng ở đó.
Không có gì trong số đó cần phải mờ mịt. Một token, một phân phối xác suất và một logarit là những công cụ thông thường, không phải bí mật độc quyền, và cùng ba ý tưởng đó giải thích cách AI detectors thực sự hoạt động, từ văn bản thô đến một con số duy nhất trên báo cáo.
Phát hiện ai bằng xác suất token: Từ phân phối đến điểm số
Phát hiện ai bằng xác suất token hoạt động qua ba giai đoạn. Một mô hình ngôn ngữ gán xác suất cho mọi token tiếp theo có thể có dựa trên những gì đứng trước đó. Các xác suất trên từng token này được chuyển thành logarit và cộng lại trên toàn bộ đoạn văn, điều này tránh được một vấn đề số học mà phép nhân thô gặp phải gần như ngay lập tức. Tổng thu được, sau khi lấy trung bình và tái chuẩn hóa, là thứ cuối cùng xuất hiện dưới dạng chỉ số perplexity hoặc cung cấp đầu vào cho quyết định của một bộ phân loại. Mỗi giai đoạn là một phần số học cụ thể, có thể kiểm tra, không phải một hộp đen.
Token Thực Sự Là Gì
Một token không phải là một từ. Các mô hình ngôn ngữ hiện đại tách văn bản thành các mảnh dưới từ bằng một thuật toán như byte-pair encoding, vì vậy một từ phổ biến như 'the' thường là một token, một từ ít phổ biến hơn như 'perplexity' được tách thành hai hoặc ba mảnh, và một tên không quen thuộc có thể bị phân mảnh thành từng ký tự riêng lẻ. Một đoạn văn tiếng Anh thông thường được token hóa một cách đáng tin cậy thành nhiều mảnh hơn số từ mà nó có, điều này đáng biết trước khi tin vào bất kỳ số đếm từ nào mà một công cụ trả lại cho bạn.
Mô hình không bao giờ nhìn thấy các từ theo cách một người đọc nhìn thấy. Nó nhìn thấy một chuỗi các số nguyên, mỗi số là một chỉ mục vào một từ vựng cố định mà mô hình đã được huấn luyện với. Mọi thứ mà token probability ai detection làm từ điểm này trở đi đều hoạt động trên chuỗi số nguyên đó, không phải trên chuỗi ký tự gốc, và đó là một phần lý do khiến cơ chế bên trong của một bộ phát hiện có thể có cảm giác tách rời khỏi cách một người thực sự đọc một câu.
Phân phối của Mô hình đối với Token Tiếp theo
Ở mỗi vị trí trong một chuỗi, một mô hình ngôn ngữ tự hồi quy không xuất ra một dự đoán duy nhất. Nó xuất ra một phân phối xác suất đầy đủ trên toàn bộ từ vựng của nó, hàng chục nghìn con số cộng lại bằng một, xếp hạng mọi token tiếp theo có thể có từ khả dĩ nhất đến ít khả dĩ nhất, dựa trên mọi thứ đã xuất hiện trước đó. Nếu đưa cho mô hình cụm từ 'the results of the', nó phân bổ phần lớn khối xác suất đó cho một số ít danh từ hợp lý, 'study,' 'experiment,' 'analysis,' trong khi gán một phần cực nhỏ cho một thứ như 'marmalade.'
Token thực sự xuất hiện tiếp theo trong một tài liệu thực nằm ở đâu đó trong thứ hạng đó, và xác suất được gán cho nó là nguyên liệu thô để mọi thứ khác được xây dựng từ đó. Một mô hình tạo ra văn bản của chính nó có thể dựa trực tiếp vào phân phối này, liên tục chọn từ gần phía trên. Một bộ phát hiện đọc văn bản hoàn chỉnh của người khác chỉ có thể hỏi, sau sự việc, mô hình sẽ gán bao nhiêu xác suất cho lựa chọn đã thực sự được đưa ra.
Xác suất của một chuỗi hoàn chỉnh là tích của xác suất của từng token khi đã biết mọi thứ đứng trước nó, nếu ta nối câu hỏi theo từng token đó trên toàn bộ một tài liệu bằng quy tắc chuẩn cho xác suất đồng thời, kết quả cuối cùng là một con số duy nhất mô tả mức độ mà toàn bộ đoạn văn được kỳ vọng đến đâu. Tích này là nơi phép tính bắt đầu suy sụp, đó là lý do phần tiếp theo tồn tại.
Nhân hóa bài viết của bạn
Biến đổi văn bản có hỗ trợ AI của bạn và làm cho nó nghe tự nhiên như do con người viết, mà không chạm vào các từ quan trọng hoặc trích dẫn.
Tại sao Log-Likelihood thay thế xác suất thô
Nhân các xác suất với nhau là đúng về mặt toán học nhưng hầu như vô dụng sau vài chục token. Mỗi xác suất riêng lẻ là một phân số nhỏ hơn một, nên một tích lũy đang chạy sẽ nhỏ đi mỗi khi thêm một token nữa vào phép nhân, và nó nhỏ đi rất nhanh. Sau vài trăm token, một tích thô có thể giảm xuống thấp hơn rất nhiều so với số nhỏ nhất mà máy tính có thể biểu diễn, đến mức nó bị làm tròn xuống đúng bằng không, một dạng lỗi gọi là underflow.
Khi điều đó xảy ra, con số ấy hoàn toàn không còn mang thông tin nào. Một tài liệu chỉ đơn thuần là ít có khả năng và một tài liệu cực kỳ, hỗn loạn đến mức gần như không thể xảy ra đều sụp xuống cùng một giá trị không, không còn cách nào phân biệt chúng sau đó. Logarithm khắc phục điều này vì logarithm của một tích bằng tổng các logarithm, một đẳng thức từ đại số cơ bản. Việc cộng một chuỗi các số âm thông thường không bị underflow như khi nhân một chuỗi các phân số nhỏ, và ngoài ra còn rẻ hơn về mặt tính toán.
| Độ dài đoạn văn, mang tính minh họa | Xác suất thô, một tích lũy đang chạy | Tổng các log-probabilities |
|---|---|---|
| 12 token với giá trị minh họa 0.1 mỗi token | 1 x 10 mũ -12, vẫn biểu diễn được | xấp xỉ -27.6 |
| 350 token với giá trị minh họa 0.1 mỗi token | 1 x 10 mũ -350, underflows thành đúng 0 | xấp xỉ -805.9 |
Đây là một minh họa đơn giản hóa. Xác suất trên từng token thực tế biến thiên rất lớn thay vì nằm cố định ở mức 0.1, nhưng hướng của vấn đề thì hoàn toàn đúng. Một khi tích thô bị tràn xuống 0, phép so sánh mà một bộ phát hiện thực sự cần, tức là tài liệu này được kỳ vọng nhiều hay ít hơn tài liệu kia, sẽ trở nên bất khả thi. Tổng của các xác suất log không bao giờ thất bại theo cách đó. Nó vẫn là một con số chính xác, thông thường, có thể so sánh được, bất kể đoạn văn dài đến đâu, và đó mới là lý do thực sự khiến khả năng phát hiện được đo trong không gian log thay vì trong không gian xác suất thô.
Từ điểm số trên từng token đến điểm số phát hiện
Cộng các xác suất log trên toàn bộ một đoạn văn tạo ra tổng log-likelihood của tài liệu dưới mô hình tham chiếu. Chia cho số lượng token sẽ loại bỏ ảnh hưởng của độ dài và để lại log-likelihood trung bình trên mỗi token, một con số cuối cùng có thể so sánh giữa một bài luận năm trăm từ và một chương luận văn năm nghìn từ. Lấy âm của giá trị trung bình đó rồi exponentiate nó, kết quả thu được là điểm perplexity, một chỉ số mà cụm này trình bày đầy đủ trong một phần riêng về perplexity thực sự đo lường điều gì.
Các số liệu theo từng câu tương tự, được theo dõi để xem mức độ biến thiên trên toàn bộ tài liệu thay vì bị làm phẳng thành một giá trị trung bình, là thành phần tạo nên burstiness, một tín hiệu có liên quan nhưng tách biệt với perplexity. Cả hai đều bắt đầu từ các con số trên từng token giống hệt như đã mô tả ở trên. Chúng chỉ thực hiện các phép tính khác nhau trên nền đó.
Một giá trị trung bình đơn giản không phải là cách duy nhất để sử dụng nguyên liệu thô này, và nghiên cứu đã tiến xa hơn nhiều so với cách đó. DetectGPT, được công bố tại ICML 2023 bởi Mitchell, Lee, Khazatsky, Manning và Finn, hoạt động từ một tính chất khác của cùng hàm xác suất: văn bản được lấy mẫu từ một mô hình ngôn ngữ có xu hướng nằm trong một vùng mà các cách diễn đạt lại nhỏ làm cho xác suất log giảm xuống thay vì tăng lên, một mẫu mà bài báo gọi là độ cong âm.
Thay vì huấn luyện một bộ phân loại hoặc dùng watermark, phương pháp này làm nhiễu một đoạn văn, tạo ra những biến thể nhỏ trong cách nó được diễn đạt lại, rồi chấm lại từng biến thể bằng cùng một mô hình. Bài báo so sánh cách này với đường cơ sở zero-shot tốt nhất và cho thấy rằng, trên văn bản do một mô hình 20-billion-parameter tạo ra, phương pháp này đạt 0.95 AUROC trong khi đường cơ sở zero-shot tốt nhất đạt 0.81 AUROC.
Cùng một phân phối, được dùng để gắn watermark thay vì phát hiện
Từ trước đến nay, mọi thứ đều xem phân phối xác suất như một thứ được đọc sau sự việc. Nó cũng có thể được tác động ngay tại thời điểm tạo sinh, điều này đảo ngược hoàn toàn vấn đề. Một phương pháp năm 2023 của Kirchenbauer, Geiping, Wen, Katz, Miers và Goldstein chọn một danh sách rút gọn ngẫu nhiên các token được phép trước khi mỗi từ được tạo ra, dựa trên một hàm băm của những gì đứng trước đó, và nhẹ nhàng điều hướng việc lấy mẫu về phía danh sách rút gọn đó. Độ lệch này là vô hình đối với người đọc và sau đó có thể được khôi phục bằng một kiểm định thống kê trên một đoạn văn bản ngắn, mà không cần truy cập vào mô hình gốc.
SynthID của Google DeepMind đưa một phiên bản của ý tưởng này vào triển khai thực tế, nó điều chỉnh các điểm xác suất của token kế tiếp tại thời điểm tạo sinh và hiện đang hoạt động trong ứng dụng Gemini và trải nghiệm web. OpenAI đã xây dựng một hệ thống tương tự và chưa phát hành nó. Các báo cáo cho rằng quyết định này một phần xuất phát từ một khảo sát trong đó gần 30 percent người dùng ChatGPT nói rằng watermarking sẽ khiến họ dùng sản phẩm ít hơn, cùng với những lo ngại về việc một watermark sẽ tồn tại tốt đến mức nào sau khi diễn giải lại.
Báo cáo của một bộ phát hiện cho thấy một từ được tô bóng hoặc một tỷ lệ phần trăm đơn lẻ rồi dừng ở đó, mà không bao giờ cho thấy phân phối mà tất cả những thứ đó xuất phát từ. free perplexity checker của TextPulse chạy một phiên bản đơn giản hóa của việc chấm điểm theo từng token tương tự trên bản thảo của chính bạn, đây là một cách trực tiếp hơn để thấy một đoạn văn đang ở vị trí nào so với việc đọc lại một phán quyết qua trung gian.
Hai trang lân cận sẽ đề cập đến điều này. Việc các bộ phát hiện còn dựa vào burstiness hay không đã thay đổi kể từ năm 2023, và cách GPTZero biến các xác suất này thành một điểm số được mô tả trên trang riêng của nó.
Nó nằm cùng với các công cụ miễn phí khác của TextPulse, vì vậy cùng một bản nháp có thể được kiểm tra về nhịp điệu và cấu trúc cũng như mức độ dự đoán ở cấp độ từ, mà không cần mở hàng chục thẻ riêng biệt để làm việc đó.
Câu hỏi thường gặp
Xác suất token trong phát hiện AI là lớp bên dưới mọi chỉ số phát hiện khác. Một mô hình ngôn ngữ gán xác suất cho từng token trong một chuỗi, từng mảnh từ một, dựa trên mọi thứ đứng trước nó. Perplexity, điểm của bộ phân loại và phần trăm trên báo cáo đều là phép tính được thực hiện trên chuỗi số đó sau đó, không phải một phép đo riêng biệt, độc lập.
PhD in natural language processing, with years spent building NLP applications end to end. Moe works on text analysis: lexical and syntactic structure, and what separates machine-generated prose from human prose statistically. He has been experimenting with computational linguistics since the early days of NLTK, spaCy and WordNet, and still writes most of his tooling in Python.