Continuous Batching
Tìm hiểu cách continuous batching tối ưu hóa lưu lượng GPU và giảm độ trễ. Khám phá cách sử dụng Ultralytics YOLO26 để tối đa hóa hiệu quả trong các tác vụ ML sản xuất.
Continuous batching là một kỹ thuật lập lịch và tối ưu hóa suy luận tiên tiến được sử dụng trong machine learning (ML) nhằm tối đa hóa hiệu suất sử dụng phần cứng và thông lượng. Trong phương pháp batching tĩnh truyền thống, một inference engine chờ một số lượng yêu cầu định trước tích lũy lại trước khi xử lý đồng thời. Điều này thường dẫn đến kém hiệu quả do hệ thống phải chờ yêu cầu chạy lâu nhất trong batch hoàn tất trước khi giải phóng tài nguyên. Continuous batching, còn được gọi là batching động hoặc theo từng vòng lặp (iteration-level batching), giải quyết vấn đề này bằng cách đưa các yêu cầu mới vào batch tính toán ngay khi một yêu cầu đang hoạt động hoàn tất, giúp giảm đáng kể thời gian nhàn rỗi trên GPUs và nâng cao hiệu quả tổng thể.
Phân biệt các khái niệm liên quan#
Để hiểu rõ hơn cách dữ liệu được xử lý trong quá trình triển khai model, việc phân biệt continuous batching với các thuật ngữ liên quan khác trong bảng thuật ngữ là rất hữu ích:
- Batch Size: Thuật ngữ này chỉ số lượng mẫu cố định được xử lý đồng thời trong quá trình huấn luyện hoặc suy luận. Các batch processing workflows truyền thống phụ thuộc vào kích thước tĩnh, trong khi continuous batching cho phép batch size thực tế biến động động dựa trên lưu lượng truy cập đến.
- Real-Time Inference: Khái niệm này tập trung vào việc giảm thiểu inference latency cho các dự đoán tức thời, xử lý từng đầu vào ngay khi chúng đến. Continuous batching thu hẹp khoảng cách giữa batching tĩnh thông lượng cao và suy luận thời gian thực độ trễ thấp bằng cách duy trì thông lượng cao mà không bắt buộc các yêu cầu nhanh phải chờ các yêu cầu chậm hơn.
Các ứng dụng trong thực tế#
Continuous batching rất quan trọng đối với các hệ thống production xử lý khối lượng lớn các yêu cầu không dự đoán trước được. Dưới đây là hai ví dụ cụ thể về ứng dụng của nó:
-
Tạo văn bản thông lượng cao: Khi phục vụ Large Language Models (LLMs), việc tạo phản hồi cho các người dùng khác nhau tốn lượng thời gian khác nhau tùy thuộc vào độ dài đầu ra. Các framework tận dụng continuous batching—chẳng hạn như vLLM trên Ray Serve—có thể liên tục stream các token mới được tạo ra và thay thế ngay lập tức các cuộc trò chuyện đã hoàn tất bằng các prompt mới. Phương pháp này, ban đầu được phổ biến bởi nghiên cứu về lập lịch theo cấp độ vòng lặp, cải thiện đáng kể thông lượng tạo văn bản.
-
Phân tích video bất đồng bộ: Trong các tác vụ video understanding, chẳng hạn như theo dõi phương tiện qua mạng lưới camera giao thông của thành phố, các frame đến ở các khoảng thời gian khác nhau. Continuous batching cho phép các model object tracking xử lý động các frame video đến ngay từng mili giây tài nguyên được giải phóng, tối ưu hóa các pipeline hardware acceleration cho các bảng điều khiển đô thị thông minh.
Continuous Processing trong các tác vụ Vision#
Khi quản lý model deployment practices lưu lượng cao, việc stream các suy luận theo dạng lặp có thể mô phỏng các lợi ích của dynamic batching bằng cách đảm bảo bộ nhớ được giải phóng liên tục thay vì bị khóa. Ví dụ bằng Python sau đây minh họa cách sử dụng generator pattern với model prediction API để xử lý hiệu quả một luồng hình ảnh liên tục.
from ultralytics import YOLO
# Load the latest Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Using stream=True acts as a generator, iteratively processing inputs
# to keep memory usage low and throughput high
results = model.predict(source=["img1.jpg", "img2.jpg", "img3.jpg"], stream=True)
# Process each result as soon as it completes
for result in results:
print(f"Detected {len(result.boxes)} objects in this frame.")Quản lý resource scheduling cấp hệ thống đòi hỏi sự cân bằng giữa tốc độ thô và chi phí vận hành. Các đội ngũ triển khai các computer vision (CV) và model ngôn ngữ quy mô lớn ngày càng dựa vào các serving framework tiên tiến để quản lý các batch động này. Đối với các đội ngũ doanh nghiệp muốn hợp lý hóa cơ sở hạ tầng của họ, Ultralytics Platform cung cấp các công cụ mạnh mẽ để huấn luyện, giám sát và xuất model sang các môi trường sản xuất được tối ưu hóa cao.






