생성형 AI

[week9-2] Qwen-Image-Edit (FLUX.1 Kontext와 차이점)

mapsycoy 2025. 8. 26. 00:16
이번 포스팅에서는 Alibaba의 오픈소스 이미지 편집 모델 Qwen-Image-Edit에 대해 알아보겠다.
출시된 지는 일주일이 조금 넘었다. 사실 그동안 레딧 커뮤니티에 해당 글 알림이 뜨든 말든 그렇게 눈여겨보지는 않았던 모델인데, 어느 순간 오픈소스 이미지 편집 모델 중 1순위를 달리고 있는 걸 보며 이제는 알아봐야 할 때가 되었다는 생각이 들었다.

Artificial Analysis Image Editing Leaderboard (08.25)

오픈소스 모델이 FLUX.1 Kontext Max를 넘어섰다는 것은 충분히 눈여겨볼만하다.
그런데 왜 그동안 다루지 않았느냐... 그간 Image Arena에서 그 이전 모델의 순위가 상당히 저조했기 때문이다.

T21 순위

하지만 이건 내가 아래 한 가지 사실을 간과한 것이었다. 

  • Qwen-Image 모델은 기본적으로 I2I 기능이 아예 없기 때문에 이것은 높은 확률로 TI2I가 아닌 T2I이 반영된 순위일 것이라는 점

T2I는 사전에 캐릭터와 배경이 이미 설정되어 있는 생태에서는 유의미한 데이터라고 볼 수 없다.
따라서 기존 모델에서 시맨틱 제어와 VAE 인코딩 기능이 추가된 Edit 모델은 달리 평가해야 한다.

 

Qwen/Qwen-Image-Edit · Hugging Face

💜 Qwen Chat   |   🤗 Hugging Face   |   🤖 ModelScope   |    📑 Tech Report    |    📑 Blog    🖥️ Demo   |   💬 WeChat (微信)   |   🫨 Discord  |    Github   Introduction We are excited to introduce Qwe

huggingface.co

그럼 지금부터 Qwen-Image-Edit 모델을 살펴보겠다.


[목차여기]

간단한 QnA로 시작

 

2025 Latest: Complete Guide to Qwen-Image-Edit Image Editing Model

Qwen-Image-Edit is the latest image editing foundation model released by Alibaba's Qwen team, built upon the 20B parameter Qwen-Image model. This model extends Qwen-Image's unique text rendering capabilities to image editing tasks, achieving unprecedented

qwq32.com

QnA의 출처이다. 한국어로 일부 번역 후 약간의 설명을 덧붙였다.

01. Qwen-Image-Edit이 뭐지?

This model extends Qwen-Image's unique text rendering capabilities to image editing tasks, achieving unprecedented precise text editing functionality.
  • Dual-path Input: 입력 이미지를 Qwen2.5-VL(semantic control)과 VAE Encoder(appearance control)에 동시 투입
  • MMDiT(Multi-modal Diffusion Transformer) Architecture: 멀티모달 디퓨전
  • Transformer architecture, 20B(200억) Parameters: Qwen-Image 모델과 동일한 파라미터 스케일
  • Apache 2.0 License( ASF에서 만든 오픈소스 라이선스): 상업적 이용을 지원하는 완전한 오픈소스 → 이 부분에서 FLUX보다 상업적으로 우위에 있음을 어필 중

02. 요구하는 하드웨어 스펙은?

The full version requires approximately 60GB storage space, with recommended 8GB+ VRAM and 64GB system memory.

8+ 이면 사실상 12GB를 최소로 권장하는 것이라 보면 되니 그래픽카드는 RTX 3080 시리즈 이상이어야 할 것이다.
GPU는 얼추 맞췄지만 내 데탑의 메모리 스펙이 32GB이므로 당장 로컬로 설치해서 쓰는 것은 어렵다... 낮은 fp8 모델을 사용할 수도 있겠지만, 그건 진짜 오리지널 퀄리티가 아니니 별로 의미는 없을 것이다.

 

Qwen Image Edit - a Hugging Face Space by Qwen

Running on Zero

huggingface.co

