Giới thiệu HELMET

Giới thiệu HELMET.

  • 16 min read
Giới thiệu HELMET
Giới thiệu HELMET.

Giới thiệu HELMET: Đánh giá toàn diện các mô hình ngôn ngữ theo ngữ cảnh dài

Liên hệ: hyen@cs.princeton.edu Bài báo: https://arxiv.org/abs/2410.02694 Trang web: https://princeton-nlp.github.io/HELMET Mã & Dữ liệu: https://github.com/princeton-nlp/HELMET

Kể từ khi chúng tôi phát hành HELMET lần đầu tiên vào tháng 10 năm ngoái, đã có nhiều sự phát triển hơn bao giờ hết về các mô hình ngôn ngữ theo ngữ cảnh dài và chúng tôi rất vui khi thấy cộng đồng chấp nhận HELMET, chẳng hạn như Phi-4 của MicrosoftJamba 1.6 của AI21. Sau khi phát hành ban đầu, chúng tôi đã thêm nhiều mô hình hơn vào bộ đánh giá của mình và tiến hành phân tích bổ sung. Chúng tôi rất vui mừng được chia sẻ những kết quả mới của mình và giới thiệu HELMET tại ICLR 2025!

Trong blog này, chúng tôi sẽ mô tả cấu trúc của HELMET, những phát hiện chính của chúng tôi và cách các chuyên gia có thể sử dụng HELMET để phân biệt giữa các LCLM khác nhau trong nghiên cứu và ứng dụng trong tương lai. Cuối cùng, chúng tôi sẽ kết thúc bằng một hướng dẫn khởi động nhanh để sử dụng HELMET với HuggingFace.

Đánh giá các mô hình ngôn ngữ theo ngữ cảnh dài là một thách thức nhưng quan trọng

Từ việc tóm tắt vô số tài liệu pháp lý đến việc học các nhiệm vụ mới một cách nhanh chóng, các mô hình ngôn ngữ theo ngữ cảnh dài (LCLM) có tiềm năng to lớn để thay đổi cách chúng ta sử dụng và tương tác với các mô hình ngôn ngữ. Các mô hình ngôn ngữ đã bị giới hạn bởi cửa sổ ngữ cảnh của chúng, thường là khoảng 2K đến 8K token (ví dụ: ChatGPT, Llama-2/3). Gần đây, các nhà phát triển mô hình liên tục tăng kích thước cửa sổ ngữ cảnh của mô hình của họ, với các mô hình gần đây như GPT-4o, Claude-3Gemini-1.5 hỗ trợ cửa sổ ngữ cảnh lên đến hàng triệu token.

Tuy nhiên, với cửa sổ ngữ cảnh dài hơn, các tiêu chuẩn đánh giá ngôn ngữ tự nhiên trước đây (ví dụ: Scrolls) không còn phù hợp để đánh giá LCLM nữa. Do đó, độ khó và các nhiệm vụ tổng hợp (ví dụ: kim trong đống cỏ khô) nổi lên như các số liệu đánh giá phổ biến nhất cho LCLM gần đây, nhưng chúng thường không phản ánh hiệu suất trong thế giới thực. Các nhà phát triển mô hình cũng có thể đánh giá trên các bộ dữ liệu tùy ý khác, điều này làm phức tạp việc so sánh mô hình. Hơn nữa, các tiêu chuẩn đánh giá hiện có cho LCLM có thể cho thấy các kết quả khó hiểu và phản trực giác, gây khó khăn cho việc hiểu các điểm mạnh và điểm yếu của các mô hình khác nhau (Hình 1).

Trong công trình này, chúng tôi đề xuất HELMET (Cách đánh giá các mô hình theo ngữ cảnh dài một cách hiệu quả và kỹ lưỡng), một tiêu chuẩn đánh giá toàn diện để đánh giá LCLM giúp cải thiện các tiêu chuẩn đánh giá hiện có theo một số cách—tính đa dạng, khả năng kiểm soát và độ tin cậy. Chúng tôi đánh giá 59 LCLM gần đây và thấy rằng điều quan trọng là phải đánh giá các mô hình trên các ứng dụng đa dạng để hiểu khả năng của chúng và LCLM Frontier vẫn còn hạn chế trong các nhiệm vụ phức tạp.

Các đánh giá hiện có quá dựa vào các nhiệm vụ tổng hợp

Với sự phát triển của LCLM trên cả ngành và cộng đồng mã nguồn mở, điều quan trọng là phải có một phương pháp đáng tin cậy để đánh giá và so sánh các mô hình này. Tuy nhiên, các mô hình hiện tại thường được đánh giá trên các tiêu chuẩn đánh giá khác nhau (Bảng 1).

