변환기가 생각하는 방식: 언어 모델이 작동하도록 만드는 정보 흐름

변환기가 생각하는 방식: 언어 모델이 작동하도록 만드는 정보 흐름

변환기가 생각하는 방식: 언어 모델이 작동하도록 만드는 정보 흐름변환기가 생각하는 방식: 언어 모델이 작동하도록 만드는 정보 흐름
편집자 이미지

# 소개

덕분에 대규모 언어 모델 (LLM) 요즘 우리는 다음과 같은 인상적이고 믿을 수 없을 만큼 유용한 애플리케이션을 보유하고 있습니다. 쌍둥이자리, 채팅GPT그리고 클로드몇 가지 예를 들자면. 그러나 LLM의 기본 아키텍처를 LLM이라고 부르는 사람은 거의 없습니다. 변신 로봇. 이 아키텍처는 매우 특별하고 다소 특별한 방식으로 “생각”, 즉 인간 언어를 설명하는 데이터를 처리하도록 신중하게 설계되었습니다. 소위 변압기 내부에서 무슨 일이 일어나는지 폭넓게 이해하는 데 관심이 있습니까?

이 기사에서는 LLM 뒤에 있는 변환기 모델이 사용자 프롬프트와 같은 입력 정보를 분석하는 방법과 일관되고 의미 있으며 관련성이 높은 출력 텍스트를 단어별로(또는 조금 더 기술적으로는 토큰별로) 생성하는 방법을 부드럽고 이해하기 쉽고 다소 비기술적인 어조로 설명합니다.

# 초기 단계: 기계가 언어를 이해할 수 있도록 만들기

가장 먼저 파악해야 할 핵심 개념은 AI 모델은 인간의 언어를 실제로 이해하지 못합니다.; 그들은 숫자에 대해서만 이해하고 작동하며 LLM 뒤의 변환기도 예외는 아닙니다. 그러므로 인간의 언어, 즉 텍스트를 변환기가 완전히 이해할 수 있는 형태로 변환한 후에 심층 처리할 수 있어야 합니다.

다르게 말하면, 변환기의 핵심 및 가장 안쪽 레이어에 들어가기 전에 수행되는 처음 몇 단계는 주로 이 원시 텍스트를 내부적으로 원본 텍스트의 주요 속성과 특성을 유지하는 수치 표현으로 바꾸는 데 중점을 둡니다. 이 세 단계를 살펴보겠습니다.

기계가 언어를 이해할 수 있도록 만들기기계가 언어를 이해할 수 있도록 만들기
기계가 언어를 이해할 수 있도록 만들기(확대하려면 클릭)

// 토큰화

토크나이저는 현장에 등장하는 첫 번째 행위자로서 변환기 모델과 함께 작업하며 원시 텍스트를 토큰이라는 작은 조각으로 나누는 일을 담당합니다. 사용된 토크나이저에 따라 이러한 토큰은 대부분의 경우 단어와 동일할 수 있지만 토큰은 때로는 단어나 구두점 기호의 일부일 수도 있습니다. 또한 언어의 각 토큰에는 고유한 숫자 식별자가 있습니다. 이는 텍스트가 더 이상 텍스트가 아닌 숫자가 되는 경우입니다. 이 예에서는 간단한 토크나이저가 5개 단어가 포함된 텍스트를 단어당 하나씩 5개의 토큰 식별자로 변환합니다.

텍스트를 토큰 식별자로 토큰화텍스트를 토큰 식별자로 토큰화
텍스트를 토큰 식별자로 토큰화

// 토큰 임베딩

다음으로, 모든 토큰 ID는 \(d\) 크기의 숫자 목록인 \(d\)차원 벡터로 변환됩니다. 임베딩으로서 토큰의 전체 표현은 단어, 일부 또는 구두점 등 이 토큰의 전반적인 의미에 대한 설명과 같습니다. 마법은 다음과 같은 유사한 의미 개념과 연관된 토큰이 있다는 사실에 있습니다. 여왕 그리고 황후유사한 관련 임베딩 벡터를 갖게 됩니다.

// 위치 인코딩

지금까지 토큰 임베딩에는 숫자 모음 형태의 정보가 포함되어 있었지만 해당 정보는 여전히 개별 토큰과 관련되어 있습니다. 그러나 텍스트 시퀀스와 같은 “언어 조각”에서는 포함된 단어나 토큰뿐만 아니라 해당 텍스트가 속한 텍스트에서의 위치도 아는 것이 중요합니다. 위치 인코딩은 수학적 함수를 사용하여 원본 텍스트 시퀀스의 위치에 대한 추가 정보를 포함하는 각 토큰에 주입하는 프로세스입니다.

# 변압기 모델의 핵심을 통한 변형

