마법사 1~3단계와 7단계의 선택지(태스크, 프레임워크, 모델 변형, 하이퍼파라미터)는 화면에서 추가하는 것이 아니라 플랫폼 코드의 카탈로그에 들어 있습니다. 이미지를 반입하고 외부 변형을 만드는 것만으로는 새 모델 이름이 마법사에 생기지 않습니다.

카탈로그를 코드에 두는 이유는 하나입니다. 화면에 보이는 기본값·범위와 서버가 제출을 검증하는 범위가 한 곳에 있어야 서로 어긋나지 않기 때문입니다. 새 항목 추가는 드문 일이라 등록 화면을 따로 두지 않고, 플랫폼 팀이 반영합니다.

무엇이 필요한가

하고 싶은 것카탈로그 반영이미지만으로
이미 있는 태스크·모델로 내 이미지를 돌린다필요 없음외부 변형만 만들면 됨
새 모델 변형 이름을 마법사에 띄운다필요안 됨
새 하이퍼파라미터를 폼으로 받는다필요안 됨
새 태스크 · 새 데이터 종류(표, 포인트클라우드 등)를 받는다필요안 됨

지금 카탈로그에서 실제로 돌릴 수 있는 조합은 내장 학습 런타임 에 정리돼 있습니다. 마법사는 3단계에서 고른 모델을 GEO_PARAM_MODEL 로, 7단계 값을 GEO_HP_* 로 넘겨 주므로, 한 이미지가 여러 모델 변형을 처리해도 됩니다.

전달물 체크리스트

  • 이미지 tar(docker save, gzip 권장) + 태그 이름 + sha256
  • mlflow models serve 검증 통과 기록: 쓴 모델 이름·버전, 요청/응답 예시(로컬 검증)
  • 하이퍼파라미터 프리셋 hp_preset.yaml (아래 형식)
  • 태스크 · 모델 변형 목록과 각 변형의 설명
  • 입력 데이터: 파일 종류, 라벨이 오는 모양(어노테이션 파일 · CSV 컬럼 · 파일 안 속성), 표·시계열이면 컬럼 목록 · dtype · 결측 처리 · 샘플링 주기 · 윈도우 길이
  • train/val 분할을 누가 하는지(기본은 이미지)
  • 추론 응답 JSON 구조와 판정 근거 표현
  • 자원: 학습 1건의 CPU/GPU 수 · 메모리 · 예상 시간, 서빙 CPU/GPU 여부와 목표 응답 시간. GPU 없이 아예 돌지 않으면 그렇다고 적어 주세요(제출 단계에서 막도록 표시합니다)
  • 학습을 시험할 수 있는 샘플 데이터셋

hp_preset.yaml 형식

모델 변형마다, 마법사에 노출할 하이퍼파라미터를 {default, min, max, description} 으로 적습니다. 파일은 사람이 읽고 카탈로그로 옮기므로, 아래 모양은 예시이고 이 네 가지 뜻만 빠짐없으면 됩니다.

# hp_preset.yaml: 모델 변형별 하이퍼파라미터
small-cnn:
  epochs:
    default: 20
    min: 1
    max: 500
    description: 학습 epoch 수 (진행률 기준)
  batch:
    default: 64
    min: 1
    max: 1024
    description: 배치 크기
  lr:
    default: 0.001
    min: 0.000001
    max: 1.0
    description: 학습률
large-cnn:
  epochs:
    default: 50
    min: 1
    max: 500
    description: 학습 epoch 수
  • 키는 ^[a-z][a-z0-9_]*$ 만 됩니다. 환경 변수 이름은 키를 그대로 대문자로 바꾼 것입니다(lrGEO_HP_LR). lr-maxlr_max 가 같은 변수 이름이 되지 않도록, 다른 변환 규칙은 두지 않습니다.
  • 값의 타입은 default 의 타입(정수 · 실수 · 참거짓 · 문자열)을 따릅니다. 범위를 벗어난 값은 제출할 때 거절됩니다. 파드 안에서 몇 분 뒤에 죽는 것보다 낫습니다.
  • epoch 과 다른 단위로 도는 모델(예: 부스팅 반복 수)이라면, 그 값을 param epochs 로 MLflow 에 남겨 주세요. 진행률이 그 값으로 계산됩니다.
  • 값을 바꾸고 싶을 때는 hp_preset.yaml 을 고쳐 다시 보내 주세요. 플랫폼 쪽 카탈로그를 같은 값으로 고칩니다.

미리 지정된 실험(프리셋)

자주 쓰는 설정 한 벌을 "바로 진행" 프리셋으로 둘 수도 있습니다. 프리셋은 마법사 1~10단계를 통째로 채우고 검토 단계로 건너뜁니다. 형식은 제출 설정과 같습니다.

id: person-detect-yolo26n
name: Person 탐지 (YOLO26n)
description: Person 데이터셋으로 YOLO26n 객체 탐지를 기본 설정으로 학습
config:
  task: object_detection
  framework: yolo
  model: yolo26n
  dataset_id: person
  classes: [person_poly, person_bmp]
  split: { method: random, train_percent: 80, seed: 0 }
  hyperparameters: ""        # 비우면 프레임워크 기본값
  serving: { runtime: cpu }

2026-09-21 기준 플랫폼에 맞춰 작성했습니다.

© Geo-MLOps