Articlehuggingface.co·2026년 1월 31일·0

Introducing Modular Diffusers - Composable Building Blocks for Diffusion Pipelines

Quick Summary

모듈러 디퓨저는 확산 파이프라인을 독립적인 재사용 블록으로 분해해, 기존과 익숙한 실행 방식을 유지하면서도 워크플로 구성·교체·공유·시각화를 유연하게 만드는 디퓨저스의 새로운 파이프라인 체계다.

Introducing Modular Diffusers - Composable Building Blocks for Diffusion Pipelines 관련 대표 이미지

🖼️ 인포그래픽

Introducing Modular Diffusers - Composable Building Blocks for Diffusion Pipelines 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Introducing Modular Diffusers - Composable Building Blocks for Diffusion Pipelines 내용을 설명하는 본문 이미지

💡 한 줄 요약

모듈러 디퓨저는 확산 파이프라인을 독립적인 재사용 블록으로 분해해, 기존과 익숙한 실행 방식을 유지하면서도 워크플로 구성·교체·공유·시각화를 유연하게 만드는 디퓨저스의 새로운 파이프라인 체계다.

📌 핵심 요약

  • 모듈러 파이프라인은 텍스트 인코딩, 이미지 인코딩, 잡음 제거, 디코딩 같은 단계를 자체 입출력을 가진 블록으로 구성하며, 블록을 추가하거나 제거하면 남은 구성에 맞춰 파이프라인 인터페이스가 동적으로 재구성된다.
  • 워크플로 정의와 모델 가중치 로딩을 분리해 파이프라인 구조를 먼저 만든 뒤 자료형, 양자화, 장치 배치 등을 지정해 구성요소를 불러올 수 있으며, 개별 블록도 독립 파이프라인으로 실행할 수 있다.
  • 사용자는 필요한 모델 구성요소, 입력, 중간 출력, 계산 로직을 선언하는 파이썬 클래스로 사용자 정의 블록을 만들고, 그 출력을 필요로 하는 기존 워크플로 앞이나 중간에 삽입할 수 있다.
  • 모듈러 저장소는 구성요소를 원래 모델 저장소에서 참조하거나 사용자 정의 블록 코드와 시각적 인터페이스 설정을 함께 보관할 수 있어, 전체 가중치를 중복 저장하지 않고도 완성된 파이프라인을 배포할 수 있다.
  • 커뮤니티는 실시간 비디오 생성과 상호작용형 월드 모델 같은 완성형 파이프라인을 이미 공개하고 있으며, 초기 개발 단계인 멜론은 공통 블록 명세를 이용해 모델별 동적 노드와 단일 노드 워크플로를 자동으로 구성한다.

🧩 주요 포인트

  1. 모듈러 파이프라인은 텍스트 인코딩, 이미지 인코딩, 잡음 제거, 디코딩 같은 단계를 자체 입출력을 가진 블록으로 구성하며, 블록을 추가하거나 제거하면 남은 구성에 맞춰 파이프라인 인터페이스가 동적으로 재구성된다.
  2. 워크플로 정의와 모델 가중치 로딩을 분리해 파이프라인 구조를 먼저 만든 뒤 자료형, 양자화, 장치 배치 등을 지정해 구성요소를 불러올 수 있으며, 개별 블록도 독립 파이프라인으로 실행할 수 있다.
  3. 사용자는 필요한 모델 구성요소, 입력, 중간 출력, 계산 로직을 선언하는 파이썬 클래스로 사용자 정의 블록을 만들고, 그 출력을 필요로 하는 기존 워크플로 앞이나 중간에 삽입할 수 있다.
  4. 모듈러 저장소는 구성요소를 원래 모델 저장소에서 참조하거나 사용자 정의 블록 코드와 시각적 인터페이스 설정을 함께 보관할 수 있어, 전체 가중치를 중복 저장하지 않고도 완성된 파이프라인을 배포할 수 있다.
  5. 커뮤니티는 실시간 비디오 생성과 상호작용형 월드 모델 같은 완성형 파이프라인을 이미 공개하고 있으며, 초기 개발 단계인 멜론은 공통 블록 명세를 이용해 모델별 동적 노드와 단일 노드 워크플로를 자동으로 구성한다.

🧠 상세 정리

1. 모듈러 디퓨저가 제안하는 파이프라인 구성 방식

모듈러 디퓨저는 확산 파이프라인 전체를 처음부터 하나의 고정된 클래스로 작성하는 대신, 재사용 가능한 블록을 조합해 필요한 워크플로를 만드는 방식을 제안한다. 이는 기존 디퓨전파이프라인을 없애거나 대체하는 것이 아니라, 같은 실행 경험을 유지하면서 내부 구성을 더 자유롭게 다룰 수 있도록 보완하는 선택지다. 텍스트 인코딩, 이미지 인코딩, 잡음 제거, 디코딩과 같은 단계가 각각 독립적인 블록이 되며, 모든 블록은 자체 입력과 출력을 명시적으로 가진다. 따라서 사용자는 제공된 구성을 그대로 실행할 수도 있고, 특정 단계만 꺼내거나 새로운 단계를 끼워 넣어 목적에 맞는 파이프라인을 만들 수도 있다. 글은 익숙한 추론 방식에서 출발해 사용자 정의 블록, 저장소 배포, 커뮤니티 파이프라인, 멜론 연동 순으로 이 구조의 확장성을 설명한다.

