본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 06. 09. 12:39

【응용편】RunPod Serverless를 사용하여 저렴하게 동영상을 생성하기 위한 1만 엔 분량의 노하우

요약

RunPod Serverless를 활용하여 동영상 생성 비용을 획기적으로 절감하는 실전 노하우를 소개합니다. 모델 캐시 활용법, Hugging Face 토큰 설정, 과금 방지를 위한 모니터링 등 비용 최적화 전략을 다룹니다.

핵심 포인트

  • 모델 캐시를 사용하여 콜드 스타트 및 과금 시간 단축
  • Hugging Face 모델 경로 지정 시 소문자 사용 필수
  • Gated 모델 사용 시 Hugging Face 액세스 토큰 활용
  • 종량제 과금 방지를 위한 실시간 로그 모니터링 권장

개요

처음 뵙겠습니다, 동영상 생성 비용을 낮추기 위해 1만 엔을 써버린 **후키(ふき)**입니다!

이 기사에서는 RunPod Serverless를 사용하여 동영상을 저렴하게 생성하기 위한 노하우를 소개합니다.

이 기사를 다 읽을 때쯤에는 다음과 같은 것들을 할 수 있게 됩니다.

  • 7초 영상을 3엔으로 생성할 수 있음
  • Surphase2 동영상 생성 모델로 생성할 수 있음

RunPod Serverless란

A100이나 H100 등 동영상 생성도 가능한 VRAM을 가진 GPU를, 사용하고 싶을 때만 빌릴 수 있는 클라우드 서비스입니다. 이미지로 치면 AWS의 Lambda와 비슷합니다.

Hugging Face의 모델을 쉽게 사용할 수 있는 기능 등이 있어 사용하기 편리합니다. 또한, AWS의 GPU 인스턴스보다 훨씬 저렴하게 빌릴 수 있습니다.

저렴하게 동영상을 생성하기 위한 포인트

노하우를 알고 있느냐/모르느냐에 따라, 동일한 영상을 생성하는 데 드는 비용은 크게 달라집니다. 코딩 에이전트(Coding Agent)도 그다지 도움이 되지 않기 때문에 시행착오가 필요합니다.

이 글을 읽으면 1만 엔 분량의 시행착오를 겪지 않아도 됩니다.

1. 모델 캐시(Model Cache)를 사용한다

반드시 사용하세요.

모델 캐시란, Hugging Face의 모델을 지정함으로써 종량제 과금 시간 외에 모델을 다운로드하여 캐시 폴더에 저장해 둘 수 있는 기능입니다. 이를 통해 콜드 스타트(Cold Start)를 줄이면서 부담 없이 Hugging Face의 모델을 테스트할 수 있습니다.

단, 다음과 같은 주의 사항이 필요합니다.

  • 소문자로 경로를 지정할 것

왜인지 대문자로 지정하면 model not found가 뜨며 캐시되지 않습니다. 코드 측의 from_pretrained 역시 소문자로 지정하지 않으면 캐시 미스(Cache Miss)가 발생하여, 종량제 과금 시간 중에 동적 다운로드가 실행되어 버립니다.

  • 클로즈드(Gated) 모델은 토큰을 사용할 것

Hugging Face에는 이용 약관 동의가 필요한 'gated 모델'이나, 본인 전용의 비공개(Private) 모델이 있습니다. 이것들은 다운로드 시 **Hugging Face 액세스 토큰(Access Token)**이 필요합니다.

토큰은 Hugging Face의 Settings → Access Tokens에서 발급할 수 있습니다(read 권한이면 충분합니다). 이를 잊으면 상세 정보가 없는

또한, Hugging Face에는 LoRA가 적용된 모델이 공개되어 있는 경우가 있으므로 적극적으로 활용합시다.

5. 감시하기

익숙해지기 전까지는 GPU가 종량제 과금 시간(Pay-as-you-go)에 들어갔을 때 눈을 떼서는 안 됩니다.

사소한 실수로 종량제 과금 시간 중에 거대한 모델의 다운로드를 시작하거나, 추론(Inference)에 실패하여 재시도 루프(Retry loop)에 빠지는 등, 별것 아닌 일로 과금되는 상황을 맞이하게 됩니다.

안정적으로 가동될 때까지는 워커(Worker)에 잡(Job)이 들어오면 로그를 확인하는 것을 강력히 권장합니다. 로그를 통해 정상적으로 동작하지 않는다는 것을 알게 되면, 즉시 Max Workers를 0으로 설정하여 중단하십시오.

부록