Một thông lệ phổ biến để đánh giá các mô hình ngôn ngữ theo ngữ cảnh dài là sử dụng độ khó hoặc các nhiệm vụ tổng hợp, chẳng hạn như kim trong đống cỏ khô (NIAH). Tuy nhiên, các công trình gần đây đã chỉ ra rằng độ khó không tương quan tốt với hiệu suất hạ nguồn (Fang và cộng sự, 2024). Trong Hình 2, chúng tôi cho thấy rằng các nhiệm vụ tổng hợp như NIAH không tương quan với hiệu suất trong thế giới thực, nhưng các nhiệm vụ tổng hợp phức tạp hơn đạt được mối tương quan cao hơn với các nhiệm vụ trong thế giới thực.

Trong số các tiêu chuẩn đánh giá hiện có với các ứng dụng thực tế, chẳng hạn như ZeroScrolls (Shaman và cộng sự, 2023), LongBench (Bai và cộng sự, 2024) và InfiniteBench (Zhang và cộng sự, 2024), vẫn còn những hạn chế quan trọng:

  • Không đủ phạm vi các nhiệm vụ hạ nguồn: thường tập trung vào các miền cụ thể
  • Độ dài không đủ để kiểm tra LCLM Frontier: bộ dữ liệu QA cũ hơn thường giới hạn ở <32K token (ví dụ: QASPER, QuALITY)
  • Các chỉ số không đáng tin cậy: Các chỉ số so khớp N-gram như ROUGE gây nhiễu—chúng không tương quan với đánh giá của con người (Goyal và cộng sự, 2023) và không phân biệt giữa các mô hình
  • Không tương thích với các mô hình cơ sở: yêu cầu điều chỉnh hướng dẫn, có nghĩa là chúng không thể được sử dụng để phát triển mô hình cơ sở

Do đó, chúng tôi đề xuất HELMET để giải quyết những hạn chế này và cung cấp một đánh giá toàn diện về LCLM.

Xây dựng đánh giá đa dạng, có thể kiểm soát và đáng tin cậy cho LCLM

Chúng tôi thiết kế HELMET với những mong muốn sau:

  1. Phạm vi đa dạng của các nhiệm vụ hạ nguồn
  2. Độ dài và độ phức tạp có thể kiểm soát
  3. Đánh giá đáng tin cậy cho các mô hình cơ sở và được điều chỉnh hướng dẫn

Bảng 2 cho thấy tổng quan về tiêu chuẩn đánh giá. Trong các thử nghiệm của chúng tôi, chúng tôi đánh giá trên độ dài đầu vào từ 8K đến 128K token, nhưng HELMET có thể dễ dàng được mở rộng sang độ dài ngữ cảnh thậm chí còn dài hơn.

Cải tiến chính so với các tiêu chuẩn đánh giá hiện có

  • Phạm vi đa dạng: HELMET bao gồm một tập hợp đa dạng các nhiệm vụ, chẳng hạn như tạo được tăng cường khả năng truy xuất với các đoạn truy xuất thực tế, tạo với các trích dẫn và tóm tắt. Chúng tôi cẩn thận chọn các tập dữ liệu có ngữ cảnh dài tự nhiên phản ánh các ứng dụng trong thế giới thực. Các tập dữ liệu này được bổ sung bằng các cài đặt đánh giá đáng tin cậy, chẳng hạn như đánh giá dựa trên mô hình và nghiên cứu của con người.
  • Độ dài và độ khó có thể kiểm soát: Một khía cạnh quan trọng cần xem xét khi đánh giá LCLM là độ dài đầu vào, vì đầu vào dài hơn có thể cung cấp nhiều thông tin hơn đồng thời thách thức khả năng xử lý các ngữ cảnh nhiễu của mô hình. Trong các nhiệm vụ của chúng tôi, chúng tôi có thể kiểm soát độ dài đầu vào bằng cách thay đổi số lượng đoạn được truy xuất (RAG, Cite, Sắp xếp lại), số lượng minh chứng (ICL) hoặc độ dài của tài liệu đầu vào (LongQA, Summ). Mặc dù LongQA và Summ không thể dễ dàng được mở rộng sang các ngữ cảnh dài hơn, chúng tôi cố tình chọn các tập dữ liệu có tài liệu tự nhiên có độ dài lớn hơn 100K token, để chúng vẫn có thể được sử dụng để đánh giá LCLM Frontier.
  • Đánh giá đáng tin cậy: Nhiều tiêu chuẩn đánh giá hiện có vẫn sử dụng các chỉ số dựa trên n-gram, chẳng hạn như ROUGE, mặc dù chúng có mối tương quan kém với đánh giá của con người (Goyal và cộng sự, 2023). Chúng tôi sử dụng các đánh giá dựa trên mô hình cho thấy khả năng phân biệt tốt hơn giữa các mô hình và độ dài đầu vào khác nhau (Hình 3). Hơn nữa, các nghiên cứu của chúng tôi trên người cho thấy rằng các chỉ số của chúng tôi có sự đồng ý cao với đánh giá của con người.
  • Gợi ý mạnh mẽ: Các tiêu chuẩn đánh giá theo ngữ cảnh dài hiện có thường yêu cầu các mô hình tuân theo hướng dẫn, nhưng nhiều phát triển mô hình xoay quanh các mô hình cơ sở, phải dựa vào các nhiệm vụ tổng hợp hoặc độ khó để đánh giá. Do đó, chúng tôi hỗ trợ các mô hình cơ sở cho một tập hợp con các nhiệm vụ của chúng tôi thông qua các ví dụ học trong ngữ cảnh. Điều này cải thiện đáng kể hiệu suất của các mô hình cơ sở, phản ánh rõ hơn các ứng dụng trong thế giới thực.

