YOLO Vision Thâm Quyến
Thâm Quyến
Tham gia ngay
Thuật ngữ

Chú ý đến bồn rửa

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) 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ớ.

Cách các "Attention Sinks" giúp ổn định mô hì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 nghiên cứuGoogle , đồng thời được hỗ trợ sẵn trong PyTorch .

Phân biệt các khái niệm liên quan đến sự chú ý

Để 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:

  • Chú ý dạng Sinks so với Chú ý dạng Cửa sổ trượt: Chú ý dạng cửa sổ trượt giới hạn phạm vi tập trung của mô hình vào một số lượng cố định các token gần đây nhất để tiết kiệm bộ nhớ. Tuy nhiên, các cửa sổ trượt nghiêm ngặt sẽ loại bỏ các token đầu tiên, dẫn đến sự không ổn định. Chú ý dạng Sinks điều chỉnh điều này bằng cách cố định cửa sổ dựa trên chính những token đầu tiên quan trọng đó.
  • Attention Sinks so với Flash Attention: Flash Attention là một tối ưu hóa ở cấp độ phần cứng giúp tăng tốc độ đọc và ghi bộ nhớ trên GPU. Ngược lại, Attention Sinks là một phát hiện về kiến trúc nhằm xác định những token nào cần được lưu giữ trong bộ nhớ để duy trì sự ổn định logic.

Các Ứng dụng Thực tế

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.

  1. Các tác nhân AI liên tục và chatbot: Bằng cách lưu giữ các điểm neo chú ý, một tác nhân AI hoặc chatbot dịch vụ khách hàng có thể duy trì cuộc đối thoại liên tục trong nhiều giờ. Nó sẽ chọn lọc bỏ qua các token ở giữa trong khi vẫn giữ lại điểm neo ban đầu và bối cảnh gần đây, giúp ngăn ngừa lỗi hết bộ nhớ đồng thời duy trì tính nhất quán của cuộc trò chuyện.
  2. Hiểu biết video thời gian thực: Trong lĩnh vực giám sát thông minh và theo dõi liên tục, việc duy trì một cửa sổ bối cảnh ổn định là vô cùng quan trọng. Các mô hình có thể phân tích luồng video liên tục trong nhiều ngày, với hiệu quả tương đương các kiến trúc thị giác được tối ưu hóa cho thiết bị đầu cuối.

Triển khai suy luận liên tục hiệu quả

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.

Hãy cùng nhau xây dựng tương lai của trí tuệ nhân tạo!

Bắt đầu hành trình của bạn với tương lai của học máy