[LLM] 코절 어텐션과 멀티헤드 어텐션
Tech/LLM2026. 1. 2. 19:19[LLM] 코절 어텐션과 멀티헤드 어텐션

어텐션 메커니즘의 기본 원리모든 토큰은 Query, Key, Value 3가지 벡터를 생성하여 자신을 표현한다. 쿼리 벡터는 다른 모든 토큰의 키 벡터와 비교되어 어텐션 점수를 계산하고, 이 점수는 각 토큰의 값 벡터에 얼마나 주목할지를 결정하는 가중치가 된다. 문장 내 모든 토큰은 각자 다른 모든 토큰과의 관계를 계산한다. 입력 토큰이 N개이면, 각 토큰이 어텐션 점수를 게산하므로, N x N 크기의 어텐션 점수 행렬이 만들어진다. 언어 모델의 목표는 주어진 단어들을 바탕으로 다음 단어를 예측하는데 있다.(모델이 예측해야 할 단어를 미리 볼 수 있다면, 학습이 제대로 이루어지지 않음)때문에, 이 문제를 해결하기 위해 마스크를 적용하여, 현재 토큰 위치 이후에 오는 모든 토큰들의 어텐션 점수를 강제로 0..

[LLM] 어텐션 메커니즘의 탄생
Tech/LLM2026. 1. 2. 17:15[LLM] 어텐션 메커니즘의 탄생

기존의 번역 방식: RNN 기반 인코더-디코더 모델인코더는 입력 문장을 단어(토큰)을 순서대로 읽어 지금까지의 정보를 담은 은닉 상태를 갱신한다. 그리고 입력 문장의 마지막 단어까지 처리하고 만들어진 최종 은닉 상태가 문장 전체 의미를 압축한 문맥 벡터(Context Vector)라고 한다.디코더는 압축된 의미(문맥 벡터)를 바탕으로 출력 문장을 한 단어씩 생성한다. 모든 의미를 담기에 너무 작은 문맥 벡터인코더-디코더 모델의 단점은 입력 문장의 길이와 관련없이 모든 정보를 고정된 크기의 벡터 하나에 담아야 한다는 것이다.때문에, 문장이 길어질 수록 의미가 손실되는 문맥 병목(Context Bottleneck) 현상이 발생한다. 이러한 문제를 해결하기 위해, 인코더가 처리했던 모든 시점의 은닉 상태를 전..

[LLM] Transformer는 단어의 순서를 어떻게 알까? (위치 인코딩)
Tech/LLM2025. 12. 28. 16:27[LLM] Transformer는 단어의 순서를 어떻게 알까? (위치 인코딩)

순환 신경망(RNN)은 토큰을 하나씩 순서대로 처리하는 순차 구조 덕분에, 별도의 장치 없이 자연스럽게 단어의 순서와 위치에 대한 미묘한 차이를 학습할 수 있었다. (단, 텍스트가 길어질수록 처리 시간이 선형적으로 증가하여 속도가 느리다는 단점이 있다.) 하지만, 일반적인 임베딩 층(Embedding Layer)은 문장 내 위치와 관련없이 같이 단어라면 항상 똑같은 벡터값을 내놓는다.예를 들어, 'The fox jumps over the lazy fox.' 문장에서 첫 번째 'fox'와 두 번째 'fox'는 동일한 Token ID를 가지기 때문에, 동일한 임베딩 벡터로 변환된다.(즉, 모델의 입장에서는 이 두 단어가 문장의 어디에 위치할지 구분할 방법이 없다. -> 위치 정보가 없기 때문) 이는 Tran..

[LLM] 슬라이딩 윈도우로 데이터 샘플링
Tech/LLM2025. 12. 27. 19:42[LLM] 슬라이딩 윈도우로 데이터 샘플링

