Thuật ngữ

Đào tạo phân tán

Tăng tốc đào tạo AI với đào tạo phân tán! Tìm hiểu cách giảm thời gian đào tạo, mô hình hóa và tối ưu hóa tài nguyên cho các dự án ML phức tạp.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

Đào tạo phân tán là một kỹ thuật được sử dụng trong học máy (ML) để tăng tốc đáng kể quá trình đào tạo các mô hình, đặc biệt là các mô hình lớn và phức tạp thường gặp trong học sâu (DL) . Khi các tập dữ liệu trở nên khổng lồ và các mô hình như máy biến áp hoặc mạng tích chập lớn phát triển về kích thước, việc đào tạo chúng trên một bộ xử lý duy nhất, chẳng hạn như CPU hoặc thậm chí là GPU mạnh mẽ, có thể mất một thời gian dài không thực tế—nhiều ngày, nhiều tuần hoặc thậm chí nhiều tháng. Đào tạo phân tán khắc phục tình trạng tắc nghẽn này bằng cách chia khối lượng công việc tính toán trên nhiều đơn vị xử lý. Các đơn vị này (thường là GPU) có thể nằm trong một máy mạnh mẽ duy nhất hoặc được phân bổ trên nhiều máy được kết nối trong một mạng, thường sử dụng tài nguyên điện toán đám mây .

Đào tạo phân tán hoạt động như thế nào

Nguyên lý cơ bản đằng sau đào tạo phân tán là tính song song—chia nhỏ tác vụ đào tạo để nhiều phần có thể chạy đồng thời. Thay vì một bộ xử lý xử lý tất cả dữ liệu và tính toán tuần tự, công việc được chia sẻ giữa một số bộ xử lý, thường được gọi là "công nhân". Có hai chiến lược chính để đạt được điều này:

  • Song song dữ liệu: Đây là cách tiếp cận phổ biến nhất. Một bản sao hoàn chỉnh của mô hình được đặt trên mỗi công nhân. Bộ dữ liệu đào tạo được chia thành các phần nhỏ hơn và mỗi công nhân xử lý phần được chỉ định của mình bằng bản sao cục bộ của mô hình. Các công nhân tính toán các bản cập nhật cho trọng số mô hình dựa trên tập hợp dữ liệu của họ. Các bản cập nhật này (gradient) sau đó được tổng hợp trên tất cả các công nhân (thường được tính trung bình) và được sử dụng để cập nhật mô hình chính hoặc đồng bộ hóa tất cả các bản sao mô hình. Điều này cho phép xử lý hiệu quả các kích thước lô lớn hơn. Các khuôn khổ như PyTorch cung cấp Dữ liệu song song phân tán (DDP)TensorFlow cung cấp nhiều chiến lược đào tạo phân tán khác nhau để triển khai song song dữ liệu. Giao tiếp hiệu quả giữa các công nhân là rất quan trọng, thường được quản lý bởi các thư viện như Thư viện truyền thông tập thể NVIDIA (NCCL) .
  • Song song mô hình: Chiến lược này thường được sử dụng khi một mô hình quá lớn đến mức không thể vừa với bộ nhớ của một GPU . Thay vì sao chép toàn bộ mô hình, các phần khác nhau (ví dụ: lớp) của mô hình được đặt trên các công nhân khác nhau. Dữ liệu chảy tuần tự qua các phần này trên các công nhân trong cả quá trình truyền tiến và truyền lùi. Cách tiếp cận này phức tạp hơn để triển khai so với song song dữ liệu nhưng cần thiết để đào tạo các mô hình thực sự lớn. Một số khuôn khổ cung cấp các công cụ hỗ trợ, như các cách tiếp cận song song mô hình của TensorFlow và các kỹ thuật như song song đường ống thường được sử dụng.

Ứng dụng trong thế giới thực

