Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

Distributed Training

Huấn luyện phân tán chia quá trình huấn luyện model trên nhiều GPU hoặc máy bằng song song hóa dữ liệu, phân mảnh, tensor hoặc pipeline. Nội dung đề cập đến DDP, FSDP và khả năng mở rộng.

Huấn luyện phân tán phân chia công việc huấn luyện một model trên nhiều bộ xử lý, thường là GPU hoặc TPU trong cùng một máy hoặc trên một cụm đám mây hay cụm tại chỗ, để rút ngắn thời gian huấn luyện hoặc cho phép huấn luyện một model quá lớn để vừa bộ nhớ của một thiết bị. Các thiết bị trao đổi gradient, activation hoặc phân mảnh tham số qua các kết nối tốc độ cao bằng những thư viện truyền thông tin như NVIDIA NCCL. Đây là cách huấn luyện các model nền tảng và model ngôn ngữ lớn hiện đại, đồng thời cũng rút ngắn quá trình huấn luyện phát hiện đối tượng thường ngày trên các máy trạm nhiều GPU.

Cách thức Hoạt động của Huấn luyện Phân tán#

Song song hóa dữ liệu là chiến lược phổ biến nhất. Mỗi GPU lưu một bản sao đầy đủ của model, xử lý phần riêng trong mỗi batch dữ liệu huấn luyện rồi tham gia thao tác all-reduce để lấy trung bình gradient, nhờ đó mọi bản sao đều áp dụng cùng một lần cập nhật gradient descent. DistributedDataParallel (DDP) của PyTorch chồng lấp quá trình truyền thông tin này với lượt lan truyền ngược. Kích thước batch toàn cục bằng kích thước batch trên mỗi GPU nhân với số GPU, vì vậy learning rate thường phải tăng tương ứng: Goyal và cộng sự đã huấn luyện ResNet-50 trên ImageNet trong một giờ bằng 256 GPU với batch gồm 8,192 ảnh, sử dụng quy tắc tăng tuyến tính và giai đoạn warmup, đạt hiệu suất mở rộng khoảng 90% từ 8 đến 256 GPU.

Song song hóa dữ liệu phân mảnh giúp giảm chi phí bộ nhớ của các bản sao đó. ZeRO và Fully Sharded Data Parallel (FSDP) của PyTorch phân chia tham số, gradient và trạng thái optimizer trên nhiều GPU, rồi chỉ tập hợp đầy đủ trọng số của mỗi layer khi layer đó đang tính toán, nhờ vậy lượng bộ nhớ cần thiết trên mỗi GPU giảm khi bổ sung thêm GPU.

Song song hóa model phân chia chính mạng nơ-ron. Song song hóa tensor chia các phép nhân ma trận riêng lẻ trên nhiều GPU, song song hóa pipeline phân công các layer liên tiếp cho những GPU khác nhau rồi truyền các micro-batch qua chúng, song song hóa ngữ cảnh chia nhỏ các chuỗi dài, còn song song hóa chuyên gia đặt các chuyên gia của model hỗn hợp chuyên gia trên các GPU khác nhau. Các framework như Megatron-LM kết hợp những phương pháp này với song song hóa dữ liệu để huấn luyện các model có hàng trăm tỷ tham số.

Thực hành huấn luyện đa GPU#

Giao tiếp là phần chi phí chính: lưu lượng all-reduce tăng theo kích thước model, vì vậy GPU kết nối bằng NVLink trong cùng node mở rộng quy mô tốt hơn các node liên kết qua mạng chậm hơn. Thống kê batch normalization được tính riêng trên từng GPU, trừ khi các layer được chuyển sang synchronized batch normalization; điều này quan trọng khi phần batch trên mỗi GPU nhỏ. Ultralytics YOLO26 chạy huấn luyện đa GPU qua DDP: truyền nhiều ID thiết bị sẽ khởi chạy một process cho mỗi GPU bằng torch.distributed.run, sử dụng backend NCCL trên CUDA và chia đều giá trị batch cho các GPU.

from ultralytics import YOLO

# Tải model YOLO26 đã pretrained
model = YOLO("yolo26n.pt")

# Huấn luyện trên GPU 0 và 1 bằng DDP; batch=32 nghĩa là mỗi GPU xử lý 16 ảnh ở mỗi bước
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=32, device=[0, 1])

Ứng dụng thực tế#

  • Model ngôn ngữ lớn: Meta đã huấn luyện Llama 3 405B trên tối đa 16K GPU H100, kết hợp song song hóa tensor, pipeline, ngữ cảnh và dữ liệu theo phương pháp mà các tác giả gọi là song song hóa 4D.
  • Xe tự hành: Các nhóm tri giác huấn luyện model phát hiện và phân đoạn trên kho lưu trữ lớn gồm bản ghi camera, lidar và radar từ đội xe; việc này chỉ khả thi trên các cụm GPU lớn.
  • Phân tích ảnh y tế: Các thể tích CT và MRI 3D độ phân giải cao gây quá tải bộ nhớ của một GPU, còn việc phân tán batch hoặc các phân mảnh model trên nhiều GPU cho phép huấn luyện các thể tích và model lớn hơn.
  • Học liên kết: Học liên kết cũng huấn luyện trên nhiều thiết bị, nhưng dữ liệu được lưu trên điện thoại, tại bệnh viện hoặc trên các máy khách khác để bảo vệ quyền riêng tư; chỉ các bản cập nhật model được gửi đến máy chủ trung tâm. Huấn luyện phân tán tập hợp dữ liệu trong một cụm để tối đa hóa tốc độ.
  • Học phân tách: Học phân tách chia model giữa máy khách và máy chủ để dữ liệu thô không bao giờ rời khỏi máy khách, đánh đổi quyền riêng tư bằng việc tăng lượng truyền thông tin.
  • Tích lũy gradient: Tích lũy gradient cộng dồn gradient qua nhiều batch nhỏ trước một lần cập nhật, mô phỏng phép tính của batch lớn trên một GPU với chi phí thời gian, trong khi song song hóa dữ liệu xử lý đồng thời các batch đó trên nhiều GPU.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning