트랜스포머 (Transformer)
쉽게 풀면
여러 사람이 모인 회의를 떠올려 보세요. 유능한 진행자는 한 사람의 말이 끝나기를 순서대로 기다리는 대신, 지금 논의 주제와 관련해 누구의 발언이 더 중요한지를 그때그때 파악하면서 전체 맥락을 동시에 읽어냅니다. 트랜스포머도 이와 비슷하게, 문장의 단어를 처음부터 끝까지 순서대로 하나씩 읽는 대신 모든 단어를 한 번에 놓고 서로 얼마나 관련 있는지를 계산합니다. 이 덕분에 "그것"이 앞 문장의 어떤 단어를 가리키는지 같은 문맥 정보를 훨씬 효율적으로, 그리고 병렬로 빠르게 처리할 수 있습니다.
왜 중요한가
트랜스포머는 병렬 처리가 가능해 대규모 데이터와 대형 모델 학습을 현실적으로 가능하게 만들었고, 이는 오늘날 대형 언어모델과 여러 응용 AI 기술이 빠르게 발전하는 토대가 되었습니다. 그래서 자연어처리, 컴퓨터비전, 음성처리를 아우르는 최신 연구 대부분이 트랜스포머를 기본 구조로 채택하거나 이를 개선하는 방향으로 진행됩니다.
논문에서는 이렇게 쓰입니다
모델이 문장을 순서대로 하나씩 처리하는 대신, 문장 속 모든 단어 쌍의 연관성을 동시에 계산하는 방식으로 설계되었다는 뜻입니다.
기존에 이미지 처리에 주로 쓰이던 합성곱 신경망 대신 트랜스포머를 이미지 분류에 적용한 연구를 설명한 문장입니다.
음성처리 분야에서 트랜스포머의 문맥 포착 능력을 활용한 사례를 설명한 문장입니다.
조금 더 깊게 보면
트랜스포머의 핵심 연산인 셀프 어텐션은 각 단어를 쿼리, 키, 값이라는 세 가지 벡터로 변환한 뒤, 쿼리와 키의 유사도를 계산해 어떤 단어에 더 집중할지를 정하고 그 가중치로 값을 결합하는 방식으로 동작합니다. 문장의 순서 정보를 직접 다루지 않기 때문에 위치 인코딩을 함께 사용하며, 여러 개의 어텐션을 병렬로 두는 멀티헤드 어텐션을 통해 서로 다른 종류의 관계를 동시에 포착하도록 설계된 경우가 일반적입니다.
주의할 점
트랜스포머는 자연어처리 분야에서 널리 쓰이지만 텍스트에만 국한되지 않으며, 이미지나 음성 등 다른 데이터에도 응용되고 있습니다. 다만 문장이 길어질수록 단어 쌍의 수가 급격히 늘어나 계산량과 메모리 사용량이 크게 증가하기 때문에, 실제로는 이를 줄이기 위한 다양한 경량화 기법이 함께 연구되고 있습니다.