Continuous Batching
Tìm hiểu cách continuous batching tối ưu hóa GPU throughput và giảm độ trễ. Khám phá cách sử dụng Ultralytics YOLO26 để tối đa hóa hiệu suất trong các tác vụ ML thực tế.
Continuous batching là một kỹ thuật lập lịch và tối ưu hóa suy luận nâng cao được sử dụng trong machine learning (ML) để tối đa hóa hiệu suất sử dụng phần cứng và throughput. Trong static batching truyền thống, một inference engine chờ đợi một số lượng yêu cầu xác đị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 thiếu hiệu quả vì hệ thống phải đợi 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à dynamic batching hoặc 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 compute batch ngay khi một yêu cầu đang hoạt động hoàn tất, từ đó giảm đáng kể thời gian nhàn rỗi trên các GPUs và cải thiện hiệu suất tổng thể.
Link to this sectionPhâ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: Đây là số lượng mẫu cố định được xử lý đồng thời trong quá trình training hoặc inference. Các batch processing workflows truyền thống dựa vào các kích thước tĩnh, trong khi continuous batching cho phép batch size hiệu dụng biến đổi linh hoạt 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 xuất hiện. Continuous batching thu hẹp khoảng cách giữa high-throughput static batching và low-latency real-time inference bằng cách duy trì throughput cao mà không buộc các yêu cầu nhanh phải chờ đợi các yêu cầu chậm hơn.
Link to this sectionCác ứng dụng thực tế#
Continuous batching rất quan trọng đối với các hệ thống sản xuất xử lý khối lượng lớn các yêu cầu không thể dự đoán trước. Dưới đây là hai ví dụ cụ thể về ứng dụng của nó:
-
High-Throughput Text Generation: Khi phục vụ các Large Language Models (LLMs), việc tạo phản hồi cho những người dùng khác nhau mất 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 và ngay lập tức thay thế các hội thoại đã hoàn thành 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ề iteration-level scheduling, cải thiện đáng kể throughput tạo văn bản.
-
Asynchronous Video Analytics: 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 khung hình đến ở các khoảng thời gian khác nhau. Continuous batching cho phép các model object tracking xử lý linh hoạt các khung hình video đến ngay khi tài nguyên được giải phóng, tối ưu hóa các đường ống hardware acceleration cho các bảng điều khiển thành phố thông minh.
Link to this sectionContinuous 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 inference một cách lặp đi lặp lại có thể mô phỏng những lợi ích của dynamic batching bằng cách đảm bảo bộ nhớ được giải phóng dần dần thay vì bị chặn. Ví dụ Python sau đây minh họa cách sử dụng pattern generator với model prediction API để xử lý luồng ảnh liên tục một cách hiệu quả.
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.")Việc 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 model computer vision (CV) và ngôn ngữ khổng lồ ngày càng dựa vào các framework phục vụ nâng cao để 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 mình, Ultralytics Platform cung cấp các công cụ mạnh mẽ để training, 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.






