오픈 소라: 얼굴 일관성을 최적화하는 오픈 소스 동영상 생성 도구
일반 소개
Open-Sora는 누구나 고품질의 동영상을 효율적으로 생성할 수 있도록 설계된 오픈 소스 프로젝트입니다. 텍스트나 이미지에서 동영상을 생성하는 도구를 제공하기 위해 hpcaitech 팀에서 개발했으며, 다양한 해상도와 길이를 지원합니다. 이 프로젝트는 완전한 오픈 소스이며, 모델 가중치, 코드 및 훈련 과정을 공개하고 커뮤니티의 기여를 장려합니다. 최신 버전인 Open-Sora 2.0은 성능 면에서 업계 최고 모델에 가깝고, 훈련 비용이 20만 달러에 불과하며, 빠르고 고품질의 동영상을 생성합니다. 사용자는 무료로 코드를 다운로드하여 로컬에서 실행하거나 Hugging Face의 Gradio 인터페이스를 통해 경험할 수 있습니다. Open-Sora는 크리에이터, 개발자 및 연구자를 위한 제품으로, 상업용 제품을 제공하면서 동영상 제작의 인기와 혁신을 주도하고 있습니다:비디오 오션 .

기능 목록
- 텍스트-동영상 생성: 텍스트 설명을 입력하여 콘텐츠와 일치하는 동영상을 생성합니다.
- 이미지에서 동영상으로 생성: 단일 이미지를 기반으로 동적 동영상을 생성합니다.
- 동영상 확장: 동영상 길이를 늘리거나 콘텐츠를 추가합니다.
- 다중 해상도 지원: 144p~768p의 동영상 출력을 지원합니다.
- 유연한 길이: 2초에서 16초까지 동영상을 생성할 수 있습니다.
- 다양한 화면 비율: 16:9, 9:16, 1:1 등을 지원합니다.
- 오픈 소스 모델 및 트레이닝: 모델 가중치 및 트레이닝 코드를 제공하고 사용자 지정 개발을 지원합니다.
- 효율적인 추론: 최적화된 알고리즘으로 하드웨어 요구 사항을 줄이고 단일 GPU에서 동영상을 생성합니다.
- 단서 단어 최적화: GPT-4o를 지원하여 단서 단어를 향상하고 생성 품질을 개선합니다.
- 모션 스코어링: 모션 스코어링을 통해 비디오의 역동성을 조정합니다.
도움말 사용
설치 프로세스
Open-Sora를 사용하려면 사용자는 Python 환경을 구성하고 종속 요소를 설치해야 합니다. 자세한 단계는 다음과 같습니다:
- 가상 환경 만들기
종속성 충돌을 피하기 위해 Python 3.10으로 가상 환경을 만드세요:conda create -n opensora python=3.10 conda activate opensora
- 코드 베이스 복제
GitHub에서 Open-Sora 프로젝트를 다운로드하세요:git clone https://github.com/hpcaitech/Open-Sora cd Open-Sora
- 종속성 설치
다음 명령을 실행하여 PyTorch 버전이 2.4.0보다 높은지 확인합니다:pip install -v .
개발 모드가 필요한 경우 해당 모드를 사용하세요:
pip install -v -e .
- 가속 라이브러리 설치
오픈소라 사용법xformers
노래로 응답flash-attn
성능 향상. CUDA 버전에 따라 설치됩니다:pip install xformers==0.0.27.post2 --index-url https://download.pytorch.org/whl/cu121 pip install flash-attn --no-build-isolation
더 빠른 추론을 위해 수동으로 컴파일된
flash-attention
::git clone https://github.com/Dao-AILab/flash-attention cd flash-attention/hopper python setup.py install
- 모델 가중치 다운로드
Open-Sora 2.0은 256p 및 768p 동영상 생성을 지원하며, 모델은 Hugging Face 또는 ModelScope에서 다운로드할 수 있습니다:pip install "huggingface_hub[cli]" huggingface-cli download hpcai-tech/Open-Sora-v2 --local-dir ./ckpts
를 사용하거나 ModelScope를 사용합니다:
pip install modelscope modelscope download hpcai-tech/Open-Sora-v2 --local_dir ./ckpts
- 설치 확인
환경이 정상인지 확인합니다:python -c "import opensora; print(opensora.__version__)"
사용법
Open-Sora는 간편한 조작으로 텍스트-비디오, 이미지-비디오 및 기타 여러 기능을 지원합니다. 다음은 자세한 가이드입니다:
텍스트에서 동영상으로 생성
Open-Sora는 이미지-비디오 프로세스를 최적화할 뿐만 아니라 직접 텍스트-비디오 생성도 지원합니다. 품질 향상을 위해 텍스트-이미지-비디오 파이프라인을 사용하는 것이 좋습니다.
- 단서 준비
예를 들어 "폭풍우가 몰아치는 바다, 거대한 파도가 바위에 부딪히고 먹구름이 끼어 있다"와 같이 자세한 텍스트 설명을 작성합니다. 단서가 되는 단어가 구체적일수록 더 좋은 결과를 얻을 수 있습니다. - 생성 명령 실행
256x256 동영상을 생성합니다:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
768x768 동영상을 생성합니다(여러 개의 GPU 필요):
torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_768px.py --save-dir samples --prompt "Stormy ocean with crashing waves"
- 조정 매개변수
--aspect_ratio
: 화면 비율을 설정합니다(예16:9
어쩌면1:1
.--num_frames
4k+1(최대 129프레임) 범위에서 프레임 수를 설정합니다.--offload True
저사양 장치에 메모리 최적화를 활성화합니다.
- 결과 보기
생성된 동영상은samples
폴더에 MP4 형식으로 저장합니다.
이미지에서 동영상으로 생성
- 참조 이미지 준비
이미지를 업로드하고 다음 이름으로 저장합니다.input.png
. - 생성 명령 실행
256p 동영상을 생성합니다:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
768p 동영상을 생성합니다:
torchrun --nproc_per_node 8 --standalone scripts/diffusion/inference.py configs/diffusion/inference/768px.py --cond_type i2v_head --prompt "A serene forest with flowing river" --ref input.png
- 동적 효과 최적화
활용--motion-score
화면 다이나믹 정도를 조정합니다. 기본값은 4입니다. 예시:torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/256px.py --cond_type i2v_head --prompt "A running horse" --ref horse.png --motion-score 7
큐 단어 최적화
Open-Sora는 큐 단어를 최적화하고 생성 품질을 개선하기 위해 GPT-4o 사용을 지원합니다:
- OpenAI API 키를 설정합니다:
export OPENAI_API_KEY=sk-xxxx
- 최적화 명령을 실행합니다:
torchrun --nproc_per_node 1 --standalone scripts/diffusion/inference.py configs/diffusion/inference/t2i2v_256px.py --save-dir samples --prompt "raining, sea" --refine-prompt True
라디오 인터페이스 작동
Open-Sora는 대화형 Gradio 인터페이스를 제공합니다:
- 시작 인터페이스:
python scripts/demo.py --model-type v2-768px
- 브라우저에서 액세스
http://localhost:7860
. - 안내 문구를 입력하거나 사진을 업로드하고 해상도 및 프레임 속도를 조정한 후 '생성'을 클릭하여 동영상을 생성합니다.
- '구체화 프롬프트' 최적화 프롬프트를 활성화할 수 있습니다(OpenAI API 키 필요).
맞춤형 모델 교육
사용자는 자신의 데이터 세트를 기반으로 모델을 학습시킬 수 있습니다:
- 데이터 세트 준비: 동영상의 경로와 설명이 포함된 CSV 파일을 준비합니다.
- 구성 파일을 수정합니다:
configs/opensora-v2/train/stage1.py
를 클릭하고 데이터 경로를 설정합니다. - 교육을 실행합니다:
torchrun --nproc_per_node 8 scripts/train.py configs/opensora-v2/train/stage1.py --data-path your_data.csv
계산 효율성
Open-Sora는 추론 효율을 최적화하며 테스트 결과는 다음과 같습니다(H100 GPU, 50단계 샘플링):
- 256x256: 단일 GPU 60초, 52.5GB 메모리; 4 GPU 34초, 44.3GB 메모리.
- 768x768: 8개의 GPU 276초, 44.3GB 비디오 메모리.
주의
- 하드웨어 요구 사항최소 24GB의 비디오 메모리를 갖춘 NVIDIA H100 또는 A100이 권장되며, 저사양 기기에서는 이보다 낮은 해상도를 사용할 수 있습니다.
- 큐의 품질자세한 설명은 동영상 결과를 크게 향상시킬 수 있습니다.
- 라이선스Open-Sora는 이용 약관에 따라 상업적 사용이 허용되는 MIT 라이선스를 사용합니다.
애플리케이션 시나리오
- 짧은 동영상 제작
블로거는 Open-Sora를 사용하여 '밤에 반짝이는 도시의 불빛'과 같은 홍보 동영상을 제작하여 소셜 미디어 플랫폼에 공유할 수 있습니다. - 교육용 애니메이션
교사는 '태양 주위를 도는 행성'과 같은 애니메이션을 생성하여 수업의 흥미를 높일 수 있습니다. - 게임 장면 디자인
개발자는 게임 배경이나 전환에 사용할 콘셉트 맵을 기반으로 동적 장면을 생성합니다. - AI 연구
연구자는 모델 코드를 수정하여 새로운 알고리즘이나 데이터 세트를 테스트하여 동영상 생성 기술을 발전시킬 수 있습니다.
QA
- 오픈소라 2.0의 성능은 어떤가요?
VBench 리뷰에서 Open-Sora 2.0 및 OpenAI Sora 간격은 0.691 TP3T로 좁혀져, 0.691 TP3T에 근접한 훈위안비디오 11B 및 Step-Video 30B. - 어떤 해상도와 기간이 지원되나요?
144p~768p, 2초~16초의 동영상 길이, 16:9, 9:16 등의 화면 비율을 지원합니다. - 생성 품질을 최적화하는 방법은 무엇인가요?
세부 단서를 사용하여 조정motion-score
(1-7)을 클릭하거나 GPT-4o 최적화 프롬프트 단어를 활성화합니다. - 무료로 사용할 수 있나요?
Open-Sora는 MIT 라이선스에 따라 모델과 코드를 자유롭게 사용할 수 있는 완전한 오픈 소스입니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...