Perplexity (metric) (VI)

From Systems analysis Wiki
Jump to navigation Jump to search

Perplexity - Độ Phức Tạp (tiếng Anh: Perplexity, PPL) trong lý thuyết thông tin và học máy — là thước đo mức độ không chắc chắn hay "sự ngạc nhiên" của mô hình ngôn ngữ khi dự đoán một mẫu văn bản. Perplexity thấp cho thấy phân phối xác suất của mô hình phù hợp tốt với dữ liệu kiểm thử, trong khi perplexity cao có nghĩa là mô hình dự đoán chuỗi văn bản kém[1].

Về mặt hình thức, perplexity của một phân phối xác suất được định nghĩa là hàm mũ của entropy của nó. Đối với phân phối rời rạc p(x), nó bằng 2H(p), trong đó H(p) là entropy[2]. Theo trực giác, perplexity có thể được hiểu là số lượng "hiệu dụng" các lựa chọn mà mô hình phải chọn ở mỗi bước. Nếu perplexity bằng 100, điều đó có nghĩa là mức độ không chắc chắn của mô hình tương đương với việc chọn một trong 100 kết quả có xác suất bằng nhau[3].

Thuật ngữ này được giới thiệu lần đầu vào năm 1977 bởi nhóm các nhà nghiên cứu IBM dưới sự lãnh đạo của Frederick Jelinek trong bối cảnh nhận dạng giọng nói thống kê nhằm đánh giá định lượng "độ khó" của bài toán[4].

Perplexity trong các mô hình ngôn ngữ

Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), perplexity đã trở thành chỉ số nội tại (intrinsic) tiêu chuẩn để đánh giá chất lượng mô hình ngôn ngữ. Nó đo lường mức độ tốt của mô hình khi dự đoán chuỗi từ hoặc token trong tập dữ liệu kiểm thử.

Định nghĩa hình thức

Đối với corpus kiểm thử W=w1w2wN và mô hình ngôn ngữ q, perplexity được tính là nghịch đảo trung bình hình học của xác suất corpus kiểm thử, được chuẩn hóa theo số lượng từ: PP(W,q)=(i=1N1q(wiw1,,wi1))1/N

Công thức này tương đương với hàm mũ của cross-entropy, hay trung bình tổn thất logarit (negative log-likelihood): PP(W,q)=exp(1Ni=1Nlogq(wiконтекст))

Tối thiểu hóa perplexity tương đương với tối đa hóa độ hợp lệ của mô hình trên dữ liệu kiểm thử. Do đó, mô hình có perplexity thấp hơn được coi là chính xác hơn về mặt thống kê[5].

Ứng dụng lịch sử và các LLM hiện đại

Về mặt lịch sử, perplexity được sử dụng rộng rãi để đánh giá các mô hình n-gram thống kê. Ví dụ, đối với corpus Wall Street Journal, mô hình unigram (chỉ tính đến tần suất từ) có perplexity ~962, trong khi mô hình trigram (tính đến ngữ cảnh từ hai từ trước) — khoảng 109[6]. Sự giảm mạnh này cho thấy mô hình nắm bắt các quy luật ngôn ngữ tốt hơn bao nhiêu.

Với sự phát triển của các mô hình ngôn ngữ lớn (LLM), perplexity vẫn giữ vai trò là thước đo cơ bản. Các nhà nghiên cứu báo cáo perplexity trên các tập kiểm thử tiêu chuẩn (ví dụ: WikiText) như một chỉ số về độ "trôi chảy" của mô hình. Như trong bài báo của OpenAI về GPT-2 đã chỉ ra rằng mô hình với ~117 triệu tham số đạt perplexity khoảng 37 trên corpus WikiText-103[7]. Việc giảm perplexity thường tương quan với việc cải thiện chất lượng mô hình, do đó chỉ số này là một chỉ báo tiện lợi về sự tiến bộ trong quá trình huấn luyện và tối ưu hóa.

Hạn chế và cách diễn giải chỉ số