나처럼 컴퓨터 스펙이 딸린다면 위 링크에서 약간의 베타 느낌으로는 사용이 가능하다.

03. ComfyUI에서 현재 공식 지원을 하는지?

Official sources indicate ComfyUI support is in development, expected within weeks of model release. Community developers are also actively contributing related nodes.

아직 공식 지원은 없고, 개발자들이 열심히 준비 중에 있다... 고 했지만!
이전 블로그 글 업데이트가 안된 것인지 그 사이에 공식 지원이 시작되었다.

 

Qwen-Image-Edit ComfyUI Native Support

We're excited to announce that Qwen-Image-Edit – the advanced 20B MMDiT image editing version of Qwen-Image, further trained from the 20B Qwen-Image model – is now natively supported in ComfyUI!

blog.comfy.org

이제 ComfyUI를 최신 버전으로 업데이트만 하면 워크플로우 탬플릿에서 즉각 다운로드할 수 있다.
물론 나는 로컬은 사양이 딸려서 안되고, 서버는 구축 시간이 너무 오래걸려서 당장의 성능 테스트는 어려울 것 같다.😭


여기서 알 수 있는 특징

"Semantic control에 Qwen2.5-VL 사용"

  • Alibaba의 Qwen 시리즈로 개발한 비전-언어 모델(Vision-Language-Model)로, 텍스트와 이미지 데이터를 통합적으로 이해하고 처리할 수 있는 멀티모달 모델
  • Qwen-Image-Edit에서 이 모델이 시맨틱 컨트롤을 담당하며, 입력된 텍스트 프롬프트와 이미지의 정보를 분석하여 편집 방향을 결정
  • 디퓨전 프로세스(노이즈 과정)에서 텍스트 프롬프트에 기반한 시맨틱 가이던스를 제공

"Appearance control에 VAE Encoder 사용"

  • 이미지의 외형적 특징(색상, 질감, 세부 구조)을 처리
  • 원본 이미지의 외형적 특징(예: 조명, 색조)을 유지하면서 Qwen2.5-VL이 제공한 시맨틱 가이드에 맞춰 추가되는 요소의 세부 텍스처 생성

시각 입력 정보는 Vision Encoder에서 아래와 같은 과정을 거친다.

  • Conv3D: 비디오의 경우 공간을 읽고 중요한 포인트를 캐치한다.
  • Window Attention:큰 사진을 작은 조각으로 나눈다.
  • RMSNorm(Root Mean Square Normalization): 복잡도를 낮춘다.
  • FFN(Feed-Forward Network) with SwiGLU(Switched Gated Linear Unit): 정보를 정리해서 그 속의 유미의한 데이터를 찾아낸다.
  • Full Attention: 입력 데이터 전역에 주목한다.

위 과정을 거치고 mRoPE(Multimodal Rotary Position Embedding)를 통해 이미지의 위치값, 비디오의 경우 시간값까지 기록하여 토큰화된다.
토큰은 Qwen2.5 LM Decoder로 넘어가고, 이곳에서 시각 입력 정보에 대한 학습 내용을 텍스트화한다.
이렇게 만들어진 텍스트 프롬프트를 기반으로 시맨틱 가이던스를 디퓨전 과정에서 지속적으로 제공한다. 


그럼 FLUX.1에서 사용하는 VL 모델은? 

 

FLUX AI Image Generation: Experimenting with Parameters

Utilize FLUX AI image generation model, an open-source image generation tool, to create stunning images for diverse applications, from YouTube thumbnails to UI designs.

learnopencv.com

"OpenAI의 CLIP 모델(ViT-Large-Patch14 아키텍처)을 텍스트 인코더로 사용"

CLIP helps Flux-like diffusion models generate images that are contextually aligned with the user input. It uses a ViT-large-patch14 architecture with 12 encoder layers, 12 attention heads, a vocab size of 49408, and a hidden size of 768 dimensions. 
  • CLIP 모델은 2021년에 OPENAI가 개발하였고, 2022년도에 출시된 이미지 생성계의 시조 격인 OPENAI의 DALL-E가 바로 이 CLIP을 기반으로 만들어졌다고 한다.

