프레임팩(FramePack)은 비디오 길이에 관계없이 VRAM을 적게(6 GB) 소모하는 비디오 생성 기법입니다. 프레임팩은 이미지-비디오(Image-to-Video), 즉 텍스트 명령과 이미지를 상용하여 비디오를 생성합니다.
이 글에서는 프레임팩이 무엇인지 소개하고 윈도에서 사용하는 방법을 설명합니다.
프레임팩이란?
프레임팩(FramePack)은 비디오에서 이전 프레임을 기반으로 다음 프레임을 예측합니다. 이 과정에서 비디오의 길이에 관계없이 틀랜스포머(transformer)내에서 고정된 콘텍스트 길이를 사용합니다. 이를 통해 많은 비디오 생성기(Wan 2.1, Hunyuan, LTX Video 등)들에서 볼 수 있는, 메모리에 따라 비디오 길이가 제한되는 약점을 극복했습니다. FramePack의 경우 1초짜리 비디오든, 1분짜리 비디오든 동일한 용량의 VRAM을 사용합니다.
특히 프레임팩은 플러그앤플레이(plug-and-play) 방식입니다. 기존의 비디오 모델의 일부 레이어를 미세조정하고, 샘플링할 때 약간의 코드를 변경하여 작동합니다.
프레임 패킹(Frame packing)
비디오의 다음 프레임을 예측할 때, 모든 프레임이 다 중요한 것은 아닙니다. FramePack은 프레임이 얼마나 오래전에 촬영되었는지에[ 따라 프레임의 컨텍스트를 다운샘플링하는 것이 가장 핵심이라고 할 수 있습니다. 프레임이 멀리 떨어질 수록 프레임이 더 많이 다운샘플링 됩니다.
드리프트 방지 샘플링
하지만 다음 프레임을 예측할 뿐만아니라 이를 또다시 다음 예측에 사용하는 과정에서 오류(드리프트)가 누적될 수 밖에 없습니다.
프레임팩의 경우, 역방향 드리프트 방지 샘플링(inverted anti-drifting sampling)을 통해 비디오를 역방향으로 생성합니다. 이때 각각의 생성은 고품질 초기 프레임에 고정됩니다.
비디오 모델
데모 소프트웨어는 프레임팩을 Hunyuan Video 모델에 적용합니다.
프레임팩 설치 방법(윈도)
프레임팩은 오픈소스 소프트웨어로서, NVidia RTX 3000 시리즈 이상의 기기에서 사용할 수 있습니다.
1단계: 7-zip 설치
FramePack 파일을 압축해제 하려면 7-zip(또는 이와 유사한 소프트웨어)가 설치되어 있어야 합니다.
이 페이지에서 7-zip 을 다운로드 받으시면 됩니다.
다운로드 받은 파일을 더블클릭하면 아래와 같은 화면이 나오는데, [Install] 버튼을 누르면 설치됩니다.
2단계: FramePack 다운로드
FramePack 깃허브 페이지에 가서 아래의 다운로드 링크를 클릭합니다.
3단계: 프레임팩 압축해제
적절한 폴더에 다운로드 받은 파일을 옮긴 뒤 더블클릭하면, 압축해제 되면서 famepack_cu126_torch26 폴더가 생성됩니다.
이 폴더 속으로 들어가면 아래와 같은 폴더와 파일이 보이는데, 먼저 update.bat를 더블클릭하여 실행시킵니다.
이 때 아래와 같은 화면이 나오면 추가 정보를 클릭하고 [실행]을 클릭하면 됩니다.
4단계: FramePack 실행
이제 run.bat를 더블클릭하면 FramePack이 실행됩니다. 이때에서 위에 있는 "Windows의 PC 보호"화면이 나올텐데 동일하게 처리하면 됩니다.
FramePack이 처음 실행되면 아래와 같이 약 30GB 정도의 여러가지 모델 파일 등 을 다운로드 받게 됩니다.
다운로드가 끝나면 아래와 같이 AUTOMATIC1111과 유사한 화면이 나타납니다.
FramePack 사용 방법
FramePack은 입력된 이미지를 첫 프레임으로 사용하고, 비디오에 대한 텍스트 설명을 사용하여 짧은 비디오를 생성합니다.
1 단계: 참조 이미지 업로드
원하는 참조 이미지를 FramePack의 이미지 캔버스에 업로드합니다. 필요하시면 아래의 파일을 사용하셔도 됩니다.
2단계: 프롬프트 입력
[Prompt]에 피사체의 움직임을 설명하는 프롬프트를 입력합니다. 여기에서는 아래와 같이 입력합니다.
a crochet doll dancing on a desk
3단계: 비디오 설정 검토
- Teacache: 비디오생성 속도가 높아집니다. 단, 약간의 결함이 발생할 수도 있습니다.
- Seed: 값을 바꾸면 다른 비디오가 생성됩니다.
- Steps: 디퓨전 단계 수를 입력합니다. 그냥 기본값을 사용하시면 됩니다.
- Distilled CFG Scale: 생성결과가 프롬프트를 따르는 정도에 관한 척도. 기본 값을 사용하시는게 좋습니다.
- GPU inference preserved memory (GB): 추론을 위한 메모리 공간. 메모리 오류가 발생하면 이 값을 올려줍니다.
4단계: 비디오 생성
[Start Generation] 버튼을 누르면 비디오가 생성됩니다. (mp4 로 생성되는데 webp로 변환하였습니다)
프레임팩은 마지막 프레임을 먼저 생성하고 거꾸로 채워가는 방식으로 생성합니다. 비디오가 생성될 때 여러가지 진행 막대를 보실 수 있습니다.
위의 5초짜리 비디오를 생성하는데, RTX4090 GPU의 경우 약 10분 정도 소요되었다고 합니다. RTX3070의 경우, TeaCache를 켜고 실행시켰을 때 총 20분 정도 소요되었습니다. 관련 정보는 아래와 같습니다. 보시는 것처럼 일괄적으로 생성하는 것이 아니라, 마지막 프레임부터 생성한 후 점점 확장시켜나가는 것을 보실 수 있습니다.
- 이미지 크기 : 768*1344
- 비디오 크기 : 480*832
- 처음 확장까지 소요시간 5분
- 33프레임으로 확장. 소요시간 5분
- 59프레임으로 확장. 소요시간 5분
- 105 프레임으로 확장. 소요시간 5분
아래는 진주 귀고리를 한 소녀를 사용하여 생성한 비디오입니다.
이상입니다.
이 글은 Stable-diffusion-art.com의 글을 참고로하여 작성하였습니다.
- ComfyUI로 설치 및 사용법 기초
- ComfyUI 투토리얼
- ComfyUI를 위한 유용한 정보
- ComfyUI와 SDXL 사용법(1) - 기초
- ComfyUI에서 ControlNet 사용법
- 편리한 ComfyUI 워크플로 모음
- LCM-LoRA - 초고속 스테이블 디퓨전
- Stable Video Diffusion(비디오 스테이블 디퓨전)
- Stable Diffusion 인공지능 이미지 생초보 가이드
- Stable Diffusion 대표 UI - AUTOMATIC1111 설치방법
- Automatic1111 GUI: 초보자 가이드(메뉴 해설)
- Stable Diffusion에 대한 기본적인 이론
- ChatGPT로 스테이블 디퓨전 프롬프트 만들기