Prompt Compression
Khám phá cách nén prompt tối ưu hóa hiệu quả AI. Tìm hiểu cách giảm sử dụng token LLM, giảm chi phí và tăng tốc độ suy luận với Ultralytics YOLO26 ngay hôm nay.
Nén câu lệnh là một kỹ thuật tối ưu hóa nâng cao được thiết kế để giảm độ dài và độ phức tạp của văn bản đầu vào cung cấp cho các Mô hình Ngôn ngữ Lớn (LLM) và mô hình đa phương thức. Bằng cách loại bỏ theo thuật toán các từ dư thừa, ngữ cảnh không liên quan và từ dừng trong khi vẫn bảo toàn ý nghĩa ngữ nghĩa cốt lõi, tính năng nén câu lệnh cho phép các hệ thống AI xử lý thông tin hiệu quả hơn. Phương pháp này ngày càng trở nên quan trọng để giảm thiểu chi phí tính toán, giảm độ trễ suy luận và ngăn chặn các mô hình vượt quá cửa sổ ngữ cảnh tối đa của chúng.
Link to this sectionCách thức hoạt động của Nén câu lệnh#
Ở cấp độ kiến trúc, nén câu lệnh thường sử dụng các mô hình nhỏ hơn, chuyên biệt hoặc các thuật toán lý thuyết thông tin để đánh giá tầm quan trọng của từng token trong một câu lệnh nhất định. Các kỹ thuật như hợp nhất token và cắt tỉa dựa trên entropy giúp xác định và loại bỏ các token đóng góp ít vào ý nghĩa tổng thể. Điều này đảm bảo rằng đầu vào cuối cùng chỉ chứa thông tin cô đọng nhất.
Các nghiên cứu gần đây từ các tổ chức uy tín nhấn mạnh rằng các câu lệnh được nén cao có thể duy trì hiệu suất trên các tác vụ lập luận phức tạp trong khi giảm đáng kể mức tiêu thụ token. Đối với các nhà phát triển tích hợp AI vào các ứng dụng có khả năng mở rộng, việc tuân thủ các hướng dẫn tối ưu hóa câu lệnh của OpenAI và tận dụng các khung nén là một thực tiễn tốt nhất tiêu chuẩn để triển khai hiệu quả.
Link to this sectionCác ứng dụng trong thực tế#
Nén câu lệnh mang lại giá trị tức thì trong các tình huống yêu cầu xử lý nhanh chóng dữ liệu văn bản hoặc hình ảnh phong phú:
- Tạo tăng cường truy xuất (RAG): Trong các ứng dụng tìm kiếm doanh nghiệp, các đường ống RAG thường truy xuất hàng chục tài liệu dài để trả lời một truy vấn duy nhất của người dùng. Các thuật toán nén câu lệnh thu nhỏ các tài liệu đã truy xuất này, chắt lọc chúng thành các bản tóm tắt thực tế súc tích trước khi đưa vào mô hình tạo. Điều này ngăn chặn tình trạng tràn token và tăng tốc suy luận thời gian thực.
- Tác nhân AI tự hành: Các tác nhân và chatbot phải duy trì bộ nhớ dài hạn về các tương tác của người dùng. Thay vì chuyển toàn bộ lịch sử cuộc trò chuyện vào mỗi truy vấn mới, các kỹ thuật nén sẽ tóm tắt các lượt đối thoại cũ hơn, đảm bảo tác nhân vẫn nhận biết ngữ cảnh mà không phải chịu chi phí tính toán theo cấp số nhân.
Link to this sectionNén câu lệnh so với các kỹ thuật liên quan#
Để xây dựng các đường ống vận hành máy học (MLOps) mạnh mẽ, điều quan trọng là phải phân biệt nén câu lệnh với các khái niệm liên quan:
- So với Bộ nhớ đệm câu lệnh (Prompt Caching): Bộ nhớ đệm lưu trữ các trạng thái tính toán nội bộ của văn bản đã xử lý trước đó để tránh tính toán lại. Ngược lại, nén chủ động thay đổi và rút ngắn chính văn bản đầu vào trước khi quá trình xử lý diễn ra.
- So với Kỹ thuật câu lệnh (Prompt Engineering): Kỹ thuật câu lệnh là quá trình thủ công do con người thực hiện để thiết kế các chỉ dẫn hiệu quả. Nén là sự rút gọn theo thuật toán, tự động hóa các chỉ dẫn đó.
- So với Làm giàu câu lệnh (Prompt Enrichment): Làm giàu giúp mở rộng câu lệnh bằng cách thêm ngữ cảnh bên ngoài, trong khi nén lại giảm bớt nó. Chúng thường được sử dụng cùng nhau: một hệ thống có thể làm giàu câu lệnh bằng kết quả cơ sở dữ liệu và sau đó nén dữ liệu cuối cùng trước khi suy luận.
Link to this sectionTriển khai trong Thị giác máy tính#
Trong Thị giác máy tính (CV), các nguyên tắc nén câu lệnh được áp dụng khi sử dụng các mô hình từ vựng mở chấp nhận các truy vấn văn bản để xác định đối tượng. Việc giữ cho các mô tả lớp súc tích đảm bảo mã hóa văn bản nhanh hơn và giảm tải bộ nhớ.
Đối với các môi trường sản xuất có lớp cố định nơi tốc độ là yếu tố tối quan trọng, các nhà phát triển thường chuyển từ các mô hình được nhắc bằng văn bản sang các mô hình kiến trúc cố định, được tối ưu hóa cao như Ultralytics YOLO26. Bạn có thể quản lý tập dữ liệu và huấn luyện các mô hình hiện đại này một cách hiệu quả bằng cách sử dụng Ultralytics Platform.
from ultralytics import YOLO
# Load an open-vocabulary YOLO-World model
model = YOLO("yolov8s-world.pt")
# Principle of prompt compression: Use concise, distilled class names
# instead of lengthy, complex descriptions for faster text encoding
compressed_prompts = ["helmet", "vest", "forklift"]
model.set_classes(compressed_prompts)
# Run inference with the optimized class list
results = model.predict("https://ultralytics.com/images/bus.jpg")
results[0].show()





