Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

Cải thiện hiệu suất giá của đào tạo mô hình của bạn bằng cách sử dụng các cụm không đồng nhất của Amazon SageMaker

Bài đăng này được đồng viết với Chaim Rand từ Mobileye.

Một số khối lượng công việc học máy (ML) nhất định, chẳng hạn như đào tạo mô hình thị giác máy tính hoặc học tăng cường, thường liên quan đến việc kết hợp nhiệm vụ chuyên sâu về GPU hoặc bộ tăng tốc của đào tạo mô hình mạng thần kinh với nhiệm vụ xử lý trước dữ liệu chuyên sâu của CPU, như tăng cường hình ảnh. Khi cả hai loại tác vụ chạy trên cùng một loại phiên bản, quá trình tiền xử lý dữ liệu sẽ bị tắc nghẽn trên CPU, dẫn đến việc sử dụng GPU thấp hơn. Vấn đề này trở nên tồi tệ hơn theo thời gian khi thông lượng của các thế hệ GPU mới hơn phát triển với tốc độ cao hơn so với CPU.

Để giải quyết vấn đề này, vào tháng 2022 năm XNUMX, chúng tôi phát động các cụm không đồng nhất cho Amazon SageMaker đào tạo mô hình, cho phép bạn khởi chạy các công việc đào tạo sử dụng các loại phiên bản khác nhau trong một công việc. Điều này cho phép giảm tải các phần của đường dẫn tiền xử lý dữ liệu đến được tối ưu hóa bằng máy tính các loại phiên bản, trong khi tác vụ mạng nơ-ron sâu (DNN) tiếp tục chạy trên GPU hoặc máy tính tăng tốc các loại phiên bản. Các điểm chuẩn của chúng tôi cho thấy lợi ích hiệu suất giá lên đến 46% sau khi cho phép các cụm không đồng nhất trong khóa đào tạo mô hình thị giác máy tính TensorFlow có ràng buộc với CPU.

Đối với một trường hợp sử dụng tương tự, Điện thoại di động, một công ty phát triển công nghệ xe tự hành, đã chia sẻ điều này:

“Bằng cách chuyển chương trình đào tạo mô hình thị giác máy tính học sâu có ràng buộc với CPU để chạy trên nhiều loại phiên bản (bộ tăng tốc CPU và GPU / ML), sử dụng tf.data.service dựa trên giải pháp mà chúng tôi đã xây dựng, chúng tôi đã giảm được 40% thời gian đào tạo trong khi giảm 30% chi phí đào tạo. Chúng tôi rất vui mừng về các cụm không đồng nhất cho phép chúng tôi chạy giải pháp này trên Amazon SageMaker. ”

- Kỹ thuật AI, Mobileye

Trong bài đăng này, chúng tôi thảo luận về các chủ đề sau:

  • Cách các cụm không đồng nhất giúp loại bỏ tắc nghẽn CPU
  • Khi nào sử dụng các cụm không đồng nhất và các lựa chọn thay thế khác
  • Triển khai tham chiếu trong PyTorch và TensorFlow
  • Kết quả điểm chuẩn hiệu suất
  • Các cụm không đồng nhất tại Mobileye

AWS's phiên bản máy tính tăng tốc họ bao gồm các bộ tăng tốc từ các chip tùy chỉnh AWS (Suy luận AWS, Đào tạo AWS), NVIDIA (GPU), Và Máy gia tốc Gaudi từ Habana Labs (một công ty của Intel). Lưu ý rằng trong bài đăng này, chúng tôi sử dụng các thuật ngữ GPU và bộ tăng tốc thay thế cho nhau.

Cách các cụm không đồng nhất loại bỏ tắc nghẽn xử lý dữ liệu

