Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Kích thước Batch

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.

Tác động đến động lực đào tạo

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 .

Các Ứng dụng Thực tế

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.

  1. Hình ảnh Y tế Độ phân giải Cao : Trong AI trong chăm sóc sức khỏe , các mô hình thường được giao nhiệm vụ phân tích chi tiết các ảnh chụp CT hoặc MRI để xác định các bất thường như khối u. Những hình ảnh này có kích thước tệp rất lớn. Việc cố gắng xử lý nhiều hình ảnh cùng lúc sẽ vượt quá bộ nhớ video (VRAM) của ngay cả phần cứng mạnh nhất. Do đó, các bác sĩ sử dụng kích thước lô rất nhỏ (ví dụ: 1 hoặc 2) để tạo điều kiện thuận lợi cho việc phân tích hình ảnh y tế mà không làm sập hệ thống, ưu tiên khả năng xử lý dữ liệu độ trung thực cao hơn tốc độ đào tạo thô.
  2. Kiểm tra Sản xuất Thời gian Thực : Ngược lại, trong môi trường sản xuất thông minh , tốc độ là yếu tố then chốt. Một hệ thống kiểm tra trực quan tự động trên băng chuyền có thể chụp hàng nghìn hình ảnh bảng mạch mỗi giờ. Trong giai đoạn suy luận (phát hiện lỗi trong quá trình sản xuất), hệ thống có thể sử dụng suy luận theo lô để nhóm các hình ảnh đầu vào và xử lý chúng song song. Điều này tối đa hóa thông lượng của hệ thống thị giác máy tính , đảm bảo nó theo kịp tốc độ của dây chuyền sản xuất.

Cấu hình kích thước lô với Ultralytics

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)

Phân biệt các khái niệm liên quan

Đ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 .

  • Kích thước lô so với Kỷ nguyên : Một kỷ nguyên biểu thị một lần duyệt hoàn chỉnh qua toàn bộ tập dữ liệu huấn luyện . Kích thước lô xác định số lượng phần dữ liệu được chia thành trong kỷ nguyên đó. Ví dụ: nếu bạn có 1.000 mẫu và kích thước lô là 100, sẽ cần 10 lần lặp để hoàn thành một kỷ nguyên.
  • Kích thước lô so với Chuẩn hóa lô : Mặc dù có cùng tên, Chuẩn hóa lô là một kỹ thuật lớp cụ thể được sử dụng để chuẩn hóa dữ liệu đầu vào của lớp nhằm cải thiện tính ổn định. Mặc dù hiệu quả của chuẩn hóa lô có thể phụ thuộc vào kích thước lô (yêu cầu lô đủ lớn để tính toán thống kê chính xác), nhưng nó là một thành phần cấu trúc của kiến trúc mạng, không chỉ là một thiết lập huấn luyện.
  • Phân lô huấn luyện so với phân lô suy luận : Trong quá trình huấn luyện, mục tiêu là học các trọng số. Trong quá trình suy luận , phân lô chỉ đơn thuần là tối ưu hóa tốc độ. Đối với các ứng dụng nhạy cảm với độ trễ như xe tự hành , kích thước lô là 1 thường được sử dụng để nhận được phản hồi ngay lập tức, trong khi các tác vụ phân tích dữ liệu có thể sử dụng các lô lớn để xử lý cảnh quay video lịch sử qua đêm.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay