반응형
0️⃣ 한 줄 요약
Katib = 머신러닝 모델의 하이퍼파라미터를 자동으로 찾아주는 실험 관리자
👉 사람이 하나하나 값 바꿔가며 실험하는 걸 대신해주는 자동 실험 로봇
1️⃣ 하이퍼파라미터가 뭐야? (여기서부터 시작)
❓ 모델 학습할 때 꼭 정해야 하는 값들
learning_rate = 0.01 ? batch_size = 32 ? optimizer = Adam ?
이런 값들은:
- 코드 안에 있지만
- 학습 전에 사람이 정해야 하고
- 성능에 엄청 큰 영향
👉 이게 하이퍼파라미터
2️⃣ 사람이 직접 하면 생기는 문제
😵 수동 실험의 현실
1차: lr=0.01 → 정확도 85% 2차: lr=0.001 → 88% 3차: lr=0.0001 → 60% 😱
- 경우의 수 폭발
- GPU 시간 낭비
- 기록 누락
- 최적값 찾기 어려움
👉 “이걸 자동으로 해주는 애 없나?”
3️⃣ Katib이 해결하는 문제
Katib은 이렇게 해:
1️⃣ 여러 하이퍼파라미터 조합을 자동 생성
2️⃣ 각 조합으로 학습 Job 실행
3️⃣ 결과(정확도 등) 수집
4️⃣ 가장 좋은 조합 선택
📌 핵심: 학습은 TFJob / PyTorchJob이 하고
Katib은 “실험을 관리”만 함
4️⃣ Katib의 전체 동작 흐름 (아주 중요 ⭐)
[Katib Experiment 생성] ↓ [하이퍼파라미터 조합 생성] ↓ [Trial 생성] ↓ [TFJob / Job 실행] ↓ [Metric 수집] ↓ [최적 파라미터 선택]
5️⃣ Katib의 핵심 개념 5가지 (초보자 필수)
① Experiment (실험 전체)
“이번에 learning_rate랑 batch_size 최적화할 거야”
- Katib의 최상위 리소스
- 실험 목적과 범위 정의
kind: Experiment
② Parameter (바꿔볼 값들)
parameters: - name: learning_rate parameterType: double feasibleSpace: min: "0.0001" max: "0.1"
✔ 어떤 값을
✔ 어떤 범위에서
✔ 어떻게 바꿀지
③ Algorithm (탐색 방법)
Katib이 “어떻게” 찾을지 결정
알고리즘설명
| Grid | 전부 다 해봄 |
| Random | 랜덤 |
| Bayesian | 똑똑하게 |
| Hyperband | 빨리 망하는 실험 컷 |
초보자 👉 Random / Grid 추천
④ Trial (실험 1회)
“learning_rate=0.01, batch=32 로 한 번 돌려보자”
- 실제 실행 단위
- 내부에서 TFJob / Job 생성됨
Experiment ├─ Trial #1 ├─ Trial #2 └─ Trial #3
⑤ Metric (성능 지표)
accuracy = 0.91 loss = 0.23
Katib은 이 값을 보고 판단해.
- maximize / minimize 지정 가능
6️⃣ Katib은 학습 코드를 어떻게 알까?
❗ 중요한 포인트
Katib은 네 코드 내용을 전혀 모른다
👉 대신 이런 방식 사용:
방법 1️⃣ 로그 파싱 (가장 흔함)
print("accuracy=0.92")
Katib:
objectiveMetricName: accuracy
방법 2️⃣ 파일 읽기
/result/metrics.json
방법 3️⃣ Custom Metric Collector
(고급자용, 일단 패스)
7️⃣ Katib YAML 구조 (전체 큰 그림)
apiVersion: kubeflow.org/v1beta1 kind: Experiment spec: objective: type: maximize objectiveMetricName: accuracy algorithm: algorithmName: random parameters: - name: learning_rate parameterType: double trialTemplate: trialSpec: apiVersion: kubeflow.org/v1 kind: TFJob
👉 Katib = “TFJob 생성기 + 결과 수집기”
8️⃣ Katib을 쓰는 이유 정리
항목수동Katib
| 실험 자동화 | ❌ | ✅ |
| GPU 효율 | 낮음 | 높음 |
| 기록 | 엉망 | 자동 |
| 최적값 | 감 | 데이터 기반 |
9️⃣ 언제 Katib을 쓰면 좋을까?
👍 쓰는 게 좋은 상황
- 모델 성능이 중요
- GPU 여러 대 있음
- 파라미터 튜닝 자주 함
👎 굳이 안 써도 되는 경우
- 간단한 모델
- 값이 이미 정해짐
- 실험 1~2번이면 끝
🔟 Kubeflow 안에서 Katib의 위치
Notebook → Katib → TFJob → 모델 저장 → KServe
👉 “실험 자동화 담당”
반응형
'[GPUaaS] > Kubeflow' 카테고리의 다른 글
| [Kubeflow] 초보자용 - 전체 설치 과정 !! (0) | 2026.02.10 |
|---|---|
| [Kubeflow] 머신러닝 - “학습부터 서비스까지” 자동으로 돌리게 해주는 플랫폼 (0) | 2026.02.02 |
댓글