LCLM vẫn còn một chặng đường dài để đi trên các nhiệm vụ trong thế giới thực

Các thử nghiệm và phân tích của chúng tôi bao gồm một tập hợp toàn diện gồm 59 LCLM. Theo hiểu biết của chúng tôi, đây là so sánh kỹ lưỡng và có kiểm soát nhất về các mô hình theo ngữ cảnh dài trên các ứng dụng đa dạng. Các mô hình này bao gồm cả các mô hình độc quyền và mã nguồn mở hàng đầu, và chúng tôi cũng xem xét các mô hình có kiến trúc khác nhau (ví dụ: bộ chuyển đổi chú ý đầy đủ, kiến trúc lai) và các kỹ thuật ngoại suy vị trí. Trong phần này, chúng tôi sẽ làm nổi bật một vài phát hiện chính từ các thử nghiệm của mình.

Cần có đánh giá đa dạng để đánh giá khả năng theo ngữ cảnh dài

Các tiêu chuẩn đánh giá theo ngữ cảnh dài thường được xây dựng với các ứng dụng cụ thể, chẳng hạn như tóm tắt hoặc trả lời câu hỏi, điều này hạn chế sự hiểu biết về LCLM trong một bối cảnh rộng hơn. Chúng tôi kiểm tra hiệu suất của mô hình trên một loạt các nhiệm vụ thực tế và thấy rằng các danh mục khác nhau không phải lúc nào cũng tương quan với nhau (Hình 4).

Mặc dù một số nhiệm vụ tương quan vừa phải với nhau (ví dụ: RAG và MS-MARCO) do bản chất dựa trên truy xuất của chúng, những nhiệm vụ khác lại ít tương quan (ví dụ: Summ và Cite). Đáng chú ý, ICL có mối tương quan thấp nhất với các nhiệm vụ khác, cho thấy rằng đây là một nhiệm vụ duy nhất đòi hỏi các khả năng khác nhau từ mô hình. Do đó, các nhà phát triển mô hình nên đánh giá trên các trục khác nhau này để đưa ra một bức tranh toàn diện hơn về khả năng của mô hình.

Các mô hình suy giảm khi tăng độ dài và độ phức tạp của nhiệm vụ

Chúng tôi trình bày kết quả của các mô hình độc quyền Frontier cũng như một vài mô hình mã nguồn mở trên HELMET. Có thể tìm thấy các kết quả bổ sung trong bài báo và trang web.

Đầu tiên, chúng tôi nhận thấy rằng các mô hình mã nguồn mở tụt hậu so với các mô hình nguồn đóng trong các nhiệm vụ phức tạp. Mặc dù khoảng cách có vẻ nhỏ đối với các nhiệm vụ đơn giản hơn, chẳng hạn như Thu hồi, nhưng khoảng cách sẽ mở rộng ra đối với các nhiệm vụ phức tạp hơn, chẳng hạn như Cite.

Hơn nữa, sự suy giảm hiệu suất khi tăng độ dài phụ thuộc vào danh mục. Ngay cả các mô hình tiên tiến nhất, chẳng hạn như GPT-4o và Gemini, cũng trải qua sự suy giảm đáng kể về hiệu suất trong các nhiệm vụ như sắp xếp lại. Sự thay đổi về hiệu suất này không thể được quan sát chỉ bằng cách xem hiệu suất của nhiệm vụ tổng hợp.

