사람들은 학습 비용, 그러니까 'H100 사용 시간에 X를 썼다'는 숫자에 집중해. 하지만 진짜 청구서에는 데이터 레이블링, 평가, 모니터링, 드리프트 탐지, 재학습, 그리고 이 모든 과정을 정직하게 유지하는 엔지니어의 시간까지 들어가. 대략 잡으면 학습 연산 비용은 제대로 운영하는 딥러닝 시스템의 평생 비용 가운데 1/5 ~ 1/10 정도야.
운영 단계에서 계속 비용을 물어뜯는 항목은 추론이야. 7B 모델이 초당 1000건의 요청을 처리한다면, 적지 않은 GPU 청구서가 끝없이 반복돼. 양자화, 증류, 배치 처리, KV-캐시 재사용, 서빙 프레임워크(vLLM, TGI)는 그 비용을 감당할 만한 수준으로 낮추려고 존재해.
숨어 있는 비용
데이터 품질: 레이블에 잡음이 끼고, 분포가 달라지고, 데이터 분할에서 정보가 새어 나가. '모델이 망가졌다'고 생각하며 벌이는 디버깅도 대부분은 데이터 디버깅이야. 탄소 발자국: 대규모 학습 실행은 실제로 환경에 영향을 주는 결정이야. 재현성: 코드, 데이터, 설정이 빠진 체크포인트는 신뢰할 수 없는 가중치 뭉치일 뿐이야.
주의: 팀이 '내일 모델 성능이 아무 신호 없이 5% 떨어지면 누가 알아챌까?'라는 질문에 답하지 못한다면, 그건 모델을 운영하는 게 아니야. 운 좋게 버티고 있는 과학 실험일 뿐이지.
비용을 눈에 보이게 만들기
대부분의 재앙을 막아 주는 값싼 습관이 있어. 모든 학습 실행마다 시드, 코드 커밋, 데이터셋 해시, 하이퍼파라미터, 최종 지표를 함께 기록해. 매주 고정된 테스트 세트로 평가 스위트를 다시 돌리고, 드리프트도 서버 오류처럼 바로 드러나게 만들어. 이렇게 하는 비용은 작아. 하지 않았을 때의 비용은 누군가 모델이 왜 이상하게 행동하기 시작했는지 묻는 날 나타나.
원칙: 딥러닝은 연산 비용만 비싼 게 아니라 운영 비용도 많이 들어. 예산에 GPU만 넣으면 나머지 청구서는 문제가 생긴 뒤에야 발견하게 돼.