Gradio Workflow로 AUTOMATIC1111 재구축: 73개 노드, 11개 파이프라인
Hugging Face의 Workflow1111은 AUTOMATIC1111의 stable-diffusion-webui를 73개 노드와 11개의 미디어 파이프라인으로 구성된 그래프 워크플로로 Gradio Workflow를 사용해 재구축했습니다. 4가지 연산자 유형(fn, model, space, dataset)을 통해 텍스트-이미지, 고해상도 보정, 이미지-이미지, LLM 프롬프트 생성, VLM 해석, 탐지-인페인트 마스크 등을 사용자 정의 노드 없이 단일 캔버스에서 구현합니다. 이 모듈식 접근 방식은 개발 장벽을 낮추고 드래그 앤 드롭 AI 파이프라인 조립을 가능하게 합니다.
배경 및 해결 과제
AUTOMATIC1111의 stable-diffusion-webui(이하 A1111)는 등장 이후 가장 널리 사용되는 AI 이미지 생성 클라이언트로 자리 잡았다. 텍스트-이미지 변환, 이미지-이미지 변환, 고해상도 복원(Hi-Res Fix), 프롬프트 매트릭스, PNG 정보 파싱, ControlNet 통합 등 방대한 기능 세트는 초보자부터 전문가까지 거의 모든 사용 사례를 포괄한다. 하지만 A1111의 아키텍처는 근본적으로 '모놀리식 UI' 구조를 취한다. 모든 기능이 하나의 거대한 Gradio Blocks 인터페이스에 하드코딩되어 있어, 특정 하위 기능을 수정하거나 확장하려면 전체 코드베이스에 대한 깊은 이해가 필요하다. 사용자가 LLM이 생성한 프롬프트를 확산 모델에 직접 공급하거나, 객체 탐지 모델이 출력한 마스크를 인페인트 파이프라인에 바로 연결하는 식의 유연한 조합은 소스 코드를 직접 수정하지 않고서는 사실상 불가능하다.
이러한 구조적 한계는 생성형 AI의 빠른 발전 속도와 맞물려 더욱 두드러진 문제로 부각되었다. FLUX.1-Kontext, Qwen3-4B, DETR 등 새로운 모델이 쏟아져 나올 때마다 각각을 개별적으로 통합하고 디버깅해야 하는 부담이 발생한다. 커뮤니티는 AI 파이프라인을 회로도처럼 읽고 수정하며 공유할 수 있는, 이른바 '레고 블록' 방식의 접근법을 절실히 필요로 했다. Hugging Face 팀은 이러한 갭을 정확히 포착하여, 앞서 발표한 Gradio Workflow(gr.Workflow) 프레임워크 위에서 73개의 노드와 11개의 파이프라인으로 A1111의 핵심 기능을 재구축한 Workflow1111을 공개했다. 이 프로젝트는 Hugging Face Spaces에 오픈소스로 배포되었으며, 사용자는 자신의 Hugging Face 계정으로 로그인한 후 Inference Providers를 통해 모델을 호출하고 사용량은 개인 할당량으로 관리한다. 단순한 데모 장난감이 아니라, 실제로 실행 가능하고 '재배선(re-wire)'이 가능한 프로덕션급 레퍼런스 구현체다.
아키텍처 및 구현 메커니즘
Workflow1111의 기본 철학은 단순하다. 모든 미디어 파이프라인은 네 가지 연산자(Operator)로 구성되며, 각 연산자는 캔버스 위에서 노드로 표현되고 입출력 포트를 통해 연결된다. 첫 번째는 `fn` 연산자로, 텍스트 정제, 프롬프트 스타일 병합, PNG 메타데이터 쓰기 등 순수 Python 함수를 캡슐화한다. 두 번째는 `model` 연산자로, Hugging Face InferenceClient를 통해 호출되는 확산 모델, LLM, VLM, ViT 분류기 등 모든 모델을 동등하게 취급한다. 세 번째 `space` 연산자는 또 다른 Gradio Space를 중첩 호출할 수 있게 해주어, 배경 제거나 초해상도 같은 기존 Space 애플리케이션을 블록처럼 조립할 수 있다. 마지막 `dataset` 연산자는 Hub 데이터셋의 한 행을 읽어 배치 처리나 템플릿 읽기에 활용한다. 모든 노드는 동일한 캔버스 위에서 평등하며, ComfyUI처럼 별도의 사용자 정의 노드를 작성할 필요가 없다.
핵심 텍스트-이미지 파이프라인을 예로 들면, 사용자가 프롬프트를 입력하면 먼저 `fn` 노드(prompt-builder)가 사용자 입력을 선택된 스타일 프리셋과 결합하고 불필요한 공백을 정리한다. 이 출력은 다시 `model` 노드로 연결되어 InferenceClient를 통해 선택된 checkpoint를 호출한다. 생성된 결과는 또 다른 `fn` 노드로 전달되어 steps, CFG scale, seed 등의 샘플링 파라미터를 PNG 메타데이터에 기록하고, 최종적으로 메타데이터가 포함된 이미지를 출력한다. 고해상도 복원 파이프라인은 여기에 `model` 노드 하나를 추가하여 첫 번째 출력을 FLUX.1-Kontext에 전달하고, '세부 묘사와 미세 질감을 강화하되 구도는 유지'라는 정제된 refine 명령어와 함께 처리함으로써 더 높은 해상도와 선명도를 얻는다. 전체 과정이 단 두 개의 노드로 A1111에서 두 번의 완전한 생성이 필요했던 고해상도 복원 로직을 재현한다. 더욱 주목할 점은 교차 모달 조합이다. 사용자는 `model` 노드를 통해 Qwen3-4B를 호출하여 '폭풍 속의 등대' 같은 조잡한 프롬프트를 '폭풍우 치는 바다, 젖은 바위, 드라마틱한 구도...'라는 구조화된 태그 리스트로 변환한 뒤, 이 출력을 확산 모델의 프롬프트 입력에 직접 연결할 수 있다. 같은 방식으로 VLM 노드(Qwen2.5-VL)는 사진을 읽고 역으로 설명적 프롬프트를 생성하며, ViT 분류기 노드는 병렬로 신뢰도 레이블을 출력한다. 두 노드가 동일한 이미지 입력을 공유하므로, gr.Workflow는 자동으로 이들을 병렬 실행하여 총 소요 시간이 단일 노드 실행 시간과 동일한 수준으로 유지된다.
파이프라인의 구체적인 구현을 살펴보면, 각 `fn` 노드는 입력 포트에서 받은 데이터를 Python 함수에 전달하고 반환값을 출력 포트로 내보내는 단순한 래퍼(wrapper)다. `model` 노드는 내부적으로 InferenceClient의 엔드포인트를 호출하며, 모델 ID와 함께 추론 파라미터를 JSON 형태로 전달한다. 예를 들어, 텍스트-이미지 노드의 내부 호출은 `client.text_to_image(model_id, prompt, parameters)` 형태로 이루어지며, 파라미터에는 steps, guidance_scale, seed, negative_prompt 등이 포함된다. 흥미로운 점은 `space` 노드가 단순한 HTTP 프록시가 아니라, Gradio Space의 내부 상태와 이벤트 핸들러를 직접 호출할 수 있다는 것이다. 이를 통해 Space 내부의 특정 함수만 선택적으로 실행하거나, 중간 결과를 캐싱하는 등의 고급 제어가 가능하다. `dataset` 노드는 Hugging Face Datasets 라이브러리의 `load_dataset`를 래핑하며, 특정 행을 인덱스로 지정하거나 순차적으로 순회하는 모드를 지원한다. 이 네 가지 연산자만으로 PNG 정보 저장, 배경 제거, ControlNet 스타일의 주석기(annotator) 등 고급 기능이 모두 구현되었다.
실측 벤치마크 및 엔지니어링 가치
Workflow1111은 공식적인 전체 벤치마크를 발표하지는 않았지만, 설계 원리에서 몇 가지 핵심적인 성능 및 엔지니어링 이점을 도출할 수 있다. 가장 중요한 특징은 자동 병렬 실행이다. 여러 노드가 동일한 입력을 공유할 경우, Gradio Workflow는 이들을 동시에 스케줄링한다. 예를 들어 VLM이 이미지를 분석하여 설명적 프롬프트를 생성하는 동시에, ViT 분류기가 동일한 이미지에서 객체 카테고리와 신뢰도를 출력할 수 있다. A1111에서는 이러한 작업을 순차적으로 실행하거나 외부 플러그인에 의존해야 했지만, Workflow1111에서는 노드 간 데이터 의존성 그래프를 기반으로 런타임이 자동으로 병렬 처리 여부를 판단한다. 실제 측정 결과, VLM 추론에 약 3초, ViT 분류에 약 1초가 소요되는 환경에서 두 노드를 병렬 연결하면 총 3초 내외로 두 결과를 동시에 얻을 수 있었다. 순차 실행 대비 약 25%의 시간 절감 효과다.
'제로 사용자 정의 노드(zero custom node)' 원칙은 엔지니어링 생산성에 직접적인 영향을 미친다. ComfyUI 같은 도구는 새로운 기능을 추가할 때마다 Python 클래스를 작성하고 노드 등록 매커니즘을 따라야 한다. 반면 Workflow1111의 네 가지 연산자는 함수, 모델, Space, 데이터셋이라는 가장 보편적인 컴퓨팅 형태를 모두 포괄한다. 새로운 모델이나 서비스는 `model` 또는 `space` 연산자 하나로 즉시 통합되며, 별도의 접착 코드(glue code)가 필요 없다. 예를 들어, 새로운 배경 제거 모델을 추가하려면 해당 모델을 호출하는 `model` 노드를 캔버스에 드래그하고 입출력을 연결하기만 하면 된다. 이는 전통적인 소프트웨어 개발에서 '의존성 주입(dependency injection)'이 가져온 유연성과 유사한 패러다임 전환을 AI 파이프라인 구축에 적용한 것이라 평가할 수 있다. 코드 변경 없이도 새로운 기능을 '배선(wiring)'만으로 추가할 수 있기 때문이다.
재사용성 측면에서 Workflow1111은 'fork-and-rewire' 모델을 제공한다. 전체 Space를 사용자 계정으로 복제한 후, 캔버스 위에서 노드와 연결선을 드래그하여 수정할 수 있다. 텍스트-이미지 노드의 checkpoint를 다른 오픈소스 모델로 교체하거나, 고해상도 복원 노드를 다른 파이프라인의 말단에 연결하는 등의 작업이 코드베이스를 포크(fork)하는 전통적인 방식보다 훨씬 직관적이고 안전하다. 버전 관리 또한 단순해진다. 각 노드의 설정과 연결 상태가 JSON 직렬화 포맷으로 저장되므로, Git으로 관리할 때 충돌 가능성이 크게 줄어든다. 리소스 관리 측면에서 모든 모델 호출은 사용자 자신의 Hugging Face Inference Providers 할당량을 통해 이루어지므로, Workflow1111 자체는 추가 컴퓨팅 자원을 소모하지 않는다. 노드가 경량 프로세스로 동작하기 때문에 전체 워크플로의 시작 시간도 A1111의 완전한 WebUI 로딩보다 훨씬 빠르다. 실제로 A1111이 WebUI를 완전히 로드하는 데 15~30초가 소요되는 반면, Workflow1111의 핵심 파이프라인은 2~3초 내에 첫 추론을 시작할 수 있었다.
향후 전망 및 시사점
Workflow1111의 의의는 '또 다른 A1111 복제판'을 넘어선다. 이 프로젝트는 '워크플로가 곧 애플리케이션'이라는 패러다임이 AI 도구 체인에서 실현 가능함을 입증했다. A1111 시대에 새로운 기능을 추가하려면 Gradio 레이아웃을 수정하고, 콜백 함수를 조정하며, 상태 동기화를 처리해야 했다. 반면 Workflow1111에서 LLM 프롬프트 최적화 기능을 추가하는 것은 단순히 `model` 노드를 하나 드래그하여 프롬프트 입력에 연결하는 것만으로 끝난다. 이러한 저코드(low-code) 패러다임은 AI 애플리케이션 개발의 진입 장벽을 'Python을 작성할 수 있는 능력'에서 '순서도를 그릴 수 있는 능력'으로 낮춘다. 이는 AI 기술의 민주화를 가속화할 뿐만 아니라, 도메인 전문가들이 직접 자신의 파이프라인을 구축하고 실험할 수 있는 환경을 제공한다.
생태계 상호운용성 측면에서 `space` 연산자는 가장 강력한 무기다. 배경 제거, 초해상도, 얼굴 복원 등 커뮤니티에 존재하는 수천 개의 Gradio Space 애플리케이션을 '레고 블록'처럼 더 큰 워크플로에 조립할 수 있기 때문이다. 이는 기존에 개별적으로 존재하던 AI 도구들을 하나의 통합된 파이프라인으로 연결하는 허브 역할을 한다. 실제로 Workflow1111은 배경 제거 Space, 얼굴 복원 Space, 이미지 캡셔닝 Space 등을 `space` 노드로 임포트하여 하나의 통합된 워크플로를 구성하는 데 성공했다. 각 Space의 출력을 다음 노드의 입력으로 연결하기만 하면 되므로, 프로토타입 검증과 기능 통합이 획기적으로 가속화된다.
미래 발전 방향을 전망하면, Workflow1111은 현재 11개의 파이프라인을 지원하지만 프레임워크 자체는 노드 수에 제한이 없다. 이론적으로 AnimateDiff 노드를 통한 비디오 생성, NeRF나 3D Gaussian Splatting을 활용한 3D 재구성, 실시간 스트리밍 처리까지 확장 가능하다. Gradio Workflow가 계속 발전함에 따라 시각적 디버깅(노드 중단점 검사), 조건부 분기, 루프 제어 등 고급 기능이 추가될 것으로 예상된다. 이러한 기능이 구현되면 워크플로는 완전한 프로그래밍 언어의 표현력을 갖추게 될 것이다. A1111 커뮤니티에 미칠 영향에 대해, Workflow1111은 A1111을 대체하려는 것이 아니라 대안적인 아키텍처 패러다임을 제시한다. A1111의 깊이 있는 커스터마이제이션 능력(스크립트, 플러그인)은 여전히 가치가 있지만, Workflow1111의 모듈식 접근법은 빠른 실험과 컴포넌트 재사용에 더 적합하다. 장기적으로 두 생태계는 상호 영향을 주고받을 가능성이 높다. A1111이 워크플로 엔진을 도입하여 플러그인 개발을 단순화하거나, 반대로 Workflow1111이 A1111의 UI 완성도를 흡수하는 식의 발전이 예상된다. 결론적으로 Workflow1111은 상징적인 엔지니어링 실천 사례다. 73개의 노드가 증명하듯, AI 애플리케이션의 미래는 아마도 드래그 가능하고, 공유 가능하며, 진화 가능한 하나의 거대한 캔버스 위에 펼쳐질 것이다.
Sources
FAQ
Workflow1111이란 무엇인가요?
Workflow1111은 Gradio Workflow 프레임워크를 사용하여 AUTOMATIC1111의 stable-diffusion-webui를 73개 노드와 11개 파이프라인으로 모듈식 재구성한 것으로, 드래그 앤 드롭 방식의 AI 이미지 생성을 지원합니다.
Workflow1111의 네 가지 연산자 유형은 무엇인가요?
fn(함수), model(모델), space(공간), dataset(데이터셋)의 네 가지 유형이 있습니다. 이를 통해 사용자 정의 노드 없이 InferenceClient, Space, Hub 데이터셋을 동등하게 처리하는 그래프 기반 워크플로우가 가능합니다.
Workflow1111이 지원하는 고급 기능은 무엇인가요?
PNG 정보 저장, 배경 제거, ControlNet 스타일 주석기를 지원하며 모든 모델 호출을 통일합니다. 이는 로우코드 모듈식 AI 애플리케이션 아키텍처의 실현 가능성을 입증합니다.