이제 각 토큰의 숫자 표현에는 텍스트 시퀀스의 위치에 대한 정보가 포함되어 있으므로 변환기 모델 본체의 첫 번째 레이어에 들어갈 차례입니다. 변환기는 시스템 전체에 걸쳐 많은 스택 구성 요소가 복제되어 있는 매우 심층적인 아키텍처입니다. 변환기 레이어에는 인코더 레이어와 디코더 레이어라는 두 가지 유형이 있지만 단순화를 위해 이 기사에서는 두 레이어를 미묘한 차이로 구분하지 않습니다. 비록 둘 다 공통점이 많지만 지금은 트랜스포머에 두 가지 유형의 레이어가 있다는 점을 기억하세요.

변압기 모델의 핵심을 통한 변형변압기 모델의 핵심을 통한 변형
변압기 모델의 핵심을 통한 변형(확대하려면 클릭)

// 다중 방향 주의

이는 변환기 레이어 내부에서 발생하는 최초의 주요 하위 프로세스이며 아마도 다른 유형의 AI 시스템에 비해 변환기 모델의 가장 영향력 있고 독특한 특징일 것입니다. 다중 방향 주의는 토큰이 시퀀스의 다른 토큰을 관찰하거나 “주의를 기울일” 수 있게 하는 메커니즘입니다. 이는 유용한 문맥 정보를 자체 토큰 표현으로 수집하고 통합합니다. 즉, 문법 관계, 텍스트에서 서로 옆에 반드시 인접할 필요는 없는 단어 간의 장거리 종속성 또는 의미론적 유사성과 같은 언어적 측면입니다. 요약하면, 이 메커니즘 덕분에 원본 텍스트 부분 간의 관련성과 관계의 다양한 측면을 성공적으로 포착할 수 있습니다. 토큰 표현이 이 구성 요소를 통과한 후에는 결국 자신과 자신이 속한 텍스트에 대해 더 풍부하고 상황을 인식하는 표현을 얻게 됩니다.

한 언어에서 다른 언어로 텍스트를 번역하는 것과 같은 특정 작업을 위해 구축된 일부 변환기 아키텍처는 아래와 같이 지금까지 생성된 입력 텍스트와 출력(번역된) 텍스트를 모두 살펴보고 이 메커니즘을 통해 토큰 간의 가능한 종속성을 분석합니다.

번역 변환기의 다각적 관심번역 변환기의 다각적 관심
번역 변환기의 다각적 관심

// 피드포워드 신경망 하위 계층

간단히 말해서, 주의를 거친 후 변환기의 모든 복제된 레이어 내부의 두 번째 공통 단계는 강화된 토큰 표현의 추가 패턴을 추가로 처리하고 학습하는 데 도움이 되는 일련의 연결된 신경망 레이어입니다. 이 프로세스는 이러한 표현을 더욱 선명하게 하고 관련 기능과 패턴을 식별 및 강화하는 것과 유사합니다. 궁극적으로 이러한 레이어는 처리되는 전체 텍스트에 대한 일반적이고 점점 더 추상적인 이해를 점차적으로 학습하는 데 사용되는 메커니즘입니다.

다중 헤드 어텐션 및 피드포워드 하위 레이어를 통과하는 프로세스는 해당 순서로 여러 번 반복됩니다. 즉, 복제된 변환기 레이어 수만큼 반복됩니다.

// 최종 목적지: 다음 단어 예측

이전 두 단계를 교대로 여러 번 반복한 후 초기 텍스트에서 나온 토큰 표현을 통해 모델은 매우 깊은 이해를 얻을 수 있었고 복잡하고 미묘한 관계를 인식할 수 있었습니다. 이 시점에서 우리는 변환기 스택의 최종 구성 요소인 최종 표현을 어휘의 가능한 모든 토큰에 대한 확률로 변환하는 특수 레이어에 도달합니다. 즉, 우리는 학습된 모든 정보를 기반으로 대상 언어의 각 단어가 변환기 모델(또는 LLM)이 출력해야 하는 다음 단어일 확률을 계산합니다. 모델은 최종 사용자를 위한 출력의 일부로 생성되는 다음 토큰 또는 단어로 확률이 가장 높은 토큰 또는 단어를 최종 선택합니다. 모델 응답의 일부로 생성되는 모든 단어에 대해 전체 프로세스가 반복됩니다.

# 마무리

이 기사에서는 텍스트 기반 정보가 LLM 뒤에 있는 시그니처 모델 아키텍처인 변환기를 통해 흐를 때 경험하는 여정을 통해 부드럽고 개념적인 둘러보기를 제공합니다. 이 글을 읽은 후에는 ChatGPT와 같은 모델 내부에서 무슨 일이 일어나는지 더 잘 이해하게 되었을 것입니다.

이반 팔로마레스 카라스코사 AI, 기계 학습, 딥 러닝 및 LLM 분야의 리더, 작가, 연설자 및 고문입니다. 그는 현실 세계에서 AI를 활용할 수 있도록 다른 사람들을 훈련하고 안내합니다.

출처 참조

Post Comment

당신은 놓쳤을 수도 있습니다