Diffusion Language Models
반복적인 노이즈 제거(denoising)를 통해 확산 언어 모델(diffusion language models)이 텍스트를 생성하고 편집하는 원리를 트랜스포머(transformers), 애플리케이션, 장점, 한계점에 대한 통찰과 함께 알아보세요.
디퓨전 언어 모델(Diffusion language models)은 각 토큰을 엄격하게 왼쪽에서 오른쪽으로 생성하는 방식 대신, 반복적인 디노이징(denoising)을 통해 텍스트를 생성하거나 편집하는 생성 모델입니다. 이 모델들은 마스킹되거나 대체되었거나 불확실한 토큰을 종종 포함하는 손상된 시퀀스로 시작하여, 텍스트가 일관성을 갖출 때까지 여러 위치를 반복적으로 정제합니다. 이 접근 방식은 언어 모델링과 디퓨전 모델의 아이디어를 결합하여 기존의 다음 토큰 생성 방식에 대한 대안을 제시합니다.
Link to this section디퓨전 언어 모델의 작동 원리#
텍스트는 먼저 토큰화를 통해 단어, 하위 단어, 문자 또는 기타 개별 단위로 분할됩니다. 학습 과정에서 순방향 손상 프로세스는 토큰 시퀀스에서 정보를 점진적으로 제거합니다. 구현 방식에 따라 토큰이 마스크 기호, 샘플링된 대체 항목, 또는 임베딩이라고 불리는 노이가 있는 연속 표현으로 대체될 수 있습니다.
모델은 손상된 시퀀스의 더 깨끗한 버전을 예측하는 역방향 프로세스를 학습합니다. 추론 시점에는 크게 마스킹되거나 노이가 있는 블록으로 시작하여 여러 번의 정제 단계를 거칩니다. 초기 단계에서는 광범위한 의미와 구조를 확립하고, 후속 단계에서는 어휘, 문법, 서식 및 로컬 일관성을 수정합니다.
많은 디퓨전 언어 모델은 시퀀스를 처리하기 위해 transformer를 사용합니다. Transformer는 어텐션 메커니즘을 통해 모든 토큰을 주변 컨텍스트와 연관시킬 수 있기 때문에 이 작업에 매우 적합합니다. PyTorch Transformer documentation은 이러한 기본 아키텍처에 대한 유용한 개요를 제공합니다.
고정된 빈칸 채우기 시스템과 달리, 디퓨전 생성은 예측을 반복적으로 재검토할 수 있습니다. 한 단계에서 선택된 토큰이 반드시 영구적인 것은 아니며, 시퀀스의 나머지 부분이 더 나중의 컨텍스트를 제공할 때 이후 반복에서 수정될 수 있습니다. Google DeepMind의 overview of text diffusion은 이러한 블록 수준의 반복적 생성 패턴을 보여줍니다.
Link to this section디퓨전 모델 대 관련 개념#
긴밀하게 연관된 여러 용어는 서로 다른 목표나 아키텍처를 설명합니다.
- **Autoregressive large language models**은 각 예측이 이전 출력을 조건으로 하여 시퀀스 내에서 토큰을 생성합니다. 이러한 인과적 프로세스는 TensorFlow의 autoregressive text generation tutorial에서 시연됩니다. 대신 디퓨전 모델은 각 정제 단계에서 많은 위치를 업데이트할 수 있습니다.
- Masked language models는 양쪽의 컨텍스트를 사용하여 의도적으로 숨겨진 토큰을 예측합니다. Keras masked language modeling example은 이 학습 목표를 보여줍니다. 디퓨전 언어 모델은 이 아이디어를 여러 손상 수준과 디노이징 반복을 거치는 완전한 생성 프로세스로 확장합니다.
- **Stable Diffusion**은 대형 언어 모델이 아니라 이미지 생성 시스템입니다. Stability AI의 Stable Diffusion image services는 시각적 콘텐츠를 생성하고 편집하는 반면, 디퓨전 언어 모델은 텍스트 토큰 또는 그 표현을 대상으로 작동합니다.
- **Diffusion Transformers**는 주로 이미지나 비디오 생성을 위해 디퓨전 시스템 내에서 transformer를 사용하는 것을 설명합니다. 디퓨전 언어 모델은 신경망 아키텍처만으로 정의되는 것이 아니라 텍스트 생성 목표에 의해 정의됩니다.
Link to this section실제 애플리케이션 사례#
한 가지 구체적인 응용 분야는 문서 및 코드 편집입니다. 커서 뒤에 텍스트를 추가하는 대신, 디퓨전 언어 모델은 전체 초안이나 선택한 범위를 정제할 수 있습니다. 예를 들어, 블록 전체의 변수 이름, 임포트, 주석을 수정하는 동시에 누락된 함수를 재구성할 수 있습니다. 한 위치의 수정 사항이 다른 위치에 영향을 미칠 때 이전 컨텍스트와 이후 컨텍스트를 모두 사용할 수 있는 기능은 유용합니다.
두 번째 응용 분야는 **다중 모달 분석(multimodal analysis)**입니다. 비전 시스템은 이미지에서 사실 정보를 추출할 수 있으며, 그 후 디퓨전 언어 모델은 이러한 관찰을 바탕으로 보고서, 캡션 또는 응답을 반복적으로 작성할 수 있습니다. 예를 들어, object detection은 언어 구성 요소가 인명 사고 요약을 작성하기 전에 교통 장면에 있는 차량과 사람을 식별할 수 있습니다.
다음 워크플로에서는 Ultralytics YOLO26을 사용하여 다운스트림 언어 생성을 위한 구조화된 시각적 컨텍스트를 만듭니다:
from ultralytics import YOLO
# Run object detection on a sample image
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]
# Convert detections into compact language-model context
detections = result.summary()
object_names = sorted({item["name"] for item in detections})
visual_context = ", ".join(object_names)
print(visual_context)YOLO prediction workflow는 구조화된 출력을 반환하며, Results.summary() method는 감지 결과를 언어 파이프라인에 전달하기 더 쉬운 딕셔너리로 변환합니다. 이러한 분리를 통해 비전 모델은 기반이 되는 관찰을 제공하고, 언어 모델은 반복적인 구성을 처리할 수 있습니다.
Link to this section장점, 한계 및 실무 지침#
디퓨전 언어 모델은 여러 토큰을 병렬로 제안하고, 이전 선택을 수정하며, 인필링(infilling) 또는 제약된 편집을 자연스럽게 지원할 수 있습니다. 그러나 병렬 예측이 더 낮은 엔드투엔드 지연 시간을 보장하는 것은 아닙니다. 생성에는 여전히 여러 디노이징 단계가 필요하며, 속도는 시퀀스 길이, 모델 크기, 하드웨어 및 샘플링 전략에 따라 달라집니다.
또한 텍스트는 개별(discrete) 단위이므로, 연속적인 이미지 픽셀에 노이즈를 추가하는 것보다 점진적인 손상이 덜 자연스럽습니다. 잘못 구성된 시스템은 반복을 유발하거나, 필수 세부 정보를 누락하거나, 올바른 텍스트를 불필요하게 변경하거나, 출력 길이를 결정하는 데 어려움을 겪을 수 있습니다.
팀은 대표적인 프롬프트에서 작업 정확도, 사실성, 편집 안정성, 지연 시간 및 리소스 사용량을 평가해야 합니다. Google Cloud guidance on generative AI evaluation은 언어 품질이 컨텍스트에 따라 다르므로 자동화된 메트릭과 사람의 평가를 결합할 것을 권장합니다. 영향력이 큰 배포의 경우 NIST AI Risk Management Framework와 같은 구조화된 프로세스를 따라야 합니다.
시각적 응용 분야의 경우 Ultralytics Platform은 데이터셋 주석, 모델 학습, 배포 및 모니터링을 지원하여 팀이 다운스트림 디퓨전 기반 언어 워크플로의 기반이 될 수 있는 인식 컴포넌트를 구축하도록 돕습니다.