Cuối cùng, không có người chiến thắng rõ ràng trên tất cả các danh mục, do đó kêu gọi đánh giá trên các trục khác nhau. Có thể tìm thấy các phân tích bổ sung, chẳng hạn như hiệu suất của các phương pháp ngoại suy vị trí khác nhau và hiện tượng mất mát ở giữa trong bài báo.

Sử dụng HELMET để phát triển trong tương lai

Cách chạy HELMET

Sử dụng HELMET rất dễ dàng! Chỉ cần sao chép Kho lưu trữ GitHub của chúng tôi và mọi thứ đã sẵn sàng sau khi thiết lập môi trường!

Chúng tôi cung cấp nhiều cách khác nhau để tải mô hình, có thể được định cấu hình trong tệp cấu hình:

  1. Sử dụng thư viện transformers của HuggingFace
  2. Sử dụng TGI của HuggingFace để khởi chạy một điểm cuối mô hình trong máy của bạn
  3. Sử dụng Điểm cuối suy luận của HuggingFace để khởi chạy một điểm cuối mô hình từ xa
  4. Sử dụng vllm để khởi chạy một điểm cuối mô hình trong máy của bạn. Lưu ý: Bạn có thể khởi chạy điểm cuối vllm trên bộ tăng tốc Intel Gaudi.
  5. Sử dụng API của nhà cung cấp mô hình

Lựa chọn 1. Sử dụng thư viện transformers của HuggingFace

Chỉ cần sử dụng cấu hình yamls trong kho lưu trữ của chúng tôi và chạy các đánh giá này với

python eval.py --config configs/rag.yaml --model_name_or_path <model_name>

Đằng sau hậu trường, thư viện transformers của HuggingFace được sử dụng và cả mô hình cục bộ và từ xa đều được hỗ trợ tự động.

Lựa chọn 2. Sử dụng TGI của HuggingFace

Trước tiên, hãy làm theo hướng dẫn trên TGI github để khởi chạy một điểm cuối mô hình. Sau đó, trong tệp cấu hình của bạn, hãy chỉ định URL điểm cuối. Ví dụ: bạn có thể có một tệp cấu hình như bên dưới

input_max_length: 131072
datasets: kilt_nq
generation_max_length: 20
test_files: data/kilt/nq-dev-multikilt_1000_k1000_dep6.jsonl
demo_files: data/kilt/nq-train-multikilt_1000_k3_dep6.jsonl
use_chat_template: true
max_test_samples: 100
shots: 2
stop_new_line: true
model_name_or_path: tgi:meta-llama/Llama-3.1-8B-Instruct # need to add "tgi:" prefix
use_tgi_serving: true # add this line in your config

Sau đó, sử dụng lệnh bên dưới để chạy tiêu chuẩn đánh giá

export LLM_ENPOINT=<your-tgi-endpoint> # example: "https://10.10.10.1:8080/v1"
python eval.py --config configs/config.yaml --endpoint_url $LLM_ENDPOINT

Lựa chọn 3. Sử dụng Điểm cuối suy luận của HuggingFace

Trước tiên, hãy thiết lập một điểm cuối bằng cách làm theo hướng dẫn tại đây. Lấy URL điểm cuối và khóa API của bạn. Sau đó, sử dụng cùng cấu hình yaml hiển thị trong Lựa chọn 2 ở trên và chạy lệnh bên dưới.

export LLM_ENPOINT=<your-hf-inference-endpoint> # example: "https://XXXX.us-east-1.aws.endpoints.huggingface.cloud/v1"
export API_KEY=<your-hf-api-key>
python eval.py --config configs/config.yaml --endpoint_url $LLM_ENDPOINT --api_key $API_KEY

Lựa chọn 4. Sử dụng VLLM

Bạn có thể khởi chạy một điểm cuối mô hình với vllm trên hệ thống của mình, bao gồm bộ tăng tốc Intel Gaudi2 và Gaudi3. Xem hướng dẫn tại đây về cách chạy HELMET bằng vllm trên bộ tăng tốc Intel Gaudi.

Bạn có thể sử dụng cùng ví dụ config.yaml như trong Lựa chọn 2, ngoại trừ hai dòng thay đổi như bên dưới:

model_name_or_path: meta-llama/Llama-3.1-8B-Instruct # no prefix needed
use_vllm_serving: true # use vllm instead of tgi

