Transformer 모델은 2017년 제안된 이후 자연어 처리, 컴퓨터 비전 등 다른 분야에서 전례 없는 강점을 보여줬고, ChatGPT 등 기술적 혁신을 촉발하기도 했습니다.
트랜스포머 어텐션 메커니즘을 기반으로 학계와 업계가 계속해서 새로운 모델을 제안함에 따라 이 방향을 요약하기 어려울 때가 있습니다. 최근 LinkedIn의 AI 제품 전략 책임자인 Xavier Amatriain의 포괄적인 기사가 이 문제를 해결하는 데 도움이 될 수 있습니다.
지난 몇 년 동안 Transformer 제품군의 수십 가지 모델이 등장했으며 모두 재미있고 이해하기 쉬운 이름을 가지고 있습니다. 이 기사의 목적은 가장 인기 있는 Transformer 모델의 비교적 포괄적이면서도 간단한 카탈로그와 분류를 제공하는 것입니다. 또한 이 기사에서는 Transformer 모델의 가장 중요한 측면과 혁신도 소개합니다.
논문 "변압기 모델: 소개 및 카탈로그":
논문 링크:
https://arxiv.org/abs/2302.07730
GitHub: https://github.com/xamat/TransformerCatalog
Transformer는 일부 아키텍처 기능으로 정의된 딥 러닝 모델 유형입니다. 2017년 구글 연구진이 발표한 유명한 논문 "Attention is All you Need"(이 논문은 불과 5년 만에 38,000회 이상 인용됨)와 관련 블로그 게시물에 처음 등장했습니다. Transformer 아키텍처는 2~3년 전에 인기를 끌었던 인코더-디코더 모델[2]의 특정 인스턴스입니다. 그러나 그때까지 Attention은 주로 LSTM(Long Short-Term Memory) [3] 및 기타 RNN(Recurrent Neural Network) [4] 변형을 기반으로 한 이러한 모델에서 사용되는 메커니즘 중 하나일 뿐이었습니다. Transformers 논문의 핵심 통찰력은 제목에서 알 수 있듯이 Attention이 입력과 출력 간의 종속성을 도출하는 유일한 메커니즘으로 사용될 수 있다는 것입니다. Transformer 아키텍처의 모든 세부 사항을 논의하는 것은 이 블로그의 범위를 벗어납니다. 이를 위해 이 기사에서는 위의 원본 논문이나 Transformers의 게시물을 참조할 것을 권장하는데, 둘 다 매우 흥미롭습니다. 하지만 이 기사에서는 가장 중요한 측면을 간략하게 설명하고 아래 목차에서도 언급할 것입니다. 이 기사에서는 원본 논문의 기본 아키텍처 다이어그램으로 시작한 다음 관련 내용을 확장합니다.
인코더/디코더 아키텍처
범용 인코더/디코더 아키텍처(그림 1 참조)는 두 가지 모델로 구성됩니다. 인코더는 입력을 받아 고정 길이 벡터로 인코딩합니다. 디코더는 이 벡터를 가져와서 출력 시퀀스로 디코딩합니다. 인코더와 디코더는 조건부 로그 우도를 최소화하도록 공동으로 훈련됩니다. 일단 학습되면 인코더/디코더는 입력 시퀀스가 주어지면 출력을 생성하거나 입력/출력 시퀀스의 점수를 매길 수 있습니다. 원래 Transformer 아키텍처에서는 인코더와 디코더 모두 6개의 동일한 레이어를 가졌습니다. 이 6개 레이어의 각 인코더에는 다중 헤드 주의 레이어와 간단한 피드포워드 네트워크라는 두 개의 하위 레이어가 있습니다. 각 하위 계층에는 잔여 연결과 계층 정규화가 있습니다. 인코더의 출력 크기는 512입니다. 디코더는 인코더 출력에 또 다른 다중 헤드 주의 계층인 세 번째 하위 계층을 추가합니다. 또한 디코더의 또 다른 다중 헤드 레이어가 마스크됩니다.
그림 1: Transformer 아키텍처
그림 2: 어텐션 메커니즘
Attention
위 설명에서 모델 아키텍처의 유일한 특수 요소는 다중 헤드 어텐션이라는 것이 분명합니다. 그러나 위에서 설명한 대로 , 여기에 모델의 모든 기능이 있는 곳입니다. 그렇다면 주목이란 정확히 무엇입니까? Attention 함수는 쿼리와 키-값 쌍 집합을 출력으로 매핑하는 것입니다. 출력은 값의 가중치 합으로 계산됩니다. 여기서 각 값에 할당된 가중치는 해당 키에 대한 쿼리의 호환성 함수에 의해 계산됩니다. Transformer는 스케일링된 내적 주의(scaled dot product attention)라고 하는 특정 주의 함수의 병렬 계산인 다중 헤드 주의를 사용합니다. 주의 메커니즘이 어떻게 작동하는지에 대한 자세한 내용은 이 기사에서 The Illustrated Transformer 게시물을 다시 참조하고, 주요 아이디어를 이해하기 위해 원본 논문의 다이어그램을 그림 2에 재현합니다. 어텐션 레이어는 순환 네트워크와 컨볼루션 네트워크에 비해 몇 가지 장점이 있습니다. 가장 중요한 두 가지는 계산 복잡성이 낮고 연결성이 높다는 점입니다. 이는 시퀀스의 장기적인 종속성을 학습하는 데 특히 유용합니다.
Transformers의 용도와 인기 이유는 무엇입니까?
원본 Transformer는 특히 영어에서 독일어로의 언어 번역을 위해 설계되었습니다. 그러나 원래 연구 논문에서 볼 수 있듯이 아키텍처는 다른 언어 작업에도 잘 일반화됩니다. 이러한 특별한 추세는 연구 커뮤니티의 관심을 빠르게 끌었습니다. 다음 달에는 대부분의 언어 관련 ML 작업 순위가 일부 Transformer 아키텍처 버전에 의해 완전히 지배되었습니다(예: 모든 상위 모델이 Transformers 모음인 유명한 SQUAD 순위). Transformers가 대부분의 NLP 순위를 그렇게 빠르게 장악할 수 있는 주요 이유 중 하나는 다른 작업, 즉 전이 학습에 빠르게 적응하는 능력입니다. 사전 훈련된 Transformer 모델은 훈련되지 않은 작업에 매우 쉽고 빠르게 적응할 수 있으며 이는 큰 이점이 있습니다. ML 실무자로서 더 이상 대규모 데이터 세트로 대규모 모델을 교육할 필요가 없습니다. 당신이 해야 할 일은 사전 훈련된 모델을 작업에 재사용하는 것뿐입니다. 아마도 훨씬 더 작은 데이터 세트로 약간만 조정할 수도 있습니다. 사전 학습된 모델을 다양한 작업에 적용하는 데 사용되는 특정 기술 중 하나를 미세 조정이라고 합니다.
Transformers는 다른 작업에 매우 적응력이 뛰어나 원래 언어 관련 작업을 위해 개발되었지만 시각적, 오디오 및 음악 앱에서부터 체스나 게임에 이르기까지 다른 작업에도 빠르게 채택되었습니다. 수학을 하고 있어요.
물론, 누구나 쉽게 코드 몇 줄을 작성할 수 있는 수많은 도구가 없었다면 이러한 응용 프로그램 중 어느 것도 불가능했을 것입니다. Transformer는 주요 인공 지능 프레임워크(예: Pytorch8 및 TF9)에 신속하게 통합될 수 있을 뿐만 아니라 전체 회사를 이를 기반으로 구축할 수도 있습니다. 현재까지 6천만 달러 이상을 모금한 스타트업 Huggingface는 거의 전적으로 오픈 소스 Transformer 라이브러리를 상용화하려는 아이디어를 중심으로 구축되었습니다.
마지막으로 GPT-3가 인기 초기 단계에서 Transformer에 미친 영향에 대해 이야기할 필요가 있습니다. GPT-3은 OpenAI가 2020년 5월 출시한 Transformer 모델로, 이전 GPT 및 GPT-2의 후속 모델입니다. 회사는 이 모델을 사전 인쇄로 소개하여 많은 화제를 불러일으켰는데, 이 모델은 너무 강력해서 세상에 출시할 수 없었다고 주장했습니다. 이후 오픈AI와 마이크로소프트의 대규모 협업을 통해 해당 모델이 출시됐을 뿐만 아니라 상용화되기도 했다. GPT-3는 300개 이상의 다양한 애플리케이션을 지원하며 OpenAI 비즈니스 전략의 기본입니다(10억 달러 이상의 자금을 조달한 회사에 적합함).
RLHF
최근 인간 피드백(또는 선호도)을 통한 강화 학습(RLHF(RLHP라고도 함))이 인공 지능 툴킷에 크게 추가되었습니다. 이 개념은 2017년에 설명되었습니다. 논문 "인간 선호도에 따른 심층 강화 학습"에서 제안된 이 방법은 최근 ChatGPT 및 BlenderBot 또는 Sparrow와 같은 유사한 대화 에이전트에 적용되었습니다. 아이디어는 간단합니다. 일단 언어 모델이 사전 훈련되면 사용자는 이에 대한 다양한 응답을 생성할 수 있습니다. 대화에 응답하고 인간이 결과의 순위를 매기도록 합니다. 이러한 순위(예: 선호도 또는 피드백)를 사용하여 강화 학습 환경에서 보상을 훈련할 수 있습니다(그림 3 참조). 확산 모델은 GAN(Generative Adversarial Networks)과 같은 이전 방법을 제쳐두고 이미지 생성의 새로운 SOTA가 되었습니다. 확산 모델이란 무엇입니까? 이는 변분 추론을 통해 훈련된 잠재 변수 모델 클래스입니다. 이러한 방식으로 훈련된 네트워크는 실제로 이러한 이미지가 나타내는 잠재 공간을 학습합니다(그림 4 참조). 확산 모델은 유명한 [GAN(Generative Adversarial Networks)] 16 과 같은 다른 생성 모델과 관련되어 있으며, 이는 특히 (노이즈 제거) 자동 인코더를 통해 많은 응용 프로그램에서 대체되었습니다. 일부 저자는 확산 모델이 오토인코더의 특정 인스턴스일 뿐이라고 말하기도 합니다. 그러나 그들은 또한 작은 차이가 자동 변환기의 기본 표현에서 확산 모델의 순수한 생성 특성으로 적용을 변경한다는 점을 인정합니다.
그림 3: 인간 피드백을 통한 강화 학습.
그림 4: "확산 모델: 방법 및 응용 분야의 종합 조사"에서 발췌한 확률적 확산 모델 아키텍처
이 문서에 소개된 모델은 다음과 같습니다.
위 내용은 5년간 38,000번 인용, 트랜스포머 세계관은 이렇게 발전했다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!