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.
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í.
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ế.
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.
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.
Bắt đầu hành trình của bạn với tương lai của học máy