개요
Kubernetes는 머신 클러스터 전체에서 컨테이너화된 프로그램을 자동으로 예약, 확장 및 다시 시작하는 오픈 소스 시스템입니다. 기계 학습의 경우 팀이 개별 서버를 돌보지 않고도 GPU를 많이 사용하는 훈련 작업과 지연 시간에 민감한 모델 서버를 공유 하드웨어에 묶을 수 있습니다.
ML 워크로드용 Kubernetes는 모델 품질, 인프라 비용, 지연 시간, 대규모 안정성에 영향을 미치는 기술 구성 요소입니다.
심층 분석
원래 웹 서비스를 실행하기 위해 Google에 구축된 Kubernetes는 클러스터를 CPU, 메모리 및 GPU의 하나의 큰 풀로 처리한 다음 각 컨테이너를 실행할 시스템을 결정합니다. 워크로드가 폭주하고 비용이 많이 들기 때문에 ML 팀은 이에 의지합니다. 훈련 실행에는 6시간 동안 8개의 GPU가 필요할 수 있지만 그 다음에는 아무것도 필요하지 않을 수 있습니다. Kubernetes는 무료 GPU가 있는 노드에 해당 포드를 예약하고 작업이 완료되면 하드웨어를 해제합니다. 또한 추론 서버를 활성 상태로 유지하고, 손상된 컨테이너를 다시 시작하고, 복원력을 위해 복제본을 시스템 전체에 분산시킵니다. Kubeflow, Ray 및 KServe와 같이 위에 구축된 도구는 분산 훈련 연산자, 초매개변수 조정, 자동 확장 모델 엔드포인트와 같은 ML 관련 부분을 추가하므로 데이터 과학자는 원시 YAML 대신 더 높은 수준의 추상화를 사용하여 작업합니다.
기술적 통찰력
Kubernetes는 스케줄러가 Pod의 요청과 일치하는 nvidia.com/gpu와 같은 리소스를 광고하는 장치 플러그인을 통해 GPU를 할당합니다. 오염 및 허용은 값비싼 GPU 노드에서 저렴한 CPU 작업을 유지하는 반면, 노드 선택기 및 선호도 규칙은 교육을 특정 하드웨어에 고정합니다. 다중 GPU 훈련을 위해 운영자는 서로를 발견하고 PyTorch DDP 또는 Horovod와 같은 프레임워크를 실행하는 포드 그룹을 생성하고 NCCL을 사용하여 클러스터 네트워크를 통해 기울기를 교환합니다.
ML 워크로드를 위한 Kubernetes 마스터하기
Kubernetes는 머신 클러스터 전체에서 컨테이너화된 프로그램을 자동으로 예약, 확장 및 다시 시작하는 오픈 소스 시스템입니다. 기계 학습의 경우 팀이 개별 서버를 돌보지 않고도 GPU를 많이 사용하는 훈련 작업과 지연 시간에 민감한 모델 서버를 공유 하드웨어에 묶을 수 있습니다. ML 워크로드용 Kubernetes는 모델 품질, 인프라 비용, 지연 시간, 대규모 안정성에 영향을 미치는 기술 구성 요소입니다. 깊은 이해를 구축하려면 ML 워크로드용 Kubernetes를 단일 기능이 아닌 운영 모델로 취급하십시오. 즉, 원하는 결과를 정의하고, 가정을 명확히 하고, 시스템이 안정적으로 수행할 수 있는 작업과 여전히 전문가 판단이 필요한 작업을 분리하세요.
실제로 ML 워크로드에 Kubernetes를 사용하는 강력한 팀은 안정성과 비용에 맞춰 아키텍처, 데이터 및 인프라 선택을 최적화합니다. 명시적인 성공 기준을 문서화하고, 현실적인 데이터 및 워크플로를 기준으로 테스트하며, 일회성 벤치마크 승리보다는 관찰된 실패 패턴을 기반으로 반복합니다. 이론적 이해가 제품, 정책, 운영 전반에 걸쳐 지속 가능한 역량으로 바뀌는 곳입니다.
아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다. 동시에 하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다. 가장 탄력적인 접근 방식은 실험 속도와 거버넌스 규율을 결합하는 것입니다. 즉, 파일럿 실행, 증거 캡처, 결정 로그 게시, 모델 동작, 사용자 기대 및 규제 요구 사항이 발전함에 따라 보호 장치를 지속적으로 업데이트합니다.
전략적 영향
아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다.
아키텍처 결정은 수년간 성능과 운영 비용을 결정합니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다.
기술 교육은 팀이 최신 스택뿐만 아니라 올바른 스택을 선택하는 데 도움이 됩니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다.
더 나은 엔지니어링 선택은 생산 시 신뢰성 사고를 줄입니다. 고품질 배포에서는 이는 측정 가능한 운영 규칙, 소유권 경계 및 반복적인 검토 의식으로 변환되므로 팀은 모호성을 확장하는 대신 자신감을 확장할 수 있습니다.
실제 구현
연구실에서는 Kubeflow Training Operator를 사용하여 4개 노드에 걸쳐 32-GPU PyTorch 분산 훈련 작업을 시작한 다음 수렴되면 자동으로 GPU를 해제합니다.
한 전자 상거래 회사는 KServe를 통해 추천 모델을 제공합니다. KServe는 반짝 세일 기간 동안 복제본을 자동으로 확장하고 하룻밤 사이에 축소합니다.
은행은 Kubernetes CronJobs로 야간 일괄 점수 매기기 작업을 실행하여 주간 서비스 트래픽과 경쟁하지 않도록 예비 CPU 노드에 대기열을 추가합니다.
한 스타트업은 Kubernetes에서 Ray를 사용하여 병렬 하이퍼매개변수 스윕을 실행하고 스팟 인스턴스에서 수십 개의 단기 평가판 포드를 가동하여 비용을 절감합니다.
구현 패턴
실제로 ML 워크로드를 위한 Kubernetes
연구실에서는 Kubeflow Training Operator를 사용하여 4개 노드에 걸쳐 32-GPU PyTorch 분산 훈련 작업을 시작한 다음 수렴되면 자동으로 GPU를 해제합니다.
연구실에서는 Kubeflow Training Operator를 사용하여 4개 노드에 걸쳐 32GPU PyTorch 분산 훈련 작업을 시작한 다음 GPU가 수렴될 때 자동으로 GPU를 해제합니다. 일반적으로 팀은 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 일반적으로 더 나은 결과를 얻습니다.
실제로 ML 워크로드를 위한 Kubernetes
한 전자 상거래 회사는 KServe를 통해 추천 모델을 제공합니다. KServe는 반짝 세일 기간 동안 복제본을 자동으로 확장하고 하룻밤 사이에 축소합니다.
전자 상거래 회사는 KServe를 통해 추천 모델을 제공합니다. KServe는 반짝 세일 기간 동안 복제본을 자동으로 확장하고 밤새 축소합니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 극단적인 경우에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
실제로 ML 워크로드를 위한 Kubernetes
은행은 Kubernetes CronJobs로 야간 일괄 점수 매기기 작업을 실행하여 주간 서비스 트래픽과 경쟁하지 않도록 예비 CPU 노드에 대기열을 추가합니다.
은행은 야간 배치 점수 작업을 Kubernetes CronJobs로 실행하여 예비 CPU 노드에 대기열을 추가하여 주간 서비스 트래픽과 경쟁하지 않도록 합니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 엣지 케이스에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
실제로 ML 워크로드를 위한 Kubernetes
한 스타트업은 Kubernetes에서 Ray를 사용하여 병렬 하이퍼매개변수 스윕을 실행하고 스팟 인스턴스에서 수십 개의 단기 평가판 포드를 가동하여 비용을 절감합니다.
스타트업은 Kubernetes에서 Ray를 사용하여 병렬 하이퍼매개변수 스윕을 실행하고, 스팟 인스턴스에서 수십 개의 단기 평가판 포드를 가동하여 비용을 절감합니다. 팀은 일반적으로 품질 임계값을 미리 정의하고, 엣지 케이스에 대한 인적 에스컬레이션 경로를 유지하고, 시간이 지남에 따라 생산성 향상과 오류 비용을 모두 추적할 때 더 나은 결과를 얻습니다.
위험 및 가드레일
하나의 벤치마크를 최적화하면 더 광범위한 시스템 약점을 숨길 수 있습니다.
인프라 및 유지 관리 비용은 종종 과소평가됩니다.
시스템이 더욱 복잡해짐에 따라 보안 및 관찰 가능성의 격차가 커질 수 있습니다.
구현 로드맵
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요.
구현하기 전에 지연 시간, 품질, 비용 목표를 정의하세요. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다.
현실적인 로드 및 데이터 조건에서 벤치마킹합니다. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링.
오류, 드리프트 및 사용자 영향에 대한 계측기 모니터링. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요.
확장하기 전에 롤백 및 사고 대응 경로를 준비하세요. 각 단계를 증거 게이트로 처리합니다. 기준이 충족되지 않으면 롤아웃을 일시 중지하고 간격을 좁힌 다음 사용을 확장합니다.