2. 빠른 시작과 가중치 로딩의 분리

빠른 시작 예제는 플럭스 2 클라인 4비 모델을 모듈러 파이프라인으로 불러와 이미지를 생성하는 과정을 보여준다. 사전 학습 모델에서 파이프라인을 만드는 첫 단계는 워크플로 구조만 정의하며, 이 시점에는 실제 모델 가중치가 아직 메모리에 올라오지 않는다. 이후 구성요소 로딩 단계에서 브레인 플로트 16 같은 자료형이나 양자화 방식을 지정하고, 파이프라인을 그래픽 처리 장치로 이동한 뒤 프롬프트와 추론 횟수를 전달한다. 최종 호출 방식과 결과 접근 방식은 기존 디퓨전파이프라인과 같으므로, 사용자는 익숙한 인터페이스를 유지할 수 있다. 달라지는 부분은 구조 정의와 가중치 로딩이 분리되어 있어 모델 구성과 메모리 운용 조건을 더 명확한 단계에서 설정할 수 있다는 점이다.

3. 블록의 독립 실행과 동적 재구성

플럭스 예제의 내부 블록을 출력하면 텍스트 인코더, 변분 오토인코더 인코더, 핵심 잡음 제거, 디코더 단계가 하위 블록으로 드러난다. 각 블록은 독립적으로 실행할 수 있으므로, 예제에서는 텍스트 인코더를 원래 구성에서 꺼내 별도의 파이프라인으로 초기화하고 프롬프트 임베딩만 생성한다. 텍스트 인코더가 제거된 나머지 블록으로 새 파이프라인을 만들면, 이 파이프라인은 더 이상 원문 프롬프트를 요구하지 않고 앞 단계가 만든 프롬프트 임베딩을 직접 입력받는다. 이미 불러온 구성요소를 새 파이프라인에 전달해 재사용하거나, 필요한 구성요소를 별도로 다시 불러오는 방식도 선택할 수 있다. 블록을 추가·제거·교체하면 남은 입출력 관계를 바탕으로 파이프라인이 동적으로 재구성된다는 점이 모듈러 방식의 핵심이다.

4. 사용자 정의 깊이 처리 블록의 명세

사용자 정의 블록은 필요한 구성요소, 외부 입력, 중간 출력, 실제 계산 절차를 정의하는 파이썬 클래스로 작성한다. 글의 깊이 처리 블록은 뎁스 애니싱 V2를 이용해 입력 이미지에서 깊이 지도를 추출하며, 예상 구성요소 항목에 깊이 전처리기와 기본 모델 저장소 경로를 선언한다. 이 기본 경로가 지정되어 있기 때문에 별도 재정의가 없다면 구성요소 로딩 과정에서 필요한 깊이 모델을 자동으로 가져올 수 있다. 입력 명세는 이미지가 필수임을 밝히고, 중간 출력 명세는 후속 제어 네트워크가 사용할 제어 이미지를 텐서 형태로 제공한다고 정의한다. 호출 메서드는 블록 상태에서 이미지를 읽어 깊이 지도를 계산하고, 이를 현재 장치로 옮긴 뒤 제어 이미지로 상태에 기록함으로써 다음 블록에 전달한다.

5. 기존 워크플로에 사용자 정의 블록 삽입

글은 사용자 정의 깊이 블록을 큐웬 이미지의 제어 네트워크 텍스트 이미지 워크플로와 결합하는 과정을 제시한다. 큐웬 파이프라인은 텍스트 이미지, 이미지 변환, 인페인팅, 제어 네트워크 기반 생성 등 여러 워크플로를 제공하며, 각 워크플로가 요구하는 입력도 함께 공개한다. 이 가운데 제어 이미지를 필요로 하는 워크플로를 추출한 뒤 깊이 블록을 맨 앞에 삽입하면, 깊이 블록이 만든 제어 이미지가 이를 요구하는 후속 블록으로 자동 전달된다. 반대로 깊이 블록의 이미지 입력은 앞선 블록이 제공하지 않으므로 새로 구성된 전체 파이프라인의 외부 입력으로 노출된다. 개발자는 블록 문서를 출력해 각 단계의 입출력을 확인할 수 있으며, 연결을 위한 별도의 수동 전달 코드를 작성하지 않고도 데이터 흐름을 구성할 수 있다.

6. 구성요소 관리와 외부 모델 결합

결합된 큐웬 워크플로는 구성요소 관리자를 지정해 실행 가능한 파이프라인으로 초기화된다. 구성요소 관리자는 여러 파이프라인 사이에서 모델 메모리를 관리하고, 사용하지 않는 모델을 중앙 처리 장치로 자동 이동시키는 역할을 한다. 깊이 모델은 사용자 정의 블록의 예상 구성요소에 기본 저장소가 선언되어 있으므로 큐웬 저장소에 포함되지 않았더라도 구성요소 로딩 과정에서 자동으로 준비된다. 반면 예제에 필요한 제어 네트워크는 기본 구성에 포함되지 않았기 때문에 별도 저장소에서 불러온 후 파이프라인 구성요소로 갱신한다. 이렇게 완성된 파이프라인은 프롬프트와 원본 이미지를 입력받아 깊이 정보를 생성하고, 그 정보를 제어 조건으로 사용해 최종 이미지를 만드는 하나의 연속된 워크플로로 동작한다.

