모델은 텍스트와 구조적 reasoning을 autoregressive 방식으로 예측하고 이미지 latent를 flow matching으로 학습하는 mixture-of-transformers multimodal architecture를 사용합니다. 입력 sequence에는 reference image, prompt, identity selection, ID loading, layout planning, rendered layout condition, recaption, identity prediction, target image가 이 순서로 interleave됩니다. 따라서 understanding 단계에서 결정한 신원과 layout hidden state가 뒤따르는 이미지 token의 causal context로 전달됩니다.
ID Representation Forcing는 각 선택 인물마다 representation token을 두고, 앞선 prompt, visual reference, ID token, layout reasoning으로부터 hidden state hirep를 계산합니다. 출력 projector gout은 이를 ArcFace 공간의 예측 embedding e^i=gout(hirep)로 변환하며, 목표 embedding eitgt와 cosine 정렬을 계산합니다. 예를 들어 cosine similarity가 0.9이면 해당 항의 손실은 1−0.9=0.1이고, similarity가 0.5이면 손실은 0.5가 되어 후자의 신원 표현을 더 강하게 수정합니다. Figure 9의 layer 24 사례에서 대응 ID token에 대한 diagonal attention은 0.378에서 0.574, 비대응 identity에 대한 attention은 0.104에서 0.121로 나타나 identity-specificity gap은 +0.275에서 +0.467이었습니다.
Layout CoT의 좌표 vocabulary는 각 축의 1,001개 위치를 표현하는 2,002개 token으로 구성됩니다. 모델은 먼저 인물 번호와 identity-layout binding을 결정하고, 이어 얼굴 영역, body extent, pose keypoint를 앞선 선택에 조건화해 출력합니다. renderer는 이 구조를 target aspect ratio의 blank canvas 위에 사각형과 skeleton으로 그려 이미지 조건을 만들며, Plan IoU는 생성 이미지의 person layout이 모델 자체 계획과 얼마나 겹치는지 측정합니다.
LG-ID Loss에서 noisy latent xt와 모델의 reverse-flow velocity vθ(xt,t)가 주어지면 한 단계 깨끗한 이미지 추정값은 x^clean=xt−tvθ(xt,t)로 계산됩니다. xt는 현재 timestep의 noisy latent이고 t는 noise timestep, vθ는 모델이 예측한 이동 속도이며, 이 연산은 현재 latent에서 예측 속도에 timestep을 곱한 값을 빼서 clean-image estimate를 출력합니다. 예를 들어 t=0.2이고 velocity 성분이 3이면 해당 성분은 xt−0.6으로 이동하며, 이후 annotation 영역 crop이 ArcFace 입력으로 사용됩니다. 얼굴이 인식되기 어려운 높은 noise 구간에서는 손실을 적용하지 않아 무의미한 face matching을 피합니다.
전체 손실은 NTP, flow matching, representation forcing, layout-grounded identity supervision의 합으로 구성됩니다. Connector text, layout token, summary, recaption은 NTP로 학습하고 target-image latent는 flow matching으로 학습하며 identity prediction은 cosine alignment로 학습합니다. 학습 계수는 λFM=1.0, λRF=1.0, λID=0.5이고, 추론 시 target identity embedding은 조건으로 넣지 않고 Representation Forcing의 학습 target으로만 사용합니다.