LLM을 훈련할 때 가장 중요한 것은 모델이 긴 텍스트에서 다음에 올 단어를 예측하도록 만드는 것이다.이를 위해 슬라이딩 윈도우(Sliding Window) 기법을 사용하여 훈련 데이터를 효율적으로 구성하는 방법을 알아보자.모델 훈련의 기본 원리모델 훈련의 기본은 입력된 토큰을 보고 그 다음 토큰을 맞추는 것이다.따라서, 모델은 타킷(정답) 토큰 이후의 단어를 미리 봐서는 안 된다.(정답을 미리 알면 예측하는 훈련이 되지 않기 때문)이를 위해 입력 토큰 이후의 미래 토큰은 모델이 참조하지 못하도록 가려주는 작업인 마스킹이 필요하다.슬라이딩 윈도우 작동 방식긴 텍스트 데이터를 훈련에 사용할 때는 고정된 길이(윈도우 크기)만큼 잘라서 사용한다.예를 들어 윈도우 크기가 4라면, 텍스트 위를 한 칸(또는 여러 ..

[LLM] 바이트 페어 인코딩(BPE)
Tech/LLM2025. 12. 27. 19:22[LLM] 바이트 페어 인코딩(BPE)

바이트 페어 인코딩(BPE)란?GPT계열 모델이 사용하는 정교한 토큰화 알고리즘(단순히 단어 단위가 아닌, 의미 있는 부분 단어 단위로 텍스트를 분해하여 어휘 사전을 구축)BPE의 핵심훈련 데이터에 있는 모든 개별 문자에서 시작하여, 가장 자주 함께 등장하는 문자 쌍을 점진적으로 병합하며 더 크고 의미 있는 토큰을 만드는 것이다. 어휘 사전 구축 과정1단계: 개별 문자 등록훈련 데이터셋에 있는 모든 고유한 문자를초기 어휘 사전에 등록하는 것으로 시작한다. 2단계: 빈도 기반 병합텍스트 전체를 스캔하여 가장 자주 연속으로 나타나는 문자 쌍을 찾는다.여기서 찾은 문자 쌍은 새로운 하나의 토큰(부분 단어)으로 병합되어 어휘 사전에 추가된다.(예: 'D' 다음 'E'가 자주 등장하면 'DE'를 토큰으로 등록) ..

[LLM] 특수 문맥 토큰
Tech/LLM2025. 12. 27. 18:58[LLM] 특수 문맥 토큰

기존의 어휘사전은 훈련 데이터에 등장하는 고유 토큰들을 모아, 각 토큰에 정수 ID를 할당한 매핑 테이블이다.때문에, 토큰을 ID로 변환하거나 그 반대의 상황에는 어휘사전을 사용하여 처리했다.기본적으로는 어휘사전에 없는 단어는 처리할 수 없기 때문에 에러를 반환할 것이다.이러한 상황을 해결하기 위해, 특수 문맥 토큰을사용하여 알지 못하는 단어, 문서 경계 등을 표시한다.어휘사전에 없는 단어는 어떻게 처리할까? ( Unknown 토큰)처리 과정을 중단하지 않고 계속 진행할 수 있도록 하는 안전장치 역할로, 사전에 없는 단어는 Unknown 토큰이 그 자리를 채운다. 길이가 다른 문장들은 어떻게 처리할까? ( Padding 토큰)모델 훈련 호율성을 위해 여러 문장을 Batch로 묶어 처리한다.하지만, Ten..

[LLM] 텍스트 토큰화
Tech/LLM2025. 12. 27. 17:21[LLM] 텍스트 토큰화

토큰화란?자연어 처리(NLP)에서 문장이나 문서와 같은 긴 텍스트를 분석하기 위해 토큰(Token)이라는 더 작은 단위로 나누는 과정(텍스트를 한번에 이해하기 어렵기 때문에, 의미 있는 최소 단위로 쪼개어 수치화하는 단계)토큰화 과정1단계: 텍스트 토큰화(Tokenization)문장을 모델이 처리하기 쉬운 작은 단위인 토큰(Token)으로 쪼갠다.'는', '를' 같은 조사나 마침표(.)와 같은 문장 부호까지 별개의 토큰으로 분리한다. - 이 단계에서 결과물은 여전히 사람이 읽을 수 있는 텍스트 형태이다.2단계: 토큰 ID 변환(Token ID Conversion)토큰을 토큰ID로 매핑하기 위해서는 어휘사전을 먼저 구축해야 한다.(어휘사전은 개별 단어와 특수 문자를 고유한 정수로 매핑하는 방법을 정의)* ..

[LLM] 단어 임베딩의 이해
Tech/LLM2025. 12. 26. 22:37[LLM] 단어 임베딩의 이해

임베딩(Embedding)이란?어떤 데이터를 벡터로 표현한 것은 임베딩(Embedding)이라고 부름- 단어(토큰)의 벡터는 단어 임베딩이라고 함 (오디오는 오디오 임베딩)- 대표적인 단어 임베딩 모델은 Word2Vec이다.그럼 임베딩의 주요 목적은 뭘까?임베딩의 주요 목적은 비수치 데이터를 신경망이 처리할 수 있는 포맷(벡터)로 변환하는 것이다. 텍스트 임베딩단어 임베딩은 텍스트 임베딩의 가장 일반적인 형태이다.(문장, 단락 또는 문서 전체를 위한 임베딩도 존재) 문장이나 단락 임베딩은 RAG에서 널리 사용된다.(RAG는 생성과 검색을 결합하여, 관련 정보를 추출하는 것으로 텍스트를 생성하는 방법)Word2Vec초기에 등장한 단어 임베딩을 생성하기 위한 프레임워크이다.비슷한 맥락에 등장하는 단어를 벡터..

image