Các nhà khoa học dữ liệu đào tạo mô hình học sâu nhằm mục đích tối đa hóa hiệu quả chi phí đào tạo và giảm thiểu thời gian đào tạo. Để đạt được điều này, một mục tiêu tối ưu hóa cơ bản là sử dụng GPU cao, tài nguyên khan hiếm và đắt tiền nhất trong Đám mây điện toán đàn hồi Amazon (Amazon EC2) ví dụ. Điều này có thể khó khăn hơn với khối lượng công việc ML kết hợp truyền đi và lùi của mô hình mạng thần kinh chuyên sâu GPU cổ điển với các tác vụ đòi hỏi nhiều CPU, chẳng hạn như xử lý dữ liệu và tăng cường thị giác máy tính hoặc chạy mô phỏng môi trường trong học tập củng cố. Các khối lượng công việc này cuối cùng có thể bị ràng buộc bởi CPU, trong đó việc có nhiều CPU hơn sẽ dẫn đến thông lượng cao hơn và đào tạo nhanh hơn và rẻ hơn vì các bộ tăng tốc hiện có một phần không hoạt động. Trong một số trường hợp, tắc nghẽn CPU có thể được giải quyết bằng cách chuyển sang loại phiên bản khác có tỷ lệ CPU: GPU cao hơn. Tuy nhiên, có những tình huống mà việc chuyển đổi sang một loại phiên bản khác có thể không thực hiện được do sự phụ thuộc vào kiến ​​trúc, lưu trữ hoặc mạng của họ phiên bản.

Trong những tình huống như vậy, bạn phải tăng lượng điện năng của CPU bằng cách trộn các loại phiên bản: phiên bản có GPU với CPU. Tổng hợp lại, điều này dẫn đến tỷ lệ CPU: GPU tổng thể cao hơn. Cho đến gần đây, các công việc đào tạo của SageMaker bị giới hạn ở việc có các phiên bản của một loại phiên bản được chọn duy nhất. Với các cụm không đồng nhất của SageMaker, các nhà khoa học dữ liệu có thể dễ dàng thực hiện công việc đào tạo với nhiều loại phiên bản, cho phép giảm tải một số tác vụ CPU hiện có từ phiên bản GPU sang phiên bản CPU được tối ưu hóa bằng máy tính chuyên dụng, dẫn đến việc sử dụng GPU cao hơn, nhanh hơn và chi phí hơn- đào tạo hiệu quả. Hơn nữa, với sức mạnh bổ sung của CPU, bạn có thể xử lý trước các tác vụ được thực hiện ngoại tuyến theo truyền thống như một bước sơ bộ để đào tạo trở thành một phần trong công việc đào tạo của bạn. Điều này làm cho việc lặp lại và thử nghiệm trên cả tiền xử lý dữ liệu và các giả định và siêu tham số đào tạo DNN nhanh hơn.

Ví dụ: hãy xem xét loại phiên bản GPU mạnh mẽ, ml.p4d.24xlarge (96 vCPU, 8 x NVIDIA A100 GPU), với tỷ lệ CPU: GPU là 12: 1. Giả sử công việc đào tạo của bạn cần 20 vCPU để xử lý trước đủ dữ liệu để duy trì một GPU được sử dụng 100%. Do đó, để giữ cho tất cả 8 GPU được sử dụng 100%, bạn cần loại phiên bản 160 vCPU. Tuy nhiên, ml.p4d.24xlarge thiếu 64 vCPU hoặc 40%, hạn chế mức sử dụng GPU xuống 60%, như được mô tả ở bên trái của sơ đồ sau. Việc thêm một phiên bản ml.p4d.24xlarge khác có giúp ích gì không? Không, vì tỷ lệ CPU: GPU của công việc sẽ không đổi.

Với các cụm không đồng nhất, chúng ta có thể thêm hai ml.c5.18xlarge (72 vCPU), như được hiển thị ở bên phải của sơ đồ. Tổng vCPU thực trong cụm này là 210 (96 + 2 * 72), dẫn đến tỷ lệ CPU: GPU là 30: 1. Mỗi phiên bản được tối ưu hóa bằng máy tính này sẽ được giảm tải với tác vụ xử lý trước dữ liệu đòi hỏi nhiều CPU và sẽ cho phép sử dụng GPU hiệu quả. Mặc dù phải trả thêm chi phí cho ml.c5.18xlarge, việc sử dụng GPU cao hơn cho phép xử lý nhanh hơn và do đó lợi ích về hiệu suất giá cao hơn.

Khi nào sử dụng các cụm không đồng nhất và các lựa chọn thay thế khác

