Kubernetes에서 다중 프레임워크 딥 러닝 플랫폼 배포 및 사용

소스 노드 : 1580762

상품 설명

딥 러닝 실무자는 훈련 작업을 조율하면서 안정성과 확장성을 원합니다. 또한 여러 라이브러리에서 일관된 방식으로 이 작업을 수행할 수 있습니다. Kubernetes의 FfDL(Fabric for Deep Learning)을 사용하면 최소한의 노력으로 탄력적인 방식으로 클라우드에서 Caffe, Torch 및 TensorFlow와 같은 딥 러닝 라이브러리를 활용할 수 있는 기능을 사용자에게 제공하여 이를 달성할 수 있습니다. 이 플랫폼은 컴퓨팅 노드 전체에서 합리적인 시간 내에 대량의 데이터로부터 학습을 용이하게 하는 배포 및 오케스트레이션 계층을 사용합니다. 리소스 프로비저닝 레이어는 IaaS(Infrastructure as a Service) 클라우드에서 그래픽 처리 장치(GPU) 및 중앙 처리 장치(CPU)와 같은 이기종 리소스에 대한 유연한 작업 관리를 가능하게 합니다.

살펴보기

딥 러닝(기계 학습 방법의 일부)으로 알려진 심층 신경망 훈련은 매우 복잡하고 계산 집약적입니다. 일반적인 딥 러닝 사용자는 고가의 GPU 머신 구성, 딥 러닝 라이브러리 설치, 실행 중 오류 및 복구 처리를 위한 작업 관리 등 기본 하드웨어 및 소프트웨어 인프라의 세부 정보에 불필요하게 노출됩니다. IaaS 클라우드에서 쉽게 하드웨어를 얻고 시간당 비용을 지불하더라도 사용자는 여전히 해당 시스템을 관리하고 필요한 라이브러리를 설치하고 딥 러닝 교육 작업의 탄력성을 보장해야 합니다.

바로 여기에 서비스로서의 딥 러닝의 기회가 있습니다. 이 코드 패턴에서는 Kubernetes에 딥 러닝 Fabric을 배포하는 방법을 보여줍니다. Kubernetes, 마이크로서비스, Helm 차트 및 객체 스토리지와 같은 클라우드 네이티브 아키텍처 아티팩트를 사용하여 딥 러닝 패브릭을 배포하고 사용하는 방법을 보여줍니다. 이 패브릭은 TensorFlow, Caffe 및 PyTorch와 같은 여러 딥 러닝 엔진에 걸쳐 있습니다. 클라우드 서비스의 유연성, 사용 용이성 및 경제성을 딥 러닝의 힘과 결합합니다. 사용하기 쉽고 REST API를 사용하여 사용자 요구 사항 또는 예산별로 다른 리소스로 교육을 사용자 지정할 수 있습니다. 사용자가 결함에 집중하는 대신 딥 러닝과 애플리케이션에 집중할 수 있습니다.

흐름

흐름

  1. FfDL 배포자는 FfDL 코드 기반을 Kubernetes 클러스터에 배포합니다. Kubernetes 클러스터는 GPU, CPU 또는 둘 모두를 사용하도록 구성되었으며 S3 호환 객체 스토리지에 액세스할 수 있습니다. 지정하지 않으면 로컬로 시뮬레이션된 S3 포드가 생성됩니다.
  2. 일단 배포되면 데이터 과학자는 모델 교육 데이터를 S3 호환 개체 저장소에 업로드합니다. FfDL은 데이터가 다른 딥 러닝 프레임워크에서 규정한 필수 형식으로 이미 있다고 가정합니다.
  3. 사용자는 FfDL 모델 매니페스트 파일을 생성합니다. 매니페스트 파일에는 FfDL의 모델, 개체 저장소 정보, 리소스 요구 사항 및 교육 및 테스트 중 모델 실행에 필요한 여러 인수(하이퍼 매개 변수 포함)를 설명하는 다양한 필드가 포함되어 있습니다. 그런 다음 사용자는 모델 정의 파일과 함께 FfDL 모델 매니페스트 파일을 배포하기 위해 CLI/SDK 또는 UI를 사용하여 FfDL과 상호 작용합니다. 사용자는 교육 작업을 시작하고 진행 상황을 모니터링합니다.
  4. 훈련 작업이 완료되면 사용자는 훈련된 모델 및 관련 로그를 다운로드합니다.

명령

README에서 이 패턴에 대한 자세한 단계를 찾으십시오. 단계는 다음 방법을 보여줍니다.

  1. Docker 이미지를 컴파일하고 코딩하고 빌드합니다.
  2. helm install을 사용하여 FfDL 구성 요소를 설치합니다.
  3. FfDL 모니터링을 위해 Grafana를 구성하는 스크립트를 실행합니다.
  4. Grafana, FfDL 웹 UI 및 FfDL REST API 끝점을 가져옵니다.
  5. TensorFlow 및 Caffe를 사용하여 몇 가지 간단한 작업을 실행하여 컨볼루션 네트워크 모델을 교육합니다.

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

타임 스탬프 :

더보기 IBM 개발자