Cửa sổ ngữ cảnh là lượng văn bản tối đa, tính bằng token, mà một LLM có thể xử lý cùng lúc. Tìm hiểu cách nó hoạt động, các giới hạn của nó và vì sao nó quan trọng với khả năng hiển thị trên tìm kiếm AI.

Trên trang này
Tóm tắt
Cửa sổ ngữ cảnh là lượng văn bản tối đa, đo bằng token, mà một mô hình ngôn ngữ có thể xử lý trong một yêu cầu, và nó đóng vai trò như bộ nhớ làm việc của mô hình đối với mọi thứ trong prompt và câu trả lời.
Muốn tìm hiểu sâu hơn? Hãy hỏi
Cửa sổ ngữ cảnh là lượng văn bản tối đa, đo bằng token, mà một mô hình ngôn ngữ lớn có thể xem xét cùng lúc khi tạo câu trả lời. Mọi thứ đều được tính vào: chỉ dẫn hệ thống, tin nhắn của người dùng, lịch sử hội thoại, tài liệu được truy xuất và câu trả lời mà mô hình tạo ra. Khi đạt đến giới hạn, nội dung cũ hơn phải bị loại bỏ hoặc tóm tắt.
Hãy hình dung nó như bộ nhớ làm việc của mô hình chứ không phải kho lưu trữ dài hạn. Mọi thứ nằm ngoài cửa sổ đều hoàn toàn vô hình với mô hình trong yêu cầu đó, và đó là lý do kích thước cũng như cách quản lý cửa sổ ngữ cảnh quyết định những gì một trợ lý AI thực sự làm được.
Cửa sổ ngữ cảnh xác định lượng thông tin mà một mô hình có thể giữ trong tầm nhìn cùng lúc. Nó không phải bộ nhớ bền vững, mà là không gian làm việc đang hoạt động cho một yêu cầu. Khi hội thoại hoặc bộ tài liệu vượt quá cửa sổ, hệ thống sẽ cắt bỏ phần đầu cũ nhất hoặc nén chúng thành bản tóm tắt, vì các token thô không còn vừa nữa.
Đây là lý do một chatbot có thể dường như quên phần đầu của một cuộc trò chuyện dài. Những tin nhắn sớm nhất đã trôi ra khỏi cửa sổ, trừ khi chúng được giữ lại một cách rõ ràng. Hiểu ranh giới này giải thích phần lớn cách và lý do các trợ lý AI hành xử như vậy.
Cửa sổ ngữ cảnh được đo bằng token, không phải bằng từ hay ký tự. Một token có thể là một ký tự, một phần của từ, một từ nguyên vẹn hoặc một ký hiệu ngắn, do bộ tách token tạo ra, thường dùng mã hóa cặp byte. Theo ước lượng thô, một token tương đương khoảng bốn ký tự hoặc khoảng 3/4 từ trong tiếng Anh, dù con số này thay đổi theo ngôn ngữ và bộ tách token.
Vì việc tính phí và giới hạn đều được quy đổi sang token, cùng một ý được diễn đạt súc tích sẽ chiếm ít chỗ trong cửa sổ hơn so với phiên bản dài dòng. Với tài liệu dài và hội thoại dài, hiệu quả sử dụng token quyết định trực tiếp lượng nội dung vừa vặn và phần không gian còn lại cho việc suy luận và trả lời của mô hình.
Các mô hình transformer xử lý mọi token trong cửa sổ cùng lúc bằng cơ chế chú ý, trong đó mỗi token về nguyên tắc có thể chú ý đến mọi token khác. Điều này rất mạnh nhưng tốn kém: chi phí chú ý tăng theo bình phương độ dài chuỗi, nên 10000 token tương đương khoảng 100 triệu phép so sánh, còn 100000 token tương đương khoảng 10 tỷ.
Hai ràng buộc khác đặt ra giới hạn thực tế. Bộ nhớ đệm khóa-giá trị tăng theo từng token được tạo ra và chiếm bộ nhớ GPU, và băng thông giữa bộ nhớ nhanh và chậm trở thành điểm nghẽn. Cùng nhau, những yếu tố này giải thích vì sao cửa sổ ngữ cảnh có giới hạn và vì sao cửa sổ lớn hơn lại tốn kém hơn để vận hành. Thiết kế nền tảng được trình bày trong kiến trúc transformer.
Kích thước cửa sổ đã tăng rất nhanh. Các cấu hình GPT-4 trước đây cung cấp 8192 token, trong khi GPT-4o đạt 128000. Các mô hình Claude từng cung cấp 200000 token và, ở các phiên bản mới hơn, lên tới 1000000 token, còn Gemini 1.5 Pro được ghi nhận lên tới 2000000 token. Các mô hình mở như Llama 3.1 thường hỗ trợ 128000 token.
Những con số này là mức tối đa được quảng bá, không phải là bảo đảm chất lượng trên toàn bộ phạm vi. Cửa sổ lớn hơn cho phép nhồi được nhiều nội dung hơn, nhưng như phần tiếp theo cho thấy, nhồi được nhiều hơn không đồng nghĩa với việc mô hình sử dụng tốt toàn bộ phần đó. Các con số ở đây lấy từ nguồn công bố của nhà cung cấp và các đơn vị phân tích, không phải ước lượng.
Cửa sổ lớn suy giảm theo một cách đã được ghi nhận. Hiệu ứng lạc giữa chừng nghĩa là mô hình chú ý tốt đến phần đầu và phần cuối của đầu vào nhưng mất độ chính xác với thông tin nằm ở giữa. Các phân tích báo cáo rằng chất lượng của các mô hình ngữ cảnh dài bắt đầu suy giảm có thể đo được từ khoảng 32000 token, và một mô hình 200000 token có thể suy giảm rõ rệt trước khi chạm giới hạn.
Kết luận thực tế, như các chuyên gia đã nói, là đừng tin vào thông số kỹ thuật và hãy đo thử trường hợp sử dụng thực tế của bạn ở độ dài mục tiêu. Các ngữ cảnh nhỏ, tập trung giữ được sự chú ý ổn định hơn nhiều so với những ngữ cảnh rất lớn bị nhồi đầy văn bản ít liên quan. Thêm token thậm chí có thể tạo thêm nhiễu làm giảm chất lượng suy luận.
Vì cửa sổ lớn tốn kém và chưa hoàn hảo, các hệ thống vận hành thực tế hiếm khi chỉ dựa vào chúng. Sinh văn bản tăng cường truy xuất chỉ lấy những đoạn liên quan nhất và đưa vào, giúp prompt gọn và tập trung. Bộ nhớ đệm ngữ nghĩa tái sử dụng câu trả lời cho các truy vấn tương tự, còn hệ thống bộ nhớ của tác nhân tách biệt hội thoại ngắn hạn với kiến thức dài hạn.
Đây cũng là lý do chia nhỏ nội dung quan trọng với các nhà xuất bản. Chia nội dung thành các phần rõ ràng, tự đầy đủ giúp hệ thống truy xuất dễ đưa đúng đoạn văn vào một cửa sổ hạn chế, thay vì buộc mô hình phải đọc toàn bộ một trang.
Với tối ưu hóa công cụ tạo sinh, cửa sổ ngữ cảnh là không gian mà nội dung của bạn cạnh tranh để chiếm chỗ bên trong một câu trả lời AI. Khi một trợ lý như ChatGPT, Perplexity hay Gemini truy xuất nguồn, chỉ một số lượng token hạn chế được đưa vào cửa sổ, nên các đoạn văn súc tích, có cấu trúc tốt và trả lời thẳng câu hỏi có khả năng được sử dụng cao hơn.
Điều này ưu tiên việc chia nhỏ rõ ràng, viết câu trả lời lên đầu và độ liên quan chặt chẽ, cùng những nguyên tắc đứng sau nội dung sẵn sàng cho LLM. Nội dung lãng phí token vào phần đệm sẽ ít có khả năng sống sót qua truy xuất và tổng hợp, còn nội dung trình bày câu trả lời gọn gàng sẽ giành được chỗ trong cửa sổ và, cùng với đó, cơ hội được trích dẫn.
Cửa sổ ngữ cảnh là ngân sách token mà một mô hình dùng để đọc prompt và viết câu trả lời, hoạt động như bộ nhớ làm việc chứ không phải kho lưu trữ vĩnh viễn. Nó bị giới hạn bởi chi phí chú ý, bộ nhớ đệm và băng thông, và ngay cả các cửa sổ lớn cũng chịu hiệu ứng lạc giữa chừng, nên nhồi được nhiều hơn không đồng nghĩa với việc sử dụng được nhiều hơn.
Với các nhà xuất bản, bài học là viết nội dung gọn, được chia nhỏ tốt và trả lời ngay từ đầu, để nội dung đó vẫn đi qua được quá trình truy xuất vào một cửa sổ hạn chế, được hỗ trợ bởi các kỹ thuật như sinh văn bản tăng cường truy xuất và chia nhỏ nội dung gọn gàng. Nguồn tham khảo: Redis và Bitfern.
Nguồn
Đó là lượng văn bản tối đa, đo bằng token, mà một mô hình có thể xử lý trong một yêu cầu. Nó bao gồm prompt hệ thống, đầu vào của người dùng, lịch sử hội thoại, mọi tài liệu được truy xuất và câu trả lời được tạo ra. Nó đóng vai trò như bộ nhớ làm việc, nên mọi thứ vượt quá giới hạn sẽ bị loại bỏ hoặc tóm tắt và trở nên vô hình với mô hình.
Không. Cửa sổ lớn hơn cho phép nhồi nhiều văn bản hơn, nhưng độ chính xác thường suy giảm do hiệu ứng lạc giữa chừng, khi mô hình chú ý tốt đến phần đầu và phần cuối nhưng bỏ sót phần giữa. Nhiều mô hình ngữ cảnh dài cho thấy chất lượng suy giảm có thể đo được quanh mức 32000 token, nên việc đo thử trường hợp sử dụng thực tế quan trọng hơn mức tối đa được quảng bá.
Khi một trợ lý AI trả lời câu hỏi, chỉ một số lượng token hạn chế từ các nguồn được truy xuất mới vừa trong cửa sổ ngữ cảnh của nó. Những đoạn văn súc tích, có cấu trúc tốt và trả lời thẳng truy vấn có khả năng được đưa vào và trích dẫn cao hơn. Nội dung độn nhiều phần đệm lãng phí ngân sách token và ít có khả năng sống sót qua truy xuất và tổng hợp.
HỌ ĐÃ THỬ SORANK TRƯỚC BẠN
