Khám phá tác động của kích thước lô (batch size) đối với học sâu. Tối ưu hóa tốc độ huấn luyện, mức sử dụng bộ nhớ và hiệu suất mô hình một cách hiệu quả.
Kích thước lô là một siêu tham số quan trọng trong lĩnh vực học máy , quyết định số lượng mẫu dữ liệu huấn luyện được xử lý trước khi mô hình cập nhật các tham số nội bộ. Thay vì phân tích toàn bộ tập dữ liệu cùng một lúc—điều này thường không thể thực hiện được về mặt tính toán do hạn chế về bộ nhớ—các khung học sâu chia dữ liệu thành các nhóm nhỏ hơn gọi là lô. Sự phân chia này chi phối tính ổn định của quá trình học, tốc độ tính toán và lượng bộ nhớ mà GPU cần trong quá trình huấn luyện. Việc chọn đúng kích thước lô đóng vai trò cân bằng giữa hiệu suất tính toán và chất lượng hội tụ của mô hình.
Việc lựa chọn kích thước lô sẽ thay đổi cơ bản cách mạng nơ-ron học. Khi kích thước lô được đặt ở giá trị thấp hơn, mô hình sẽ cập nhật trọng số thường xuyên hơn, gây nhiễu cho quá trình giảm dần độ dốc . Nhiễu này có thể có lợi, thường giúp thuật toán tối ưu hóa thoát khỏi các cực tiểu cục bộ và tìm ra các giải pháp mạnh mẽ hơn, giúp ngăn ngừa hiện tượng quá khớp . Ngược lại, kích thước lô lớn hơn cung cấp ước tính chính xác hơn về độ dốc, dẫn đến các bản cập nhật mượt mà và ổn định hơn, mặc dù chúng đòi hỏi nhiều bộ nhớ phần cứng hơn đáng kể và đôi khi có thể dẫn đến "khoảng cách tổng quát hóa", trong đó mô hình hoạt động tốt trên dữ liệu huấn luyện nhưng kém hiệu quả hơn trên dữ liệu chưa được biết đến.
Khả năng phần cứng thường quyết định giới hạn trên của tham số này. Các bộ tăng tốc phần cứng hiện đại, chẳng hạn như những bộ tăng tốc được mô tả chi tiết trong hướng dẫn hiệu suất học sâu của NVIDIA , dựa vào tính toán song song để xử lý các khối dữ liệu lớn đồng thời. Do đó, việc sử dụng kích thước lô phù hợp với kiến trúc bộ xử lý - thường là lũy thừa bậc hai như 32, 64 hoặc 128 - có thể tối đa hóa thông lượng và giảm tổng thời gian đào tạo trên mỗi kỷ nguyên .
Hiểu cách điều chỉnh tham số này là điều cần thiết để triển khai các giải pháp AI hiệu quả trong nhiều ngành công nghiệp khác nhau.
Khi sử dụng Ultralytics Python bưu kiện, việc cấu hình kích thước lô rất đơn giản. batch đối số cho phép bạn chỉ định chính xác số lượng hình ảnh mà mô hình sẽ thấy trước khi cập nhật trọng số. Nếu được đặt thành -1, thư viện cũng có thể sử dụng một
Tính năng AutoBatch để tự động xác định kích thước lô tối đa mà phần cứng của bạn có thể hỗ trợ.
from ultralytics import YOLO
# Load the latest YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 dataset with a specific batch size
# A batch size of 32 balances speed and memory usage for most standard GPUs
results = model.train(data="coco8.yaml", epochs=50, batch=32)
Điều quan trọng là người thực hành phải phân biệt "Kích thước lô" với thuật ngữ tương tự có trong các khuôn khổ học sâu .