광고 배너의 헤드라인 한 줄만 바꿔 달라고 했는데, 손대지 말라던 배경과 제품 사진까지 미묘하게 달라져 돌아온다. 요즘 이미지 편집 AI에서 자주 겪는 일이다. LayerEditor는 이 불편을 "편집"과 "레이어 분해"를 한 모델로 합쳐 푼다. 이미지를 지시대로 고치는 동시에, 나중에 각 요소를 따로 다시 손댈 수 있는 RGBA 레이어(색을 담은 RGB 층과 투명도를 담은 Alpha 층)까지 한 번에 내놓는다. 왜 이게 필요한지부터 보자.
이미지 편집의 목표는 단순하다. 지시한 영역만 정확히 바꾸고, 나머지는 건드리지 말 것. 문제는 요즘 편집 모델이 내놓는 결과물의 형태다. 멀티모달 디퓨전 트랜스포머(텍스트 지시와 이미지를 한 줄로 이어 노이즈에서부터 함께 그려내는 생성 모델, 이하 MMDiT)는 글자·사물·배경이 전부 한 겹으로 녹아든 평평한 이미지 한 장을 내놓는다.
이 형태의 불편은 실무에서 바로 드러난다. 전자상거래 상세페이지나 광고 디자인처럼 요소 하나하나를 세밀하게 만지고 사용자가 준 소재를 끼워 넣어야 하는 작업이 특히 그렇다. "이 문구만 빨간색으로", "이 로고만 조금 위로" 같은 수정이 들어올 때마다 이미지 전체를 다시 생성해야 한다. 그 과정에서 처리 비용이 쌓이고, 건드리지 않아야 할 영역이 엉뚱하게 바뀌거나 경계에 artifact가 생긴다. 한 번 구운 빵에서 건포도만 빼 달라는 주문에 빵을 통째로 다시 굽는 셈이다.
그러면 평평한 결과를 나중에 레이어로 쪼개면 되지 않나 싶다. 실제로 이미지 분해(decomposition) 연구들이 그 길을 택했다. 하지만 함정이 있다. 편집 모델은 그럴듯한 결과를 만드는 데만 집중하고 레이어 구조는 신경 쓰지 않으며, 분해 모델은 편집이 끝난 뒤에야 레이어를 복원하느라 요청한 편집 내용과 목표 레이어 구조를 함께 맞추지 못한다. 그래서 눈으로는 멀쩡한 편집도 레이어로 뜯어보면 요소가 빠지거나 잘못 묶여, 다시 쓰기 어렵다.
기존 시도는 크게 두 갈래였다. 한쪽은 Qwen-Image·FireRed-Image-Edit 같은 편집 모델 계열로, 지시를 잘 따르고 편집 충실도도 높지만 결과가 평평하다. 다른 한쪽은 LayerDiff·PSDiffusion·LaDe·UniWorld-Design 같은 레이어 생성·분해 계열과 Qwen-Image-Layered·LiWi 같은 분해 모델로, 텍스트나 공간 조건에서 레이어를 만들거나 완성된 이미지에서 요소를 복원한다. 하지만 "평평한 원본을 편집하면서 그 편집된 레이어 스택까지 함께 생성"하는 일은 어느 쪽도 정면으로 다루지 않았다는 게 이 논문의 자리매김이다. Agent Banana(Ye et al., 2026b)처럼 분해와 편집을 이어 붙인 워크플로도 있지만, 단계가 나뉜 한계는 같다.
LayerEditor는 편집과 레이어 생성을 애초에 한 문제로 묶는다.
첫 번째 장치의 원리는 "전체 그림과 각 레이어를 한 자리에서 함께 그린다"는 것이다. 편집된 캔버스와 순서가 매겨진 레이어들을 하나의 토큰 시퀀스에 나란히 놓고 동시에 생성한다. 이렇게 하면 각 출력이 서로의 정보를 참고하며 그려져, 편집 결과와 레이어 스택이 따로 놀지 않는다.
레이어 개수도 고정이 아니다. 사용자가 "6개 레이어로, 각 레이어에 이런 내용을 담아 달라"고 하면 그만큼의 RGB-Alpha 출력 쌍이 만들어진다. 논문 Figure 5는 6개 레이어에 텍스트 행과 새를 나눠 배치한 예를 보여준다. 투명도(Alpha)에는 따로 공을 들인다. 머리카락처럼 가는 구조나 반투명한 경계를 살리려면 색과는 다른 방식의 복원이 필요해, Alpha 전용 디코더를 따로 둔다.
기술 상자 — 토큰 구성 - 모든 출력 필드는 가우시안 노이즈에서 시작해 한 시퀀스 안에서 함께 디노이징된다. 편집 캔버스와 레이어 스택 사이의 의존 관계는 공유 어텐션(shared attention)이 포착한다. - 같은 캔버스 좌표를 공유하는 여러 필드를 구분하려고 레이어 인식 회전 좌표(layer-aware rotary coordinates)를 쓴다. 원본 이미지 토큰·편집 캔버스·각 레이어의 RGB/Alpha에 서로 다른 슬롯 좌표를 부여해 필드의 정체성과 쌓이는 순서를 담되, 공간적 대응은 그대로 보존한다. - Alpha 전용 디코더는 사전학습된 RGB 디코더에서 초기화하되 따로 학습해, 색 복원 능력은 보존하면서 투명도 복원만 전문화한다.
문제가 하나 있다. 사전학습된 편집 모델을 레이어까지 내놓도록 그냥 추가 학습(SFT)시키면, 원래의 편집 솜씨가 무뎌진다. 논문은 이 장치를 뺐을 때 성능 변화를 보는 실험(ablation, w/o C-EPD)에서 글자가 깨지고 구조가 틀어지며 주변 영역이 의도치 않게 바뀐다고 보고한다.
C-EPD(Compositional Edit-Prior Distillation)는 이 열화를 막는 증류(큰 원본 모델의 능력을 다른 모델로 옮겨 담는 학습) 전략이다. 원본 편집 모델을 그대로 얼려 "교사"로 두고, 레이어까지 배우는 "학생"이 실제로 지나가는 중간 상태에서 교사에게 묻는다. 학생이 걷는 길 위에서 바로 조언하는 가정교사인 셈이다.
핵심은 교사가 두 가지를 함께 본다는 데 있다. 하나는 학생이 직접 그린 편집 캔버스(Direct), 다른 하나는 학생이 예측한 레이어들을 실제로 합쳐 만든 이미지(Composite)다. 합친 결과까지 교사가 지도해야, 레이어를 합치는 과정에서 생기는 오류도 학습에 반영된다. 평평한 캔버스만 맞추면 "보기엔 멀쩡하지만 레이어로 뜯으면 어긋나는" 문제를 잡을 수 없기 때문이다.
같은 궤적 위에서 교사에게 묻는 방식 자체는 DiffusionOPD를 따른다. 다만 목적이 다르다. progressive distillation이나 consistency model은 샘플링 단계를 줄여 속도를 높이려는 것인데, 여기서는 단일 이미지 출력을 구조화된 레이어 출력으로 넓히면서 편집 능력을 지키는 데 증류를 쓴다.
기술 상자 — C-EPD 학습 - 학생은 현재 노이즈 상태와 예측 속도(predicted velocity)로 각 출력 필드의 국소적 깨끗한 잠재(local clean latent)를 추정하고, 얼린 디코더로 복원한 뒤 흰 배경에서 뒤에서 앞으로(back-to-front) 표준 source-over 방식으로 합성한다. - 교사는 같은 Direct 잠재와 원본 이미지, 편집 지시를 받아 목표를 예측한다. - 학습 목표 = Direct 속도를 교사와 맞추는 항 + 디코딩된 합성 이미지를 교사의 목표에 맞추는 항. 두 번째 항의 그래디언트는 학생 쪽 디코딩과 알파 합성을 거쳐 레이어 예측 가지까지 전파된다. - 전체는 사전학습된 MMDiT를 LoRA(rank-256, 모델 전체가 아니라 작은 가중치만 얹어 적응시키는 방식)로 학습한다. flow-matching(노이즈에서 목표로 가는 흐름을 맞추는 학습)으로 워밍업한 뒤, flow matching을 유지한 채 C-EPD 교사 지도를 더한 결합 목적함수로 학습한다.
학습·평가를 위해 저자들은 LayerEditor-100K 데이터셋을 직접 만들었다. Crello, PrismLayersPro, ScaleEdit에서 가져온 10만 개의 편집 쌍이며, 각 예시는 원본 이미지·편집 지시·편집 목표·순서가 매겨진 전체 캔버스 RGBA 스택을 담는다. Crello와 PrismLayersPro의 네이티브 디자인은 원래의 레이어 구조를 유지해 편집 쌍을 구성하고(Route A), 평평한 ScaleEdit 쌍은 계획·분해·정제·품질 필터링을 거쳐 목표 레이어를 얻는다(Route B). 구성은 텍스트 편집 48,329건, 사물 편집 36,858건, 포스터 수준 겉모습 편집 14,813건이다. 텍스트 작업은 이동·재색상·교체·번역을, 사물 작업은 추가·제거·이동·재색상·교체를 다룬다.
평가 벤치마크는 둘이다. 네이티브 디자인에서 뽑은 Crello-Testset(2,994건), 평평한 편집 쌍에서 목표 레이어를 복원한 ScaleEdit-Testset(1,000건). 둘 다 학습 데이터와 원본 문서·파생 변형까지 엄격히 분리했다.
지표가 무엇을 재는지 짚어두자. 저자들은 레이어 편집 성능을 주로 재합성 이미지(Composite)로 평가한다. 요청한 편집이 레이어를 다시 합쳐도 그대로 유지되어야 한다는 논리다. Direct(직접 생성한 캔버스)와 Composite의 SSIM(구조가 얼마나 비슷한지)·FID(생성 결과의 분포가 실제와 얼마나 가까운지)로 편집 목표와의 유사도를 보되, Direct는 보조 진단용이다. 레이어 수준에서는 RGBA L1(참조 레이어와의 픽셀 값 차이)과 Alpha IoU(참조 레이어의 투명도 영역과 얼마나 겹치는지)로 일치도를 본다. 여기에 VLM이 1~10점으로 채점하는 5차원 루브릭(편집 일관성, 시각 품질, 레이어 분할, 레이어 합성, Alpha 정확도)을 더한다.
비교 대상은 편집·분해 양쪽을 아우른다. ByteDance의 Seedream5-Pro를 공식 API로 두 설정(편집 뒤 분해를 잇는 Seq., 한 호출로 둘을 요청하는 Joint)에서 돌렸고, FireRed-Image-Edit-1.1(FR)에 Qwen-Image-Layered(QIL) 계열을 이어 붙인 캐스케이드, QIL-Decomp-FT, QIL-Edit-SFT, RevealLayer, 순수 분해용 LayerD까지 포함한다. LayerEditor 자신은 FireRed-Image-Edit-1.1에서 초기화됐다.
가장 설명력이 높은 질문부터 보자. 편집한 그림을 레이어로 분해했다가 다시 합치면, 정답 대비 품질이 얼마나 유지되는가? 직접 생성한 캔버스와 재합성한 이미지가 각각 정답에 얼마나 가까운지를 비교해 레이어를 거치며 생기는 손실을 읽는 것이 이 논문이 노린 효과의 핵심이다.
ScaleEdit-Testset에서 Seedream5-Pro(Seq.)는 Direct SSIM 0.8933, Composite SSIM 0.7901로, 재합성 출력의 정답 대비 SSIM이 직접 출력보다 약 11.6% 낮다. 편집은 잘했는데 레이어로 분해해 다시 합치는 과정에서 정답에서 멀어진다는 뜻이다. 반면 LayerEditor는 직접 출력 0.8925, 재합성 출력 0.8839로, 재합성 출력의 정답 대비 SSIM이 직접 출력보다 약 1.0% 낮은 데 그친다. 레이어로 분해했다 다시 합쳐도 정답 대비 품질 손실이 작다는 것이고, 편집과 레이어 생성을 한 문제로 묶었을 때 얻으려던 결과가 이 수치다.
나머지 결과는 아래 표로 압축한다. 각 묶음이 답하는 질문은 표 뒤에 남긴다.
| 묶음 | 지표 (벤치마크) | LayerEditor | 비교 기준선 |
|---|---|---|---|
| 편집 품질 | Composite SSIM (Crello) | 0.8351 | Seedream5-Pro(Joint) 대비 +5.7% |
| Composite FID (Crello) | 33.86 | Seedream5-Pro(Joint) 대비 −38.8% | |
| Composite SSIM (ScaleEdit) | 0.8839 | Seedream5-Pro(Joint) 0.8365 | |
| VLM 루브릭 5차원 평균 (Crello) | 6.00 | Seedream5-Pro(Joint) 4.50 | |
| 레이어 품질 | Alpha IoU (Crello) | 0.6074 | — |
| Alpha IoU (ScaleEdit) | 0.6802 | Seedream5-Pro(Joint) 0.6583 | |
| 개수 제어 | Alpha IoU (Table 2, 3,994건) | 0.6196 | Seedream5-Pro(Joint) +0.0493 |
| 의미적 그룹핑 | 6.88 | Seedream5-Pro(Joint) +0.97 | |
| 분해 전이 (I2L) | Composite SSIM | 0.8761 | QIL 0.7963 |
| Alpha IoU | 0.6343 | — | |
| 레이어 의미 점수 | 6.39 | QIL·QIL-Decomp-FT 상회 |
편집 품질이 답하는 질문은 "레이어를 붙이느라 편집 자체가 나빠지지 않았나"다. 루브릭 평균 6.00 대 4.50에서 특히 레이어 분할 점수는 Seedream5-Pro(Joint)보다 1.61점, 레이어 합성 점수는 FR+QIL-Decomp-FT보다 1.29점 높다. 개수 제어는 "같은 편집을 사용자가 원하는 레이어 입도로 다시 조직할 수 있나"를 본다. 이때 샘플당 관측 지연은 41.5초로 표에서 가장 낮았지만, 이 값의 단서는 아래 한계에서 함께 읽어야 한다. 분해 전이(I2L)는 "편집용으로 학습한 모델이 순수 분해에도 쓸모 있나"를 묻는다. LayerEditor는 I2L 전용 미세조정 없이, 원본 Crello 테스트 분할에서 만든 held-out 1,171장 벤치마크에서 Composite SSIM 0.8761로 QIL의 0.7963을 앞섰다. 편집과 레이어 생성을 한 시퀀스에서 함께 학습한 구조가 분해 능력까지 품게 됐다는 신호다.
이 글의 중심 질문은 하나다. 합친 그림이 좋아도, 개별 레이어 하나하나가 정말 다시 쓰기 좋은가?
논문이 인정한 것부터. C-EPD 없이 레이어 SFT만 하면 글자 깨짐·구조 왜곡·주변 영역 변경이 생긴다. 바꿔 말하면 이 프레임워크의 편집 품질은 C-EPD에 상당히 기댄다. 또 합성 과정의 국소적 깨끗한 잠재 추정이 정확한 값이 아니라 "근사(approximation)"라고 명시한다.
아직 확인되지 않은 것. 중심 지표인 Composite SSIM/FID는 "목표 이미지를 얼마나 닮았나"를 재지, 특정 레이어를 숨기거나 옮기거나 키웠을 때도 그림이 쓸 만한지는 직접 재지 않는다. 즉 "합친 결과가 좋다"와 "레이어 하나하나가 재사용하기 좋다"는 다른 질문인데, 논문의 평가는 주로 앞쪽을 본다. 한 레이어만 가리거나 이동·확대했을 때 나머지가 흐트러지지 않는지는 후속 검증이 필요하다.
평가 조건의 단서. 레이어 분할이 디자이너 의도대로 나뉘었는지는 루브릭이 보강하지만, VLM 채점이라 채점 모델의 편향이 섞일 여지가 있다. 비교 상당수는 Seedream5-Pro의 공식 API 결과인데, API 모델은 내부 사정으로 결과가 달라질 수 있어 완전히 동일 조건의 비교는 아니다. 실제로 플랫폼 제약으로 Crello-Testset 5건에서 쓸 만한 출력을 못 냈고, 해당 지표는 그 케이스를 빼고 계산했다. 표의 지연 시간(Time)도 "통제된 하드웨어 없이 관측한 샘플당 지연"이라 절대 속도 비교로 읽으면 안 된다.
데이터셋의 상한선. ScaleEdit 쪽 목표 레이어는 계획·분해·정제·필터링을 거쳐 만든 것이라, 결국 다른 분해 과정이 만든 "정답"을 학습·평가 기준으로 삼는다. 이 정답 자체의 품질이 상한선이 된다.
온틀이 이 기술을 실제 소재 제작에 들일지 판단한다면, 벤치마크 수치가 아니라 다음 세 가지를 우리 소재로 직접 잴 것이다.
AI PM의 역할은 그래서 남는다. 바뀌는 건 판단의 단위가 "이미지 한 장"에서 "레이어 묶음"으로 내려간다는 점이다.
도입을 검토한다면 아래를 직접 수행하라.
요소별 독립 수정이 가능해진다. "할인율 숫자만 키워 달라"는 요청에는 숫자 레이어만 교체하면 되고, 배경·제품 사진 레이어는 그대로 둔다. 이미지 한 장을 통째로 다시 생성할 때와 달리 손대지 않은 영역이 흔들릴 여지가 줄어든다. 다만 레이어가 실제로 그렇게 깔끔히 나뉘었는지는 받아본 뒤 확인해야 한다.