인공지능 29

GPT-2의 자동회귀 학습 상세 설명

GPT-2(Generative Pre-trained Transformer 2)는 이름에서 알 수 있듯이 Transformer 아키텍처를 기반으로 한 생성형(Generative) 모델입니다. GPT-2의 핵심 동작 원리는 자동회귀(Autoregressive)입니다. 이 문서에서는 자동회귀의 개념이 무엇인지, 그리고 GPT-2가 학습 과정에서 이 원리를 어떻게 구현하는지, 특히 '룩-어헤드 마스크'의 역할을 중심으로 자세히 설명합니다.1. 자동회귀 (Autoregressive) 란?자동회귀(AR)는 간단히 말해 "자기 자신(Auto)을 입력으로 참조하여 다음 결과를 예측(Regressive)하는" 방식입니다. 언어 모델의 맥락에서 이는 다음에 올 단어를 예측하기 위해 이전에 생성된 모든 단어들을 입력으로 사..

BERT의 마스크드 언어 모델 상세 설명

BERT (Bidirectional Encoder Representations from Transformers)의 핵심 혁신 중 하나가 바로 이 '마스크드 언어 모델(Masked Language Model, MLM)'입니다. 이 개념이 왜 중요하고 어떻게 작동하는지 자세히 설명합니다.1. MLM이란 무엇이며 왜 필요한가?전통적인 언어 모델(예: GPT-1)은 문장을 왼쪽에서 오른쪽으로 순차적으로 처리하며 다음 단어를 예측하는 방식으로 학습되었습니다."나는 학교에 [?]" -> 모델이 "가서"를 예측이 방식은 문맥을 한쪽 방향(왼쪽)으로만 학습한다는 한계가 있습니다. 반면, BERT는 "깊은 양방향성(deep bidirectionality)"을 구현하고자 했습니다. 즉, 문장 내 모든 단어가 자신의 왼쪽과..

TR-04. 멀티-헤드 인코더-디코더 어텐션(Multi-head Encoder-Decoder Attention)

멀티-헤드 인코더-디코더 어텐션은 트랜스포머 디코더의 "두 번째 어텐션 층"에 위치하며, 디코더가 출력 단어를 생성할 때 인코더의 입력 문장 전체를 참고할 수 있게 해주는 핵심 다리 역할을 합니다. 이는 "크로스-어텐션(Cross-Attention)"이라고도 불립니다. 앞서 설명한 '셀프 어텐션'은 문장 내부의 관계를 파악하는 것이 목적이었다면, 이 '인코더-디코더 어텐션'은 서로 다른 두 문장(입력 문장과 출력 문장) 간의 관계를 파악하는 것이 목적입니다.핵심 차이점: Q, K, V의 출처가장 큰 차이점은 Query(Q), Key(K), Value(V)를 가져오는 위치입니다.Query (Q): 디코더의 이전 층(Masked Self-Attention 층)에서 옵니다. 의미: "내가 지금 번역/생성하려는..

DistilBERT + KorQuAD MLM 훈련 소요 시간 비교 (RTX 4090, T4, A100)

개요BERT 계열 언어 모델 중 하나인 DistilBERT(논문)로 미세 조정 훈련을 수행할 때 NVIDIA GPU 모델에 따라 훈련에 걸리는 시간이 어떻게 달라지는지 궁금했습니다. 실험에 사용한 모델과 데이터셋은 다음과 같습니다.기본 모델: distilbert-base-multilingual-cased데이터셋: KorQuAD 1.0미세 조정 훈련은 아래의 작업을 목표로 하였습니다.Masked Language Model (MLM) (참고: Fine-tuning a masked language model)GPU 모델 사양훈련 소요 시간 비교를 위해 사용한 NVIDIA GPU 모델은 아래 표와 같습니다.GPU 모델RTX 4090T4A100 (40GB 기준)CUDA 코어 수16,384개2,560개6,912개T..

허깅 페이스 Transformers에서 DistilBERT 기반 작업 클래스들

허깅 페이스의 Transformers 라이브러리는 DistilBERT 모델을 기반으로 구체적인 작업을 수행하도록 구현한 클래스들을 제공합니다. 이 문서에서는 이들의 작업 유형, 출력층, 그리고 손실함수들을 표로 정리하였습니다.작업 구현 클래스1. DistilBertForMaskedLM작업 유형출력층손실함수빈 칸의 단어 맞추기vocab_transformactivationvocab_layer_normvocab_projectornn.CrossEntropyLoss2. DistilBertForSequenceClassification작업 유형출력층손실함수점수 매기기 (예: 호감도)pre_classiferdropoutclassifenn.MSELoss한 개의 라벨 할당 (예: 감정 분석)pre_classiferdrop..

