언어 모델의 근본인 트랜스포머 구조, 이미지 생성 AI(Diffusion Model)의 원리, 그리고 최신 모델인 DiT까지 학습한 내용을 정리한다. 학습 과정에서 파악한 핵심 원리를 세 가지 주제로 구분하여 기록한다.
1. 언어 모델의 근본, 트랜스포머(Transformer) 구조 분석
2017년 논문 "Attention Is All You Need"가 발표된 이후, 트랜스포머는 기계 번역뿐만 아니라 GPT 같은 언어 모델, STT/TTS, TTI(텍스트-이미지) 등 다양한 AI 모델의 기본 구조로 활용되고 있다.
트랜스포머의 동작 원리와 구성 요소

- 입력과 출력의 구성:
- 입력 데이터(텍스트, 이미지, 음성 등)는 1차원 또는 2차원 텐서 형태로 주입된다.
- 입력은 여러 층을 통과하여 최종적으로 다음에 올 내용에 대한 확률 분포 형태의 출력을 생성한다. 긴 문장의 생성은 이 분포에서 단어(토큰)를 반복적으로 샘플링하여 이루어진다.
- ML 학습은 입력-출력 쌍(I-O 쌍)을 기반으로, 모델 내 파라미터를 조절하여 입출력 간의 함수()를 추정하는 과정이다. 모델 내부 계산은 대부분 행렬-벡터 곱으로 구성된다.
- 트랜스포머 이전에 사용되던 닷 프로덕트(Dot Product), 소프트맥스(Softmax) 같은 기본 개념들이 이 복잡한 모델의 밑바탕을 이룬다. MLP(Multi-Layer Perceptrons) 블록이 중간에 삽입되어 비선형성을 부여한다.
- 벡터 임베딩과 의미 공간:
- GPT는 약 5만 개(50k)의 단어에 대응하는 임베딩 매트릭스를 보유한다.
- 모델 학습이 진행되면 유사한 의미의 단어들은 임베딩 공간에서 비슷한 방향성을 가지도록 수렴한다.
- 예를 들어, 초기 임베딩은 의미와 위치만을 담지만, '타워' 벡터가 '에펠'이나 '미니어처'와 결합될 때 그 벡터값이 변한다. 모든 벡터는 네트워크와 여러 어텐션 블록을 통과하면서 문맥 정보를 포함하는 고차원 벡터로 업데이트된다.
- 어텐션 메커니즘:
- 셀프 어텐션(Self-Attention): 문장 내 단어들이 서로의 중요도를 파악한다. 예컨대 "마이클 조던은 농구를 한다"는 정보는 모델 파라미터 내에 인코딩되어 있으며, 어텐션 메커니즘을 통해 이 문맥 정보가 활용된다. 성(조던)과 이름(마이클)의 조합 인코딩 역시 벡터에 정보를 추가(add on to vector)하는 방식이다.
- 크로스 어텐션(Cross-Attention): 번역과 같이 인코더와 디코더가 서로 다른 정보(소스 언어 vs 타겟 언어)를 참고할 때 사용된다.
- 멀티 헤드(Multi-Head) 병렬 실행: 어텐션 블록 내의 여러 헤드들이 병렬적으로 실행되어 다양한 관점에서 문맥 정보를 파악하고 최종 벡터를 생성한다.
📝 결론: 트랜스포머는 어텐션과 MLP를 결합하여 입출력 간의 함수를 효율적으로 추정하는 구조이다.
2. 이미지 AI의 핵심 원리: CLIP과 디퓨전 모델
Text-to-Image AI를 가능하게 한 CLIP과 디퓨전 모델의 근본 원리를 분석한다.