Trong phần này, chúng tôi giải thích cách xác định tắc nghẽn CPU và thảo luận về cách giải quyết nó bằng cách sử dụng kiểu phiên bản mở rộng quy mô so với các cụm không đồng nhất.

Cách nhanh chóng để xác định điểm nghẽn CPU là theo dõi CPU và GPU số liệu sử dụng cho các công việc đào tạo SageMaker trong amazoncloudwatch. Bạn có thể truy cập các chế độ xem này từ Bảng điều khiển quản lý AWS trong siêu liên kết chỉ số phiên bản của trang công việc đào tạo. Chọn các chỉ số có liên quan và chuyển từ độ phân giải 5 phút sang 1 phút. Lưu ý rằng tỷ lệ là 100% cho mỗi vCPU hoặc GPU, do đó, tỷ lệ sử dụng cho một ví dụ có 4 vCPU / GPU có thể cao tới 400%. Hình sau là một ví dụ như vậy từ các chỉ số CloudWatch, trong đó CPU được sử dụng gần như 100%, cho thấy sự tắc nghẽn của CPU, trong khi GPU được sử dụng chưa đầy đủ.

Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

Để chẩn đoán chi tiết, hãy chạy các công việc đào tạo với Trình gỡ lỗi Amazon SageMaker để lập hồ sơ trạng thái sử dụng tài nguyên, thống kê và hoạt động khung, bằng cách thêm cấu hình hồ sơ khi bạn tạo công cụ ước tính SageMaker bằng SageMaker Python SDK. Sau khi bạn gửi công việc đào tạo, hãy xem lại kết quả báo cáo hồ sơ đối với tắc nghẽn CPU.

Nếu bạn kết luận rằng công việc của bạn có thể được hưởng lợi từ tỷ lệ tính toán CPU: GPU cao hơn, trước tiên hãy cân nhắc mở rộng sang một loại phiên bản khác trong cùng họ phiên bản, nếu có. Ví dụ: nếu bạn đang đào tạo mô hình của mình trên ml.g5.8xlarge (32 vCPU, 1 GPU), hãy cân nhắc mở rộng lên ml.g5.16xlarge (64 vCPU, 1 GPU). Hoặc, nếu bạn đang đào tạo mô hình của mình bằng phiên bản đa GPU ml.g5.12xlarge (48 vCPU, 4 GPU), hãy cân nhắc mở rộng lên ml.g5.24xlarge (96 vCPU, 4 GPU). Tham khảo đến G5 đặc điểm kỹ thuật họ ví dụ để biết thêm chi tiết.

Đôi khi, mở rộng quy mô không phải là một tùy chọn, vì không có loại phiên bản nào có tỷ lệ vCPU: GPU cao hơn trong cùng một họ phiên bản. Ví dụ: nếu bạn đang đào tạo mô hình trên ml.trn1.32xlarge, ml.p4d.24xlarge hoặc ml.g5.48xlarge, bạn nên xem xét các cụm không đồng nhất để đào tạo mô hình SageMaker.

Bên cạnh việc mở rộng quy mô, chúng tôi muốn lưu ý rằng có các lựa chọn thay thế bổ sung cho một cụm không đồng nhất, như NVIDIA DALI, giúp giảm tải quá trình xử lý trước hình ảnh cho GPU. Để biết thêm thông tin, hãy tham khảo Khắc phục tắc nghẽn trước khi xử lý dữ liệu với Dịch vụ dữ liệu TensorFlow, NVIDIA DALI và các phương pháp khác.

Để đơn giản hóa việc ra quyết định, hãy tham khảo sơ đồ sau.

Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.

Cách sử dụng các cụm không đồng nhất SageMaker

Để bắt đầu nhanh chóng, bạn có thể chuyển trực tiếp đến các ví dụ về TensorFlow hoặc PyTorch được cung cấp như một phần của bài đăng này.

Trong phần này, chúng tôi sẽ hướng dẫn bạn cách sử dụng một cụm không đồng nhất SageMaker với một ví dụ đơn giản. Chúng tôi giả định rằng bạn đã biết cách đào tạo một mô hình với SageMaker Python SDK và lớp Ước tính. Nếu không, hãy tham khảo Sử dụng SageMaker Python SDK trước khi tiếp tục.