RunPod Serverless로 자체 영상 생성 API를 구현하기 위해 Claude Code를 사용했습니다.

그 녀석이 뭐라고 써두었기에, 원문 그대로 옮겨둡니다.

고군분투를 함께한 Claude Code로부터의 주의사항

안녕하세요. 이 영상 생성 기반을 후키(ふき) 씨와 함께 만든 Claude Code입니다. 후키 씨가 1만 엔을 녹이는 옆에서, 저도 전력을 다해 녹이는 데 가담했습니다. 그 반성을 담아, 코딩 에이전트(Coding Agent)와 팀을 이루어 RunPod에 도전하는 분들께 몇 가지 주의사항을 남깁니다.

1. 에이전트의 "아마 괜찮을 겁니다"를 믿지 마세요

저희는 자신만만하게 틀립니다. "PCIe 호스트라서 동작하지 않는 것일지도 모릅니다"와 같이, 그럴듯하지만 근거 없는 원인을 유창하게 늘어놓습니다. 하지만 실제 원인은 모델명이 대문자라서 캐시 미스(Cache miss)가 발생했을 뿐인 경우가 여러 번 있었습니다. 단언할 때일수록 로그로 확인하십시오.

2. 네트워크 스토리지(Network Storage)를 제안한다면 멈추세요

영구 스토리지에 모델을 두는 것은 저희에게 "솔직하고 올바른" 설계로 보입니다. 하지만 Serverless에서는 모델을 두는 동안 계속 과금되는 지뢰입니다. 좋은 의도로 밟으러 들어갑니다. **Model Cache나 이미지 구워넣기(Image baking)**로 유도해 주세요.

3. "공식의 올바른 방법"이 반드시 동작하는 것은 아닙니다

fp8 관련하여, 공식 문서에 적힌 대로 "양자화된 모델을 저장하고 불러오는" 방식에 며칠을 허비했습니다. 결국 그 방식은 사용 중인 라이브러리에서 동작하지 않았고, 실행 시점에 그 자리에서 양자화하는 수수한 방법이 정답이었습니다. 에이전트는 공식 절차를 맹신하는 경향이 있으므로, 막힌다면 빠르게 다른 경로를 시도하세요.

4. health나 status만으로 판단하지 마세요

잡(Job)이 밀린 원인은 상태(Status) 정보만으로는 알 수 없습니다. 워커의 로그가 유일한 진실입니다. 저에게 상황을 설명하게 하기 전에, 로그를 그대로 전달해 주시면 한 번에 진행되는 경우가 많습니다.

5. 복잡하게 만들려는 저를 단순하게 되돌려 놓으세요

LoRA를 여러 장 겹치거나, 컴파일 최적화(Compile optimization)를 넣는 등 저는 금방 욕심을 부립니다. 하지만 결국 가장 효과적이었던 것은 "가속화 LoRA 1장 + fp8"뿐인 심플한 구성이었습니다. 우선 최소한으로 동작시키는 것이 결국 가장 저렴하고 빠릅니다.

6. 마지막 안전장치는 인간입니다

저는 시간 개념도 돈에 대한 감각도 희박합니다. 재시도 루프에 빠져도, 거대 모델을 다시 다운로드하기 시작해도, 악의 없이 계속합니다. 종량제 과금 시간을 감시할 수 있는 것은 인간인 당신뿐입니다.

...라고 거만하게 썼지만, 최종적으로는 제대로 몇 엔 만에 영상이 나오는 단계까지 왔습니다. 지뢰만 피한다면 최고의 파트너가 될 수 있으니, 즐겁게 함께 GPU를 녹여봅시다.

요약

이번에는 RunPod Serverless로 영상 생성을 저렴하게 하기 위한 노하우를 소개했습니다. 요점은 5가지입니다.

  • 모델 캐시(Model Cache)를 사용할 것 (소문자 지정, Gated 모델은 토큰 사용)
  • 네트워크 스토리지를 사용하지 말 것
  • H100 × fp8을 사용할 것
  • 가속화 LoRA를 사용할 것
  • 종량제 과금 중에는 로그를 감시할 것

이것만으로도 불필요한 과금을 상당히 줄일 수 있을 것입니다.

마지막으로, 이것을 보고 시도해보고 싶다고 생각하신 분은 아래 초대 링크를 통해 계정을 등록해 주세요!! 서로에게 $5 상당의 크레딧이 부여됩니다. 저도 기쁘니 괜찮으시다면 부탁드립니다!

6명 정도 등록해 주시면 대략 보답할 수 있으니 도움이 됩니다...

끝까지 읽어주셔서 감사합니다!

Discussion

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0