시작하기¶
목표: 2시간 안에 프로젝트를 만들고 첫 런을 대시보드에서 확인한다.
1. 로그인¶
https://rlflow.kr → GitHub로 로그인. 허용 목록에 없으면 랩대표에게 GitHub 아이디를 알려 준다. 역할은 admin · researcher · viewer.
2. 프로젝트 만들기¶
콘솔 → 프로젝트 선택 → 새 프로젝트.
| 항목 | 값 |
|---|---|
| 슬러그 | [a-z][a-z0-9-]+. 저장소 · MLflow experiment · DVC 경로 · 네임스페이스 이름이 된다 |
| 템플릿 | bare-gym (Gymnasium + PPO 참조 구현), isaac-lab-locomotion, mujoco-manipulation |
| GPU 쿼터 | 기본 2. 4장은 설정 → 쿼터 신청 |
| 기존 저장소 URL | 비우면 템플릿으로 새 저장소를 만든다 |
생성 순서는 GitHub 저장소 → MLflow experiment → 네임스페이스·쿼터 → DVC 원격. 하나라도 실패하면 전부 되돌린다.
3. 로컬에서 계약 확인¶
git clone <저장소> && cd <프로젝트>
uv sync --extra dev
uv run python scripts/validate_configs.py
uv run python scripts/check_reward_terms.py
uv run pytest -q envs
CKPT_DIR=/tmp/ckpt MLFLOW_TRACKING_URI=sqlite:////tmp/mlflow.db LAB_IMAGE_DIGEST=local \
uv run train.py --config-name config +smoke=true
CI ① 가 PR 마다 같은 검사를 한다.
4. 프로젝트 이미지¶
이미지 = lab/base + uv sync --frozen. 코드는 파이프라인이 git 에서 가져오므로 uv.lock 이 바뀔 때만 다시 굽는다.
GH_TOKEN=<token> docker build --secret id=gh_token,env=GH_TOKEN \
--build-arg BASE=lab/base:cu124-torch2.6-py311-<date> -t lab/<slug>:<git short sha> .
rl-flow/images/build.sh import lab/<slug>:<sha> # 레지스트리 도입 전
콘솔 → 설정 → 프로젝트 이미지에 태그를 적는다. 파이프라인 resolve 단계가 저장소의 uv.lock 과 이미지의 uv.lock 이 다르면 거부한다.
5. 첫 런¶
콘솔 → 런 → 런 제출. 저장소 기본값 그대로 제출해도 된다. 제출하면 런 화면으로 이동한다.
- 왼쪽 스텝퍼: clone → resolve → train-teacher → finalize
- 오른쪽 차트:
env/ep_return,train/kl,sys/steps_per_s… - 끝나면 정책 탭에
candidate버전이 생긴다
6. 평가와 승인¶
정책 → 해당 행 평가. 시드 5개 평가 → 게이트 → ONNX export. 통과하면 승인 → validated. 각 단계의 의미는 정책의 생애주기.
7. 어디서 무엇을 보나¶
| 보고 싶은 것 | 위치 |
|---|---|
| 런 진행, 실패 로그 마지막 200줄 | 콘솔 런 상세 |
| 전체 지표, 히스토그램, 아티팩트 브라우저 | MLflow (런 상세 우상단 "MLflow에서 열기") |
| DAG, 파드별 전체 로그, 재시도 | Argo ("Argo에서 열기") |
| GPU 사용률·온도, 슬롯 점유, 대기 | Grafana RLflow · Cluster 또는 콘솔 감시 탭 |