Đào tạo phân tán là điều không thể thiếu đối với nhiều ứng dụng Trí tuệ nhân tạo (AI) tiên tiến:

  • Đào tạo các mô hình ngôn ngữ lớn (LLM): Các mô hình như GPT-4 của OpenAI hoặc Google Gemini có hàng tỷ hoặc hàng nghìn tỷ tham số. Việc đào tạo chúng đòi hỏi phải phân phối tính toán trên hàng nghìn GPU trong thời gian dài. Điều này rất cần thiết cho các tác vụ như xử lý ngôn ngữ tự nhiên (NLP) , dịch máy và xây dựng chatbot nâng cao.
  • Các mô hình thị giác máy tính tiên tiến: Đào tạo các mô hình thị giác máy tính hiện đại, chẳng hạn như Ultralytics YOLO để phát hiện đối tượng hoặc các mô hình phức tạp để phân đoạn hình ảnh , trên các tập dữ liệu lớn như ImageNet hoặc COCO được hưởng lợi rất nhiều từ đào tạo phân tán. Ví dụ, đào tạo một mô hình phát hiện đối tượng cho xe tự hành liên quan đến lượng dữ liệu hình ảnh khổng lồ và đòi hỏi độ chính xác cao, khiến việc đào tạo phân tán trên nhiều GPU trở thành điều cần thiết để đạt được kết quả trong một khung thời gian hợp lý. Điều này cũng áp dụng cho các lĩnh vực chuyên biệt như phân tích hình ảnh y tế .
  • Hệ thống đề xuất: Các công ty như Netflix hoặc Amazon đào tạo các mô hình phức tạp trên dữ liệu tương tác của người dùng để tạo ra các đề xuất được cá nhân hóa. Quy mô của dữ liệu này thường đòi hỏi các phương pháp tiếp cận phân tán.
  • Máy tính khoa học: Các mô phỏng quy mô lớn trong các lĩnh vực như mô hình hóa khí hậu, vật lý và khám phá thuốc thường tận dụng các nguyên tắc điện toán phân tán tương tự như những nguyên tắc được sử dụng trong đào tạo ML phân tán.

Đào tạo phân tán so với các phương pháp đào tạo khác

Điều quan trọng là phải phân biệt đào tạo phân tán với các khái niệm liên quan:

  • Học liên bang: Mặc dù cả hai đều liên quan đến nhiều thiết bị, Học liên bang được thiết kế cho các tình huống mà dữ liệu được phân cấp và không thể (hoặc không nên) được di chuyển đến một vị trí trung tâm do các lo ngại về quyền riêng tư dữ liệu (ví dụ: mô hình đào tạo về dữ liệu người dùng được lưu trữ trên điện thoại di động). Trong học liên bang, các bản cập nhật mô hình được tính toán cục bộ trên các thiết bị và được gửi trở lại máy chủ trung tâm để tổng hợp, nhưng dữ liệu thô không bao giờ rời khỏi thiết bị. Đào tạo phân tán thường giả định rằng dữ liệu có thể được di chuyển đến và phân phối trên cụm máy tính (ví dụ: trong trung tâm dữ liệu hoặc đám mây). Hãy xem TensorFlow Federated để biết một khuôn khổ ví dụ.
  • Đào tạo trên một thiết bị: Đây là phương pháp truyền thống trong đó toàn bộ quá trình đào tạo chạy trên một thiết bị duy nhất CPU hoặc GPU . Việc thiết lập đơn giản hơn ( xem Hướng dẫn khởi động nhanh Ultralytics ) nhưng không khả thi đối với các mô hình hoặc tập dữ liệu lớn do hạn chế về thời gian và bộ nhớ.

Công cụ và triển khai

Việc triển khai đào tạo phân tán được hỗ trợ bởi nhiều công cụ và nền tảng khác nhau:

  • Khung ML: Các khung cốt lõi như PyTorchTensorFlow cung cấp hỗ trợ tích hợp cho các API đào tạo phân tán.
  • Thư viện chuyên biệt: Các thư viện như Horovod , do Uber phát triển, cung cấp phương pháp tiếp cận không phụ thuộc vào khuôn khổ đối với việc học sâu phân tán.
  • Nền tảng đám mây: Các nhà cung cấp đám mây lớn như AWS , Google CloudMicrosoft Azure cung cấp các dịch vụ ML được quản lý và cơ sở hạ tầng được tối ưu hóa cho đào tạo phân tán quy mô lớn.
  • Nền tảng MLOps: Các nền tảng như Ultralytics HUB đơn giản hóa quy trình bằng cách cung cấp giao diện để quản lý tập dữ liệu, lựa chọn mô hình và khởi chạy công việc đào tạo, bao gồm các tùy chọn đào tạo đám mây xử lý cơ sở hạ tầng phân tán cơ bản. Các hoạt động MLOps tốt là chìa khóa để quản lý đào tạo phân tán hiệu quả.

Đào tạo phân tán là kỹ thuật nền tảng cho phép phát triển các mô hình AI mạnh mẽ nhất hiện nay bằng cách giúp đào tạo quy mô lớn trở nên khả thi và hiệu quả.

Đọc tất cả