T5(Text-to-Text Transfer Transformer)는 2019년에 Google AI가 개발하고 도입한 일련의 대규모 언어 모델입니다. 이 모델들은 Transformer (architecture) 아키텍처, 특히 인코더가 입력 텍스트를 처리하고 디코더가 출력 텍스트를 생성하는 인코더-디코더 설계를 기반으로 합니다. T5의 핵심 혁신은 통합된 텍스트-투-텍스트 프레임워크로, 번역에서 요약, 질문 응답에 이르기까지 모든 자연어 처리 작업을 입력과 출력이 항상 텍스트 문자열인 텍스트-투-텍스트 문제로 취급합니다.
원래 T5 논문인 "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer"는 대규모 말뭉치에 대한 사전 학습 후 특정 작업에 대한 미세 조정을 통해 단일 모델 아키텍처가 여러 NLP 벤치마크에서 최첨단 결과를 달성할 수 있음을 보여주었습니다. 이 접근 방식은 이후의 대규모 언어 모델 연구 발전에 영향을 미쳤으며 생성형 AI 분야 전반에 기여했습니다.
학습
원래 T5 모델은 인터넷에서 수집된 텍스트와 코드를 포함한 데이터셋인 Colossal Clean Crawled Corpus(C4)에서 사전 학습되었습니다. 이 사전 학습 과정을 통해 모델은 일반적인 언어 이해 및 생성 능력을 학습할 수 있었습니다. 사전 학습 후 T5 모델은 특정 하위 작업에 대해 미세 조정되어 다양한 응용 분야에서 잘 수행되도록 지식을 적응시킬 수 있었습니다.
사전 학습은 모델이 손상된 텍스트를 재구성하는 법을 학습하는 노이즈 제거 목표를 사용했습니다. 예를 들어, 입력 "Thank you <X> me to your party <Y> week"가 주어지면 모델은 "<X> for inviting <Y> last <Z>"를 출력하도록 학습되었으며, 여기서 <X>와 <Y>는 채워야 할 빈칸(원래 보고서에서 "센티널"이라고 함)을 나타내고 <Z>는 출력의 끝을 표시합니다. 모델은 또한 번역(예: "translate English to German: That is good." -> "Das ist gut.") 및 문법적 수용성 판단(예: "The course is jumping well." -> "not acceptable")과 같은 작업에서도 사전 학습되었습니다.
아키텍처
T5 시리즈는 다양한 크기의 여러 모델을 포함하며, 모두 인코더-디코더 Transformer 아키텍처를 사용합니다. 원래 논문은 매개변수 수로 구분되는 다섯 가지 모델 변형을 보고했습니다: T5-small, T5-base, T5-large, T5-3B, T5-11B. 인코더와 디코더는 항상 동일한 수의 레이어를 가지며, 예를 들어 T5-small은 인코더와 디코더 모두에 6개의 레이어가 있습니다.
주요 아키텍처 매개변수에는 레이어 수(n_layer), 어텐션 헤드 수(n_head), 임베딩 벡터의 차원(d_model), 피드포워드 네트워크의 차원(d_ff), 키/값 벡터의 차원(d_kv)이 포함됩니다. 일반적인 Transformer와 달리 3B 및 11B 모델은 d_model = d_kv × n_head 관계를 충족하지 않습니다.
원래 Transformer와 비교하여 T5는 몇 가지 사소한 수정을 도입했습니다: 가산 바이어스가 없는 레이어 정규화, 잔차 경로 외부에 레이어 정규화 배치, 상대적 위치 임베딩 사용. 모든 실험은 입력과 출력에 걸쳐 공유되는 어휘 크기 32,000의 WordPiece 토크나이저를 사용했으며, C4의 영어, 독일어, 프랑스어, 루마니아어 데이터 혼합(10:1:1:1 비율)으로 학습되었습니다.
변형
이후 여러 모델이 T5 아키텍처를 사용했으며, 명명 규칙은 표준화되지 않았습니다. 주목할 만한 변형은 다음과 같습니다:
- T5 1.1(small, base, large, XL, XXL): 매개변수가 거의 동일한 개선된 버전으로, ReLU 대신 GEGLU 활성화를 사용하고 3B/11B를 XL/XXL로 이름을 바꾸고 형태를 변경했습니다.
- LM-adapted T5(2021): T5 체크포인트에서 시작하여 C4의 추가 100B 토큰으로 더 학습했습니다.
- Switch Transformer(2021): 피드포워드 레이어를 전문가 혼합 레이어로 대체한 혼합 전문가 변형입니다.
- T0(2021): LM-adapted T5 체크포인트에서 시작하여 제로샷 작업 지시 따르기를 위해 학습되었습니다.
- ByT5(2021): 토크나이저 없이 UTF-8 바이트에서 작동하는 바이트 수준 버전으로, 다국어 C4에서 학습되었습니다.
- Flan-T5-XL(2022): T5 XL에서 시작하여 FLAN 데이터셋으로 지시 튜닝되었습니다.
- T5X(2022): 원래 TensorFlow 코드베이스의 JAX 기반 재구현입니다.
- UL2 20B(2022): "노이즈 제거기 혼합" 목표로 20B 매개변수로 확장되었으며, C4에서 학습되었습니다.
- Flan-UL2 20B(2022): UL2 20B를 FLAN으로 지시 미세 조정한 버전입니다.
- Pile-T5(2024): 동일한 아키텍처이지만 Llama 토크나이저를 사용하고 The Pile에서 학습되었습니다.
응용 분야
T5 모델은 챗봇, 기계 번역 시스템, 텍스트 요약 도구, 코드 생성, 로봇 공학을 포함한 다양한 응용 분야에서 사용되었습니다. 인코더-디코더 설계는 지시 따르기를 가능하게 합니다: 인코더가 지시를 처리하고 디코더가 응답을 자기회귀적으로 생성합니다.
T5 인코더는 BERT와 유사한 텍스트 인코더로도 사용될 수 있으며, 하위 응용 분야를 위해 실수 벡터 시퀀스를 생성합니다. 예를 들어, Google Imagen은 확산 모델을 조건화하기 위해 T5-XXL을 텍스트 인코더로 사용하며, AuraFlow 확산 모델은 Pile-T5-XL을 사용합니다. 이러한 응용 분야는 전통적인 NLP 작업을 넘어선 T5의 다재다능함을 보여주며, 기계 학습 및 심층 학습의 발전에 기여합니다.