Sau đó, sử dụng lệnh bên dưới để chạy tiêu chuẩn đánh giá

export LLM_ENPOINT=<your-vllm-endpoint>
python eval.py --config configs/config.yaml --endpoint_url $LLM_ENDPOINT

Lựa chọn 5. Sử dụng API của nhà cung cấp mô hình

Chúng tôi hỗ trợ API từ OpenAI, Anthropic, Google và TogetherAI. Vui lòng tham khảo hướng dẫn trong kho lưu trữ của chúng tôi.

Phát triển nhanh hơn

Chúng tôi khuyên bạn nên sử dụng các nhiệm vụ Thu hồi và RAG để lặp lại nhanh chóng trong quá trình phát triển mô hình. Các nhiệm vụ này đạt được sự cân bằng tốt giữa đánh giá nhanh và tương quan với các nhiệm vụ thực tế khác. Bạn có thể dễ dàng chạy các đánh giá này chỉ với

python eval.py --config configs/rag.yaml --model_name_or_path <model_name>

So sánh nhanh với các mô hình hiện có

Thường tốn kém để chạy tất cả các đường cơ sở để đánh giá LCLM, đặc biệt là trong các ngữ cảnh dài do chi phí tính toán và bộ nhớ của chúng. Ví dụ: chạy HELMET ở tất cả các độ dài trên một mô hình 70B yêu cầu một nút có GPU 8 * 80GB trong hàng trăm giờ GPU, điều này có thể tốn kém. Bằng cách đánh giá trên HELMET, các nhà nghiên cứu có thể so sánh trực tiếp các mô hình của họ với các mô hình hiện có chỉ bằng cách tham khảo kết quả của chúng tôi, bao gồm 59 mô hình có kích thước và kiến trúc khác nhau. Bạn có thể tìm thấy bảng xếp hạng trên trang web của chúng tôi.

Nhìn về phía trước

HELMET là một bước tiến tới một đánh giá toàn diện hơn về các mô hình ngôn ngữ theo ngữ cảnh dài, nhưng vẫn còn nhiều ứng dụng thú vị hơn của LCLM. Ví dụ: gần đây chúng tôi đã phát hành LongProc, một tiêu chuẩn đánh giá LCLM trên tạo dạng dàituân theo quy trình, rất quan trọng để phát triển các mô hình suy luận tạo ra hàng chục nghìn token trong các bước suy nghĩ. Mặc dù các nhiệm vụ tóm tắt có đầu ra dài (lên đến 1K token), LongProc tập trung vào đầu ra thậm chí còn dài hơn, lên đến 8K token. Tương tự như HELMET, LongProc cũng được thiết kế với các cài đặt đánh giá đáng tin cậy và các nhiệm vụ đa dạng. Chúng tôi đang nỗ lực tích hợp LongProc vào bộ đánh giá của HELMET và chúng tôi hy vọng rằng điều này sẽ cung cấp một đánh giá toàn diện hơn về LCLM trên các nhiệm vụ dạng dài.

Lời cảm ơn

Chúng tôi xin cảm ơn Mengzhou Xia, Howard Chen, Xi Ye, Yinghui He, Lucy He, Alexander Wettig, Sadhika Malladi, Adithya Bhaskar, Joie Zhang và các thành viên khác của nhóm Ngôn ngữ và Trí tuệ Princeton (PLI) vì những phản hồi hữu ích của họ. Công trình này được hỗ trợ một cách tri ân bởi Microsoft Accelerate Foundation Models Research (AFMR) cho các khoản tín dụng Azure OpenAI và một khoản tài trợ của Intel.

Trích dẫn

Nếu bạn thấy HELMET hữu ích, vui lòng xem xét trích dẫn bài báo của chúng tôi:

@inproceedings{yen2025helmet,
      title={HELMET: How to Evaluate Long-Context Language Models Effectively and Thoroughly}, 
      author={Howard Yen and Tianyu Gao and Minmin Hou and Ke Ding and Daniel Fleischer and Peter Izsak and Moshe Wasserblat and Danqi Chen},
      year={2025},
      booktitle={International Conference on Learning Representations (ICLR)},
}

Recommended for You

17 lý do tại sao Gradio không chỉ là một thư viện UI khác

17 lý do tại sao Gradio không chỉ là một thư viện UI khác

Gradio không chỉ là một thư viện UI.

Cohere trên các nhà cung cấp suy luận Hugging Face 🔥

Cohere trên các nhà cung cấp suy luận Hugging Face 🔥

Cohere trên các nhà cung cấp suy luận Hugging Face.