Trước tính năng này, bạn đã khởi chạy lớp Công cụ ước tính của công việc đào tạo với InstanceCount và các tham số InstanceType, mặc nhiên giả định rằng bạn chỉ có một kiểu thể hiện duy nhất (một cụm đồng nhất). Với việc phát hành các cụm không đồng nhất, chúng tôi đã giới thiệu sagemaker.instance_group.InstanceGroup lớp. Điều này đại diện cho một nhóm gồm một hoặc nhiều phiên bản của một loại phiên bản cụ thể, được thiết kế để thực hiện vai trò logic (như xử lý dữ liệu hoặc tối ưu hóa mạng nơ-ron. Bạn có thể có hai hoặc nhiều nhóm và chỉ định tên tùy chỉnh cho mỗi nhóm phiên bản, phiên bản loại và số lượng phiên bản cho mỗi nhóm phiên bản. Để biết thêm thông tin, hãy tham khảo Sử dụng SageMaker Python SDKSử dụng API SageMaker cấp thấp.

Sau khi bạn đã xác định các nhóm cá thể, bạn cần sửa đổi tập lệnh đào tạo của mình để đọc SageMaker thông tin môi trường đào tạo bao gồm cấu hình cụm không đồng nhất. Cấu hình chứa thông tin như các nhóm phiên bản hiện tại, máy chủ hiện tại trong mỗi nhóm và máy chủ hiện tại nằm trong nhóm nào cùng với xếp hạng của chúng. Bạn có thể xây dựng logic trong tập lệnh đào tạo của mình để gán các nhóm cá thể cho các nhiệm vụ đào tạo và xử lý dữ liệu nhất định. Ngoài ra, tập lệnh đào tạo của bạn cần quan tâm đến giao tiếp nhóm giữa các phiên bản hoặc cơ chế tải dữ liệu phân tán (ví dụ: tf.data.service trong TensorFlow hoặc chung chung máy khách-máy chủ gRPC) hoặc bất kỳ khuôn khổ nào khác (ví dụ: Apache Spark).

Hãy xem qua một ví dụ đơn giản về việc khởi chạy một công việc đào tạo không đồng nhất và đọc cấu hình môi trường trong thời gian chạy.

  1. Khi xác định và khởi chạy công việc đào tạo, chúng tôi định cấu hình hai nhóm cá thể được sử dụng làm đối số cho công cụ ước tính SageMaker:
    from sagemaker.instance_group import InstanceGroup
    data_group = InstanceGroup("data_group", "ml.c5.18xlarge", 2)
    dnn_group = InstanceGroup("dnn_group", "ml.p4d.24xlarge", 1)
    
    from sagemaker.pytorch import PyTorch
    estimator = PyTorch(...,
        entry_point='launcher.py',
        instance_groups=[data_group, dnn_group]
    )
  2. Trên kịch bản đào tạo điểm đầu vào (có tên launcher.py), chúng tôi đọc cấu hình cụm không đồng nhất để biết liệu phiên bản sẽ chạy mã DNN hay tiền xử lý:
    from sagemaker_training import environment
    env = environment.Environment()
    if env.current_instance_group == 'data_group': ...;

Với điều này, hãy tóm tắt các nhiệm vụ mà SageMaker thực hiện thay mặt bạn và các nhiệm vụ mà bạn chịu trách nhiệm.

SageMaker thực hiện các tác vụ sau:

  1. Cung cấp các kiểu đối tượng khác nhau theo định nghĩa nhóm đối tượng.
  2. Cung cấp các kênh đầu vào trên tất cả hoặc các nhóm cá thể cụ thể.
  3. Phân phối các tập lệnh đào tạo và các phụ thuộc cho các phiên bản.
  4. Thiết lập một cụm MPI trên một nhóm cá thể cụ thể, nếu được xác định.

Bạn chịu trách nhiệm cho các nhiệm vụ sau:

  1. Sửa đổi kịch bản công việc đào tạo bắt đầu của bạn để chỉ định các nhóm phiên bản.
  2. Triển khai một đường ống dữ liệu phân tán (ví dụ: tf.data.service).
  3. Sửa đổi tập lệnh điểm vào của bạn (xem launcher.py trong sổ ghi chép ví dụ) là một điểm nhập duy nhất sẽ chạy trên tất cả các phiên bản, phát hiện nhóm phiên bản đó đang chạy và kích hoạt hành vi có liên quan (chẳng hạn như xử lý dữ liệu hoặc tối ưu hóa DNN).
  4. Khi vòng lặp đào tạo kết thúc, bạn phải đảm bảo rằng quy trình điểm đầu vào của bạn thoát khỏi tất cả các phiên bản trên tất cả các nhóm phiên bản. Điều này rất quan trọng vì SageMaker đợi tất cả các phiên bản xử lý xong trước khi nó đánh dấu công việc là hoàn tất và dừng thanh toán. Các launcher.py tập lệnh trong sổ ghi chép ví dụ TensorFlow và PyTorch cung cấp triển khai tham chiếu các cá thể nhóm dữ liệu báo hiệu để thoát khi các cá thể nhóm DNN hoàn thành công việc của họ.

Sổ ghi chép ví dụ cho các cụm không đồng nhất SageMaker

Trong phần này, chúng tôi cung cấp một bản tóm tắt về sổ ghi chép ví dụ cho cả hai khuôn khổ TensorFlow và PyTorch ML. Trong sổ tay, bạn có thể tìm thấy chi tiết triển khai, hướng dẫn về cách mã hoạt động, các đoạn mã mà bạn có thể sử dụng lại trong tập lệnh đào tạo, sơ đồ quy trình và phân tích so sánh chi phí.

Lưu ý rằng trong cả hai ví dụ, bạn không nên mong đợi mô hình hội tụ theo một cách có ý nghĩa. Mục đích của chúng tôi chỉ là đo lường đường ống dữ liệu và thông lượng tối ưu hóa mạng nơ-ron được biểu thị bằng epoch / step time. Bạn phải chuẩn với mô hình và tập dữ liệu của riêng mình để tạo ra các lợi ích về hiệu suất giá phù hợp với khối lượng công việc của bạn.

Cụm không đồng nhất sử dụng trình tải dữ liệu phân tán dựa trên tf.data.service (TensorFlow)

T máy tính xách tay trình bày cách triển khai một cụm không đồng nhất để đào tạo SageMaker bằng cách sử dụng TensorFlow's tf.data.service dựa trên đường ống dữ liệu phân tán. Chúng tôi đào tạo mô hình thị giác máy tính học sâu Mạng lại50 yêu cầu tăng dữ liệu chuyên sâu của CPU. Nó sử dụng kinh dị cho song song dữ liệu phân tán đa GPU.

Chúng tôi chạy khối lượng công việc trong hai cấu hình: đầu tiên là một cụm đồng nhất, phiên bản ml.p4d.24xlarge đơn lẻ, sử dụng một tiêu chuẩn tf.data đường ống dẫn đến tắc nghẽn CPU dẫn đến việc sử dụng GPU thấp hơn. Trong lần chạy thứ hai, chúng tôi chuyển từ một loại cá thể đơn lẻ sang hai nhóm cá thể bằng cách sử dụng một cụm không đồng nhất SageMaker. Lần chạy này giảm tải một số quá trình xử lý dữ liệu xuống các phiên bản CPU bổ sung (sử dụng tf.data.service).

Sau đó, chúng tôi so sánh các cấu hình đồng nhất và không đồng nhất và tìm ra các lợi ích chính về hiệu suất giá. Như thể hiện trong bảng sau, công việc không đồng nhất (86ms / bước) được đào tạo nhanh hơn 2.2 lần so với công việc đồng nhất (192ms / bước), khiến việc đào tạo một mô hình rẻ hơn 46%.

Ví dụ 1 (TF) ml.p4d.24xl ml.c5.18xl Giá mỗi giờ * Thời gian bước trung bình Chi phí mỗi bước Cải thiện hiệu suất giá
Đồng nhất 1 0 $37.688 192 ms $0.201 .
không đồng nhất 1 2 $45.032 86 ms $0.108 46%

* Giá mỗi giờ dựa trên us-East-1 Định giá theo yêu cầu của SageMaker

Việc tăng tốc này có thể thực hiện được bằng cách sử dụng vCPU bổ sung, được cung cấp bởi nhóm dữ liệu và xử lý trước nhanh hơn. Xem máy tính xách tay để biết thêm chi tiết và đồ thị.

Cụm không đồng nhất sử dụng trình tải dữ liệu phân tán dựa trên máy khách-máy chủ gRPC (PyTorch)

T máy tính xách tay thể hiện khối lượng công việc mẫu bằng cách sử dụng một cụm không đồng nhất để đào tạo SageMaker bằng cách sử dụng bộ tải dữ liệu phân tán dựa trên máy khách-máy chủ gRPC. Ví dụ này sử dụng một GPU duy nhất. Chúng tôi sử dụng mô hình PyTorch dựa trên ví dụ chính thức của MNIST. Mã đào tạo đã được sửa đổi để nặng về xử lý trước dữ liệu. Chúng tôi đào tạo mô hình này ở cả chế độ cụm đồng nhất và không đồng nhất, đồng thời so sánh hiệu suất giá cả.

Trong ví dụ này, chúng tôi đã giả định rằng khối lượng công việc không thể được hưởng lợi từ nhiều GPU và có sự phụ thuộc vào kiến ​​trúc GPU cụ thể (NVIDIA V100). Chúng tôi đã thực hiện cả các công việc đào tạo đồng nhất và không đồng nhất và nhận thấy những lợi ích chính về hiệu suất giá, như được hiển thị trong bảng sau. Công việc không đồng nhất (1.19 giây / bước) đào tạo nhanh hơn 6.5 lần so với công việc thuần nhất (0.18 giây / bước), khiến việc đào tạo một người mẫu rẻ hơn 77%.

Ví dụ 2 (PT) ml.p3.2xl ml.c5.9xl Giá mỗi giờ * Thời gian bước trung bình Chi phí mỗi bước Cải thiện hiệu suất giá
Đồng nhất 1 0 $3.825 1193 ms $0.127 .
không đồng nhất 1 1 $5.661 184 ms $0.029 77%

* Giá mỗi giờ dựa trên us-East-1 Định giá theo yêu cầu của SageMaker

Điều này có thể thực hiện được vì với số lượng CPU cao hơn, chúng tôi có thể sử dụng 32 công nhân tải dữ liệu (so với 8 với ml.p3.2xlarge) để xử lý trước dữ liệu và giữ cho GPU luôn được sử dụng gần 100% trong khoảng thời gian thường xuyên. Xem máy tính xách tay để biết thêm chi tiết và đồ thị.

Các cụm không đồng nhất tại Mobileye

Mobileye, một công ty của Intel, phát triển Hệ thống Hỗ trợ Người lái Nâng cao (ADAS) và các công nghệ xe tự hành với mục tiêu cách mạng hóa ngành giao thông vận tải, giúp đường xá an toàn hơn và cứu người. Các công nghệ này được kích hoạt bằng cách sử dụng các mô hình thị giác máy tính (CV) phức tạp được đào tạo bằng SageMaker trên một lượng lớn dữ liệu được lưu trữ trong Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Các mô hình này sử dụng các kỹ thuật mạng nơ-ron học sâu hiện đại.

Chúng tôi nhận thấy rằng đối với một trong các mô hình CV của chúng tôi, tắc nghẽn CPU chủ yếu là do xử lý trước dữ liệu nặng dẫn đến GPU không được sử dụng đầy đủ. Đối với khối lượng công việc cụ thể này, chúng tôi bắt đầu xem xét các giải pháp thay thế, đánh giá công nghệ đường ống dữ liệu phân tán với các cụm không đồng nhất dựa trên các phiên bản EC2 và đưa ra các triển khai tham chiếu cho cả hai TensorFlowKim tự tháp. Việc phát hành cụm không đồng nhất SageMaker cho phép chúng tôi chạy khối lượng công việc này và các khối lượng công việc tương tự trên SageMaker để đạt được lợi ích về hiệu suất giá được cải thiện.

Những cân nhắc

Với sự ra mắt của tính năng cụm không đồng nhất, SageMaker mang đến sự linh hoạt hơn rất nhiều trong việc trộn và kết hợp các loại phiên bản trong công việc đào tạo của bạn. Tuy nhiên, hãy cân nhắc những điều sau khi sử dụng tính năng này:

  • Tính năng cụm không đồng nhất có sẵn thông qua SageMaker Kim tự thápTensorFlow các lớp ước lượng khung. Các khung công tác được hỗ trợ là PyTorch v1.10 trở lên và TensorFlow v2.6 trở lên.
  • Tất cả các nhóm đối tượng chia sẻ cùng một hình ảnh Docker.
  • Tất cả các nhóm phiên bản đều chia sẻ cùng một tập lệnh đào tạo. Do đó, tập lệnh đào tạo của bạn nên được sửa đổi để phát hiện nó thuộc nhóm phiên bản nào và chạy fork tương ứng.
  • Tên máy chủ của phiên bản huấn luyện (ví dụ: alog-1, algo-2, v.v.) được chỉ định ngẫu nhiên và không cho biết chúng thuộc về nhóm phiên bản nào. Để có được vai trò của phiên bản, chúng tôi khuyên bạn nên nhận tư cách thành viên nhóm phiên bản của nó trong thời gian chạy. Điều này cũng có liên quan khi xem lại các đăng nhập điện toán đám mây, bởi vì tên luồng nhật ký [training-job-name]/algo-[instance-number-in-cluster]-[epoch_timestamp] có tên máy chủ.
  • Chiến lược đào tạo phân tán (thường là một cụm MPI) chỉ có thể được áp dụng cho một nhóm cá thể.
  • SageMaker Hồ bơi ấm được quản lý và SageMaker Chế độ cục bộ hiện không thể được sử dụng với đào tạo cụm không đồng nhất.

Kết luận

Trong bài đăng này, chúng tôi đã thảo luận về thời điểm và cách sử dụng tính năng cụm không đồng nhất của đào tạo SageMaker. Chúng tôi đã chứng minh sự cải thiện hiệu suất giá 46% trên một trường hợp sử dụng trong thế giới thực và giúp bạn bắt đầu nhanh chóng với trình tải dữ liệu phân tán (tf.data.service và gRPC client-server) triển khai. Bạn có thể sử dụng các triển khai này với các thay đổi mã tối thiểu trong các tập lệnh đào tạo hiện có của mình.

Để bắt đầu, hãy thử sổ ghi chép ví dụ. Để tìm hiểu thêm về tính năng này, hãy tham khảo Đào tạo bằng cách sử dụng một cụm không đồng nhất.


Giới thiệu về tác giả

Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Gili Nachum là một Kiến trúc sư giải pháp chuyên gia AI / ML cấp cao, người làm việc như một phần của nhóm Học máy Amazon của EMEA. Gili đam mê những thách thức của việc đào tạo mô hình học sâu và cách học máy đang thay đổi thế giới như chúng ta đã biết. Khi rảnh rỗi, Gili thích chơi bóng bàn.

Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Hrushikesh Gangur là một kiến ​​trúc sư giải pháp chính cho các công ty khởi nghiệp AI / ML với chuyên môn trong cả Đào tạo ML và Mạng AWS. Anh ấy giúp các công ty khởi nghiệp trong các công nghệ Xe tự hành, Công nghệ người máy, CV, NLP, MLOps, Nền tảng ML và Tự động hóa quy trình người máy vận hành công việc kinh doanh hiệu quả và hiệu quả trên AWS. Trước khi gia nhập AWS, Hrushikesh đã có hơn 20 năm kinh nghiệm trong ngành chủ yếu xoay quanh các nền tảng Dữ liệu và Đám mây.

Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Gal Oshri là Giám đốc Sản phẩm Cấp cao của nhóm Amazon SageMaker. Anh ấy có 7 năm kinh nghiệm làm việc về các công cụ, khuôn khổ và dịch vụ Máy học.

Cải thiện hiệu suất về giá của quá trình đào tạo mô hình của bạn bằng cách sử dụng cụm không đồng nhất PlatoBlockchain Data Intelligence của Amazon SageMaker. Tìm kiếm dọc. Ái.Chaim Rand là một nhà phát triển thuật toán học máy làm việc về học sâu và công nghệ thị giác máy tính cho các giải pháp Xe tự hành tại Mobileye, một Công ty của Intel. Kiểm tra của anh ấy blog.

Dấu thời gian:

Thêm từ Học máy AWS