Data/Deep Learning

[LLM] Transformer - Embedding, Positional Encoding

쿡국 2025. 1. 30. 10:19

LLM의 정의와 주요 특징

LLM은 대부분 트랜스포머 아키텍처에서 파생된 AI 모델로, 사람의 언어, 코드 등을 이해하고 생성하기 위해 설계되었다. 이러한 모델들은 방대한 양의 텍스트 데이터로 학습되어, 사람 언어의 복잡성과 뉘앙스를 포착할 수 있다. LLM은 간단한 텍스트 분류부터 텍스트 생성에 이르기까지 언어 관련 작업을 넓은 범위에서 높은 정확도로 유창하고 유려하게 수행할 수 있다. 이러한 LLM은 의료 산업, 금융 분야의 트레이딩 전략까지 범용적으로 활용되고 있다.

 

기존의 트랜스포머 아키텍처는 시퀀스투시퀀스(seq2seq)모델이었으며, 이는 두 가지 구성요소를 주로 가진다.

  • 인코더(Encoder) : 원시 텍스트를 받아들여 핵심 구성 요소로 분리하고, 해당 구성 요소를 벡터로 변환하는 업무를 담당한다. 어텐션을 사용하여 텍스트의 맥락을 이해한다.
  • 디코더(Decoder) : 수정된 형식의 어텐션을 사용하여 다음에 올 최적의 토큰을 예측함으로써 텍스트를 생성한다.

트랜스포머 아키텍쳐의 구조

 

오늘은 트랜스포머 모델이 지니는 여러 특징 중 임베딩(Embedding)과 포지셔널 인코딩(Positional Encoding)에 대해 알아보자.

 

임베딩(Embedding)

임베딩은 고차원 공간에서의 단어, 구절, 또는 토큰의 수학적 표현이다. 자연어 처리에서 임베딩은 다른 단어와의 의미와 관계를 포착하는 방식으로 단어, 구절, 또는 토큰을 나타낸다. 여러 종류의 임베딩이 가능하며, 이 중 위치 임베딩은 문장에서 토큰의 위치를 인코딩하며, 토큰 임베딩은 토큰의 의미를 인코딩한다. 쉽게 생각하면 텍스트를 컴퓨터가 인식할 수 있는 수치 형태로 변환하는 작업이라고 이해하면 편하다.

 

포지셔널 인코딩(Positional Encoding)

트랜스포머 모델은 연산처리를 할 때 병렬로 한번에 처리하기 때문에 Transformer 메커니즘에서는 문장을 한 번에 연산처리 한다. 그런데 이때 문제가 발생한다. 기존 RNN계열의 모델은 시간 순서대로 학습을 진행하기 때문에 상관이 없지만, 트랜스포머 모델에서 문장을 한 번에 처리하면 단어 간의 순서가 반영이 되지 않은 것이다.
그러면 어떻게 이러한 순서 문제를 해결할 수 있을까. 각 단어 임베딩에 순서가 들어간 정보를 더해주면 된다. 각 단어들의 embedding 벡터에 각 단어들의 position embedding을 아래와 같이 더해주면 된다.

포지셔널 인코딩