"Google의 T5 Encoder(T5-XXL)을 보조 텍스트 인코더로 사용"

  • Google이 개발하였고 19년도에 처음 발표되었다. 풀네임은 Text-to-Text Transfer Transformer로 T가 5번 들어가서 T5이다.
  • XXL는 파라미터 규모를 나타내는 것이므로, T5 시리즈 중 제일 많은 정보를 학습한 모델이다.
  • 긴 텍스트 프롬프트나 세부적인 지침을 처리할 때 유용하며, FLUX.1의 프롬프트 준수도를 높이는 데 기여한다.

"FluxTransformer2DModel로 텍스트와 이미지 입력을 통합적으로 처리"

  • FluxTransformer2DModel은 텍스트 프롬프트(CLIP/T5 임베딩)를 통해 전달받은 시맨틱 컨트롤에 따라 그 역할을 수행한다.
  • 입력 이미지가 CLIP 비전 인코더를 통해 잠재 표현으로 변환되고, VAE 인코더를 통해 압축된 잠재 공간으로 매핑된다.
  • FluxTransformer2DModel은 이 잠재 표현을 받아 텍스트 임베딩과 결합하여, 입력 이미지의 특정 부분을 편집하거나 새로운 이미지를 생성한다.

https://zhouyifan.net/2024/09/03/20240809-flux1/

다이어그램의 파란색 상자에 표시된 MM-DiT-Block(Multimodal Diffusion Transformer Block)이 FluxTransformer2DModel에 닿기까지의 핵심 구성 요소이다.
이 블록 내에서 텍스트 임베딩(CLIP, T5)과 잠재 표현(Latent)을 결합하여 연주황 블록에서 멀티모달 데이터를 처리한다.

  • Ids:토큰의 인덱스 또는 위치 정보
  • ROPE: 회전 위치 임베딩(Rotary Position Embedding)
  • timestep: 각 단계에서 노이즈 수준이 점진적으로 줄어들도록 설정
  • Sinusoidal Encoding: timestep 정보가 해당 인코딩을 통해 변환됨
  • MLP(Multi-Layer Perceptron): CLIP의 "pooled" 출력과 T5의 임베딩이 MLP를 통해 변환되어 MM-DiT-Block으로 입력
  • pooled: 전체 텍스트의 시맨틱 정보를 압축한 표현
  • Linear: 입력 데이터를 가중치 행렬과 편향을 결합하여 선형적으로 변환
  • 최종적으로 생성된 잠재 표현은 "n, c, 2h, 2w"으로, 입력 잠재 표현("n, 4c, h, w")보다 해상도(h, w)가 두 배로 증가하며, 여러 색상, 텍스쳐, 경계 등의 값을 가진 채널 수(c)는 감소한다.
  • VAE Decoder는 출력 잠재 표현을 "n, 3, 16h, 16w" 형상으로 디코딩하여 최종 이미지 생성. *여기서 3은 각 RGB를 뜻함.

디코딩 단계에서 갑자기 해상도가 8배로 뻥튀기되는 것은, 처음에 VAE 인코더가 원본 이미지를 압축하여 잠재 공간에 매핑한 것을 다시 복구하는 개념이다. 그래서 업스케일링을 하더라도 리텍스쳐링이 반영되지 않으면 해상도가 다소 떨어지는 느낌이 드는 것이다.
나는 아직 Qwen을 직접 사용해보지 못했지만, 만약 동일 규격에서 결과물 해상도가 조금 더 높다면 그건 뒤 워크플로우 세션에서 언급하였듯, AuraFlow의 역할이 클 것 같다.
그런 의미에서 해상도 탈락이 거의 없는 나노 바나나의 원리가 정말 궁금할 따름이다.


FluxTransformer2DModel 와 Qwen2.5-VL 비교

모델 FluxTransformer2DModel Qwen2.5-VL
역할 디퓨전 프로세스 자체를 담당하는 '일러스트레이터' 시맨틱 컨트롤에 초점을 맞춘 '감독관'
처리방식 CLIP과 T5로부터 받은 가이드를 반영하여 최종 이미지를 생성 텍스트와 이미지 입력을 통합적으로 분석하여 디퓨전 프로세스를 가이드

 
여기서 핵심은 CLIP과 T5의 시맨틱 지시보다 Qwen2.5-VL의 시맨틱 지시가 더 나을 수 있다는 것.
그리고 그것을 현재 리더보드 순위로 증명하고 있다고 생각한다.


