Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Sự chú ý chớp nhoáng

Khám phá cách Flash Attention tối ưu hóa bộ nhớ và tăng tốc các mô hình Transformer. Tìm hiểu cách nó nâng cao khả năng nhận diện hình ảnh máy tính và lý do tại sao. Ultralytics YOLO26 là sự lựa chọn hàng đầu.

Flash Attention là một thuật toán được tối ưu hóa cao, được thiết kế để tăng tốc quá trình huấn luyện và suy luận của các mô hình Transformer bằng cách quản lý việc truy cập bộ nhớ hiệu quả hơn. Trong học sâu (DL) hiện đại, đặc biệt là với các mô hình lớn, nút thắt cổ chai chính thường không phải là tốc độ tính toán của bộ xử lý, mà là thời gian cần thiết để di chuyển dữ liệu giữa bộ nhớ lưu trữ và các đơn vị tính toán. Flash Attention giải quyết "rào cản bộ nhớ" này bằng cách tổ chức lại cách các cơ chế chú ý xử lý dữ liệu, dẫn đến hiệu suất nhanh hơn và sử dụng bộ nhớ thấp hơn mà không làm giảm độ chính xác .

Cách thức hoạt động của Flash Attention

Để hiểu về Flash Attention, việc xem xét kiến trúc của GPU (Bộ xử lý đồ họa) sẽ rất hữu ích. GPU Nó có bộ nhớ băng thông cao (HBM) dung lượng lớn nhưng tốc độ chậm hơn và bộ nhớ SRAM tích hợp trên chip dung lượng thấp nhưng tốc độ cực nhanh. Các triển khai cơ chế chú ý tiêu chuẩn liên tục đọc và ghi các ma trận lớn vào HBM chậm, điều này tạo ra tình trạng tồn đọng.

Flash Attention sử dụng kỹ thuật "phân mảnh" (tiling) để chia ma trận chú ý lớn thành các khối nhỏ hơn, nằm gọn hoàn toàn trong bộ nhớ SRAM tốc độ cao. Bằng cách lưu trữ các khối này trong bộ nhớ tốc độ cao và thực hiện nhiều phép tính hơn ở đó trước khi ghi kết quả trở lại, thuật toán giảm đáng kể số lượng thao tác đọc/ghi vào HBM. Sự đổi mới này, được các nhà nghiên cứu tại Đại học Stanford giới thiệu, làm cho quy trình "nhận biết I/O" (IO-aware), nghĩa là nó tính toán rõ ràng chi phí di chuyển dữ liệu. Bạn có thể tìm hiểu chi tiết kỹ thuật trong bài báo nghiên cứu gốc .

Phân biệt với các thuật ngữ liên quan

Điều quan trọng là phải phân biệt Flash Attention với các khái niệm tương tự trong thuật ngữ trí tuệ nhân tạo (AI) :

  • Cơ chế Attention tiêu chuẩn : Đây là cách triển khai truyền thống tính toán ma trận attention đầy đủ. Về mặt toán học, nó cho kết quả giống hệt Flash Attention nhưng thường chậm hơn và tốn nhiều bộ nhớ hơn vì không tối ưu hóa thao tác đọc/ghi bộ nhớ.
  • Flash Attention : Một sự tối ưu hóa chính xác của cơ chế attention tiêu chuẩn. Nó không chỉ là phép xấp xỉ; nó cung cấp kết quả tính toán chính xác như nhau, nhưng nhanh hơn đáng kể.
  • Cơ chế chú ý thưa (Sparse Attention ): Một kỹ thuật xấp xỉ bỏ qua một số kết nối nhất định để tiết kiệm sức mạnh tính toán. Không giống như Flash Attention, các phương pháp chú ý thưa đánh đổi một phần độ chính xác để đổi lấy tốc độ.

Tính ứng dụng trong Thị giác máy tính và YOLO

Mặc dù ban đầu được phát triển cho Xử lý Ngôn ngữ Tự nhiên (NLP) để xử lý các chuỗi văn bản dài, Flash Attention đã trở nên quan trọng trong thị giác máy tính (CV) . Hình ảnh độ phân giải cao tạo ra các chuỗi dữ liệu khổng lồ khi được xử lý bởi Vision Transformers (ViT) .

Công nghệ này ảnh hưởng đến sự phát triển của các bộ phát hiện đối tượng. Ví dụ, một số mô hình thử nghiệm như YOLO12 do cộng đồng phát triển đã giới thiệu các lớp chú ý tận dụng các nguyên tắc này. Tuy nhiên, các kiến ​​trúc chỉ dựa trên cơ chế chú ý có thể gặp phải vấn đề về tính không ổn định trong quá trình huấn luyện và tốc độ chậm. CPU Tốc độ. Đối với hầu hết các ứng dụng chuyên nghiệp, Ultralytics YOLO26 là tiêu chuẩn được khuyến nghị. YOLO26 sử dụng kiến ​​trúc được tối ưu hóa cao, cân bằng giữa tốc độ và độ chính xác cho việc phát hiện đối tượngphân đoạn hình ảnh từ đầu đến cuối, tránh được chi phí phát sinh thường liên quan đến các lớp chú ý phức tạp trên các thiết bị biên.

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

Những cải tiến về hiệu suất nhờ Flash Attention cho phép các ứng dụng trước đây quá tốn kém hoặc chạy chậm mới có thể hoạt động được.

  1. Trí tuệ nhân tạo tạo sinh ngữ cảnh dài: Trong thế giới của các mô hình ngôn ngữ lớn (LLM) như GPT-4 , Flash Attention cho phép mô hình "ghi nhớ" một lượng lớn thông tin. Điều này tạo ra một cửa sổ ngữ cảnh khổng lồ, cho phép người dùng tải lên toàn bộ sách hoặc bộ luật để tóm tắt văn bản mà không lo mô hình bị sập do giới hạn bộ nhớ.
  2. Chẩn đoán y tế độ phân giải cao: Trong phân tích hình ảnh y tế , chi tiết rất quan trọng. Các nhà bệnh lý học phân tích các bản quét gigapixel của mẫu mô. Flash Attention cho phép các mô hình xử lý những hình ảnh khổng lồ này ở độ phân giải gốc, xác định các bất thường nhỏ như khối u não giai đoạn đầu mà không cần giảm độ phân giải hình ảnh và làm mất dữ liệu quan trọng.

Ví dụ mã

Mặc dù Flash Attention thường là một tối ưu hóa nội bộ trong các thư viện như PyTorch , bạn vẫn có thể dễ dàng tận dụng các mô hình dựa trên cơ chế chú ý bằng cách sử dụng... Ultralytics Đoạn mã sau đây minh họa cách tải mô hình RT-DETR , sử dụng cơ chế chú ý, để thực hiện suy luận trên hình ảnh.

from ultralytics import RTDETR

# Load a pre-trained RT-DETR model which utilizes transformer attention
model = RTDETR("rtdetr-l.pt")

# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the number of detected objects
print(f"Detected {len(results[0].boxes)} objects.")

Sử dụng các công cụ như Nền tảng Ultralytics , các nhà phát triển có thể huấn luyện và triển khai các mô hình phức tạp này mà không cần phải tự tay thực hiện các thao tác phức tạp. GPU Nền tảng này xử lý cơ sở hạ tầng, cho phép các nhóm tập trung vào việc tuyển chọn các bộ dữ liệu chất lượng cao và diễn giải kết quả.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay