반응형
요약
- Kubernetes 클러스터 에서 머신 러닝 워크 플로 를 보다 간단하고 조정 하기 위해 설계된 무료 오픈 소스 프로젝트입니다.
- Kubernetes의 컨테이너화된 환경에서 머신 러닝을 사용하기위한 클라우드 네이티브 프레임 워크입니다
Kubeflow 소개
- Kubeflow는 Kubernetes 용 머신 러닝 툴킷입니다
- Kubernetes에서 머신 러닝 (ML) 워크 플로를 간단하고 이식 가능하며 확장 가능하게 배포하는 데 전념합니다.
- 목표는 다양한 인프라에 ML을위한 동급 최고의 오픈 소스 시스템을 배포하는 간단한 방법을 제공하는 것입니다.
- Kubernetes를 실행하는 모든 곳에서 Kubeflow를 실행할 수 있어야합니다.
Kubeflow를 사용하는 이유
Kubeflow는 쿠버네티스에서 머신 러닝 워크 플로를 실행하기 위해서 만들어졌습니다. 일반적으로 다음과 같은 이유로 사용할 수 있습니다.
- 이미 쿠버네티스 기반의 인프라가 있거나, 새로운 머신 러닝 플랫폼을 만들려는 경우
- 다양한 환경(예 : 로컬, 온 프레미스 및 클라우드)에서 머신 러닝 모델을 학습하거나 서비스하려는 경우
- 자원(예 : CPU 또는 GPU)를 할당하여 작업을 하려는 경우
- Jupyter 노트북을 사용하여 머신 러닝 작업을 하려는 경우
Kubeflow를 사용하면 데이터 과학자에게 인프라가 아닌 모델링에만 집중할 수 있는 환경을 제공해 줄 수 있습니다. 그리고 컨테이너 기반의 독립된 환경에서 연구를 할 수 있기 때문에, TensorFlow, PyTorch, MXNet 등 다양한 프레임워크를 사용할 수 있습니다. GPU 같은 자원을 이용해서 모델을 분산 학습 시킬 수 도 있습니다.
또한 Hyper parameter tuning 과정을 쉽게 자동화할 수 있는 기능도 제공하고 있으며, 만든 모델을 실제 서비스에 배포할 수 있는 서빙 도구들도 제공하고 있습니다.
- Kubeflow는 복잡한 시스템을 배포, 확장 및 관리하기위한 시스템 으로 Kubernetes 를 기반으로 합니다.
- 워크 플로에 필요한 ML 도구를 지정할 수 있습니다.
- 그런 다음 실험 및 프로덕션 사용을 위해 다양한 클라우드, 로컬 및 온 프레미스 플랫폼에 워크 플로를 배포 할 수 있습니다
ML 워크 플로 소개
ML 시스템을 개발하고 배포 할 때 ML 워크 플로는 일반적으로 여러 단계로 구성됩니다. ML 시스템 개발은 반복적 인 프로세스입니다. ML 워크 플로의 다양한 단계의 출력을 평가하고 필요한 경우 모델 및 매개 변수에 변경 사항을 적용하여 모델이 필요한 결과를 계속 생성하도록해야합니다.
더 자세히 단계 살펴보기 :
- 실험 단계에서는 초기 가정을 기반으로 모델을 개발하고 원하는 결과를 생성하기 위해 모델을 반복적으로 테스트하고 업데이트합니다.
- ML 시스템으로 해결하려는 문제를 식별합니다.
- ML 모델 학습에 필요한 데이터를 수집하고 분석합니다.
- ML 프레임 워크와 알고리즘을 선택하고 모델의 초기 버전을 코딩합니다.
- 데이터와 모델 학습을 실험 해보십시오.
- 가장 효율적인 처리와 가능한 가장 정확한 결과를 보장하기 위해 모델 하이퍼 파라미터를 조정합니다.
- 프로덕션 단계에서는 다음 프로세스를 수행하는 시스템을 배포합니다.
- 교육 시스템에 필요한 형식으로 데이터를 변환합니다. 학습 및 예측 중에 모델이 일관되게 작동하도록하려면 변환 프로세스가 실험 및 생산 단계에서 동일해야합니다.
- ML 모델을 훈련시킵니다.
- 온라인 예측 또는 배치 모드 실행을 위해 모델을 제공합니다.
- 모델의 성능을 모니터링하고 모델을 조정하거나 재교육하기 위해 프로세스에 결과를 제공합니다.
ML 워크 플로의 Kubeflow 구성 요소
다음 다이어그램은 Kubeflow를 워크 플로에 추가하여 각 단계에서 유용한 Kubeflow 구성 요소를 보여줍니다.
Kubeflow 인터페이스
이 섹션에서는 Kubeflow와 상호 작용하고 Kubeflow에서 ML 워크 플로를 빌드 및 실행하는 데 사용할 수있는 인터페이스를 소개합니다.
Kubeflow 사용자 인터페이스 (UI)
Kubeflow UI는 다음과 같습니다.
이거슨 kubeflow 공식 사이트의 번역 및 요약본 입니다.
728x90
반응형
'Docker, k8s' 카테고리의 다른 글
[k8s] 단어 사전 (0) | 2021.11.28 |
---|---|
[K8S] etcd 란 (0) | 2021.06.18 |
[Docker] Build 할때 no cache 옵션주기(--no-cache) (0) | 2021.05.17 |
[k8s] hostAliases 에 여러 개 등록하기 (0) | 2021.01.15 |
[k8s] pod restart #pod 재시작 하기 (3) | 2020.12.18 |
댓글