Khám phá cách các mô hình chú ý (attention sinks) giúp ổn định các mô hình ngôn ngữ lớn (LLMs) và mô hình ngôn ngữ vĩ mô (VLMs) trong việc tạo chuỗi vô hạn. Học cách tối ưu hóa bộ nhớ và triển khai hệ thống AI ổn định với Ultralytics .
"Attention sinks" là một hiện tượng quan trọng được phát hiện trong kiến trúc của các mô hình ngôn ngữ quy mô lớn (LLMs) và mô hình thị giác-ngôn ngữ (VLMs) hiện đại, giúp đảm bảo tính ổn định trong quá trình tạo ra văn bản hoặc dữ liệu dài liên tục. Trong cơ chế chú ý, các mạng nơ-ron phân bổ "trọng số" một cách động cho các phần khác nhau của dữ liệu đầu vào. Các nhà nghiên cứu đã quan sát thấy rằng các mô hình tự hồi quy vốn dĩ đổ một lượng lớn điểm chú ý dư thừa vào vài token đầu tiên của một chuỗi, bất kể ý nghĩa ngữ nghĩa thực tế của chúng là gì. Những token ban đầu này hoạt động như một "bể chứa chú ý", cung cấp một mỏ neo toán học giúp ngăn điểm chú ý của mô hình sụp đổ. Bằng cách lưu trữ vĩnh viễn các token bể chứa này trong bộ nhớ đệm KV của mô hình, các nhà phát triển có thể kích hoạt việc tạo chuỗi vô hạn mà không làm giảm độ chính xác hoặc gây treo do giới hạn bộ nhớ.
Nhu cầu về các "sink" chú ý xuất phát từ phép toán Softmax được sử dụng trong mô hình Transformers. Do tổng các điểm chú ý phải luôn bằng 1, mô hình cần một nơi để phân bổ lượng chú ý dư thừa khi xử lý dữ liệu có tính cục bộ cao. Các token đầu tiên trong một prompt sẽ tự nhiên hấp thụ lượng dư thừa này.
Trước đây, khi tạo ra các chuỗi rất dài, các kỹ sư thường sử dụng các kỹ thuật chia cửa sổ để loại bỏ các token cũ khỏi bộ nhớ. Tuy nhiên, việc loại bỏ các token đầu tiên đã dẫn đến sự sụt giảm hiệu suất ngay lập tức. Các triển khai hiện đại, chẳng hạn như StreamingLLM, rõ ràng giữ lại các token ban đầu này cùng với các token mới nhất. Cách tiếp cận được tối ưu hóa cao này đối với quản lý bộ nhớ đang được tích cực nghiên cứu trong các phát triển về thị giác của OpenAI và nghiên cứuGoogle , đồng thời được hỗ trợ sẵn trong PyTorch .
Để hiểu rõ cách các mô hình AI tối ưu hóa ngữ cảnh, việc so sánh các điểm tập trung (attention sinks) với các chiến lược bộ nhớ và phần cứng khác sẽ rất hữu ích:
Việc phát hiện ra các “bẫy chú ý” đã mở ra khả năng xử lý liên tục và cực kỳ hiệu quả trong nhiều lĩnh vực khác nhau.
Mặc dù các mô hình học sâu chủ yếu tập trung vào việc tối ưu hóa các mô hình sinh thành quy mô lớn, việc áp dụng các vòng lặp suy luận hiệu quả và tiết kiệm bộ nhớ vẫn có ý nghĩa quan trọng đối với lĩnh vực thị giác máy tính (CV). Khi xử lý các luồng video liên tục bằng Ultralytics , việc sử dụng các hàm tạo (generator) Python giúp đảm bảo sự ổn định của bộ nhớ trong thời gian dài, tương tự như việc quản lý một cửa sổ bối cảnh cục bộ.
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 model for efficient, real-time edge processing
model = YOLO("yolo26n.pt")
# Process a continuous video stream efficiently without memory overflow
results = model.predict(source="rtsp://continuous_camera_stream", stream=True)
# Iterate through the generator to maintain a stable memory footprint over time
for frame_result in results:
print(f"Detected {len(frame_result.boxes)} objects in the current frame.")
Việc mở rộng quy mô các quy trình phát hiện đối tượng liên tục và hiệu quả này cho mục đích doanh nghiệp đòi hỏi phải có các công cụ quản lý mạnh mẽ. Các nhà phát triển có thể sử dụng Ultralytics để đơn giản hóa việc triển khai mô hình và quản lý tập dữ liệu tự động, giúp các nhóm dễ dàng xây dựng các ứng dụng thị giác máy tính ổn định và hoạt động lâu dài.
Bắt đầu hành trình của bạn với tương lai của học máy