학습 도커 이미지는 평소 방식대로 빌드. 이미지에 플랫폼 스크립트를 넣지 않으며, 별도의 표준 출력 형식도 없음.

범위: 학습 이미지의 외부 계약과 검증 절차. 모델 알고리즘은 제외.

요약

항목내용
전달물docker save 로 만든 이미지 tar (+ 태그 이름 · sha256)
실행플랫폼이 이미지의 ENTRYPOINT 를 그대로 실행. 커맨드를 덮어쓰지 않음.
입력학습 데이터는 플랫폼이 미리 내려받아 /geo/dataset 에 저장. 다운로드 코드, 스토리지 자격 증명 모두 불필요.
설정하이퍼파라미터·태스크·GPU 모두 환경 변수로 전달
출력보존할 결과는 모두 MLflow 에 업로드. 컨테이너 파일 시스템은 실행 종료 시 삭제.
종료exit 0 = 성공, 그 외 = 실패

학습 한 건의 흐름

학습 한 건은 Kubernetes Job 하나(파드 하나) 로 실행. ①③, ⑧⑩ 은 플랫폼이 처리, 컨테이너는 ④~⑦ 에만 관여.

학습 한 건의 실행 순서: 사용자 화면, 플랫폼 서버, MLflow, 학습 컨테이너의 역할 분담

  • MLflow run 은 학습 컨테이너 기동 전에 이미 생성(①). 대기열에서 나와 실행 준비 시 플랫폼이 생성. 컨테이너의 mlflow.start_run() 은 그 run 을 이어받음(④). 컨테이너가 run 을 끝내지 못하고 비정상 종료되어도 최종 상태는 플랫폼이 종료 코드 기준으로 마감(⑧).
  • 로그와 지표는 경로가 다름. 표준 출력은 화면의 라이브 로그에만 표시, 곡선과 진행률은 플랫폼이 MLflow 에서 읽음(⑤). print 로 출력한 숫자는 곡선으로 표시되지 않음.
  • 데이터 준비는 학습 코드 시작 전에 완료(②). 파드의 init 컨테이너가 데이터셋을 내려받아 /geo/dataset 에 저장한 뒤 학습 이미지 실행.

서버가 표시하는 6단계

학습 상세 화면의 진행 단계 는 6단계로 고정. 모든 단계는 플랫폼이 관측한 사실로만 진행. 트레이너는 단계를 보고하지 않음(보고 수단도 없음).

외부 이미지로 실행한 학습 상세: 실행 대기부터 결과 정리까지 서버가 표시하는 6단계
#스텝 키화면 이름단계 내용
1queue실행 대기제출부터 실행 슬롯이 확보될 때까지
2runtime_prepare학습 환경 준비실행용 토큰과 이미지 pull 자격 증명 발급, Job 생성, 파드 배치와 이미지 내려받기
3data_stage데이터셋 준비init 컨테이너가 데이터셋을 배치하는 동안. 진행률은 없고, 학습 컨테이너가 시작되면 완료
4train학습이미지의 ENTRYPOINT. 진행률 = MLflow 의 max(step)+1 / params.epochs
5register모델 레지스트리 등록검토 단계에서 등록을 활성화했으면 로깅된 모델을 레지스트리에 새 버전으로 등록
6finalize결과 정리상태 마감, 실행용 토큰 회수

이 절의 순서

학습 이미지가 마법사에 표시되기까지: 협력사가 docker build·save 로 만든 이미지 tar 를 전달하거나 docker push 하면 ① 컨테이너 레지스트리에 저장. ② 테넌트 관리자가 학습 런타임에서 외부 이미지 변형으로 등록하면 ③ AI 개발자가 새 학습 마법사의 10. 실행 환경에서 선택.

  1. 트레이너의 책임 3가지: 지표, 모델 로깅, 종료 코드
  2. 컨테이너 내부 경로와 환경 변수
  3. MNIST 예제 전체: 복사한 뒤 학습 코드만 수정해 사용하는 완성 예제
  4. 로컬에서 먼저 검증하기
  5. 플랫폼에 이미지 업로드하기: tar 반입 또는 docker push
  6. 마법사에서 선택할 수 있도록 등록하기: 외부 이미지 변형
  7. 카탈로그 등록: 새 프레임워크·모델·하이퍼파라미터를 이미지 라벨이나 관리자 화면으로 등록
  8. 내장 학습 런타임: YOLO · RF-DETR · Pointcept
  9. 사전학습 가중치
  10. 자주 발생하는 실패

2026-10-02 기준 플랫폼으로 작성

© MLOps Central Platform