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 inference nâng cao đượ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 static batching truyền thống, một inference engine sẽ đợi một số lượng yêu cầu xác định trước tích lũy đủ mới xử lý đồng thời. Điều này thường dẫn đến kém 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, giúp giảm đáng kể thời gian nhàn rỗi trên 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: Thuật ngữ này đề cập đến số lượng cố định các mẫu đượ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 thiên linh hoạt dựa trên lưu lượng truy cập đầu vào.
- 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ì, bằng cách xử lý từng đầu vào ngay khi chúng đế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ì thông lượng 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 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ó:
-
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—ví dụ như vLLM trên Ray Serve—có thể stream liên tục các token mới được tạo và thay thế ngay lập tức các cuộc hội thoại đã kết thúc 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, giúp cải thiện đáng kể thông lượng 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 ở những 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 đầu vào ngay khi 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à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 truy cập cao, việc stream các inference một cách lặp lại có thể mô phỏ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 mẫu generator với model prediction API để xử lý một luồng hình ả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ữ quy mô lớn ngày càng dựa vào các framework phục vụ 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ẽ để training, giám sát và xuất các model vào các môi trường production được tối ưu hóa cao.