7. 허브 공유와 모듈러 저장소

완성한 사용자 정의 블록은 파이프라인 저장 기능을 통해 허브에 게시할 수 있으며, 다른 사용자는 원격 코드 신뢰 옵션을 명시해 해당 블록을 직접 불러올 수 있다. 글에서 만든 깊이 처리 블록도 실제 저장소에 공개되어 있고, 별도로 준비된 사용자 정의 블록 모음과 작성 안내서도 소개된다. 모듈러 파이프라인은 기존 디퓨저스 저장소와 함께 사용할 수 있지만, 글은 구성요소 참조에 특화된 새로운 모듈러 저장소 형식도 설명한다. 예시 저장소는 양자화된 트랜스포머는 자체 저장소에서 제공하면서 변분 오토인코더 같은 나머지 구성요소는 원래 플럭스 저장소에서 참조한다. 또한 하나의 모듈러 저장소에 구성요소 참조 정보뿐 아니라 사용자 정의 파이프라인 블록의 파이썬 코드와 멜론용 시각 인터페이스 설정까지 함께 담을 수 있다.

8. 커뮤니티 파이프라인과 멜론 연동

커뮤니티는 모듈러 디퓨저스를 이용해 모델 가중치와 실행 가능한 코드를 포함한 완성형 파이프라인을 허브에 게시하기 시작했다. 크레아 실시간 비디오는 완 2.1에서 증류한 140억 매개변수 모델로, 단일 비200 그래픽 처리 장치에서 초당 11프레임을 달성하며 텍스트 기반 비디오, 비디오 변환, 스트리밍 변환을 모듈러 블록으로 제공한다. 웨이포인트 1은 23억 매개변수의 실시간 확산 월드 모델로, 제어 입력과 텍스트 프롬프트를 받아 사용자가 실시간으로 탐색하고 상호작용할 수 있는 환경을 자기회귀적으로 생성한다. 멜론은 이러한 블록을 노드 그래프로 연결하는 초기 개발 단계의 인터페이스이며, 현재는 운영 환경에 사용할 준비가 되지 않았다고 명시된다. 모든 블록이 입력, 중간 출력, 예상 구성요소라는 공통 속성을 제공하기 때문에 멜론은 모델에 맞춰 노드 인터페이스를 동적으로 만들고, 전체 파이프라인을 하나의 노드로 축약하거나 허브의 사용자 정의 블록을 별도 사용자 인터페이스 코드 없이 노드로 변환할 수 있다.

🧾 핵심 주장 / 시사점

  • 블록의 입출력 명세가 파이프라인의 외부 입력과 단계 간 데이터 전달을 자동으로 결정하므로, 모듈러 디퓨저스의 조합성은 단순한 코드 분할이 아니라 실행 인터페이스의 동적 재구성까지 포함한다.
  • 워크플로 정의, 모델 가중치 로딩, 구성요소 출처, 메모리 관리를 분리함으로써 같은 블록 구성을 유지하면서도 자료형·양자화·외부 모델·장치 배치 조건을 실행 환경에 맞게 조정할 수 있다.
  • 파이썬 블록 명세가 허브 배포 형식과 멜론의 노드 생성 기준으로 함께 사용되기 때문에, 하나의 블록 정의를 코드 기반 실행·재사용·공유·시각적 워크플로 구성에 공통으로 활용할 수 있다.

✅ 액션 아이템

  • 텍스트 인코딩·이미지 인코딩·잡음 제거·디코딩 블록을 분리해, 추가·삭제 시 인터페이스 재구성이 어떻게 유지되는지 샘플 파이프라인으로 실증한다.
  • 워크플로 정의를 먼저 구성한 뒤 자료형·양자화·장치 배치를 지정해 블록 가중치를 동적으로 로드하고, 각 블록 독립 실행 가능성을 점검한다.
  • 파이썬 클래스 기반 사용자 정의 블록을 선언해 기존 워크플로 앞·중간에 삽입하고, 모듈러 저장소에 코드·시각 설정을 묶어 배포해 중복 가중치 절감 효과를 검증한다.

❓ 열린 질문

  • 블록을 추가·제거할 때 남은 모듈 간 인터페이스는 어떤 규칙으로 자동 맞춤되며 충돌은 어떻게 처리되는가?
  • 워크플로 정의와 가중치 로딩 분리 방식에서 dtype·양자화·장치 배치 조합의 허용 범위는 어떤 조건에서 성능 및 호환성을 결정하는가?
  • 멜론의 동적 노드·단일 노드 자동 구성 방식은 실시간 비디오/상호작용형 월드 모델 파이프라인과 어떤 조건에서 직접 이식 가능한가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.