영상 1분의 원가를 추론 시간만으로 계산할 수 없었다
AI Commons에 교수자 아바타를 붙이며 영상 1분의 비용을 판단해야 했다. GPU 임대료에 추론 시간만 곱하면 모델 준비·실패 재실행을 놓친다. 성공한 파일의 길이로 나누면 품질이 나빠 쓰지 못할 결과도 산출물로 센다. 공급 비용과 유효 출력, 제품 사용량을 다른 단위로 봐야 했다.
강의 슬라이드와 음성에 말하는 인물을 합성하면 입 모양을 만드는 추론이 추가된다. GPU가 점유된 시간은 사용자가 받는 영상보다 길 수 있고, 실패에 쓴 시간은 완성 영상의 길이에 나타나지 않는다. 가격을 정하기 전에 무엇이 비용의 분자와 분모에 들어가는지부터 구분했다.
짧은 클립에서는 준비 고정비가 크게 보였다
개발 환경은 AWS Batch의 Spot GPU를 사용하고 일이 없을 때 GPU 인스턴스 수가 0이 되도록 했다. 외부 실행 영역은 GPU 추론과 파일 전달로 좁혔다. 작업 상태·음성 생성·최종 합성과 게시는 제품에 남겨, GPU 실행 환경이 바뀌어도 전체 제작 흐름을 다시 만들지 않게 했다.
L4에서 LatentSync 1.6을 실행한 기록은 다음과 같다. 추론에는 모델 로딩 고정비가 포함되며, 입력 길이를 완성 영상 실측 길이로 바꾸지 않았다.
| 기록한 구간 | 값 | 해석 |
|---|---|---|
| 입력 클립 | 17.7초 | 처리한 소재의 길이 |
| 추론 · 모델 로딩 포함 | 551초 | 순수 추론만의 시간은 아님 |
| 콜드 스타트 · 제출부터 실행 시작 | 약 5.4분 | 자원 확보와 실행 환경 준비 |
| 제출부터 완료 | 약 15분 | 사용자가 기다린 전체 실행 경로 |
콜드 스타트와 추론은 서로 다른 구간이고, 전체 대기 시간도 실제 과금 시간과 같다고 가정할 수 없다. Spot 재고를 기다리는 시간, 모델 로드, 파일 전달, 청구 대상 구간을 확인해야 한다. 짧은 클립 한 건을 길이에 비례해 늘리면 고정비와 긴 입력의 메모리 한계를 함께 놓친다.
완성 길이보다 품질을 통과한 길이가 분모였다
같은 ‘분’이어도 계산하는 대상이 다릅니다.
GPU 실행 시간
551초입력 17.7초의 추론 실측
모델 로딩 포함 · L4
완성 영상 시간
산출물 길이음성과 페이지를 합성한
최종 영상의 재생 시간
현재 사용량 기준
분 올림규칙 예: 61초 → 2분
일반 영상과 같은 사용량 축
GPU 실행 시간은 공급 비용을 계산할 입력이고, 완성 영상 길이는 산출물의 크기다. 제품 사용량은 생성 한도를 관리하는 규칙이다. 모두 시간으로 표시돼도 서로 대체할 수 없다. 비용 비교에는 같은 기간·실행 묶음에서 발생한 비용과 유효 출력 길이를 맞춰야 한다.
유효 출력 1분의 비용 =
(실제 GPU 청구 비용 + 음성 생성 + 전송·저장 + 기타 처리 비용)
/ 품질을 통과해 사용할 수 있는 출력 분량(분)
실패·재실행에 든 비용도 분자에 포함한다. 추정 단계에서는 실행별 청구 대상 시간과 시간당 단가로 GPU 비용을 계산할 수 있다. 다만 준비 시간·재실행을 중복 가산하지 않도록 실제 청구 구간과 대조해야 한다. 유효 출력이 0인 실행에는 분당 비용을 성공 사례처럼 제시할 수 없다.
초기 메모의 대략적인 Spot 비용은 실제 청구 기록과 대조한 최종 원가가 아니다. 현재 임대료나 판매 단가로 옮기지 않았다. 같은 소재의 짧은 입력과 긴 입력, 차가운 실행과 재사용 실행을 나눠 측정해야 고정비의 비중과 실패 비용을 비교할 수 있다.
GPU 성공 상태만으로 유효 출력을 셀 수 없었다
자원 부족과 품질 회귀는 다른 실패였다. 초기 L4 기록의 VRAM 피크는 24GB 중 약 20.1GB였지만, 긴 1080p 세그먼트가 실패한 직접 원인은 시스템 RAM 부족이었다. GPU 메모리가 큰 인스턴스로 바꿔도 컨테이너 RAM 할당은 별도로 남는다.
품질에서도 파일 검사가 충분하지 않았다. 얼굴 검출기를 MediaPipe로 교체한 첫 버전은 작업 성공과 파일 검사를 통과했지만 입이 거의 움직이지 않았다. 정렬 좌표와 프레임 떨림을 교정하고, 같은 소재의 SyncNet 비교와 최종 화면을 확인했다. 이 검사는 교체판의 회귀를 확인하는 근거이며 모든 얼굴의 품질 점수가 아니다.
최종 화면에서 인물은 슬라이드 한쪽의 작은 PIP로 보인다. 필요한 얼굴 영역을 남기고 처리 화소를 제한하는 입력 정규화도 비용의 조건이다. 모델·이용 조건·좌표 교정과 합성 규격의 상세는 AI Commons의 아바타 제작 기록에 정리했다. 비용 비교에서는 같은 품질 기준을 통과한 결과만 분모에 넣는 데 집중한다.
사용량 규칙을 정했다고 아바타 가격이 확정되지는 않는다
현재 라이선스의 avatar는 기능 접근 권한이다. 사용량 종류는 slideImage | video이며 별도 아바타 사용량 쿼터는 없다. 완성 영상 길이를 분 단위로 올려 일반 영상 사용량에 가산하므로 61초 영상은 2분이다. 이 규칙은 2분의 GPU를 썼다거나 특정 금액을 청구했다는 뜻이 아니다.
영상 전체가 실패하면 사용량을 가산하지 않는다. 일부 립싱크 실패 페이지를 슬라이드 전용으로 바꾸어 영상 전체를 완성하면 완성 길이는 가산한다. 공급 비용은 이미 발생했을 수 있으므로 사용자 사용량 0과 공급 비용 0도 구분해야 한다.
별도 아바타 요율을 정하려면 GPU 소비 시간, 실제 아바타 출력 분량, 재시도와 부분 실패 중 어느 것을 상품 기준으로 삼을지 결정해야 한다. 지금의 근거는 한 번의 실행 시간과 현재 사용량 계약이다. 확정 단가를 만들기보다 실제 청구 비용과 반복 측정, 유효 출력 기준을 연결하는 것이 남은 작업이다.