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

PagedAttention

Tìm hiểu cách PagedAttention tối ưu hóa việc quản lý bộ nhớ LLM và hiệu quả bộ nhớ đệm KV. Khám phá tác động của nó đến thông lượng và so sánh với các giải pháp khác. Ultralytics Hiệu năng của YOLO26.

PagedAttention là một thuật toán quản lý bộ nhớ hiệu quả cao được thiết kế để tối ưu hóa tốc độ suy luận và thông lượng của các Mô hình Ngôn ngữ Lớn (LLM) . Lấy cảm hứng từ các khái niệm về bộ nhớ ảo và phân trang trong các hệ điều hành truyền thống, kỹ thuật này giải quyết vấn đề tiêu thụ bộ nhớ khổng lồ liên quan đến bộ nhớ đệm khóa-giá trị (thường được gọi là bộ nhớ đệm KV ) trong quá trình tạo văn bản. Bằng cách chia các khối bộ nhớ liên tục cần thiết cho bộ nhớ đệm thành các "trang" nhỏ hơn, không liền kề, PagedAttention loại bỏ hiệu quả cả sự phân mảnh bộ nhớ trong và ngoài. Điều này cho phép các máy chủ AI xử lý đồng thời nhiều yêu cầu hơn đáng kể, tối đa hóa hiệu suất. GPU mức độ sử dụng.

Chế độ chú ý theo trang so với chế độ chú ý nhanh.

Mặc dù cả hai kỹ thuật đều tối ưu hóa hiệu suất mạng nơ-ron, nhưng chúng nhắm đến các điểm nghẽn khác nhau. Flash Attention là một tối ưu hóa ở cấp độ tính toán giúp tăng tốc cơ chế chú ý bằng cách giảm thiểu các thao tác đọc và ghi bộ nhớ chậm. GPU Ngược lại, PagedAttention là một chiến lược phân bổ bộ nhớ. Nó tập trung hoàn toàn vào cách cấu trúc và lưu trữ bộ nhớ cho cửa sổ ngữ cảnh , cho phép mở rộng quy mô động mà không cần phân bổ trước các khối bộ nhớ lớn và lãng phí.

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

Hiệu quả về bộ nhớ được mở khóa bởi PagedAttention đã làm thay đổi cách thức triển khai các mô hình tạo sinh quy mô lớn trong thực tế.

  1. Phục vụ API thông lượng cao : Các hệ thống sản xuất phục vụ các mô hình tương tự như GPT-4 sử dụng PagedAttention thông qua các framework như vLLM. Bằng cách chia sẻ các khối bộ nhớ giữa các yêu cầu người dùng khác nhau, các nhà cung cấp có thể phục vụ số lượng người dùng nhiều gấp bốn lần trên cùng một phần cứng, giảm đáng kể chi phí vận hành các dịch vụ AI dựa trên đám mây.
  2. Chiến lược giải mã phức tạp : Khi một mô hình AI tạo ra nhiều phản hồi tiềm năng cùng một lúc (như trong tìm kiếm chùm tia hoặc lấy mẫu song song), PagedAttention cho phép các chuỗi song song này chia sẻ an toàn cùng một trang bộ nhớ cơ bản. Điều này ngăn hệ thống sao chép bộ nhớ dư thừa, giúp thực hiện các tác vụ suy luận phức tạp nhanh hơn đáng kể.

Hiệu quả bộ nhớ trong thị giác máy tính

Mặc dù PagedAttention chủ yếu được sử dụng trong xử lý ngôn ngữ tự nhiên, nguyên tắc cơ bản về tối ưu hóa bộ nhớ nghiêm ngặt cũng quan trọng không kém trong thị giác máy tính (CV) . Khi triển khai các mô hình lên các thiết bị biên có phần cứng hạn chế, việc tránh tình trạng phình to bộ nhớ là điều cần thiết. Ultralytics YOLO26 đạt được hiệu quả suy luận thời gian thực một cách tự nhiên, bỏ qua nhu cầu quản lý bộ nhớ đệm nặng nề bằng cách sử dụng một kiến ​​trúc đầu cuối, NMS - Kiến trúc tự do.

Đối với các nhà phát triển muốn xử lý liền mạch các yêu cầu về bộ nhớ và xuất dữ liệu của các quy trình phát hiện đối tượng , Nền tảng Ultralytics cung cấp các công cụ triển khai tự động giúp đóng gói các mô hình để tối ưu hóa hiệu năng phần cứng.

Ví dụ mã

PagedAttention hoạt động ngầm trong các framework phục vụ, thay thế các hàm chú ý tiêu chuẩn bằng các hàm được tối ưu hóa. Cuda các nhân. Dưới đây là một ví dụ khái niệm minh họa cách người ta có thể định nghĩa cơ chế chú ý tiêu chuẩn trong PyTorch , mà các hệ thống như vLLM tự động chặn và tối ưu hóa bằng cách sử dụng phân trang trong quá trình triển khai mô hình .

import torch
import torch.nn.functional as F

# Simulated Key, Query, and Value tensors for a standard attention block
batch_size, num_heads, sequence_length, head_dim = 1, 8, 1024, 64
query = torch.randn(batch_size, num_heads, sequence_length, head_dim)
key = torch.randn(batch_size, num_heads, sequence_length, head_dim)
value = torch.randn(batch_size, num_heads, sequence_length, head_dim)

# Standard attention computation (often replaced by PagedAttention kernels in production LLM servers)
attention_output = F.scaled_dot_product_attention(query, key, value)

print(f"Computed attention shape: {attention_output.shape}")

Bằng cách tận dụng các chiến lược phân bổ bộ nhớ tiên tiến, ngành công nghiệp AI tiếp tục vượt qua những giới hạn của khả năng, đảm bảo rằng các mô hình nền tảng khổng lồ có thể được mở rộng và truy cập hiệu quả trên toàn thế giớ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