Hotshot-XL은 Stable Diffusion XL과 함께 작동하도록 훈련된 AI 텍스트-GIF 모델입니다.
Hotshot-XL은 미세 조정된 SDXL 모델을 사용하여 GIF를 생성할 수 있습니다. 이는 두 가지를 의미합니다.
사용하려는 기존 SDXL 모델이나 새로 미세 조정된 SDXL 모델을 사용하여 GIF를 만들 수 있습니다.
개인화된 주제의 GIF를 만들고 싶다면 자신만의 SDXL 기반 LORA를 로드할 수 있으며 Hotshot-XL의 미세 조정에 대해 걱정할 필요가 없습니다. 이는 일반적으로 비디오를 찾는 것보다 교육 데이터에 적합한 이미지를 찾는 것이 훨씬 쉽기 때문에 정말 좋습니다. 또한 모든 사람의 기존 LORA 사용/워크플로에도 적합할 수 있기를 바랍니다. 자세한 내용은 여기를 참조하세요.
Hotshot-XL은 SDXL ControlNet과 호환되어 원하는 구성/레이아웃으로 GIF를 만들 수 있습니다. 아래 ControlNet 섹션을 참조하십시오.
Hotshot-XL은 8FPS에서 1초짜리 GIF를 생성하도록 훈련되었습니다.
Hotshot-XL은 다양한 종횡비에 대해 학습되었습니다. 기본 Hotshot-XL 모델로 최상의 결과를 얻으려면 512x512 이미지로 미세 조정된 SDXL 모델과 함께 사용하는 것이 좋습니다. 여기에서 512x512 해상도에 맞게 미세 조정된 SDXL 모델을 찾을 수 있습니다.
여기에서 Hotshot-XL을 직접 사용해 보세요: https://www.hotshot.co
또는 Hotshot-XL을 로컬에서 직접 실행하려면 아래 섹션을 계속 진행하세요.
Hotshot-XL을 직접 실행하는 경우 모델에 대해 훨씬 더 많은 유연성/제어 기능을 가질 수 있습니다. 아주 간단한 예로 샘플러를 변경할 수 있습니다. 지금까지 오일러-A를 사용하여 최상의 결과를 보았지만 다른 것에서도 흥미로운 결과를 찾을 수 있습니다.
pip install virtualenv --upgrade virtualenv -p $(which python3) venv source venv/bin/activate pip install -r requirements.txt
# Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/hotshotco/Hotshot-XL
또는 https://huggingface.co/hotshotco/Hotshot-XL을 방문하세요.
참고 : 데이터 및 훈련 효율성을 극대화하기 위해 Hotshot-XL은 512x512 해상도 주변의 다양한 종횡비에서 훈련되었습니다. 기본 Hotshot-XL 모델로 최상의 결과를 얻으려면 512x512 해상도 주변의 이미지로 미세 조정된 SDXL 모델과 함께 사용하는 것이 좋습니다. 아래의 512x512 해상도 이미지로 교육한 SDXL 모델을 다운로드하거나 자체 SDXL 기본 모델을 가져올 수 있습니다.
# Make sure you have git-lfs installed (https://git-lfs.com) git lfs install git clone https://huggingface.co/hotshotco/SDXL-512
또는 https://huggingface.co/hotshotco/SDXL-512를 방문하세요.
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif"
기대할 수 있는 것:
즉각적인 | 사스콰치 스쿠버 다이빙 | 담배를 피우는 낙타 | 화장거울에 앉아 립스틱을 바르는 로널드 맥도날드 | 입술을 핥으며 창문 너머로 컵케이크를 바라보는 드레이크 |
---|---|---|---|---|
산출 |
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --spatial_unet_base="path/to/stabilityai/stable-diffusion-xl-base-1.0/unet" --lora="path/to/lora"
기대할 수 있는 것:
참고 : 아래 출력은 DDIMScheduler를 사용합니다.
즉각적인 | 카프리 태양을 보고 비명을 지르는 sks 사람 | 개구리 커밋에게 키스하는 SKS 사람 | 턱시도를 입고 샴페인 한 잔을 들고 있는 SKS 사람, 배경 불꽃놀이, HD, 고품질, 4K |
---|---|---|---|
산출 |
python inference.py --prompt="a girl jumping up and down and pumping her fist, hd, high quality" --output="output.gif" --control_type="depth" --gif="https://media1.giphy.com/media/v1.Y2lkPTc5MGI3NjExbXNneXJicG1mOHJ2dzQ2Y2JteDY1ZWlrdjNjMjl3ZWxyeWFxY2EzdyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/YOTAoXBgMCmFeQQzuZ/giphy.gif"
기본적으로 Hotshot-XL은 8개의 동일한 간격 프레임을 사용하여 소스 gif에서 키 프레임을 생성하고 키 프레임을 기본 종횡비로 자릅니다. 보다 세밀하게 제어하려면 종횡비를 변경하고 프레임 속도/길이를 변경하는 방법을 알아보세요.
Hotshot-XL은 현재 한 번에 하나의 ControlNet 모델 사용을 지원합니다. Multi-ControlNet을 지원하는 것은 흥미로울 것입니다.
기대할 수 있는 것:
즉각적인 | 픽사 스타일 소녀 두 엄지손가락을 치켜세우고 행복하고 고품질, 8k, 3d, 애니메이션 디즈니 렌더 | "HELP"라고 적힌 팻말을 들고 있는 키아누, HD, 고화질 | 웃는 여자, HD, 고품질 | 버락 오바마는 손으로 무지개를 만들고, 파란색과 흰색 줄무늬 후드티를 입고, 앞에 "MAGIC"이라는 단어를 쓰고, HD, 고품질 |
---|---|---|---|---|
산출 | ||||
제어 |
참고 : 기본 SDXL 모델은 약 1024x1024 해상도의 이미지를 가장 잘 생성하도록 학습되었습니다. 데이터 및 훈련 효율성을 극대화하기 위해 Hotshot-XL은 약 512x512 해상도의 종횡비에서 훈련되었습니다. 기본 Hotshot-XL 모델이 학습된 종횡비 목록은 추가 참고 사항을 참조하세요.
SDXL과 마찬가지로 Hotshot-XL은 종횡비 버킷팅을 통해 다양한 종횡비로 학습되었으며 대상 크기 및 원본 크기와 같은 SDXL 매개변수에 대한 지원을 포함합니다. 이는 기본 Hotshot-XL 모델만으로 다양한 종횡비와 해상도로 GIF를 생성할 수 있다는 의미입니다.
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --width=<WIDTH> --height=<HEIGHT>
기대할 수 있는 것:
512x512 | 672x384 | 384x672 | |
---|---|---|---|
기타를 연주하는 원숭이, 자연 영상, HD, 고품질 |
기본적으로 Hotshot-XL은 8FPS로 1초 길이의 GIF를 생성하도록 학습되었습니다. 다양한 프레임 속도와 시간 길이로 GIF를 생성하고 싶다면 video_length
및 video_duration
매개변수를 사용해 보세요.
video_length
프레임 수를 설정합니다. 기본값은 8입니다.
video_duration
출력 gif의 런타임을 밀리초 단위로 설정합니다. 기본값은 1000입니다.
모델은 8fps의 1초 비디오로만 훈련되었으므로 이러한 매개변수를 수정할 때 불안정하거나 "불안한" 결과를 예상해야 합니다. Hotshot-XL을 미세 조정하면 다양한 시간 길이와 프레임 속도에 대한 결과의 안정성을 향상시킬 수 있습니다. 그렇다면 알려주시기 바랍니다!
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.gif" --video_length=16 --video_duration=2000
Hotshot-XL은 SDXL과 함께 GIF를 생성하도록 훈련되었습니다. 이미지만 생성하려는 경우 추론 호출에서 video_length=1
설정하면 예상대로 Hotshot-XL 임시 레이어가 무시됩니다.
python inference.py --prompt="a bulldog in the captains chair of a spaceship, hd, high quality" --output="output.jpg" --video_length=1
Hotshot-XL은 다음 종횡비로 훈련되었습니다. 이러한 종횡비 범위를 벗어난 GIF를 안정적으로 생성하려면 원하는 종횡비의 해상도로 비디오로 Hotshot-XL을 미세 조정하는 것이 좋습니다.
종횡비 | 크기 |
---|---|
0.42 | 320x768 |
0.57 | 384x672 |
0.68 | 416x608 |
1.00 | 512x512 |
1.46 | 608x416 |
1.75 | 672x384 |
2.40 | 768x320 |
다음 섹션은 추가 텍스트/비디오 쌍을 사용하여 Hotshot-XL 시간 모델을 미세 조정하는 것과 관련됩니다. 개인화된 컨셉/주제의 GIF를 생성하려는 경우 Hotshot-XL을 미세 조정하는 대신 SDXL 기반 LORA를 훈련하고 로드하는 것이 좋습니다.
fine_tune.py
스크립트는 샘플이 다음과 같이 구성될 것으로 예상합니다.
fine_tune_dataset ├── sample_001 │ ├── 0.jpg │ ├── 1.jpg │ ├── 2.jpg ... ... │ ├── n.jpg │ └── prompt.txt
각 샘플 디렉터리에는 n개의 키 프레임 과 프롬프트가 포함된 prompt.txt
파일이 포함되어야 합니다. 최종 체크포인트는 output_dir
에 저장됩니다. 검증 GIF를 Weights & Biases에 자주 보내는 것이 유용하다는 것을 알았습니다. 가중치 및 편향과 함께 유효성 검사를 사용하기로 선택한 경우 validate_every_steps
매개변수를 사용하여 이것이 실행되는 빈도를 설정할 수 있습니다.
accelerate launch fine_tune.py --output_dir="<OUTPUT_DIR>" --data_dir="fine_tune_dataset" --report_to="wandb" --run_validation_at_start --resolution=512 --mixed_precision=fp16 --train_batch_size=4 --learning_rate=1.25e-05 --lr_scheduler="constant" --lr_warmup_steps=0 --max_train_steps=1000 --save_n_steps=20 --validate_every_steps=50 --vae_b16 --gradient_checkpointing --noise_offset=0.05 --snr_gamma --test_prompts="man sits at a table in a cafe, he greets another man with a smile and a handshakes"
Hotshot-XL을 개선하는 데에는 여러 가지 방법이 있습니다. 예를 들어:
더 긴 프레임 속도로 Hotshot-XL을 미세 조정하여 더 길고 더 높은 프레임 속도 GIF 생성
더 높은 해상도에서 Hotshot-XL을 미세 조정하여 더 높은 해상도의 GIF 생성
더 높은 해상도의 GIF를 생성하기 위해 잠재 업스케일러를 위한 임시 레이어 훈련
보다 일관되고 긴 GIF를 위해 이미지 조건을 갖춘 "프레임 예측" 모델 학습
출력의 깜박임/디더링을 완화하기 위해 VAE에 대한 임시 계층 교육
GIF 생성에 대한 제어력을 강화하기 위해 Multi-ControlNet 지원
GIF 생성에 대한 추가 제어를 위해 다양한 ControlNet 모델을 교육 및 통합합니다(얼굴 표정 제어가 더 세밀해지면 매우 좋을 것입니다).
더 빠른 추론 시간을 위해 Hotshot-XL을 AITemplate으로 이동
우리 ? 오픈 소스 커뮤니티의 기여! 이러한 개선 작업이나 다른 작업에 관심이 있으시면 이슈나 PR을 통해 알려주시기 바랍니다!
@software{Mullan_Hotshot-XL_2023, author = {Mullan, John and Crawbuck, Duncan and Sastry, Aakash}, license = {Apache-2.0}, month = oct, title = {{Hotshot-XL}}, url = {https://github.com/hotshotco/hotshot-xl}, version = {1.0.0}, year = {2023} }
텍스트-비디오 모델은 빠르게 개선되고 있으며 Hotshot-XL의 개발은 다음과 같은 놀라운 작품과 팀에서 큰 영감을 받았습니다.
SDXL
잠재성을 정렬하세요
메이크 어 비디오
애니메이션 차이점
이미지 비디오
우리는 이 모델/코드베이스를 출시하여 커뮤니티가 이러한 창의적인 도구를 개방적이고 책임감 있는 방식으로 계속 추진하는 데 도움이 되기를 바랍니다.