High-Resolution Image Synthesis with Latent Diffusion Models 논문 참고
(1) 이미지-텍스트 임베딩: CLIP (Contrastive Language–Image Pre-training)
CLIP의 목표는 이미지 벡터와 캡션(텍스트) 벡터를 동일한 임베딩 공간에 배치하는 것이다.
- 대비 학습(Contrastive Learning) 방식:
- 학습은 일치하는 이미지-캡션 쌍의 유사성은 높이고, 배치 내의 일치하지 않는 모든 쌍 사이의 유사성은 낮추는 방향으로 진행된다.
- 유사도 행렬의 주대각성분 값은 높이고, 나머지 성분 값은 낮추는 방식으로 학습이 진행된다.
- 임베딩 공간의 벡터 연산:
- 학습된 임베딩 공간에서 벡터 연산이 가능하다. 예를 들어, (모자 쓴 모습) - (모자 안 쓴 모습) 을 벡터로 계산했을 때, 그 결과 벡터는 '모자', '캡', '헬멧' 같은 속성과 가장 높은 유사도를 가진다. 이는 임베딩 공간의 벡터 거리가 모자의 유무와 같은 속성을 나타낼 수 있음을 의미한다.
(2) 노이즈 역추적: 디퓨전 모델 (Diffusion Model)
디퓨전 모델은 깨끗한 초기 이미지()를 얻기 위해 노이즈()를 예측하도록 훈련하는 순차적 디노이징(Sequential Denoising) 기반의 생성 모델이다.
- 생성 원리: 역 나선형 운동 학습:
- 순방향 과정에서는 깨끗한 이미지 에 노이즈()를 점진적으로 추가하는 브라운 운동과 유사한 과정이 발생한다.
- 디퓨전 모델은 이 역방향 과정(역 나선형 운동)을 학습한다. 학습 목표는 주어진 노이즈 이미지에서 원본 이미지에 추가된 총 노이즈를 예측하는 것이다.
- 효율적인 학습: 직접 예측:
- 기존에는 한 단계 전 좌표()를 예측하려 했으나, 현재는 최초 좌표()를 직접 예측하는 방식이 더 효율적이다. 이 방식은 모델이 원래 데이터 분포를 가리키는 방향으로 수렴하게 유도한다.
- 분류기 없는 안내(CFG, Classifier-Free Guidance):
- 특정 프롬프트()를 조건으로 주면, 모델은 해당 이미지()를 향해 나선형으로 수렴하며 이동한다. 그러나 텍스트 조건이 없는 경우와 혼동되는 문제가 발생할 수 있다.
- 이때 분류기 없는 안내를 사용하여 유도 방향을 명확히 한다.
- 조건부 벡터와 비조건부 벡터의 차이를 계산하여 프롬프트가 지향하는 순수한 방향을 얻고, 여기에 스케일 계수 를 곱하여 디퓨전 프로세스를 조정한다. 네거티브 프롬프트 사용 시에도 이 원리를 활용하여 디퓨전 프로세스를 조정한다.
3. 이미지 생성 AI의 새로운 패러다임, DiT (Diffusion Transformer)
DiT는 디퓨전 모델의 기존 U-Net 구조 대신 트랜스포머 구조를 채택하여 이미지 생성 성능을 향상시킨 모델이다.

Scalable Diffusion Models with Transformers 논문 참고
DiT의 구조적 특징: "인코더 온리" 및 목표 차이
구분언어 모델 트랜스포머DiT (Diffusion Transformer)
| 주요 구조 | 인코더 & 디코더 | 인코더 온리 (디코더 없음) |
| 생성 목표 | 맨 마지막 토큰 예측 (순차적) | 전체 출력 (혼합에 쓰인 노이즈 예측) |
| Masking | Causal Masking 필요 (미래 단어 배제) | Causal Masking 불필요 |
- 입출력 Shape: DiT의 입력과 출력은 노이즈 걷어내기가 목표이므로 [Batch, dataShape] 형태로 동일한 쉐이프를 가진다.
- 인코더 온리: 출력 전체를 사용하며 순차적 예측이 아니므로, 뒷단어 가리기(Causal Masking)가 필요 없는 인코더 온리 구조로 충분하다.
DiT의 핵심 요소: 타임/컨디셔닝 주입 기법
DiT의 구조적 안정성과 성능 향상에는 타임 임베딩과 adaLN-Zero 기법이 결정적으로 작용했다.
1. 타임 임베딩 (Time Embedding)
- 역할: 순차적 디노이징 과정에서 현재 시간 단계() 정보를 모델에 주입한다. (: 완전 노이즈, : 디노이징 완료)
- 원리: 노이즈 예측 시 이 시간 임베딩 정보를 모델에 반영하여, 현재 상태()에 맞춰 노이즈()를 정확하게 예측하도록 유도한다.
2. 컨디셔닝 (Conditioning) & adaLN-Zero
- 컨디셔닝 역할: 생성하고자 하는 이미지의 텍스트 정보("vegiterian cat" 등)를 모델에 반영한다.
- 주요 방법 - adaLN (Adaptive Layer Norm):
- Layer Normalization(LN) 후 스케일()과 시프트()를 조정할 때, 이 파라미터에 컨디션 정보(텍스트/클래스 임베딩)를 반영하여 정규화된 값을 적응적(Adaptive)으로 조절한다.

- adaLN-Zero와 0-Initialization:
- DiT의 성능 핵심인 adaLN-Zero는 셀프 어텐션 직후에 곱해주는 스케일 인자 를 0으로 초기화하는 기법을 사용한다.
- 0 초기화의 효과: 초기 상태에서는 셀프 어텐션 블록의 출력이 무시되고 입력이 그대로 출력으로 돌아가는 아이덴티티 리턴(Identity Return) 상태가 된다. 이는 학습 초기에 모델이 안정적인 아이덴티티 매핑을 유지할 수 있도록 유도하여, 학습 효율과 안정성을 높인다.
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 2기 (B-log) 리뷰로 작성 되었습니다.
'한컴AI 2기' 카테고리의 다른 글
| [스나이퍼팩토리] 한컴AI 2기 - OWPML 프로젝트 0주차 (0) | 2025.10.27 |
|---|---|
| [스나이퍼팩토리] 한컴AI 2기 -GAN으로 숫자 손글씨 이미지 생성하기 (0) | 2025.10.19 |
| [스나이퍼팩토리] 한컴AI 2기 - Fast API Security : Authorize 및 OAuth2PasswordBearer (0) | 2025.09.26 |
| [스나이퍼팩토리] 한컴AI 2기 - Python 데이터 집계와 그룹 연산 (1) | 2025.09.19 |
| [스나이퍼팩토리] 한컴AI 2기 - Python에서 JSON데이터 다루기 w/ Pandas (0) | 2025.09.17 |