Triển khai và sử dụng nền tảng deep learning đa khung trên Kubernetes

Nút nguồn: 1580762

Mô tả

Là một học viên deep learning, bạn muốn độ tin cậy và khả năng mở rộng trong khi sắp xếp các công việc đào tạo của mình. Ngoài ra, bạn sẽ muốn thực hiện điều này một cách nhất quán trên nhiều thư viện. Với Fabric for Deep Learning (FfDL) trên Kubernetes, bạn có thể đạt được điều này bằng cách cung cấp cho người dùng khả năng tận dụng các thư viện deep learning như Caffe, Torch và TensorFlow trên đám mây một cách linh hoạt với nỗ lực tối thiểu. Nền tảng này sử dụng lớp phân phối và điều phối để tạo điều kiện học hỏi từ một lượng lớn dữ liệu trong một khoảng thời gian hợp lý trên các nút tính toán. Lớp cung cấp tài nguyên cho phép quản lý công việc linh hoạt trên các tài nguyên không đồng nhất, chẳng hạn như đơn vị xử lý đồ họa (GPU) và đơn vị xử lý trung tâm (CPU), trong cơ sở hạ tầng dưới dạng đám mây dịch vụ (IaaS).

Giới thiệu chung

Đào tạo mạng lưới thần kinh sâu, được gọi là học sâu (một phần của phương pháp học máy), rất phức tạp và chuyên sâu về tính toán. Một người dùng học sâu thông thường không cần thiết phải tiếp xúc với các chi tiết của cơ sở hạ tầng phần cứng và phần mềm cơ bản, bao gồm định cấu hình các máy GPU đắt tiền, cài đặt thư viện học sâu và quản lý công việc trong quá trình thực thi để xử lý lỗi và khôi phục. Mặc dù dễ dàng có được phần cứng từ các đám mây IaaS và thanh toán theo giờ, nhưng người dùng vẫn cần quản lý các máy đó, cài đặt các thư viện cần thiết và đảm bảo khả năng phục hồi của các công việc đào tạo deep learning.

Đây là nơi có cơ hội học sâu như một dịch vụ. Trong mẫu mã này, chúng tôi chỉ cho bạn cách triển khai Fabric học sâu trên Kubernetes. Bằng cách sử dụng các tạo phẩm kiến ​​trúc gốc trên đám mây như Kubernetes, vi dịch vụ, biểu đồ Helm và bộ lưu trữ đối tượng, chúng tôi chỉ cho bạn cách triển khai và sử dụng Cấu trúc học sâu. Cấu trúc này trải rộng trên nhiều công cụ học sâu như TensorFlow, Caffe và PyTorch. Nó kết hợp tính linh hoạt, dễ sử dụng và tính kinh tế của dịch vụ đám mây với sức mạnh của học sâu. Bạn sẽ thấy nó dễ sử dụng và bằng cách sử dụng API REST, bạn có thể tùy chỉnh khóa đào tạo với các tài nguyên khác nhau theo yêu cầu hoặc ngân sách của người dùng. Cho phép người dùng tập trung vào deep learning và các ứng dụng thay vì tập trung vào các lỗi.

Dòng chảy

dòng chảy

  1. Trình triển khai FfDL triển khai cơ sở mã FfDL cho cụm Kubernetes. Cụm Kubernetes được định cấu hình cho GPU, CPU hoặc cả hai đã sử dụng và có quyền truy cập vào bộ lưu trữ đối tượng tương thích với S3. Nếu không được chỉ định, một nhóm S3 mô phỏng cục bộ sẽ được tạo.
  2. Sau khi được triển khai, nhà khoa học dữ liệu tải dữ liệu đào tạo mô hình lên kho lưu trữ đối tượng tương thích với S3. FfDL giả định rằng dữ liệu đã ở định dạng bắt buộc theo quy định của các khung học sâu khác nhau.
  3. Người dùng tạo tệp kê khai Mô hình FfDL. Tệp kê khai chứa các trường khác nhau mô tả mô hình trong FfDL, thông tin lưu trữ đối tượng, yêu cầu tài nguyên của nó và một số đối số (bao gồm cả siêu tham số) được yêu cầu để thực thi mô hình trong quá trình đào tạo và thử nghiệm. Sau đó, người dùng tương tác với FfDL bằng cách sử dụng CLI/SDK hoặc giao diện người dùng để triển khai tệp kê khai mô hình FfDL với tệp định nghĩa mô hình. Người dùng khởi chạy công việc đào tạo và theo dõi tiến trình của nó.
  4. Người dùng tải xuống mô hình được đào tạo và nhật ký liên quan sau khi công việc đào tạo hoàn tất.

Hướng Dẫn

Tìm các bước chi tiết cho mẫu này trong README. Các bước sẽ chỉ cho bạn cách:

  1. Biên dịch, viết mã và xây dựng hình ảnh Docker.
  2. Cài đặt các thành phần FfDL với helm install.
  3. Chạy tập lệnh để định cấu hình Grafana để theo dõi FfDL.
  4. Nhận các điểm cuối API Grafana, FfDL Web UI và FfDL REST của bạn.
  5. Chạy một số công việc đơn giản để đào tạo mô hình mạng tích chập bằng cách sử dụng TensorFlow và Caffe.

Nguồn: https://developer.ibm.com/patterns/deploy-and-use-a-multi-framework-deep-learning-platform-on-kubernetes/

Dấu thời gian:

Thêm từ Nhà phát triển IBM