Skip to content

Releases: ady95/physicalai_tutorial

9부 LLM Planner 실행 기록 (trace)

Choose a tag to compare

@ady95 ady95 released this 22 Sep 02:46

책 9부의 본문 수치를 만든 실제 실행 기록입니다. API 요금 없이 결과를 따라 읽어 보실 수 있습니다.

  • 모델: gpt-6-astra
  • 측정일: 2026-09-21
  • 환경: Ubuntu 22.04, Python 3.12.13, MuJoCo 3.13.0, openai SDK 3.16.2

담긴 것 (20개, 압축 85 KB)

파일 원고 결과
ch09_pick_v3_state.json 9-3 정확한 좌표, 9/10
ch09_pick_v3_color.json 9-3 4부 색 검출, 9/10
ch09_pick_v3_camera.json 9-4 사진만 보고 판단, 7/10
ch09_pick_state/color/camera.json 9-3 도구 출력과 지침을 고치기 전 4/10 · 2/10 · 6/10
ch09_multicolor_state.json 9-5 색 지정 과제 60회 — 49/60, 대상 선택 60/60, 오답 0
ch09_multicolor_camera.json 9-5 같은 과제 사진만 30회 — 21/30, 대상 선택 26/30
showcase.json 9-3 원고에 실린 12회 호출 성공 사례
showcase_camera.json 9-4 첫 집기 실패 후 사진을 다시 보고 고쳐 성공한 사례
repeat_01.json ~ repeat_10.json 9-6 같은 위치 (0.24, 0.0) 10회 반복 — 전부 성공, 전부 12회 호출

transcript 에 도구 호출과 그 결과가 순서대로 들어 있습니다. 카메라 이미지는 자리표시자로 바꿨고, 모델이 돌려준 암호화 추론 블록은 제거했습니다.

ch09_multicolor_* 두 파일만 앞 6개 Episode 의 대화가 들어 있습니다(측정 당시 규칙). 지금 코드는 실패·오답 Episode 의 대화를 전부 남깁니다. 자세한 범위는 압축 안 README.md 에 적었습니다.

usage.seconds 는 API 응답 대기시간의 합계이며 프로그램 전체 실행시간이 아닙니다.

코드는 저장소의 ch09/.

학습 체크포인트 v0.1 (책 6~8부)

Choose a tag to compare

@ady95 ady95 released this 16 Sep 13:49

《로봇 없이 시작하는 Physical AI 따라하기》 6~8부에서 필자가 학습한 체크포인트입니다. 학습을 건너뛰고 평가 실습부터 진행할 때 씁니다.

사용법 (예제 저장소 루트에서):

R=https://github.com/ady95/physicalai_tutorial/releases/download/v0.1-checkpoints

# 6-8: ACT 2차
wget $R/act_so101_v2_10k.tar.gz
mkdir -p outputs/train/act_so101_v2/checkpoints/last
tar xzf act_so101_v2_10k.tar.gz -C outputs/train/act_so101_v2/checkpoints/last
MUJOCO_GL=egl python ch06/eval_act.py --checkpoint outputs/train/act_so101_v2/checkpoints/last/pretrained_model --episodes 20

# 7-4: SmolVLA 파인튜닝
wget $R/smolvla_so101_v2_10k.tar.gz
mkdir -p outputs/train/smolvla_so101_v2/checkpoints/last
tar xzf smolvla_so101_v2_10k.tar.gz -C outputs/train/smolvla_so101_v2/checkpoints/last
MUJOCO_GL=egl python ch07/eval_smolvla.py --checkpoint outputs/train/smolvla_so101_v2/checkpoints/last/pretrained_model --episodes 20

# 8-1-1: 3색 블록 SmolVLA
wget $R/smolvla_multicolor_v2_20k.tar.gz
mkdir -p outputs/train/smolvla_multicolor_v2/checkpoints/020000
tar xzf smolvla_multicolor_v2_20k.tar.gz -C outputs/train/smolvla_multicolor_v2/checkpoints/020000
MUJOCO_GL=egl python ch08/eval_multicolor.py --checkpoint outputs/train/smolvla_multicolor_v2/checkpoints/020000/pretrained_model --episodes-per-color 10
MUJOCO_GL=egl python ch08/diagnose_language.py --checkpoint outputs/train/smolvla_multicolor_v2/checkpoints/020000/pretrained_model
파일 내용 책의 결과 (기본 옵션)
act_so101_v2_10k.tar.gz ACT, 117 episode 데이터셋, 10,000 스텝 (6-7, 6-8) 20회 중 13회 성공 (65%)
smolvla_so101_v2_10k.tar.gz SmolVLA 파인튜닝, 117 episode 데이터셋, 10,000 스텝 (7-4) 20회 중 6회 성공 (30%)
smolvla_multicolor_v2_20k.tar.gz SmolVLA 파인튜닝, 3색 블록 179 episode 데이터셋, 20,000 스텝 (8-1-1) 성공 0 · 오답 0 · 실패 30. 언어 일치 18/60, 문장에 따라 바뀐 배치 4/20

필자가 새로 clone한 예제 저장소에서 위 명령을 그대로 실행해 표의 숫자가 똑같이 나오는 것을 확인했습니다(RTX 3060). GPU 종류가 다르면 조금 달라질 수 있습니다.

SmolVLA 평가와 noise seed

SmolVLA는 행동을 만들 때마다 무작위 noise에서 출발합니다. 예제 저장소의 평가 스크립트는 episode(또는 블록 배치)마다 noise seed를 고정하므로 같은 체크포인트면 같은 결과가 나옵니다. 시작 seed는 --noise-seed 로 바꿀 수 있습니다.

seed에 따라 결과가 크게 흔들립니다. 7-4의 117 episode 모델은 seed 0, 100, 200에서 각각 30%, 35%, 5%였고, 60회 평균 23%입니다(43 episode 모델도 평균 23%). 8-1-1의 3색 모델은 seed 100에서 성공 1 · 오답 2, seed 200에서 0 · 0이었습니다.

8-1-1의 3색 블록 체크포인트에 대하여

성공률이 0%에 가까운 체크포인트를 일부러 함께 올립니다. 8-1과 8-1-1은 "왜 안 되는지를 재는 방법"을 다루는 장이고, 그 진단을 독자가 학습 없이 직접 재현해 볼 수 있어야 하기 때문입니다.

데이터를 두 배(86 → 179 episode), 학습을 두 배(10,000 → 20,000 스텝)로 늘려 학습 손실은 0.031에서 0.013으로 떨어졌지만, 같은 장면·같은 noise에서 문장만 바꿨을 때 손이 가는 블록은 20개 배치 중 4개에서만 바뀌었고 명령과의 일치 비율은 우연 수준이었습니다. 자세한 해석과 원인 가설은 책 8-1-1에 있습니다.

🤖 Generated with Claude Code