몇 가지 예시를 살펴보자.

여기 게시글에서는 출시 직후 커뮤니티 유저들의 반응을 살펴볼 수 있다. FLUX는 이제 큰일 났다는 이야기가 대부분이다.
아무래도 오픈소스이다 보니 성능이 비슷하다면 더 이상 Max를 돈 내고 사용할 이유는 없다.

댓글을 내리다 보면 나노 바나나 이야기도 잠깐 나온다.

이것은 몇 가지 이미지 생성 예시이다. 그 종류가 다양해서 긁어왔다.


워크플로우 살펴보기

Qwen-Image-Edit offical workflow

이제 위 워크플로우 내용이 읽힐 것이다.
보이는 것처럼 CLIP 자리에는 Qwen2.5-VL이 사용되고 있다.
VAE도 이름을 딴 맞춤형 모델을 사용하는 것으로 봐서 VL 지시에 대한 충실도가 높을 것이라 예상한다.
참고로 FLUX.1이 사용하는 ae.safetensors도 자체 개발이다.

두 오픈 소스 워크플로우에서 설정값(KSampler)에 드러나는 차이는 바로 CFG 값이다.

*참고로 KSampler에서 K는 샘플링 횟수(step count)를 의미한다.

CFG(Classifier-Free Diffusion Guidance)는 분류기 없이 분류기 안내를 제공하는 요상한 기능인데..

 

Classifier-Free Diffusion Guidance

Classifier guidance is a recently introduced method to trade off mode coverage and sample fidelity in conditional diffusion models post training, in the same spirit as low temperature sampling or truncation in other types of generative models. Classifier g

arxiv.org

위 링크를 참고하면 좀 더 자세한 뜻을 알 수 있다.

conditional diffusion model과 unconditional diffusion model을 함께 학습(jointly train)하고, 그 결과 얻어진 conditional score estimate와 unconditional score estimate를 결합함으로써, classifier guidance를 사용할 때와 유사한 수준의 sample quality와 diversity 간의 trade-off를 달성할 수 있다.

분류기를 따로 두지 않고, 조건부/비조건부 diffusion을 같이 학습해서 동일한 효과를 얻을 수 있다고 한다.
 
보통은 적정값을 7 정도라고 하더라. 
그런데 왜 Qwen과 FLUX.1은 낮은 걸까?
FLUX.1의 경우, 이미 FLUX 가이드 반영률이 2.5 적용되어 있기 때문에 그걸 굳이 증폭시킬 필요가 없고
Qwen의 경우는 2.5인데, 멀티모달 입력 구조이다 보니 조건부 신호를 계속 조금씩은 넣어줘야 하기 때문에 그런 것이라 추측한다. 위 워크플로우 하단 갈색 블록에 적힌 내용을 보면 기존 학습 모델에 4 steps LoRA가 더해진 구조에서는 CFG값을 1로 설정하라고 쓰여있다. 그러니 어느 정도는 맞는 얘기일 것이다.
 

그리고 한 가지 큰 차이점은 Qwen은 AuraFlow 블록을 사용하고 있다는 점이다.

이건 fal.ai에서 개발한 flow 기반 텍스트-이미지 생성 모델로, 완전히 오픈소스(Apache 2.0 라이선스)라는 것이 특징이다.
이것의 장점은 높은 해상도를 지원한다는 것이지만, 반대로 VRAM 소모가 심하다는 단점도 있다.
FLUX.1이 이를 사용하지 않은 것은 아마도 기술적 호환성과 상업적 배포 이유가 컸을 것이라 예상한다.


오늘의 결론

 스펙과 시간 이슈로 아직 직접 테스트는 못해보았으나, 기대는 확실히 크다.
 
개인적으로 Kontext Dev 오픈소스는 Max와의 차이가 너무 심해서 계속 아쉬움이 있었는데, Qwen만큼은 유료 상위 모델 출시 같은 거 하지 말고 쭉 유지보수했으면 좋겠다.