# 정리한 작업 프롬프트

아래는 사용자의 요청을 재사용 가능하게 정리한 문장입니다. 원문 녹취나 당시 시스템 프롬프트가 아닙니다. 각 작업의 완료 여부는 원자료를 기준으로 확인합니다.

## 1. 설치와 최소 재현
다운로드 폴더의 MNIST decision-model 코드를 검토하고 필요한 CUDA/Unsloth 패키지를 설치하라. 10-step 학습을 실행한 뒤 adapter와 decision head를 저장하고 새 프로세스에서 다시 불러와 예측이 유지되는지 검증하라. 실제 trainable parameter, GPU 메모리, 실패 원인을 보고하라.

## 2. 모델과 문제 설명
어떤 VLM을 기반으로 어떤 부분을 학습하는지 설명하라. LoRA, Clef 방식 decision head, Jev/decision-model 개념을 구분하라. 행동 정확도와 에피소드 성공률의 차이를 예로 설명하라. 학습 실패를 단순히 데이터 부족이라고 단정하지 마라.

## 3. 입력 계약
이미지에는 목표 숫자가 있고 state에는 현재 숫자가 있다. 모델에 주는 state와 questions는 항상 영어로 유지하라. questions에서 이미지의 숫자로 가까워지는 행동을 고르라는 목적과 -1/0/+1의 의미를 명확하게 전달하라. 0은 목표와 같을 때만 STOP이다. 목표 숫자의 텍스트 label은 모델 입력에 넣지 말고 gold/평가 메타데이터로 분리하라. 다양성을 무조건 늘리라는 요청은 아니며, 사용한 표현과 선택 규칙을 공개하라.

## 4. 투명한 학습 관찰
웹 대시보드에서 실제 학습의 각 microbatch와 optimizer step을 구분하라. 모든 샘플의 이미지, state, questions, gold, 같은 forward의 예측·확률·개별 CE와 배치 loss를 보여라. loss 원곡선과 평균선을 구분하고, 누적8/누적2의 뜻을 설명하라. 기록하지 않은 과거 데이터를 새로 만들어 당시 로그인 것처럼 표시하지 마라.

## 5. 암기 진단과 배치 실험
작은 고정 데이터셋을 먼저 외울 수 있는지 확인하라. gradient, 입력 tensor, state 변화 반영, 학습/평가 모드와 precision을 점검하라. 효과적 배치가 같은 조건으로 batch 1×누적8과 batch 4×누적2의 속도를 비교하라. 더 큰 배치를 탐색하되 실제 처리량과 메모리로 선택하라. VRAM을 채우는 것 자체를 목적이나 성능 지표로 삼지 마라.

## 6. 확대 학습
성공한 진단을 바탕으로 전체 숫자 0–9가 포함된 데이터로 확대하라. train/eval/calibration/test의 이미지 ID와 역할을 구분하라. LoRA/head 각각의 LR, 배치·누적, scheduler, warmup, steps, 데이터 노출 수, GPU peak와 시간을 기록하라. 평가 결과와 빈 이미지/섞은 이미지/새 영어 표현 검사를 제공하라.

## 7. 최종 평가 — 수정된 범위
공식 MNIST test 전체 10,000장 요청을 시간 제약으로 1,000장으로 축소한다. 각 이미지에서 current 0–9를 검사해 행동 정확도와 에피소드 성공률을 보고하라. 숫자×현재상태별 오류, 잘못된 정지·루프·범위 이탈, 확신 높은 오답을 대시보드에 표시하라. 학습의 한계를 이해할 수 있도록 실제 실패 이미지를 제공하라. 단건 추론 latency와 배치 처리량을 warmup 및 CUDA 동기화 후 따로 측정하라.

## 8. 원자료 보존과 정적 튜토리얼
코드, 실행별 config, 정리된 요청, 모든 잔존 iteration 로그, 모델 산출물, 데이터, 보고서를 한 폴더에 모으고 출처와 무결성 정보를 제공하라. 'Jev tutorial with hands-on experience on MNIST' 정적 사이트 초안을 함께 만들라. 원리→문제→학습 구현→설정→모든 기록 탐색→보정→시간 비용→테스트/실패→discussion 순으로 설명하라. Qwen 2B 등 실행하지 않은 비교는 제안으로 표시하라. 사이트에서 결과를 열람하는 것은 저장된 측정값 재생이며 실시간 VLM 추론이 아님을 분명히 하라.