Mặc dù perplexity thấp cho thấy độ hợp lệ cao của dữ liệu theo mô hình, chỉ số này có một số hạn chế đáng kể và không phải lúc nào cũng tương quan với chất lượng thực sự của văn bản được tạo ra.

  • Perplexity thấp ≠ chất lượng cao. Perplexity đo sự tự tin của mô hình trong các dự đoán của mình, nhưng không phải độ chính xác của chúng. Mô hình có thể tự tin mà sai, tạo ra văn bản vô nghĩa nhưng có xác suất thống kê cao (ví dụ: lặp lại các từ và cụm từ rất phổ biến)[3].
  • Độ nhạy với dữ liệu và token hóa. Perplexity không phù hợp để so sánh trực tiếp các mô hình với kiến trúc, từ điển hoặc phương pháp token hóa khác nhau. Ví dụ, mô hình dựa trên ký tự có thể có perplexity thấp hơn về mặt số học so với mô hình dựa trên từ, nhưng điều đó không có nghĩa là nó giải quyết các bài toán ngôn ngữ tốt hơn[3].
  • Không có khả năng đánh giá ngữ nghĩa và ngữ cảnh dài. Perplexity là một chỉ số cục bộ, đánh giá dự đoán token tiếp theo. Nó tương quan yếu với khả năng của mô hình trong việc nắm bắt các phụ thuộc dài hạn và ngữ cảnh có nghĩa ở khoảng cách lớn. Nghiên cứu năm 2023 (Hu et al.) cho thấy khả năng của LLM trong việc hiểu văn bản dài (lên đến 100 nghìn token) hầu như không được phản ánh trong chỉ số perplexity[8].
  • Khả năng bị thao túng. Chỉ số này có thể bị "đánh lừa". Mô hình bị overfit sẽ cho thấy perplexity thấp giả tạo trên dữ liệu mà nó đã "ghi nhớ". Các nghiên cứu (Wang et al., 2022) cũng cho thấy rằng việc nhân đôi các đoạn văn bản hay thậm chí thiếu dấu chấm cuối câu có thể làm giảm hoặc tăng perplexity một cách vô lý mà không ảnh hưởng đến chất lượng thực sự của văn bản[9].

Kết luận: Vai trò của perplexity ngày nay

Xét đến những hạn chế đã liệt kê, trong thực tiễn hiện đại, perplexity được coi là chỉ số bổ trợ, sơ bộ về chất lượng mô hình ngôn ngữ. Nó vẫn là công cụ có giá trị để đánh giá và gỡ lỗi mô hình nhanh chóng, vì không phụ thuộc vào bài toán ứng dụng cụ thể và đơn giản trong tính toán[3].

Tuy nhiên, để đánh giá đầy đủ LLM, chỉ dùng perplexity là chưa đủ. Ngày nay, perplexity nhất thiết phải được bổ sung bằng các chỉ số ngoại tại (extrinsic) gắn với các bài toán cụ thể, chẳng hạn như:

  • Độ chính xác trả lời câu hỏi;
  • Đánh giá của con người (human evaluation);
  • BLEU/ROUGE cho dịch máy và tóm tắt văn bản.

Kết hợp với các phương pháp này, perplexity tiếp tục đóng vai trò quan trọng — là thước đo khách quan về "sự ngạc nhiên" của mô hình, nhưng kết quả của nó luôn được diễn giải có tính đến những hạn chế đã đề cập[3].

Liên kết

  • Bài viết «Perplexity trong các mô hình ngôn ngữ» trên Habr
  • Tài liệu của Hugging Face về tính toán perplexity

Tài liệu tham khảo

  • Jelinek, F., Bahl, L. R., & Mercer, R. L. (1977). Perplexity — a Measure of the Difficulty of Speech Recognition Tasks. JASA:62(S1):S63.
  • Jurafsky, D., & Martin, J. H. (2021). Speech and Language Processing (xuất bản lần 3, chương 3: N-gram Language Models). PDF.
  • Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. OpenAI white paper.
  • Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Wang, C. et al. (2022). Perplexity by PLM Is Unreliable for Evaluating Text Quality. arXiv:2210.05892.
  • Meister, C., & Cotterell, R. (2021). Language Model Evaluation Beyond Perplexity. arXiv:2106.00085.
  • Hu, Y. et al. (2024). Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?. arXiv:2405.06105.
  • Lazaridou, A. et al. (2021). Mind the Gap: Assessing Temporal Generalization in Neural Language Models. NeurIPS 2021.

Chú thích

  1. «Перплексия». Википедия. [1]
  2. «Perplexity». Wikipedia. [2]
  3. 3.0 3.1 3.2 3.3 3.4 Morgan, Abby. «Perplexity for LLM Evaluation». Comet AI Blog, 21 Nov 2024. [3]
  4. «README.md · evaluate-measurement/perplexity». Hugging Face. [4]
  5. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [5]
  6. Jurafsky, Dan, and James H. Martin. Speech and Language Processing, 3rd ed., Chapter 3: N-gram Language Models, draft (2021). [6]
  7. «Perplexity number of wikitext-103 on gpt-2 don't match the paper». GitHub, huggingface/transformers, Issue #483. [7]
  8. Hu, H., et al. «Can Perplexity Reflect Large Language Model's Ability in Long Text Understanding?». arXiv:2405.06105 [cs.CL], 10 мая 2024 г. [8]
  9. Wang, C., et al. «Perplexity by PLM Is Unreliable for Evaluating Text Quality». arXiv:2210.05892 [cs.CL], 12 окт. 2022 г. [9]