카탈로그 등록 요청
새 태스크·모델 변형·하이퍼파라미터를 마법사에 띄우려면 플랫폼 코드 카탈로그에 반영해야 한다. 전달할 것과 hp_preset.yaml 형식
마법사 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_]*$만 됩니다. 환경 변수 이름은 키를 그대로 대문자로 바꾼 것입니다(lr→GEO_HP_LR).lr-max와lr_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 }