개요
For machine learning, it lets teams pack GPU-hungry training jobs and latency-sensitive model servers onto shared hardware without babysitting individual servers.
심층 분석
원래 웹 서비스를 실행하기 위해 Google에 구축된 Kubernetes는 클러스터를 CPU, 메모리 및 GPU의 하나의 큰 풀로 처리한 다음 각 컨테이너를 실행할 시스템을 결정합니다. 워크로드가 폭주하고 비용이 많이 들기 때문에 ML 팀은 이에 의지합니다. 훈련 실행에는 6시간 동안 8개의 GPU가 필요할 수 있지만 그 다음에는 아무것도 필요하지 않을 수 있습니다. Kubernetes는 무료 GPU가 있는 노드에 해당 포드를 예약하고 작업이 완료되면 하드웨어를 해제합니다. 또한 추론 서버를 활성 상태로 유지하고, 손상된 컨테이너를 다시 시작하고, 복원력을 위해 복제본을 시스템 전체에 분산시킵니다. Kubeflow, Ray 및 KServe와 같이 위에 구축된 도구는 분산 훈련 연산자, 초매개변수 조정, 자동 확장 모델 엔드포인트와 같은 ML 관련 부분을 추가하므로 데이터 과학자는 원시 YAML 대신 더 높은 수준의 추상화를 사용하여 작업합니다.
실제 구현
연구실에서는 Kubeflow Training Operator를 사용하여 4개 노드에 걸쳐 32-GPU PyTorch 분산 훈련 작업을 시작한 다음 수렴되면 자동으로 GPU를 해제합니다.
한 전자 상거래 회사는 KServe를 통해 추천 모델을 제공합니다. KServe는 반짝 세일 기간 동안 복제본을 자동으로 확장하고 하룻밤 사이에 축소합니다.
은행은 Kubernetes CronJobs로 야간 일괄 점수 매기기 작업을 실행하여 주간 서비스 트래픽과 경쟁하지 않도록 예비 CPU 노드에 대기열을 추가합니다.
한 스타트업은 Kubernetes에서 Ray를 사용하여 병렬 하이퍼매개변수 스윕을 실행하고 스팟 인스턴스에서 수십 개의 단기 평가판 포드를 가동하여 비용을 절감합니다.
ML 워크로드를 위한 Kubernetes의 미래
Teams can combine queue admission, suitable GPU resource exposure, and topology-aware placement with their ML workload controllers. Group admission helps avoid partial worker allocation, while model servers may support scale-to-zero with an appropriate serving configuration. These behaviors depend on installed components and settings. Operators should test recovery, resource limits, interconnects, and cold-start latency rather than assume the container orchestrator alone supplies every training or serving feature.
실천에 옮기기
왜 중요한가요?
- 비용 및 예산. 아키텍처 결정은 수년 동안 성능과 운영 비용을 결정합니다.
- 더 명확한 결정들. 기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
- 품질 관리. 더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
조심하세요
- 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
- 인프라 및 유지 관리 비용은 종종 과소평가됩니다.
- 시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
다음 단계
- 구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
- 현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
- 오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
- 확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
계속 탐색하세요
무료 뉴스레터
일일 AI 브리핑 받기
매주 평일 아침마다 3개의 검증된 AI 스토리를 일반 영어로 작성합니다. 무료이며, 광고 없음.
매주 평일마다 한 번 이메일을 받습니다. 한 번 클릭으로 구독 해지. 주소를 판매하거나 공유하지 않습니다.
자신을 테스트해 보세요
Take the Kubernetes for ML Workloads quiz
모든 답변에 즉각적인 피드백과, 과정을 통과하면 검증 가능한 ID가 있는 공유 가능한 인증서를 제공합니다.
무료 AI 교육을 지원합니다. AI Understanding는 501(c)(3) 비영리 단체입니다 — 광고 없음, 유료 장벽 없음, 영원히. 기부하기
자주 묻는 질문
What is Kubernetes for ML Workloads?
Kubernetes는 머신 클러스터 전체에서 컨테이너화된 프로그램을 자동으로 예약, 확장 및 다시 시작하는 오픈 소스 시스템입니다. 기계 학습의 경우 팀이 개별 서버를 돌보지 않고도 GPU를 많이 사용하는 훈련 작업과 지연 시간에 민감한 모델 서버를 공유 하드웨어에 묶을 수 있습니다.
ML 워크로드를 위한 Kubernetes 스케줄러의 기본 작업은 무엇입니까?
스케줄러는 포드의 리소스 요청(CPU, 메모리, GPU)을 사용 가능한 노드와 일치시키고 적합한 위치에 포드를 배치합니다. 모델 코드나 데이터에는 영향을 주지 않습니다.
Kubernetes는 일반적으로 포드에서 GPU를 어떻게 사용할 수 있도록 합니까?
장치 플러그인은 GPU를 예약 가능한 리소스(예: nvidia.com/gpu)로 노출하여 포드가 GPU를 요청하고 스케줄러가 가용성을 추적할 수 있도록 합니다.
With a NoSchedule taint on a GPU node, what does a matching pod toleration do?
A toleration removes the matching taint barrier. Other resource and scheduling requirements still apply.
Kubernetes 위에 분산 훈련 운영자와 같은 ML 관련 기능을 추가하는 도구는 무엇입니까?
Kubeflow는 교육 운영자, 파이프라인, 조정을 포함하여 ML 워크플로를 Kubernetes에 계층화하므로 팀은 하위 수준 클러스터 구성을 직접 작성하지 않아도 됩니다.
Kubernetes가 급증하는 ML 워크로드에 적합한 이유는 무엇입니까?
훈련은 매우 까다롭습니다. 일시적으로 많은 GPU가 사용되었다가 전혀 사용되지 않습니다. Kubernetes는 리소스가 비어 있을 때 작업을 배치하고 완료되면 이를 해제하여 활용도를 높입니다.