일반 소개
확산 모델링 기술을 기반으로 하며 개발자가 프로덕션 환경에 AI 모델을 배포할 수 있도록 이미지와 동영상을 효율적으로 생성하는 데 중점을 둔 ModelScope의 오픈 소스 프로젝트인 DiffSynth-Engine은 GitHub에서 호스팅됩니다. 이 프로젝트는 포괄적인 엔지니어링 혁신을 통해 계산 효율성과 배포 용이성을 최적화한 DiffSynth-Studio에서 발전했습니다. 여러 모델(예: FLUX, Wan2.1)을 지원하며 명확한 코드 구조와 유연한 메모리 관리를 제공합니다. 2025년 3월 현재, 이 프로젝트는 지속적으로 업데이트되고 있으며 오픈 소스 커뮤니티의 광범위한 관심을 받고 있으며, AI 저작의 실용성을 촉진하는 것을 목표로 하고 있습니다.

기능 목록
- 정적인 사진부터 동적인 콘텐츠까지 다양한 요구 사항을 충족하는 효율적인 이미지 및 동영상 생성을 지원합니다.
- 타사 라이브러리에 의존하지 않고 명확하고 가독성 있는 코드를 제공하여 개발자가 쉽게 수정하고 확장할 수 있습니다.
- 다양한 기본 모델(예: FLUX, Wan2.1) 및 LoRA 모델과 호환되어 다양한 시나리오에 맞게 조정할 수 있습니다.
- 내장된 유연한 메모리 관리 기능, FP8, INT8 및 기타 양자화 모드 지원, 저용량 그래픽 메모리 장치에서 실행할 수 있습니다.
- 추론 속도를 최적화하고 텐서 병렬 컴퓨팅을 지원하여 대규모 생성 작업을 가속화하세요.
- 크로스 플랫폼을 지원하며 Windows, macOS(Apple Silicon 포함) 및 Linux와 호환됩니다.
- 텍스트 대 이미지, 텍스트 대 동영상, 동영상 스타일링 등 다양한 기능을 지원합니다.
도움말 사용
설치 프로세스
DiffSynth-Engine 설치는 간단하며 몇 단계로 완료할 수 있습니다.
- 핵심 패키지 설치
터미널에 다음 명령을 입력하여 pip3를 통해 설치합니다:
pip3 install diffsynth-engine
Python 버전이 3.8 이상인지 확인하세요. 종속성 충돌을 피하기 위해 가상 환경을 사용하는 것이 좋습니다.
- 모델 파일 다운로드
프로젝트에는 수동으로 또는 코드를 통해 다운로드해야 하는 모델 파일이 포함되어 있지 않습니다. 예를 들어 FLUX 모델:
from diffsynth_engine import fetch_model
model_path = fetch_model("muse/flux-with-vae", revision="20240902173035", path="flux1-dev-with-vae.safetensors")
다운로드 후 모델 파일은 일반적으로 스크립트에서 호출할 수 있도록 지정된 디렉터리에 로컬로 배치됩니다.
- 설치 확인
설치가 완료되면 간단한 테스트 스크립트를 실행하여 환경이 작동하는지 확인합니다:from diffsynth_engine import __version__ print(__version__)
버전 번호가 출력되면 설치가 성공했음을 의미합니다.
주요 기능
1. 이미지 생성(예시: FLUX)
- 절차
다음 코드를 사용하여 이미지를 생성합니다:from diffsynth_engine.pipelines import FluxImagePipeline, FluxModelConfig from diffsynth_engine import fetch_model model_path = fetch_model("muse/flux-with-vae", revision="20240902173035", path="flux1-dev-with-vae.safetensors") config = FluxModelConfig(dit_path=model_path) pipe = FluxImagePipeline.from_pretrained(config, offload_mode="cpu_offload").eval() image = pipe( prompt="月球上的宇航员骑马,黑白摄影风格,颗粒感强,对比度高", width=1024, height=1024, num_inference_steps=30, seed=42, ) image.save("flux_txt2img.png")
- 주요 설명
기본적으로 23GB의 동영상 메모리가 필요합니다. 메모리가 충분하지 않은 경우, 메모리가 부족한 경우offload_mode="sequential_cpu_offload"
양자화 프로세스는 최소 4GB의 RAM으로도 실행할 수 있지만 생성 시간이 연장됩니다(예: 91초). 여러 양자화 정확도(예: q8_0, q6_k)를 지원하며 메모리 요구 사항을 7~12GB로 줄일 수 있습니다.
2. 비디오 생성(예시: Wan 2.1)
- 절차
다음 코드를 사용하여 동영상을 생성합니다:from diffsynth_engine.pipelines import WanVideoPipeline, WanModelConfig from diffsynth_engine.utils.download import fetch_model from diffsynth_engine.utils.video import save_video config = WanModelConfig( model_path=fetch_model("muse/wan2.1-14b-bf16", path="dit.safetensors"), t5_path=fetch_model("muse/wan2.1-umt5", path="umt5.safetensors"), vae_path=fetch_model("muse/wan2.1-vae", path="vae.safetensors"), ) pipe = WanVideoPipeline.from_pretrained(config) video = pipe( prompt="小狗在草地上奔跑,阳光照耀,背景有野花和蓝天", num_frames=41, width=848, height=480, seed=42, ) save_video(video, "wan_t2v.mp4", fps=15)
- 주요 설명
단일 카드에서 2초 분량의 동영상을 생성하는 데 358초가 걸립니다. 4개의 A100 GPU를 사용하고 텐서 병렬 처리를 활성화하는 경우(parallelism=4, use_cfg_parallel=True
),时间缩短至 114 秒,加速比达 3.14 倍。
3. 메모리 부족 최적화
- 절차
FLUX 예제에서는offload_mode
로 변경sequential_cpu_offload
::pipe = FluxImagePipeline.from_pretrained(config, offload_mode="sequential_cpu_offload").eval()
- 주요 설명
그래픽 메모리 요구량이 일반 디바이스의 경우 23GB에서 3.52GB로 감소했습니다. 양자화 모드(예: q4_k_s)는 속도와 품질 간의 균형을 유지하여 약간 감소했지만 여전히 유용한 결과를 생성합니다.
4. 다중 카드 병렬 추론
- 절차
Wan2.1 예제에서 parallel 매개 변수를 추가합니다:pipe = WanVideoPipeline.from_pretrained(config, parallelism=4, use_cfg_parallel=True)
- 주요 설명
멀티 GPU 병렬 컴퓨팅을 지원합니다. 2개 GPU는 1.97배, 4개 GPU는 3.14배 가속화하여 산업 등급 배포에 적합합니다.
주의
- 하드웨어 요구 사항이미지 생성에는 8GB, 비디오 생성 또는 멀티 카드 구성에는 24GB의 비디오 메모리가 권장됩니다.
- 모델 경로다음을 보장하기 위해
fetch_model
다운로드한 경로가 정확하지 않으면 수동으로 지정해야 합니다. - 문서 참조자세한 사용법은 공식 GitHub 페이지를 참조하세요.
<https://github.com/modelscope/DiffSynth-Engine>
.
애플리케이션 시나리오
- 개인 창작물
사용자는 FLUX로 예술적인 이미지를 생성하거나 Wan2.1로 소셜 미디어 공유에 적합한 짧은 동영상을 제작할 수 있습니다. - 산업 배포
기업은 멀티 카드 병렬 추론을 사용하여 광고 또는 영화 제작을 위한 고품질 비디오 콘텐츠를 빠르게 생성할 수 있습니다. - 기술 연구
개발자는 코드를 수정하고, 다양한 모델과 정량적 전략을 테스트하고, AI 기술의 최적화를 추진할 수 있습니다. - 교육 및 훈련
학생들은 간단한 설치를 통해 확산 모델링의 실제 적용을 배우고 AI 생성의 원리를 탐구할 수 있습니다.
QA
- 설치에 실패하면 어떻게 하나요?
Python 버전과 네트워크 연결을 확인합니다. pip가 최신 버전인지 확인합니다(pip install --upgrade pip
)를 사용하거나 종속성을 수동으로 다운로드하세요. - 어떤 모델이 지원되나요?
이미지 및 비디오 생성을 위한 FLUX, Wan2.1, LoRA 호환 미세 조정 모델과 같은 기본 모델을 지원합니다. - 저가의 컴퓨터도 작동하나요?
Can. 조정offload_mode
양자화 매개변수 이후에는 4GB RAM으로 FLUX를 실행할 수 있습니다. - 다중 카드 병렬 처리는 어떻게 설정하나요?
파이프라인 초기화 중 추가parallelism
매개변수를 사용하여 GPU 수가 일치하는지 확인합니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...