이전 동영상에서는 생성 AI 프로젝트 라이프 사이클를을 소개했습니다. 보셨듯이, 생성 AI 앱을 출시에 도달하기 전에 몇 가지 단계를 거쳐야 합니다. 사용 사례를 구체화하고, 애플리케이션 내에서 LLM이 어떻게 작동할 필요가 있는지 결정한 후, 다음 단계는 작업할 모델을 선택하는 것입니다.
첫 번째 선택은 기존 모델을 사용할 것인지, 아니면 처음부터 자신의 모델을 훈련시킬 것인지입니다. 처음부터 자신의 모델을 훈련시키는 것이 유리한 특정 상황이 있고, 이 수업에서 나중에 이에 대해 알게 될 것입니다. 그러나 일반적으로, 당신은 기존의 기초 모델을 사용하여 애플리케이션 개발 과정을 시작할 것입니다. 많은 오픈소스 모델들이 AI 커뮤니티의 멤버들이 애플리케이션에 사용할 수 있도록 공개되어 있습니다. Hugging Face와 PyTorch와 같은 주요 생성 AI 애플리케이션 구축 프레임워크의 개발자들은 이러한 모델들을 찾아볼 수 있는 허브를 제공하고 있습니다. 이러한 허브들의 매우 유용한 기능 중 하나는 모델 카드의 포함으로, 각 모델의 최적 사용 사례, 훈련 방법, 알려진 한계 등 중요한 세부 사항을 설명합니다.
선택할 정확한 모델은 수행해야 할 작업의 세부 사항에 따라 다릅니다. 트랜스포머 모델 구조의 변형은 언어 작업에 적합하며, 이는 주로 모델이 어떻게 훈련되는지의 차이 때문입니다. 이러한 차이점을 더 잘 이해하고 특정 작업에 어떤 모델을 사용할지에 대한 직관을 개발하기 위해, 대형 언어 모델이 어떻게 훈련되는지에 대해 자세히 살펴보겠습니다. 이 지식을 가지고, 모델 허브를 더 쉽게 이해하고 사용 사례에 가장 적합한 모델을 찾을 수 있습니다.
우선, LLM의 초기 훈련 과정에 대해 고수준에서 살펴보겠습니다. 이 단계는 종종 사전 훈련이라고 불립니다. Lesson 1에서 보셨듯이, LLM은 언어의 깊은 통계적 표현을 인코딩합니다. 이 이해력은 모델의 사전 훈련 단계에서, 모델이 대량의 비구조적 텍스트 데이터에서 학습할 때 개발됩니다. 이 데이터는 기가바이트, 테라바이트, 심지어 페타바이트의 텍스트가 될 수 있으며, 인터넷에서 크롤링한 데이터나 언어 모델 훈련을 위해 특별히 수집된 텍스트 코퍼스 등 여러 출처에서 가져옵니다. 이 자기 감독 학습 단계에서 모델은 언어에서 존재하는 패턴과 구조를 내면화합니다. 이러한 패턴은 모델이 훈련 목표를 완료하는 데 도움이 되며, 이는 곧 모델의 아키텍처에 따라 다르다는 것을 알게 될 것입니다. 사전 훈련 과정에서 모델의 가중치는 훈련 목표의 손실을 최소화하도록 업데이트됩니다. 인코더는 각 토큰에 대한 임베딩 또는 벡터 표현을 생성합니다. 사전 훈련은 대량의 컴퓨팅 및 GPU 사용이 필요합니다. 주의할 점은, 훈련 데이터를 인터넷과 같은 공공 사이트에서 크롤링할 때, 종종 데이터를 처리하여 품질을 향상시키고, 편향을 처리하고, 다른 해로운 콘텐츠를 제거해야 한다는 것입니다. 이러한 데이터 품질 관리의 결과, 훈련에 사용되는 토큰은 종종 1-3%만 사용됩니다. 자신의 모델을 사전 훈련시키려고 결정하면, 수집해야 할 데이터의 양을 추정할 때 이를 고려해야 합니다.
이번 주 초, 트랜스포머 모델에는 세 가지 변형이 있다는 것을 보았습니다; 인코더만 있는 모델, 인코더-디코더 모델, 그리고 디코더만 있는 모델입니다. 각각
은 다른 목표에 대해 훈련되므로, 다른 작업을 수행하는 방법을 배웁니다. 인코더만 있는 모델은 Autoencoding 모델이라고도 불리며, 마스크된 언어 모델링을 사용하여 사전 훈련됩니다. 여기서 입력 시퀀스의 토큰은 무작위로 마스크되고, 훈련 목표는 마스크된 토큰을 예측하여 원래의 문장을 재구성하는 것입니다. 이것을 denoising 목표라고도 부릅니다. Autoencoding 모델은 입력 시퀀스의 양방향 표현을 제공하므로, 모델은 토큰의 전체 컨텍스트를 이해하고 그 전에 오는 단어만 아닙니다. 인코더-only 모델은 이 양방향 컨텍스트로부터 이익을 얻는 작업에 이상적으로 적합합니다. 예를 들어, 감정 분석 또는 토큰 수준의 작업인 명명된 엔티티 인식 또는 단어 분류를 수행하는 데 사용할 수 있습니다. Autoencoder 모델의 잘 알려진 예는 BERT와 RoBERTa입니다.
이제, 디코더만 있는 또는 자기 회귀 모델을 살펴보겠습니다. 이들은 원인 언어 모델링을 사용하여 사전 훈련됩니다. 여기서 훈련 목표는 이전 시퀀스를 바탕으로 다음 토큰을 예측하는 것입니다. 다음 토큰을 예측하는 것은 때때로 연구자들에게 전체 언어 모델링이라고 불립니다. 디코더 기반 자기 회귀 모델은 입력 시퀀스를 마스크하고, 해당 토큰까지의 입력 토큰만 볼 수 있습니다. 모델은 문장의 끝을 알 수 없습니다. 그런 다음 모델은 입력 시퀀스를 하나씩 순회하면서 다음 토큰을 예측합니다. 인코더 아키텍처와 달리 이것은 컨텍스트가 단방향임을 의미합니다. 대량의 예제에서 다음 토큰을 예측하는 방법을 배우면서, 모델은 언어의 통계적 표현을 구축합니다. 이러한 유형의 모델은 원래 아키텍처의 디코더 구성 요소를 사용
하여 다양한 작업을 수행할 수 있습니다. 예를 들어, 질문에 답하는 데 사용하거나, 시퀀스를 생성하는 작업에서 사용할 수 있습니다. GPT와 GPT-3는 이 유형의 모델에 대한 잘 알려진 예입니다.
마지막으로, 인코더-디코더 아키텍처를 가진 모델을 살펴보겠습니다. 이러한 유형의 모델은 번역, 요약, 대화 시스템과 같이 입력 시퀀스를 출력 시퀀스로 변환하는 작업에 이상적입니다. 인코더는 입력 시퀀스를 표현하는 방법을 학습하고, 디코더는 이 표현을 바탕으로 출력 시퀀스를 생성하는 방법을 학습합니다. 이 모델은 입력과 출력 간에 있는 복잡한 관계를 학습할 수 있습니다. 인코더-디코더 모델은 종종 조건부 생성 작업을 수행하는 데 사용됩니다. 번역은 이 유형의 작업에 대한 좋은 예입니다. 언어 A에서 언어 B로 번역하는 것은 입력(언어 A의 텍스트)이 주어진 조건에서 출력(언어 B의 텍스트)을 생성하는 것입니다. 이런 유형의 작업에서는 보통 인코더-디코더 모델이 가장 잘 작동합니다. T5와 BART는 인코더-디코더 아키텍처를 가진 모델의 예입니다.
이번 동영상에서는 LLM의 사전 훈련 방법에 대해 이야기했습니다. 이것은 LLM의 프로세스 중 가장 비싼 부분입니다. 이에 대해 알아본다면, 이것은 모델 허브에서 가장 적절한 기존 모델을 선택하는 데 도움이 될 것입니다. 이해해야 할 중요한 점은, 사전 훈련된 모델은 본질적으로 언어의 통계적 표현을 캡처합니다. 이러한 표현은 후속 훈련 단계에서 특정 작업에 최적화될 수 있습니다. 이런 유형의 훈련은 종종 ‘fine-tuning’이라고 불립니다. 이는 다음 동영상에서 자세히 다루겠습니다. 그럼, 다음 시간에 만나요!