7wk_ Foundation Models
Foundation Models
전이 학습(Transfer Learning)은 머신러닝의 한 분야로, 이미 한 작업에서 학습된 지식을 다른 관련 작업에 적용하여 모델의 학습을 가속화하고 개선하는 기법입니다.
이 방법은 학습 과정에서 얻은 특성(예: 이미지 인식에서의 특징, 언어 처리에서의 단어 임베딩)을 다른 모델로 전달함으로써, 새로운 작업에 대해 더 적은 데이터로 더 빠르게 좋은 성능을 달성할 수 있도록 돕습니다.
예를 들어, 한 모델이 개와 고양이의 이미지를 구분하는 데 사용된 학습을 통해 획득한 이미지 처리 능력을, 다른 종류의 동물을 구분하는 작업에 적용할 수 있습니다. 이 경우, 초기 학습에서 얻은 저수준의 특징(예: 모양, 가장자리, 질감 등)이 새로운 작업에도 유용하게 사용될 수 있습니다.
전이 학습은 특히 레이블이 붙은 학습 데이터를 얻기 어렵거나 데이터가 제한적인 상황에서 유용하며, 다양한 딥러닝 애플리케이션에서 널리 사용되고 있습니다. 이 기법은 학습 시간을 단축시키고, 데이터 부족 문제를 완화하며, 모델의 일반화 능력을 향상시킬 수 있습니다.
Word2Vec (2013) : 같이 등장하는 단어들은 코사인 비슷하게 그리기
• Learn embedding that maximizes cosine similarity of words that frequently co-occur.
• Cool demos of doing vector math on the resulting embeddings.
Word2Vec은 2013년에 개발된 자연어 처리(NLP)를 위한 기술로, 단어들 사이의 관계를 벡터 공간에 임베딩함으로써 수치화하는 기법입니다. 이 모델은 큰 텍스트 데이터셋에서 단어들이 자주 함께 나타나는 패턴을 학습하여, 이를 기반으로 각 단어에 대한 벡터를 생성합니다. 생성된 벡터는 단어 간의 의미적 유사성을 반영하여, 코사인 유사도(cosine similarity)를 최대화하는 방향으로 최적화됩니다.
Word2Vec의 주요 특징은 다음과 같습니다:
- 코사인 유사도 최대화: 모델은 자주 함께 등장하는 단어들 사이의 코사인 유사도를 최대화하도록 벡터를 학습합니다. 이는 의미적으로 유사한 단어들이 벡터 공간에서 서로 가깝게 위치하게 만듭니다.
- 벡터 연산 데모: Word2Vec의 임베딩 결과는 놀라운 벡터 연산 능력을 보여줍니다. 예를 들어, "King" - "Man" + "Woman"을 계산하면 "Queen"과 유사한 벡터 결과를 얻을 수 있습니다. 이러한 벡터 수학은 단어 간의 관계를 이해하는 데 효과적인 도구로 활용됩니다.
Today, NLP model zoos are dominated by Transformer, not LSTM, architectures.
이 기술은 단어 임베딩을 생성하는 데 널리 사용되며, 감성 분석, 기계 번역, 문서 분류 등 다양한 NLP 작업에 활용됩니다.
Transformer (2017)
Transformer는 자연어 처리(NLP) 분야에서 중요한 발전을 이룬 아키텍처로, 이전의 RNN(Recurrent Neural Networks)과 LSTM(Long Short-Term Memory) 기반 모델들을 능가하는 새로운 방식을 제시합니다.
Transformer 모델의 핵심은 'attention mechanism'에 있습니다. 이 메커니즘은 모델이 입력 문장의 어떤 부분에 집중해야 할지 결정하게 해줌으로써, 단어 간의 관계를 더욱 효과적으로 이해할 수 있게 합니다. 이 모델은 특히 기계 번역과 같은 시퀀스-투-시퀀스(sequence-to-sequence) 작업에서 매우 효과적입니다.
이 논문은 또한 'self-attention'이라는 개념을 도입합니다. Self-attention은 입력 시퀀스 내의 각 단어가 다른 모든 단어와의 관계를 계산하고, 이 정보를 바탕으로 더 나은 문맥 이해를 돕습니다. Transformer의 이러한 구조는 병렬 처리가 가능하여 학습 속도를 크게 향상시키고, 이전의 순차적 처리가 필요한 모델들보다 더 긴 시퀀스를 효과적으로 처리할 수 있게 해줍니다.
Transformer 모델은 Google Brain 팀에 의해 개발되었으며, 이후 발표된 많은 NLP 모델들의 기초가 되었습니다. 가장 유명한 예로는 GPT(Generative Pretrained Transformer)와 BERT(Bidirectional Encoder Representations from Transformers)가 있습니다. 이들 모델은 자연어 이해와 생성 작업에서 혁신적인 성과를 보여주고 있습니다.
GPT와 GPT-2
GPT와 GPT-2는 OpenAI가 개발한 언어 처리 AI 모델입니다. GPT는 "Generative Pretrained Transformer"의 약자로:
- **Generative(생성적)**은 텍스트를 생성할 수 있다는 의미입니다.
- **Pretrained(사전 훈련된)**는 특정 작업에 세밀하게 조정하기 전에 대량의 텍스트 코퍼스에 대해 훈련된 모델을 가리킵니다.
- **Transformer(트랜스포머)**는 언어와 같은 데이터 시퀀스를 처리하는 데 특히 유용한 신경망 아키텍처 유형을 말합니다.
2019년에 출시된 GPT-2는 GPT의 개선된 버전으로, 더 큰 데이터셋을 사용하여 훈련되고 더 많은 매개변수를 사용할 수 있어 더 현실적인 텍스트를 생성할 수 있습니다. 8백만 개의 웹 페이지에 대한 훈련을 받았으며, 가장 큰 모델은 15억 개의 매개변수를 가지고 있어 당시 자연 언어 처리를 위한 가장 진보된 AI 모델 중 하나입니다. 번역, 질문 응답 및 때때로 인간이 작성한 것과 구별할 수 없는 텍스트 생성과 같은 작업을 수행할 수 있습니다.
BERT (2019)
• Bidirectional Encoder Representations from Transformers(변환기의 양방향 인코더 표현)
• Encoder-only (no attention masking)
• 110M params
BERT (Bidirectional Encoder Representations from Transformers)는 자연 언어 처리(NLP)를 위해 Google에 의해 개발된 모델로, 트랜스포머 아키텍처를 사용합니다. 이 모델의 핵심 특징은 다음과 같습니다:
- Bidirectional(양방향): BERT는 문장의 모든 단어를 한 번에 양방향으로 고려합니다. 이는 문장의 앞과 뒤 모두를 고려하여 각 단어의 맥락을 파악하는 방식입니다.
- Encoder Representations(인코더 표현): BERT는 인코더만 사용하여 텍스트를 높은 수준의 추상적인 표현으로 변환합니다. 이 인코더 표현은 여러 NLP 작업에서 효과적으로 사용될 수 있습니다.
- Transformers(트랜스포머): BERT는 트랜스포머 아키텍처의 인코더 부분만을 사용합니다. 기존의 트랜스포머는 인코더와 디코더 두 부분으로 구성되어 있는데, BERT는 이 중 인코더 부분만을 사용하여 양방향 맥락을 학습합니다.
- 110M params: BERT 모델에는 약 1억 1천만 개의 매개변수가 있습니다. 이것은 모델이 복잡한 언어 구조를 학습하고, 더 넓은 범위의 언어적 현상을 모델링할 수 있게 해줍니다.
BERT는 사전 훈련(pre-training)과 미세 조정(fine-tuning) 두 단계를 통해 학습됩니다. 사전 훈련 단계에서는 대규모의 텍스트 코퍼스를 사용하여 일반적인 언어 이해를 학습하고, 미세 조정 단계에서는 특정 작업에 대한 데이터를 사용하여 모델을 최적화합니다. BERT의 등장은 NLP 분야에서 매우 중요한 진전으로 간주되며, 많은 언어 이해 작업에서 기존의 방법보다 우수한 성능을 보여주었습니다.
T5 (2020)
T5, 또는 Text-to-Text Transfer Transformer,는 자연어 처리(NLP) 분야에서 다양한 작업을 일관된 텍스트-투-텍스트 포맷으로 변환하여 처리하는 것을 목표로 하는 신경망 아키텍처입니다. T5는 다음과 같은 주요 특징들을 가지고 있습니다:
- Text-to-Text: 모든 NLP 작업을 텍스트 입력을 받아 텍스트 출력을 생성하는 문제로 전환합니다. 예를 들어, 질문 응답에서 질문을 입력으로 받고 답변을 텍스트로 출력하거나, 번역 작업에서 한 언어의 문장을 입력으로 받고 다른 언어로 번역된 문장을 출력합니다.
- Encoder-Decoder Architecture: T5는 인코더와 디코더의 구조를 가진 트랜스포머 모델입니다. 인코더는 입력 텍스트를 처리하여 내부적인 표현을 생성하고, 디코더는 이 표현을 바탕으로 최종 텍스트 출력을 생성합니다.
- C4 Dataset: T5는 Colossal Clean Crawled Corpus(C4)라고 불리는 매우 큰 데이터셋에서 사전 훈련됩니다. 이 데이터셋은 위키피디아보다 100배 더 큰 규모로, 인터넷에서 수집하고 정제한 텍스트들을 포함합니다.
- 11B Parameters: T5 모델에는 약 110억 개의 매개변수가 있습니다. 매개변수의 수가 많을수록 모델은 더 복잡하고 세밀한 언어 패턴을 학습할 수 있는 능력이 높아집니다.
T5는 다양한 언어 작업에 대해 일관된 접근 방식을 제공함으로써, 특정 작업에 대한 별도의 모델을 개발할 필요 없이 하나의 모델을 사용하여 여러 작업을 수행할 수 있습니다. 이는 기계 번역, 요약, 질문 응답 등 다양한 NLP 작업에 활용될 수 있습니다. T5의 사전 훈련 접근 방식은 모델이 더 넓은 범위의 언어적 현상을 이해하고 처리할 수 있게 해 주며, 특정 작업에 대해 미세 조정을 통해 성능을 최적화할 수 있습니다.
Chinchilla (2022)
이 연구의 핵심 포인트는 다음과 같습니다:
- 연구팀은 주어진 연산 예산 내에서 최적의 모델 크기와 훈련 데이터셋 크기를 결정하기 위한 공식을 도출했습니다.
- 대부분의 대규모 언어 모델(Large Language Models, LLMs)이 충분히 훈련되지 않았음을 발견했습니다. 이를 "undertrained"라고 표현합니다.
- Chinchilla라는 70B(70 Billion, 700억 개의 매개변수를 가진 모델) 모델을 Gopher(280B, 2800억 개의 매개변수를 가진 모델)와 같은 컴퓨팅 예산으로 훈련시켰습니다. 이 때, Chinchilla 모델은 Gopher 모델에 비해 4배 적은 매개변수와 4배 많은 데이터를 사용했습니다.
표에는 다른 대규모 모델들의 매개변수 수, FLOPs(연산 횟수), 토큰 수 등이 나열되어 있으며, 각 모델이 훈련에 사용한 데이터의 양과 관련된 정보도 포함되어 있습니다. Chinchilla 모델이 비교적 적은 매개변수로도 효율적인 학습이 가능함을 시사하는 것으로 보이며, 이는 모델 설계와 데이터 사용 방식에 대한 새로운 통찰을 제공합니다.
FLOPs의 단위와 비교 모델로 Gopher가 언급되어 있는 것을 보아, 각 모델의 효율성을 비교하는 데 중점을 둔 연구로 보입니다. 이는 인공지능 모델의 경제성과 효율성을 높이는 방향으로 발전하는 현대의 연구 트렌드를 반영합니다.