BERT, GPT-2, XLNet 학습 방식 비교: 양방향, 단방향, 순열

주요 언어 모델 특징 비교: BERT, GPT-2, XLNet이 세 모델은 현대 자연어 처리(NLP) 분야에 혁명을 일으킨 대표적인 언어 모델들입니다. 모두 트랜스포머(Transformer)라는 강력한 아키텍처를 공유하지만, 마치 각기 다른 철학을 가진 라이벌처럼 언어를 학습하는 방식에서 뚜렷한 차이를 보입니다. 이 차이점을 이해하는 것은 NLP 기술을 올바르게 활용하는 데 매우 중요합니다.1. BERT (Bidirectional Encoder Representations from Transformers)BERT는 문장의 양쪽 문맥을 동시에 고려하여 단어의 의미를 파악하는 양방향(Bidirectional) 모델입니다. 이는 마치 우리가 문장을 읽을 때 특정 단어의 의미를 파악하기 위해 앞뒤 단어를 모두 ..

TR-03. 멀티-헤드 마스크드 셀프 어텐션(Multi-head Masked Self Attention)

멀티-헤드 마스크드 셀프 어텐션은 트랜스포머 디코더의 첫 번째 하위 계층에서 사용되는 메커니즘입니다. 핵심 기능은 문장을 생성할 때, 모델이 "미래의" 정답 단어를 미리 훔쳐보지 못하도록(cheating) 방지하는 것입니다.1. 왜 "Masked"가 필요한가?트랜스포머의 디코더는 자기회귀적(Autoregressive) 방식으로 작동합니다. 즉, 한 단어씩 순차적으로 문장을 생성합니다.예: "나는" $\rightarrow$ (다음 단어 예측) $\rightarrow$ "학생" $\rightarrow$ (다음 단어 예측) $\rightarrow$ "이다""학생"이라는 단어를 예측해야 하는 시점(Time Step 2)에서, 모델이 정답인 "학생"이나 그 뒤에 올 "이다"라는 정보를 미리 본다면, 그건 예측이 ..

TR-02. 멀티-헤드 셀프 어텐션(Multi-head Self Attention)

멀티-헤드 어텐션은 트랜스포머의 핵심 부품으로, "여러 개의 다른 관점에서" 문장을 동시에 바라보는 메커니즘입니다. '어텐션 헤드' 하나가 스케일드 닷-프로덕트 어텐션 계산기 한 세트라고 생각하시면 됩니다. 멀티-헤드는 이 계산기를 여러 개(예: 8개) 복제하여 병렬로 실행하는 방식입니다.왜 '멀티-헤드'가 필요한가?'싱글-헤드' 어텐션(어텐션을 한 번만 계산)은 문장 내 단어 간의 한 가지 종류의 관계만 학습하는 경향이 있습니다. 예를 들어, "그녀는 강아지에게 밥을 주었다"라는 문장에서 어텐션이 '주어-동사' 관계(그녀는-주었다)에만 집중하도록 학습될 수 있습니다. 하지만 문장에는 다양한 관계가 존재합니다.주어-동사 관계 (그녀는 - 주었다)동사-목적어 관계 (주었다 - 밥을)수식 관계 (강아지 - ..

TR-01. 어텐션(Attention) 함수

트랜스포머의 어텐션(Attention) 함수는 문장이나 데이터 시퀀스 내의 여러 요소(예: 단어) 중 "지금 이 순간 어떤 요소에 집중(attention)해야 하는지"를 계산하는 메커니즘입니다.간단히 말해, 특정 단어를 처리할 때 문장 내의 다른 모든 단어와의 연관성 점수(relevance score)를 계산하고, 이 점수를 가중치로 사용하여 문맥을 파악하는 방식입니다.트랜스포머에서 사용하는 어텐션의 핵심은 "스케일드 닷-프로덕트 어텐션 (Scaled Dot-Product Attention)"입니다.스케일드 닷-프로덕트 어텐션의 3가지 핵심 요소어텐션 함수는 3가지 주요 벡터(혹은 행렬)를 입력으로 받습니다.Query (Q): 현재 처리 중인 요소(단어)를 나타냅니다. "내가 지금 찾고 싶은 것" 또는 ..