상품 설명
딥 러닝 실무자는 훈련 작업을 조율하면서 안정성과 확장성을 원합니다. 또한 여러 라이브러리에서 일관된 방식으로 이 작업을 수행할 수 있습니다. 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를 사용하여 사용자 요구 사항 또는 예산별로 다른 리소스로 교육을 사용자 지정할 수 있습니다. 사용자가 결함에 집중하는 대신 딥 러닝과 애플리케이션에 집중할 수 있습니다.
흐름
- FfDL 배포자는 FfDL 코드 기반을 Kubernetes 클러스터에 배포합니다. Kubernetes 클러스터는 GPU, CPU 또는 둘 모두를 사용하도록 구성되었으며 S3 호환 객체 스토리지에 액세스할 수 있습니다. 지정하지 않으면 로컬로 시뮬레이션된 S3 포드가 생성됩니다.
- 일단 배포되면 데이터 과학자는 모델 교육 데이터를 S3 호환 개체 저장소에 업로드합니다. FfDL은 데이터가 다른 딥 러닝 프레임워크에서 규정한 필수 형식으로 이미 있다고 가정합니다.
- 사용자는 FfDL 모델 매니페스트 파일을 생성합니다. 매니페스트 파일에는 FfDL의 모델, 개체 저장소 정보, 리소스 요구 사항 및 교육 및 테스트 중 모델 실행에 필요한 여러 인수(하이퍼 매개 변수 포함)를 설명하는 다양한 필드가 포함되어 있습니다. 그런 다음 사용자는 모델 정의 파일과 함께 FfDL 모델 매니페스트 파일을 배포하기 위해 CLI/SDK 또는 UI를 사용하여 FfDL과 상호 작용합니다. 사용자는 교육 작업을 시작하고 진행 상황을 모니터링합니다.
- 훈련 작업이 완료되면 사용자는 훈련된 모델 및 관련 로그를 다운로드합니다.
명령
README에서 이 패턴에 대한 자세한 단계를 찾으십시오. 단계는 다음 방법을 보여줍니다.
- Docker 이미지를 컴파일하고 코딩하고 빌드합니다.
- helm install을 사용하여 FfDL 구성 요소를 설치합니다.
- FfDL 모니터링을 위해 Grafana를 구성하는 스크립트를 실행합니다.
- Grafana, FfDL 웹 UI 및 FfDL REST API 끝점을 가져옵니다.
- TensorFlow 및 Caffe를 사용하여 몇 가지 간단한 작업을 실행하여 컨볼루션 네트워크 모델을 교육합니다.