네 조건, 하나도 선택이 아니다
바이트가 드라이브에 있다고 하자. 끝일까? 아직 아니야 — 익명 블롭들이 담긴 폴더는 소유가 아니라 정체불명의 물건들에 대한 보관이거든. 이 퀘스트는 엄격하고 운영적인 정의를 써. 다음 네 조건이 동시에 성립할 때 모델을 소유한다고 말해:
- 바이트를 손에 쥘 것. 실제 텐서 파일이 네가 통제하는 저장소에 존재할 것 — 런타임이 언제 지워버릴지 모르는 캐시도, 컨테이너 사용자 소유의 폴더도, "마음 내키면 동기화해 주는" 클라우드 드라이브도 아니고.
- 다이제스트가 검증될 것. 저자가 공개한 암호학적 다이제스트에 파일들을 대조했거나(아니면 수집 시점에 직접 계산해서 기록했거나). 이제 그 사본은 비슷하게 생긴 게 아니라 그 아티팩트임을 증명할 수 있어.
- 라이선스를 읽었을 것. 그 아티팩트를 다스리는 라이선스가 뭔지, 뭘 허용하는지 알 것 — 연구 전용, 조건부 상업, 진짜 개방. 라이선스를 안 읽은 아티팩트는 가격을 매겨 본 적 없는 부채야.
- 오프라인 접근. 네트워크를 뽑은 상태에서 네 저장소에서 로드된 모델까지 갈 수 있을 것. 그 경로 어디서든 집에 전화를 걸면, 소유한 건 모델이 아니라 의존성이야.
각 조건은 그 부재에 기록된 실패 모드가 존재해서야. 검증 안 된 바이트: 그래도 로드는 되며 출력을 조용히 degrade시키는, 손상되거나 변조된 전송물. 안 읽은 라이선스: 법적으로 정당화할 수 없는 다운스트림 사용. 네트워크 의존: 이전 레슨의 대출이 config 파일을 통해 밀반입된 것.
보관과 소유
사람들이 헷갈리는 세 역할을 가르는 게 도움이 돼. 세입자는 남의 인프라를 통해 모델에 닿고 아무것도 쥐고 있지 않아. 보관자는 바이트를 쥐고 있지만 보증할 수 없어 — model_final (2).bin 파일들로 가득한 다운로드 폴더가 그 상태지. 소유자는 바이트를 쥐고, 보증할 수 있고, 조건을 알고, 어둠 속에서도 쓸 수 있어. 세입자에서 보관자로의 도약은 다운로드야. 보관자에서 소유자로의 도약은 검증과 기록이고 — 훨씬 싼데 만성적으로 건너뛰어지지.
이게 이후 트랙들이 다이제스트와 메타데이트에 그렇게 많은 시간을 쓰는 이유야. 그건 관료적인 치장이 아니라 두 번째와 세 번째 역할 사이의 차이 전부거든. 그리고 이 정의가 포함하지 않는 것도 봐: 모델을 돌려 보는 것, 모델을 좋아하는 것, 만든 이와 관계를 맺는 것. 소유는 아티팩트와 네 저장소에 관한 거고, 다른 아무것도 아니야.
오늘 돌릴 수 있는 체크리스트
정의를 물리적 점검으로 바꿔 봐. 신경 쓰는 모델 하나에 대해 네 칸을 채워: 바이트가 어디 사는지, 어떤 다이제스트가 그걸 증명하는지, 어떤 라이선스가 다스리는지, 뭐가 오프라인으로 로드되는지. 못 채우는 칸 하나하나가 정확히 다음 액션이야 — 그리고 각 칸에는 이 퀘스트의 전용 트랙이 있지.