brunch

You can make anything
by writing

C.S.Lewis

by 박태웅 Apr 24. 2023

거대언어모델(LLM)의 현주소

A great overview on LLMs.

근래에 본 것중 '대규모 언어 모델의 최근 발전상'을 가장 잘 정리한 논문을 번역했다. 기계번역한 뒤 나름 편집하고 교정했으나 부족함이 많을 수 밖에 없다. 조금이라도 미심쩍은 부분은 원본을 찾아보기를 권한다. 

 

https://arxiv.org/abs/2303.18223?fbclid=IwAR1o9DcsIuJ-_ZBHl8z7PWpxUDfTbGDHr_Drb2w3JtC5cfuE07na7q1Zhsw&mibextid=S66gvF


Abstract: 


언어는 본질적으로 문법 규칙에 의해 지배되는 복잡하고 정교한 인간 표현 체계입니다. 따라서 언어를 이해하고 파악할 수 있는 유능한 AI 알고리즘을 개발하는 것은 매우 어려운 과제입니다. 

언어 모델링은 지난 20년 동안 언어 이해 및 생성을 위해 널리 연구되어 왔으며, 통계적 언어 모델에서 신경망 언어 모델로 발전해 왔습니다. 

최근에는 대규모 말뭉치에 대해 트랜스포머 모델을 사전 학습시킨 사전 학습 언어 모델(PLM)이 제안되어 다양한 자연어 처리 작업 해결에 강력한 성능을 보이고 있습니다. 연구자들은 모델 스케일링이 성능 향상으로 이어질 수 있다는 사실을 발견한 후 모델 크기를 더 큰 크기로 늘려 스케일링 효과를 추가로 연구했습니다. 


흥미롭게도 매개변수 규모가 일정 수준을 초과하면 이렇게 확대된 언어 모델은 성능이 크게 향상될 뿐만 아니라 소규모 언어 모델에는 없는 몇 가지 특별한 능력을 보여줍니다. 파라미터 규모의 차이를 구분하기 위해 연구 커뮤니티에서는 상당한 규모의 PLM에 대해 대규모 언어 모델(LLM)이라는 용어를 만들어냈습니다. 

최근 LLM에 대한 연구는 학계와 산업계 모두에서 크게 발전하고 있으며, 그 중 괄목할 만한 발전은 ChatGPT의 출시로 사회적으로 큰 주목을 받고 있습니다. LLM의 기술적 진화는 AI 커뮤니티 전체에 중요한 영향을 미치고 있으며, 이는 AI 알고리즘의 개발 및 사용 방식에 혁신을 가져올 것입니다. 이번 설문조사에서는 LLM의 등장 배경과 주요 연구 결과, 주요 기술을 소개함으로써 최근의 발전상을 살펴봅니다. 특히 사전 학습, 적응 튜닝, 활용, 역량 평가라는 LLM의 네 가지 주요 측면에 초점을 맞춥니다. 또한 LLM을 개발하는 데 사용할 수 있는 리소스를 요약하고 향후 방향에 대한 남은 과제를 논의합니다.


서문 


언어는 인간이 표현하고 소통하는 중요한 능력으로, 유아기에 발달하여 일생에 걸쳐 진화합니다[1, 2]. 그러나 기계는 강력한 인공지능(AI) 알고리즘을 갖추지 않는 한 인간의 언어를 이해하고 소통하는 능력을 자연스럽게 파악할 수 없습니다. 기계가 인간처럼 읽고, 쓰고, 소통할 수 있도록 하는 것은 오랜 연구 과제였습니다[3].

기술적으로 언어 모델링(LM)은 기계의 언어 지능을 발전시키기 위한 주요 접근 방식 중 하나입니다. 일반적으로 LM은 단어 시퀀스의 생성 가능성을 모델링하여 미래의 토큰(또는 누락된 토큰)의 확률을 예측하는 것을 목표로 합니다. 


LM에 대한 연구는 문헌에서 광범위한 관심을 받아왔으며, 이는 크게 네 가지 주요 개발 단계로 나눌 수 있습니다:


통계적 언어 모델(SLM). SLM[4-7]은 1990년대에 등장한 통계적 학습 방법을 기반으로 개발되었습니다. 기본 아이디어는 가장 최근의 문맥을 기반으로 다음 단어를 예측하는 등 마르코프 가정을 기반으로 단어 예측 모델을 구축하는 것입니다. 문맥 길이가 고정된 SLM은 빅그램 및 트라이그램 언어 모델과 같이 n-그램 언어 모델이라고도 합니다. SLM은 정보 검색(IR)[8, 9] 및 자연어 처리(NLP)[10-12]에서 작업 성능을 향상시키기 위해 널리 적용되어 왔습니다. 그러나 고차 언어 모델은 기하급수적인 수의 전이 확률을 추정해야 하기 때문에 정확한 추정이 어렵다는 차원성의 저주가 종종 발생합니다. 따라서 데이터 희소성 문제를 완화하기 위해 백오프 추정[13] 및 굿 튜링 추정[14]과 같이 특별히 고안된 평활화 전략이 도입되었습니다.


신경 언어 모델(NLM). NLM[15-17]은 순환 신경망(RNN)과 같은 신경망에 의해 단어 시퀀스의 확률을 특성화합니다. 주목할 만한 공헌으로, [15]의 연구는 단어의 분산 표현 개념을 도입하고 집계된 문맥 특징(즉, 분산된 단어 벡터)에 조건부 단어 예측 함수를 구축했습니다. 단어 또는 문장에 대한 효과적인 특징 학습이라는 아이디어를 확장하여 다양한 NLP 작업을 위한 통합 솔루션을 구축하기 위해 일반 신경망 접근 방식이 개발되었습니다 [18]. 또한 분산된 단어 표현을 학습하기 위한 단순화된 합성곱 신경망을 구축하기 위해 word2vec[19, 20]이 제안되었는데, 이는 다양한 NLP 작업에서 매우 효과적인 것으로 입증되었습니다. 이러한 연구는 단어 시퀀스 모델링을 넘어 표현 학습에 언어 모델을 사용하기 시작했으며, NLP 분야에 중요한 영향을 미쳤습니다.


사전 학습된 언어 모델(PLM). 초기에는 고정된 단어 표현을 학습하는 대신 양방향 LSTM(biLSTM) 네트워크를 먼저 사전 학습한 다음 특정 다운스트림 작업에 따라 biLSTM 네트워크를 미세 조정하여 문맥 인식 단어 표현을 캡처하기 위해 ELMo [21]가 제안되었습니다. 

또한, 자기 주의(self-attention) 메커니즘을 갖춘 고도로 병렬화 가능한 Transformer 아키텍처[22]를 기반으로 대규모 라벨이 없는 말뭉치에 대해 특별히 부호 제거된 사전 학습 작업을 통해 양방향 언어 모델을 사전 학습하여 BERT[23]를 제안했습니다. 이러한 사전 학습된 문맥 인식 단어 표현은 범용 의미 특징으로서 매우 효과적이며, 이는 NLP 작업의 성능 기준을 크게 높였습니다. 이 연구는 '사전 학습 및 미세 조정' 학습 패러다임을 설정하는 수많은 후속 연구에 영감을 주었습니다. 이 패러다임에 따라 다양한 아키텍처[24, 25](예: GPT-2 [26] 및 BART [24]) 또는 개선된 사전 학습 전략[27-29]을 도입하여 PLM에 대한 수많은 연구가 개발되었습니다. 이 패러다임에서는 다양한 다운스트림 작업에 적응하기 위해 PLM을 미세 조정해야 하는 경우가 많습니다.


대규모 언어 모델(LLM). 연구자들은 PLM을 확장(예: 모델 크기 또는 데이터 크기 확장)하면 다운스트림 작업에서 모델 용량이 향상되는 경우가 많다는 사실을 발견했습니다(즉, 확장 법칙[30]을 따르는 경우). 많은 연구에서 훨씬 더 큰 PLM(예: 175B 파라미터의 GPT-3 및 540B 파라미터의 PaLM)을 훈련하여 성능 한계를 탐색했습니다. 확장은 주로 모델 크기(아키텍처와 사전 학습 작업이 유사함)에서 이루어지지만, 이러한 대형 PLM은 소형 PLM(예: 330M 파라미터 BERT 및 1.5B 파라미터 GPT-2)과는 다른 동작을 보이며 일련의 복잡한 작업을 해결할 때 놀라운 능력(이머전트 능력[31]이라고 함)을 발휘합니다. 예를 들어, GPT-3는 상황 내 학습을 통해 단발성 과제를 해결할 수 있는 반면, GPT-2는 이를 잘 수행하지 못합니다. 따라서 연구 커뮤니티에서는 이러한 대형 PLM에 대해 "대규모 언어 모델(LLM)"1이라는 용어를 사용합니다[32-35]. LLM의 주목할 만한 응용 사례로는 GPT 계열의 LLM을 대화에 적용하여 인간과의 놀라운 대화 능력을 보여주는 ChatGPT2가 있습니다.


기존 문헌에서 PLM에 대한 논의와 조사는 광범위하게 이루어졌지만[36-39], LLM에 대한 체계적인 재조명은 거의 이루어지지 않았습니다. 설문조사의 동기를 부여하기 위해 먼저 LLM과 PLM의 세 가지 주요 차이점을 강조합니다. 


첫째, LLM은 이전의 소규모 PLM에서는 볼 수 없었던 놀랍도록 새로운 능력을 보여줍니다. 이러한 능력은 복잡한 작업에서 언어 모델을 수행하는 데 핵심적인 역할을 하며, AI 알고리즘을 전례 없이 강력하고 효과적으로 만들어 줍니다. 

둘째, LLM은 인간이 AI 알고리즘을 개발하고 사용하는 방식에 혁신을 가져올 것입니다. 

소규모 PLM과 달리 LLM에 액세스하는 주요 접근 방식은 프롬프트 인터페이스(예: GPT-4 API)를 통해 이루어집니다. 

인간은 LLM의 작동 방식을 이해하고 LLM이 따를 수 있는 방식으로 작업을 형식화해야 합니다.


LLM을 양성하려면 대규모 데이터 처리 및 분산 병렬 교육에 대한 광범위한 실무 경험이 필요합니다. 유능한 LLM을 개발하기 위해 연구자들은 엔지니어와 함께 일하거나 엔지니어가 되어 복잡한 엔지니어링 문제를 해결해야 합니다.


오늘날 LLM은 AI 커뮤니티에 큰 영향을 미치고 있으며, ChatGPT와 GPT-4의 출현으로 인공 일반 인공지능(AGI)의 가능성에 대해 다시 생각하게 되었습니다. OpenAI는 AGI에 접근하기 위한 단기 및 장기 계획에 대해 논의하는 "AGI와 그 이후를 위한 계획"이라는 제목의 기술 문서를 발표했으며[40], 최근 논문에서는 GPT-4가 AGI 시스템의 초기 버전으로 간주될 수 있다고 주장했습니다[41]. 


AI 연구 분야는 LLM의 급속한 발전으로 인해 혁신적으로 변화하고 있습니다. 자연어 처리(NLP) 분야에서 LLM은 범용 언어 과제 해결사 역할을 어느 정도 수행할 수 있으며, 연구 패러다임이 LLM을 사용하는 방향으로 전환되고 있습니다. IR 분야에서는 기존 검색 엔진이 인공지능 챗봇을 통한 새로운 정보 탐색 방식에 도전하고 있으며, 뉴빙3는 LLM을 기반으로 검색 결과를 개선하는 첫 시도를 선보였습니다. CV 분야에서 연구자들은 멀티모달 대화에 더 잘 대응할 수 있는 ChatGPT와 유사한 비전 언어 모델을 개발하려고 시도하고 있으며[42-45], GPT-4 [46]는 시각 정보를 통합하여 멀티모달 입력을 지원했습니다. 

이러한 새로운 기술의 물결은 잠재적으로 LLM을 기반으로 하는 실제 애플리케이션의 번창하는 생태계로 이어질 수 있습니다. 예를 들어, Microsoft 365는 LLM(예: 코파일럿)을 통해 사무 업무를 자동화하고 있으며, OpenAI는 특수 기능 구현을 위해 ChatGPT에서 플러그인 사용을 지원합니다.


이러한 발전과 영향력에도 불구하고 LLM의 기본 원리는 아직 잘 밝혀지지 않았습니다


첫째, 왜 더 작은 PLM이 아닌 LLM에서 새로운 기능이 발생하는지 의문입니다. 보다 일반적인 문제로서, LLM의 우수한 능력에 기여하는 주요 요인에 대한 깊고 상세한 조사가 부족합니다. LLM이 언제, 어떻게 그러한 능력을 획득하는지 연구하는 것이 중요합니다[47]. 이 문제에 대한 몇 가지 의미 있는 논의가 있지만[31, 47], LLM의 '비밀'을 밝히기 위해서는 보다 원칙적인 조사가 필요합니다. 


둘째, 연구 커뮤니티에서 유능한 LLM을 양성하기가 어렵다는 점입니다. 계산 리소스의 막대한 투입으로 인해 LLM을 훈련시키기 위한 다양한 전략의 효과를 조사하기 위해 반복적이고 반복적인 연구를 수행하는 것은 매우 비용이 많이 듭니다. 실제로 LLM은 주로 산업별로 훈련되는데, 데이터 수집 및 정리와 같은 중요한 훈련 세부 사항이 공개되지 않는 경우가 많습니다. 


셋째, LLM을 인간의 가치관이나 선호도에 맞추기가 어렵다는 점입니다. LLM은 그 능력에도 불구하고 독성, 허구 또는 유해한 콘텐트를 생산할 가능성도 있습니다. 따라서 LLM 사용의 잠재적 위험을 제거하기 위한 효과적이고 효율적인 제어 접근 방식이 필요합니다[46].


기회와 도전에 직면한 LLM의 연구 및 개발에 더 많은 관심이 필요합니다. 본 조사에서는 LLM에 대한 기본적인 이해를 돕기 위해 


사전 훈련(유능한 LLM을 사전 훈련하는 방법), 

적응 튜닝(효과성과 안전성의 두 가지 관점에서 사전 훈련된 LLM을 효과적으로 튜닝하는 방법), 

활용(다양한 다운스트림 작업 해결에 LLM을 사용하는 방법), 

역량 평가(LLM의 능력과 기존 경험적 결과를 평가하는 방법) 등 크게 4가지 측면에서 최근 발전한 LLM에 대한 문헌 검토를 실시합니다. 


문헌을 면밀히 검토하여 LLM의 주요 연구 결과, 기술 및 방법을 요약합니다. 또한 이 설문조사를 위해 링크(https://github.com/RUCAIBox/LLMSurvey)에서 LLM에 대한 지원 리소스를 수집하여 GitHub 프로젝트 웹사이트를 만들었습니다. 또한 PLM 또는 LLM에 관한 여러 관련 리뷰 논문[32, 36, 38, 39, 43, 48-54]을 알고 있습니다. 이러한 논문은 PLM 또는 LLM의 특정(또는 일반적인) 측면에 대해 논의합니다. 이들과 비교하여 본 설문조사는 LLM을 개발하고 사용하는 기술과 방법에 초점을 맞추고 있으며, LLM의 중요한 측면에 대해 비교적 포괄적으로 언급하고 있습니다.


본 설문조사의 나머지 부분은 다음과 같이 구성되어 있습니다: 

섹션 2에서는 용어, 설정, 리소스 및 조직 개요와 함께 LLM의 배경을 소개하고, 섹션 3에서는 LLM을 개발하는 데 사용할 수 있는 리소스를 요약하여 소개합니다. 섹션 4, 5, 6, 7에서는 각각 사전 교육, 적응 조정, 활용, 역량 평가의 네 가지 측면에서 최근 진행 상황을 검토하고 요약합니다. 마지막으로 섹션 8에서는 주요 조사 결과를 요약하고 향후 작업을 위한 남은 과제를 논의함으로써 조사를 마무리합니다.


2 개요

이 섹션에서는 주요 용어, 능력 및 기법과 함께 LLM의 배경을 소개한 다음 GPT 시리즈 모델의 기술적 진화에 대해 요약합니다.


2.1 LLM의 배경


일반적으로 대규모 언어 모델(LLM)은 수천억 개(또는 그 이상)의 파라미터4를 포함하는 언어 모델을 말하며, GPT-3 [55], PaLM [56], Galactica [35], LLaMA [57]와 같은 대규모 텍스트 데이터[32]로 학습됩니다. 특히, LLM은 매우 심층적인 신경망에 멀티헤드 주의층(multi-head attention layers)이 쌓여 있는 트랜스포머 아키텍처[22]를 기반으로 구축됩니다. 

기존 LLM은 주로 작은 언어 모델로서 유사한 모델 아키텍처(예: Transformer)와 사전 학습 목표(예: 언어 모델링)를 채택합니다. 가장 큰 차이점은 LLM은 모델 크기, 사전 학습 데이터, 총 컴퓨팅 규모(배율)를 크게 확장한다는 점입니다. 자연어를 더 잘 이해하고 주어진 문맥(예: 프롬프트)을 기반으로 고품질 텍스트를 생성할 수 있습니다. 

이러한 능력 향상은 모델 크기에 따라 성능이 대략적으로 증가하는 스케일링 법칙으로 부분적으로 설명할 수 있습니다[30]. 그러나 일부 능력(예: 상황 내 학습[55])은 스케일링 법칙에 따라 예측할 수 없으며, 이는 모델 크기가 특정 수준을 초과할 때만 관찰할 수 있습니다(아래 설명 참조).

LLM의 이머전트 능력. 문헌 [31]에서 LLM의 이머전트 능력은 공식적으로 "작은 모델에는 존재하지 않지만 큰 모델에서 발생하는 능력"으로 정의되며, 이는 LLM을 이전 PLM과 구별하는 가장 두드러진 특징 중 하나입니다. 또한 이머전트 어빌리티가 발생할 때 주목할 만한 특징이 있는데[31], 그 규모가 일정 수준에 도달하면 성능이 무작위보다 크게 상승한다는 점입니다. 비유하자면, 이러한 이머전트 패턴은 물리학의 상전이 현상과 밀접한 관련이 있습니다 [31, 58]. 원칙적으로 이머전 능력은 일부 복잡한 작업과 관련하여 정의될 수 있지만[31, 59], 우리는 다양한 작업을 해결하는 데 적용될 수 있는 일반적인 능력에 더 관심을 두고 있습니다. 여기서는 LLM의 대표적인 이머전트 능력 세 가지를 간략히 소개하며, 이를 다음과 같이 설명합니다.


인컨텍스트 학습. 문맥 내 학습 능력은 GPT-3[55]에서 처음 도입된 것으로, 언어 모델에 자연어 지시 및/또는 여러 작업 데모가 제공되었다고 가정하면, 추가 학습이나 그라데이션 업데이트 없이 입력 텍스트의 단어 순서를 완성하여 테스트 인스턴스에 대한 예상 출력을 생성할 수 있습니다5 .


인스트럭션 팔로잉. 자연어 설명을 통해 포맷된 다중 작업 데이터세트를 혼합하여 미세 조정(인스트럭션 튜닝이라고 함)함으로써 LLM은 명령어 형태로도 설명되는, 보이지 않는 작업에서도 잘 수행되는 것으로 나타났습니다[28, 61, 62]. 인스트럭션 튜닝을 통해 LLM은 명시적인 예제를 사용하지 않고도 새로운 작업에 대한 작업 지침을 따를 수 있으므로 일반화 능력이 향상됩니다.


단계별 추론. 작은 언어 모델의 경우 일반적으로 수학 단어 문제와 같이 여러 추론 단계가 필요한 복잡한 작업을 해결하기가 어렵습니다. 반면, 연쇄 추론 전략[33]을 사용하면 LLM은 최종 답을 도출하기 위한 중간 추론 단계가 포함된 프롬프트 메커니즘을 활용하여 이러한 과제를 해결할 수 있습니다. 이러한 능력은 코드에 대한 훈련을 통해 잠재적으로 얻을 수 있는 것으로 추측됩니다 [33, 47].


LLM의 핵심 기술. LLM이 일반적이고 유능한 학습자라는 현재의 상태로 진화하기까지는 오랜 시간이 걸렸습니다. 개발 과정에서 여러 가지 중요한 기법들이 제안되었고, 이는 LLM의 역량을 크게 향상시켰습니다. 여기에서는 LLM의 성공으로 이어질 수 있는 몇 가지 중요한 기술을 다음과 같이 간략하게 나열합니다.


- 스케일링. 확장은 LLM의 모델 용량을 늘리기 위한 핵심 요소입니다. 초기 시도로 GPT-3는 우선 모델 크기를 175억 개의 파라미터로 매우 큰 규모로 확장했습니다. 이후 PaLM은 파라미터 규모를 540억 개라는 새로운 기록으로 늘렸습니다. 앞서 설명한 바와 같이 이머전트 기능에는 큰 모델 크기가 필수적입니다. 한편, 스케일링은 모델 크기뿐만 아니라 데이터 크기 및 총 컴퓨팅과도 관련이 있습니다 [34, 63]. 최근 연구[34]에서는 고정된 예산이 주어졌을 때 모델 크기, 데이터 크기, 총 컴퓨팅의 세 가지 측면 중 최적의 스케줄에 대해 논의했습니다. 또한 사전 학습 데이터의 품질은 좋은 성능을 달성하는 데 핵심적인 역할을 하므로 사전 학습 코퍼스를 확장할 때 데이터 수집 및 정리 전략을 고려하는 것이 매우 중요합니다.


- 훈련. 모델 크기가 방대하기 때문에 유능한 LLM을 성공적으로 학습시키는 것은 매우 어렵습니다. 다양한 병렬 전략이 공동으로 활용되는 LLM의 네트워크 파라미터를 학습하려면 분산 훈련 알고리즘이 필요합니다. 분산 학습을 지원하기 위해 DeepSpeed [64] 및 Megatron-LM [65-67]과 같은 병렬 알고리즘의 구현 및 배포를 용이하게 하는 여러 최적화 프레임워크가 출시되었습니다. 또한 훈련 손실 급증을 극복하기 위한 재시작[56] 및 혼합 정밀도 훈련[68]과 같은 최적화 트릭도 훈련 안정성과 모델 성능에 중요합니다. 최근에는 GPT-4[46]에서 훨씬 작은 모델로 대규모 모델의 성능을 안정적으로 예측하는 특수 인프라와 최적화 방법을 개발할 것을 제안하고 있습니다.


- 능력 도출. 대규모 말뭉치에 대한 사전 학습을 마친 LLM은 범용 작업 해결사로서의 잠재적 능력을 부여받습니다. 하지만 이러한 능력은 LLM이 특정 작업을 수행할 때 명시적으로 드러나지 않을 수도 있습니다. 기술적 접근법으로는 이러한 능력을 이끌어내기 위해 적절한 작업 지침이나 특정 상황에 맞는 학습 전략을 제시하는 것이 유용합니다. 예를 들어, 연쇄적 사고 프롬프트는 중간 추론 단계를 포함함으로써 복잡한 추론 과제를 해결하는 데 유용한 것으로 나타났습니다. 또한 자연어로 표현된 과제 설명으로 LLM에 대한 인스트럭션 튜닝을 수행하여 보이지 않는 과제에 대한 LLM의 일반화 가능성을 향상시킬 수 있습니다. 하지만 이러한 기법은 주로 LLM의 출현 능력에 해당하며, 작은 언어 모델에서는 동일한 효과를 보이지 않을 수 있습니다.


- 정렬 튜닝. LLM은 사전 학습 코퍼스의 데이터 특성(고품질 및 저품질 데이터 모두 포함)을 포착하도록 학습되기 때문에 인간에게 유해하거나 편향된 콘텐츠를 생성할 가능성이 높습니다. 따라서 도움이 되고, 정직하며, 무해한 등 인간의 가치에 맞게 LLM을 조정할 필요가 있습니다. 이를 위해 InstructGPT[61]는 인간의 피드백을 통한 강화 학습(RLHF) 기법[61, 69]을 활용하여 LLM이 예상되는 지침을 따르도록 하는 효과적인 튜닝 접근 방식을 제시합니다. 이는 정교하게 설계된 라벨링 전략과 함께 훈련 루프에 사람을 통합합니다. 실제로 ChatGPT는 모욕적인 질문에 대한 답변을 거부하는 등 고품질의 무해한 리스펀트를 생성하는 데 있어 강력한 조정 능력을 보여주는 InstructGPT와 유사한 기술을 기반으로 개발되었습니다.


- 도구 조작. 본질적으로 LLM은 방대한 일반 텍스트 말뭉치에 대해 텍스트 생성기로 훈련되었기 때문에 텍스트 형태로 가장 잘 표현되지 않는 작업(예: 숫자 계산)에 대해서는 성능이 떨어집니다. 또한 사전 학습 데이터에 한정되어 있어 최신 정보를 캡처할 수 없는 등의 한계도 있습니다. 이러한 문제를 해결하기 위해 최근 제안된 기법은 외부 도구를 사용하여 LLM의 결함을 보완하는 것입니다[70, 71]. 예를 들어, LLM은 정확한 계산을 위해 계산기를 활용하고[70], 알려지지 않은 정보를 검색하기 위해 검색 엔진을 사용할 수 있습니다[71]. 최근에는 ChatGPT가 외부 플러그인(기존 앱 또는 새로 만든 앱)6을 사용하는 메커니즘을 활성화했는데, 이는 LLM의 '눈과 귀'에 비유할 수 있습니다. 이러한 메커니즘은 LLM의 용량 범위를 광범위하게 확장할 수 있습니다.

이 외에도 다른 많은 요인(예: 하드웨어의 업그레이드)도 LLM의 성공에 기여합니다. 여기서는 LLM 개발을 위한 주요 기술적 접근 방식과 주요 연구 결과에 대해서만 논의하겠습니다.


2.2 GPT 시리즈 모델의 기술적 진화

인간과의 뛰어난 대화 능력으로 인해 ChatGPT는 출시 이후 인공지능 커뮤니티의 열기를 불러 일으켰습니다. ChatGPT는 특별히 최적화된 대화 능력을 갖춘 강력한 GPT 모델을 기반으로 개발되었습니다. Chat-GPT와 GPT 모델에 대한 관심이 계속 높아짐에 따라, GPT 시리즈 모델의 기술적 진화에 대한 특별 논의를 추가하여 지난 몇 년 동안의 개발 과정을 간략하게 요약합니다. 전반적으로 LLM에 대한 OpenAI의 연구는 크게 다음 단계로 나눌 수 있습니다7.


  

그림 1. 최근 몇 년 동안의 기존 대규모 언어 모델(10B 이상 크기)의 타임라인. 타임라인은 주로 모델에 대한 기술 논문의 공개일(예: arXiv에 제출일)에 따라 설정되었습니다. 해당 논문이 없는 경우, 모델의 공개 또는 발표 시점이 가장 빠른 날로 설정했습니다. 공개적으로 사용 가능한 모델 체크포인트는 노란색으로 표시합니다. 그림의 지면 제약으로 인해 공개적으로 보고된 평가 결과가 있는 LLM만 포함했습니다.


초기 탐색. 일리야 수츠케버8(OpenAI의 공동 창립자이자 수석 과학자)와의 인터뷰에 따르면, 지능형 시스템에 언어 모델로 접근하는 아이디어는 이미 OpenAI 초창기에 탐색되었으며, 순환신경망(RNN)을 통해 시도되었습니다[104]. 트랜스포머의 출현과 함께 OpenAI는 GPT-1 [105] 및 GPT-2 [26]라는 두 가지 초기 GPT 모델을 개발했으며, 이는 이후 더 강력한 모델, 즉 GPT-3 및 GPT-4의 기초로 간주될 수 있습니다.


- GPT-1. 2017년에 구글은 트랜스포머 모델[22]을 도입했고, OpenAI 팀은 언어 모델링 작업을 이 새로운 신경망 아키텍처에 빠르게 적용했습니다. 2018년에 첫 번째 GPT 모델, 즉 GPT-1[105]을 출시하고 모델 이름으로 GPT라는 약칭을 만들었는데, 이는 Generative Pre-trained Transformer의 약자입니다. GPT-1은 생성형 디코더 전용 트랜스포머 아키텍처를 기반으로 개발되었으며, 비지도 사전 훈련과 지도 미세 조정을 결합한 작업 불가지론적 학습 접근 방식을 채택했습니다. GPT-1은 GPT 시리즈 모델의 핵심 아키텍처를 설정하고 자연어 텍스트 모델링, 즉 다음 단어 예측을 위한 기본 원칙을 확립했습니다.


- GPT-2. GPT-1과 유사한 아키텍처를 따르는 GPT-2[26]는 매개변수 규모를 1.5B로 늘렸으며, 대규모 웹 페이지 데이터 세트인 WebText로 훈련했습니다. GPT-2의 논문에서 주장한 바와 같이, 레이블이 지정된 데이터를 사용하여 명시적인 미세 조정 없이 비감독 언어 모델링을 통해 작업을 수행하려고 했습니다. 이 접근 방식에 동기를 부여하기 위해, 그들은 입력과 작업 정보에 따라 조건부 출력을 예측하는 다중 작업 학습을 위한 확률적 공식, 즉 p(출력|입력,작업)(이전 작업[106]에서도 유사한 형태를 취한 바 있음)을 도입했습니다. 이러한 조건부 확률을 모델링하기 위해 자연어 텍스트를 입력, 출력 및 작업 정보의 형식을 통일하는 통합된 방법으로 사용할 수 있습니다. 이러한 방식으로 과제를 푸는 과정을 풀이 텍스트를 생성하기 위한 단어 예측 문제로 변환할 수 있습니다. 

또한 이 아이디어에 대한 보다 공식적인 주장을 도입했습니다: "(작업별) 지도 목표가 비지도 (언어 모델링) 목표와 동일하지만 시퀀스의 하위 집합에서만 평가되기 때문에 비지도 목표의 전역 최소값은 (다양한 작업에 대한) 지도 목표의 전역 최소값이기도 합니다."[26] 9. [26]9. 이 주장에 대한 기본적인 이해는 각 (NLP) 작업을 세계 텍스트의 하위 집합을 기반으로 한 단어 예측 문제로 간주 할 수 있다는 것입니다. 따라서 비지도 언어 모델링은 세계 텍스트를 복구하는 데 충분한 능력을 갖도록 훈련되면 다양한 작업을 해결할 수 있습니다. "신경망이 학습하는 것은 텍스트를 생성한 프로세스의 일부 표현입니다." 일리야 수츠케버의 인터뷰에 따르면 GPT-2 논문의 이러한 초기 논의는 젠슨 황의 말을 반영합니다. 이 텍스트는 실제로 세상을 투영한 것입니다... 다음 단어를 더 정확하게 예측할수록 충실도가 높아지고, 이 과정에서 더 많은 해상도를 얻을 수 있습니다..."10.


용량 도약. GPT-2는 "비감독 멀티태스크 학습자"를 위한 것이지만, 전반적으로 감독을 받는 최첨단 미세 조정 방식에 비해 성능이 떨어집니다. 반면, 모델 크기가 상대적으로 작기 때문에 다운스트림 작업, 특히 대화 작업에서 광범위하게 미세 조정되었습니다 [107, 108]. GPT-2를 기반으로 하는 GPT-3는 (거의 동일한) 생성형 사전 훈련 아키텍처를 더욱 확장함으로써 상당한 용량 도약을 보여줍니다.


- GPT-3. GPT-3[55]는 2020년에 출시되었으며, 모델 파라미터를 175B의 훨씬 더 큰 크기로 확장했습니다. GPT-3의 논문에서는 몇 번의 샷 또는 제로 샷 방식으로 LLM을 활용하는 상황 내 학습(ICL)11이라는 개념을 공식적으로 도입했습니다. ICL은 자연어 텍스트의 형태로 작업을 이해하도록 LLM을 가르치거나 지시할 수 있으므로 명시적인 그라데이션 업데이트 없이도 새로운 작업에 대해 소수 샷/제로 샷 학습을 수행할 수 있습니다. 사전 학습은 컨텍스트에 따라 다음 텍스트 시퀀스를 예측하는 반면, ICL은 작업 설명과 데모가 주어지면 텍스트 시퀀스로도 형식화할 수 있는 올바른 작업 솔루션을 예측하는 등 사전 학습과 LLM의 활용은 동일한 언어 모델링 패러다임으로 수렴합니다

GPT-3는 다양한 NLP 작업뿐만 아니라 추론 능력이나 도메인 적응 능력이 필요한 특수 설계된 여러 작업에서도 매우 뛰어난 성능을 보여줍니다. GPT-3의 논문에서는 LLM의 이머전트 능력에 대해 명시적으로 논의하지는 않았지만, 기본 스케일링 법칙[30]을 초월할 수 있는 큰 성능 비약을 관찰할 수 있습니다(예: 더 큰 모델은 훨씬 더 강력한 ICL 능력을 가짐)(GPT-3의 논문 [55]의 원본 그림 1.2에 설명되어 있음). 전반적으로 GPT-3는 PLM에서 LLM으로 진화하는 여정에서 주목할 만한 랜드마크로 볼 수 있습니다. 신경망을 상당한 규모로 확장하면 모델 용량이 크게 증가할 수 있다는 것이 경험적으로 입증되었습니다.


용량 향상. 강력한 성능으로 인해 GPT- 3는 OpenAI를 위한 더욱 뛰어난 성능의 LLM을 개발하기 위한 기본 모델이 되었습니다. 

전반적으로 OpenAI는 코드 데이터에 대한 학습과 인간 선호도와의 조율이라는 두 가지 주요 방향을 통해 GPT-3 모델을 더욱 개선하기 위해 노력해 왔으며, 그 자세한 내용은 다음과 같습니다.


- 코드 데이터에 대한 학습. 일반 텍스트로 사전 학습된 기존 GPT-3 모델의 가장 큰 한계는 코드를 완성하고 수학 문제를 푸는 등 복잡한 작업에 대한 추론 능력이 부족하다는 점입니다. 이러한 능력을 향상시키기 위해 2021년 7월 OpenAI는 대규모 GitHub 코드 코퍼스를 기반으로 미세 조정된 GPT 모델인 Codex[88]를 도입했습니다. 코덱스는 매우 어려운 프로그래밍 문제를 해결할 수 있으며 수학 문제를 푸는 데 있어서도 상당한 성능 향상을 가져올 수 있음을 보여주었습니다[109]. 또한 2022년 1월에는 텍스트 및 코드 임베딩 훈련에 대한 대조적인 접근법[110]이 보고되었는데, 이는 일련의 관련 작업(즉, 선형 프로브 분류, 텍스트 검색 및 코드 검색)을 개선하는 것으로 나타났습니다. 실제로 GPT-3.5 모델은 코드 기반 GPT 모델(즉, code-davinci-002)을 기반으로 개발되었으며, 이는 코드 데이터에 대한 훈련이 GPT 모델의 모델 능력, 특히 추론 능력을 향상시키는 데 매우 유용한 방법임을 나타냅니다

또한 코드 데이터에 대한 훈련이 LLM의 연쇄적 사고 촉발 능력의 원천이 될 수 있다는 추측도 있지만[47], 더 철저한 검증을 통해 더 연구할 가치가 있습니다.


- 인간 정렬. 휴먼 얼라인먼트와 관련된 연구는 2017년(또는 그 이전)으로 거슬러 올라갈 수 있습니다. OpenAI 블로그에 '인간 선호도로부터 학습하기'12라는 제목의 블로그 기사가 게시되어 강화 학습(RL)을 적용하여 사람이 주석으로 달았던 선호도 비교를 통해 학습하는 작업을 설명했습니다[69](그림 5의 InstructGPT 얼라인먼트 알고리즘의 보상 훈련 단계와 유사). 이 RL 논문[69]이 발표된 직후, 2017년 7월에는 인간의 선호도를 학습하기 위한 기본 RL 알고리즘이 된 근거리 정책 최적화(PPO) 알고리즘[111]의 논문이 발표되었습니다[61]. 2020년 1월 말, 앞서 언급한 RL 알고리즘[69, 111]을 사용하여 GPT-2를 미세 조정했는데, 이는 인간의 선호도를 활용하여 NLP 작업에서 GPT-2의 역량을 향상시켰습니다. 같은 해에 발표된 또 다른 연구[112]에서는 비슷한 방식으로 인간의 선호도를 최적화하기 위한 요약 모델을 훈련했습니다. 

이러한 선행 연구를 바탕으로 2022년 1월, 인간 정렬을 위한 GPT-3 모델을 개선하기 위해 인간 피드백으로부터의 3단계 강화 학습(RLHF) 알고리즘을 공식적으로 확립한 InstructGPT[61]가 제안되었습니다. OpenAI의 논문과 문서에서 "인스트럭션 튜닝"이라는 표현은 거의 사용되지 않았으며, 이는 인간의 시연에 대한 감독 미세 조정(즉, RLHF 알고리즘의 첫 번째 단계[61])으로 대체된 것으로 보입니다. RLHF 알고리즘은 명령 추종 능력을 향상시킬 뿐만 아니라, 실제로 LLM을 안전하게 배포하는 데 핵심적인 LLM의 유해성 또는 독성 콘텐츠 생성 문제를 완화하는 데 특히 유용합니다. OpenAI는 기술 문서 [113]에서 정렬 연구에 대한 접근 방식을 설명하며, 이 문서에는 세 가지 유망한 방향이 요약되어 있습니다: "인간의 피드백을 사용하고, 인간의 평가를 지원하며, 얼라인먼트 연구를 수행하도록 AI 시스템을 훈련시키는 것"입니다.

이러한 개선 기술은 더 강력한 기능을 갖춘 개선된 GPT-3 모델로 이어지며, OpenAI에서는 이를 GPT-3.5 모델이라고 부릅니다(3.1절의 GPT-3 및 GPT-3.5 시리즈 모델에 대한 OpenAI API에 대한 설명 참조).


언어 모델의 이정표. 그 동안의 모든 노력을 바탕으로 OpenAI는 ChatGPT [114]와 GPT-4 [46]라는 두 가지 주요 이정표를 달성했으며, 이는 기존 AI 시스템의 역량을 크게 향상시켰습니다.


- ChatGPT. 2022년 11월, OpenAI는 GPT 모델(GPT- 3.5 및 GPT-4)을 기반으로 한 대화 모델 ChatGPT를 출시했습니다. 공식 블로그 글에서 소개한 것처럼[114] ChatGPT는 InstructGPT(원래 게시물에서는 "InstructGPT의 형제 모델"이라고 함)와 유사한 방식으로 학습되었지만 대화에 특별히 최적화되었습니다. 연구진은 데이터 수집 설정에서 ChatGPT와 InstructGPT의 훈련에 차이가 있다고 보고했는데, 사람이 생성한 대화(사용자와 AI의 역할을 모두 수행)를 대화 형식의 InstructGPT 데이터 세트와 결합하여 ChatGPT를 훈련했습니다. ChatGPT는 방대한 지식 저장, 수학적 문제 추론 능력, 다중 턴 대화에서 정확한 문맥 추적, 안전한 사용을 위해 인간의 가치관에 잘 부합하는 등 인간과 소통하는 데 탁월한 역량을 보여주었습니다. 이후 ChatGPT에서 플러그인 메커니즘이 지원되어 기존 도구 또는 앱과 함께 ChatGPT의 기능을 더욱 확장할 수 있게 되었습니다. 지금까지 인공지능 역사상 가장 강력한 챗봇이 될 것으로 보입니다. ChatGPT의 출시는 인간과 유사한 AI 시스템의 탐구에 빛을 비추는 앞으로의 AI 연구에 큰 영향을 미칠 것입니다.


- GPT-4. 또 다른 주목할 만한 발전으로 2023년 3월에 텍스트 입력을 멀티모달 신호로 확장한 GPT-4[46]가 출시되었습니다. 전반적으로 GPT-4는 GPT-3.5보다 복잡한 작업을 해결하는 데 더 강력한 능력을 가지고 있으며 많은 평가 작업에서 큰 성능 향상을 보여줍니다. 재센터 연구[41]에서는 다양한 범위의 어려운 과제에 걸쳐 사람이 생성한 문제로 정성적 테스트를 수행하여 GPT-4의 역량을 조사한 결과, GPT-4가 ChatGPT와 같은 이전 GPT 모델보다 더 우수한 성능을 달성할 수 있음을 보여주었습니다. 또한, GPT-4는 6개월간의 반복적인 정렬(RLHF 훈련에서 추가 안전 보상 신호 포함)을 통해 악의적이거나 도발적인 쿼리에 더 안전하게 대응합니다. 기술 보고서 [46]에서 OpenAI는 GPT-4를 안전하게 개발하는 방법을 강조하고 환각, 개인정보 보호, 과잉 의존과 같은 LLM의 잠재적 문제를 완화하기 위해 여러 가지 개입 전략을 적용했습니다. 예를 들어, 그들은 유해성 또는 독성 콘텐츠 생성을 줄이기 위해 읽기 팀[115]이라는 메커니즘을 도입했습니다. 또 다른 중요한 측면으로, GPT-4는 최적화 방법이 개선된 잘 구축된 딥러닝 인프라에서 개발되었습니다. 그들은 모델 훈련 중에 적은 양의 컴퓨팅으로 최종 성능을 정확하게 예측할 수 있는 예측 가능한 스케일링이라는 새로운 메커니즘을 도입했습니다.


많은 발전에도 불구하고 이러한 우수한 LLM에는 여전히 사실 오류로 인한 환각을 생성하거나 특정 맥락에서 잠재적으로 위험한 반응을 보이는 등의 한계가 있습니다[46]. LLM의 더 많은 한계나 문제는 섹션 7에서 논의할 것입니다. 이는 더 유능하고 안전한 LLM을 개발하기 위한 오랜 연구 과제를 제기합니다. 엔지니어링 관점에서 OpenAI는 모델 사용의 잠재적 위험을 효과적으로 줄이기 위해 개발 및 배포 수명 주기에 따라 모델과 제품을 개발하기 위해 반복 배포 전략[116]을 채택했습니다. 다음에서는 이러한 모델이 어떻게 개발되었는지 구체적으로 이해하기 위해 기술적인 세부 사항을 자세히 살펴보겠습니다.


LMS의 3가지 리소스


까다로운 기술적 문제와 막대한 계산 리소스를 고려할 때 LLM을 개발하거나 재현하는 것은 결코 쉬운 일이 아닙니다. 실현 가능한 방법은 기존 LLM에서 경험을 배우고 공개적으로 이용 가능한 리소스를 점진적 개발이나 실험 연구에 재사용하는 것입니다. 이 섹션에서는 모델 체크포인트(또는 API), 코퍼라, 라이브러리 등 LLM 개발에 사용할 수 있는 공개 리소스를 간략하게 요약합니다.


3.1 공개적으로 사용 가능한 모델 체크포인트 또는 API


모델 사전 학습에 드는 막대한 비용을 고려할 때, 잘 훈련된 모델 체크포인트는 연구 커뮤니티의 LLM 연구 및 개발에 매우 중요합니다.  또한 추론의 경우 모델을 로컬에서 실행하지 않고도 공개 API를 직접 사용하여 작업을 수행할 수 있습니다. 다음은 공개적으로 사용 가능한 모델 체크포인트와 API를 소개합니다.


수백억 개의 파라미터를 가진 모델. 이 범주에 속하는 대부분의 모델은 LLaMA [57](가장 큰 버전에 65억 개의 파라미터 포함) 및 NLLB [81](가장 큰 버전에 54.5억 개의 파라미터 포함)를 제외하고는 파라미터 규모가 10억에서 20억 사이입니다. 이 범위 내의 다른 모델로는 mT5 [73], PanGu-α [74], T0 [28], GPT- NeoX-20B [77], CodeGen [76], UL2 [79], Flan-T5 [83], mT0 [84] 등이 있습니다. 

이 중 Flan-T5(11B 버전)는 작업 수 증가, 모델 크기 확장, 연쇄 프롬프트 데이터로 미세 조정이라는 세 가지 측면[83]에서 명령어 튜닝을 탐색하기 때문에 명령어 튜닝 연구에 가장 적합한 모델이라고 할 수 있습니다. 

한편, 코드 생성용으로 설계된 자동 회귀 언어 모델인 CodeGen(11B 버전)은 코드 생성 기능을 탐색하는 데 좋은 후보로 고려할 수 있습니다. 또한 115개의 전문가가 생성한 문제로 구성된 다중 턴 프로그램 합성을 위한 새로운 벤치마크 MTPB[76]를 도입했습니다. 이러한 문제를 해결하기 위해서는 LLM이 충분한 프로그래밍 지식(예: 수학, 배열 연산, 알고리즘)을 습득해야 합니다. 다국어 작업의 경우, 다국어 프롬프트가 있는 다국어 작업에 맞게 미세 조정된 mT0(13B 버전)이 좋은 후보 모델이 될 수 있습니다. 또한 PanGu- α [74]는 제로 샷 또는 소수 샷 설정에서 중국어 다운스트림 작업에서 우수한 성능을 보여주며, 딥러닝 프레임워크 MindSpore [117]를 기반으로 개발되었습니다. PanGu-α [74]는 여러 버전의 모델(최대 200억 개의 파라미터)을 보유하고 있으며, 가장 큰 공개 버전은 13억 개의 파라미터를 보유하고 있습니다. 최근 출시된 LLaMA(65B 버전)[57]는 다른 모델보다 약 5배 많은 파라미터를 포함하고 있으며, 명령어 추종과 관련된 작업에서 우수한 성능을 보였습니다. 개방성과 효과성으로 인해 LLaMA는 연구 커뮤니티에서 상당한 관심을 끌었으며, 새로운 모델이나 도구를 구현하기 위해 다양한 모델 버전을 미세 조정하거나 지속적으로 사전 훈련하는 데 많은 노력[118-121]을 기울여 왔습니다. 

일반적으로 이 정도 규모의 사전 트레이닝 모델에는 수백 개 또는 수천 개의 GPU 또는 TPU가 필요합니다. 예를 들어, GPT-NeoX-20B는 12개의 슈퍼마이크로 서버를 사용하며, 각 서버에는 8개의 NVIDIA A100- SXM4-40GB GPU가 장착되어 있고, LLaMA는 2,048개의 A100-80G GPU를 사용합니다. 필요한 계산 리소스를 정확하게 추정하기 위해 FLOPS(즉, 초당 부동 소수점 연산 수)와 같은 관련 계산 수를 측정하는 메트릭을 사용하는 것이 좋습니다[30].


수천억 개의 매개변수가 있는 모델. 이 범주의 모델의 경우 공개적으로 공개된 모델은 소수에 불과합니다. 예를 들어, OPT [80], OPT-IML [85], BLOOM [68], BLOOMZ [84]는 GPT-3(175B 버전)와 거의 동일한 수의 파라미터를 가지고 있으며, GLM [82], Galactica [35]는 각각 130B와 120B의 파라미터를 가지고 있습니다. 이 중 OPT(175B 버전)는 연구자들이 대규모로 재현 가능한 연구를 수행할 수 있도록 하는 것을 목표로 하는 개방형 공유에 특히 동기를 부여하고 있습니다. 다국어 일반화 연구의 경우, 다국어 언어 모델링 작업에 능숙한 BLOOM(176B 버전)과 BLOOMZ(176B 버전)를 기본 모델로 사용할 수 있습니다. 이러한 모델 중 OPT-IML은 명령어로 튜닝되어 명령어 튜닝의 효과를 연구하는 데 좋은 후보가 될 수 있습니다. 이 정도 규모의 모델에는 일반적으로 수천 개의 GPU 또는 TPU가 필요합니다. 예를 들어, OPT(175B 버전)는 992개의 A100-80GB GPU를 사용했고, GLM(130B 버전)은 96개의 NVIDIA DGX-A100(8x40G) GPU 노드로 구성된 클러스터를 사용했습니다.


LLM의 공개 API. API는 모델 사본을 직접 사용하는 대신 일반 사용자가 로컬에서 모델을 실행할 필요 없이 보다 편리하게 LLM을 사용할 수 있는 방법을 제공합니다. LLM을 사용하기 위한 대표적인 인터페이스로는 GPT 시리즈 모델[46, 55, 61, 88]을 위한 API가 학계와 산업계에서 널리 사용되고 있습니다13. OpenAI는 GPT-3 시리즈 모델에 ada, babbage, curie, davinci(GPT-3 시리즈에서 가장 강력한 버전), text-ada-001, text-babbage-001, text-curie-001 등 7가지 주요 인터페이스를 제공했습니다. 이 중 처음 네 가지 인터페이스는 OpenAI의 호스트 서버에서 더욱 세밀하게 조정할 수 있습니다.


특히 바비지, 퀴리, 다빈치는 각각 GPT-3(1B), GPT-3(6.7B), GPT-3(175B) 모델에 해당합니다[55]. 또한 코드-쿠시맨-001(코드-쿠시맨-001(코드-쿠시맨(12B)[88]의 강력한 다국어 버전)과 코드-다빈치-002라는 코드[88]와 관련된 두 가지 API도 있습니다. 또한 GPT-3.5 시리즈에는 기본 모델 코드-다빈치-002와 텍스트-다빈치-002, 텍스트-다빈치-003, gpt-3.5-터보-0301의 세 가지 향상된 버전이 포함됩니다. gpt-3.5-turbo-0301은 Chat- GPT를 호출하는 인터페이스라는 점에 주목할 필요가 있습니다. 최근에 OpenAI는 gpt-4, gpt-4-0314, gpt-4-32k 및 gpt-4-32k-0314를 포함한 GPT-4에 대한 상관 API도 출시했습니다. 전반적으로 API 인터페이스의 선택은 특정 애플리케이션 시나리오와 응답 요구 사항에 따라 달라집니다. 자세한 사용법은 해당 프로젝트 웹사이트14에서 확인할 수 있습니다.


  


3.2 일반적으로 사용되는 말뭉치


이전 PLM과 달리 훨씬 더 많은 수의 파라미터로 구성된 LLM은 광범위한 콘텐츠를 포괄하는 더 많은 양의 학습 데이터를 필요로 합니다. 이러한 요구에 부응하기 위해 연구용으로 공개된 훈련 데이터 세트에 대한 접근성이 점점 더 높아지고 있습니다. 이 섹션에서는 LLM 학습에 널리 사용되는 몇 가지 코퍼스를 간략하게 요약해 보겠습니다. 콘텐츠 유형에 따라 이러한 말뭉치를 6가지 그룹으로 분류합니다: 책, CommonCrawl, Reddit 링크, Wikipedia, 코드 및 기타.


책. BookCorpus [122]는 이전의 소규모 모델(예: GPT [105] 및 GPT-2 [26])에서 일반적으로 사용되는 데이터 집합으로, 다양한 주제와 장르(예: 소설, 전기)를 다루는 11,000권 이상의 책으로 구성되어 있습니다. 또 다른 대규모 도서 말뭉치로는 소설, 에세이, 시, 드라마, 역사, 과학, 철학 및 기타 유형의 저작물을 포함한 70,000여 권의 문학 도서로 구성된 프로젝트 구텐베르크[123]가 있습니다. 현재 가장 큰 오픈 소스 도서 컬렉션 중 하나이며, MT-NLG [97] 및 LLaMA [57]의 훈련에 사용되고 있습니다. GPT-3 [55]에 사용된 Books1 [55] 및 Books2 [55]의 경우 BookCorpus보다 훨씬 크지만 아직까지 공개되지 않았습니다.


CommonCrawl. CommonCrawl [132]은 가장 큰 오픈소스 웹 크롤링 데이터베이스 중 하나로 페타바이트 규모의 데이터를 포함하고 있으며, 기존 LLM의 학습 데이터로 널리 사용되어 왔습니다. 전체 데이터 세트가 매우 방대하기 때문에 기존 연구에서는 주로 특정 기간 내 웹 페이지의 하위 집합을 추출합니다. 하지만 웹 데이터에는 노이즈가 많고 품질이 낮은 정보가 광범위하게 존재하기 때문에 사용하기 전에 데이터 전처리를 수행해야 합니다. 

CommonCrawl을 기반으로 기존 작업에서 일반적으로 사용되는 필터링된 데이터 세트는 크게 네 가지가 있습니다: 

C4 [72], CC- Stories [124], CC-News [27], RealNews [125] 등이 있습니다. 콜로살 클린 크롤링 코퍼스(C4)는 다섯 가지 변형15, 즉 en(806G), en.noclean(6T), realnewslike(36G), web- textlike(17G), 다국어(38T)를 포함합니다. en 버전은 사전 교육용 T5 [72], LaMDA [96], Go- pher [59], UL2 [79]에 활용되었습니다. mC4라고도 하는 다국어 C4는 mT5 [73]에서 사용되었습니다. CC-Stories(31G)는 CommonCrawl 데이터의 하위 집합으로 구성되며, 콘텐츠가 스토리와 같은 방식으로 만들어집니다. 현재 CC-Stories의 원본 소스는 사용할 수 없으므로 복제 버전인 CC-Stories-R [133]을 표 2에 포함시켰습니다. 또한 Common- 크롤링에서 추출한 두 개의 뉴스 말뭉치, 즉 리얼뉴스(120G)와 CC-News(76G)도 일반적으로 사전 학습 데이터로 사용됩니다.


레딧 링크. Reddit은 사용자가 링크와 텍스트 게시물을 제출할 수 있는 소셜 미디어 플랫폼으로, 다른 사람들이 '업보트' 또는 '다운보트'를 통해 투표할 수 있습니다. 업보팅이 많이 된 게시물은 종종 유용한 것으로 간주되며, 고품질 데이터 세트를 만드는 데 활용될 수 있습니다. 웹텍스트[26]는 레딧에서 높은 업보팅을 받은 링크들로 구성된 잘 알려진 말뭉치이지만, 공개적으로 사용할 수 없습니다. 이를 대체할 수 있는 오픈소스 대안으로 OpenWebText[126]라는 것이 있습니다. Reddit에서 추출된 또 다른 말뭉치로는 PushShift.io[127]가 있는데, 이 말뭉치는 생성일 이후 Reddit의 과거 데이터로 구성된 실시간 업데이트 데이터 세트입니다. 푸시시프트는 월별 데이터 덤프뿐만 아니라 사용자가 전체 데이터셋을 검색, 요약 및 예비 조사를 수행할 수 있도록 지원하는 유용한 유틸리티 도구도 제공합니다. 이를 통해 사용자는 Reddit 데이터를 쉽게 수집하고 처리할 수 있습니다.


위키피디아. 위키백과[128]는 다양한 주제에 대한 방대한 양의 고품질 문서를 보유한 온라인 백과사전입니다. 이러한 기사의 대부분은 다양한 언어와 분야를 다루는 설명식 글쓰기 스타일(참고 문헌 포함)로 구성되어 있습니다. 일반적으로 영어 전용 필터링된 Wikipedia 버전은 대부분의 LLM에서 널리 사용됩니다(예: GPT-3 [55], LaMDA [96], LLaMA [57]). Wikipedia는 여러 언어로 제공되므로 다국어 설정에서 사용할 수 있습니다.


코드. 코드 데이터를 수집하기 위해 기존 작업은 주로 인터넷에서 오픈소스 라이선스가 부여된 코드를 크롤링합니다. 두 가지 주요 소스는 오픈소스 라이선스를 따르는 공개 코드 리포지토리(예: GitHub)와 코드 관련 질문-답변 플랫폼(예: StackOverflow)입니다. 구글은 다양한 프로그래밍 언어의 오픈소스 라이선스 코드 스니펫이 포함된 빅쿼리 데이터셋[129]을 공개적으로 재임대하여 대표적인 코드 데이터셋으로 사용하고 있습니다. 코드젠은 다국어 버전의 코드젠(코드젠-멀티)을 학습하기 위해 빅쿼리 데이터셋의 하위 집합인 빅쿼리[76]를 활용하고 있습니다.


기타더미[130]는 책, 웹사이트, 코드, 과학 논문, 소셜 미디어 플랫폼 등 다양한 출처의 800GB가 넘는 데이터로 구성된 대규모의 다양한 오픈 소스 텍스트 데이터 세트입니다. 22개의 다양한 고품질 하위 집합으로 구성되어 있습니다. Pile 데이터 세트는 GPT-J (6B) [134], CodeGen (16B) [76], Megatron-Turing NLG (530B) [97] 등 다양한 파라미터 규모를 가진 모델에서 널리 사용되고 있습니다. 또한 ROOTS [131]는 다양한 소규모 데이터 세트(총 1.61TB의 텍스트)로 구성되어 있으며 59개 언어(자연어 및 프로그래밍 언어 포함)를 다루고 있으며, 이는 BLOOM [68] 훈련에 사용되었습니다.


실제로는 일반적으로 하나의 말뭉치 대신 다양한 데이터 소스를 혼합하여 LLM을 사전 훈련해야 합니다(그림 2 참조). 따라서 기존 연구에서는 일반적으로 여러 기성 데이터셋(예: C4, OpenWebText, 더미)을 혼합한 후 추가 처리를 수행하여 사전 훈련 코퍼스를 얻습니다. 또한 특정 애플리케이션에 적응하는 LLM을 훈련하려면 관련 소스(예: Wikipedia 및 BigQuery)에서 데이터를 추출하여 사전 훈련 데이터의 해당 정보를 보강하는 것도 중요합니다. 

기존 LLM에서 사용되는 데이터 소스를 빠르게 참조할 수 있도록 대표적인 세 가지 LLM의 사전 학습 코퍼스를 소개합니다:

- GPT-3 (175B) [55]는 CommonCrawl [132], WebText2 [55], Books1 [55], Books2 [55], Wikipedia [128]를 포함한 300B 토큰의 혼합 데이터셋으로 훈련되었습니다.

- PaLM(540B)[56]은 소셜 미디어 대화, 필터링된 웹페이지, 책, Github, 다국어 위키백과, 뉴스에서 가져온 780억 개의 토큰으로 구성된 사전 학습 데이터 세트를 사용합니다.

- LLaMA[57]는 커먼크롤, C4[72], 깃허브, 위키피디아, 서적, 아카이브, 스택익스체인지 등 다양한 소스에서 트레이닝 데이터를 추출합니다. LLaMA(6B) 및 LLaMA(13B)의 훈련 데이터 크기는 1.0T 토큰이며, LLaMA(32B) 및 LLaMA(65B)에는 1.4T 토큰이 사용됩니다.


3.3 라이브러리 리소스


이 부분에서는 LLM을 개발하는 데 사용할 수 있는 일련의 라이브러리를 간략하게 소개합니다.

- Transformers [135]는 Hugging Face에서 개발 및 유지 관리하는 Transformer 아키텍처를 사용하여 모델을 구축하기 위한 오픈 소스 Python 라이브러리입니다. 간단하고 사용자 친화적인 API를 갖추고 있어 사전 학습된 다양한 모델을 쉽게 사용하고 커스터마이징할 수 있습니다. 모델과 알고리즘을 정기적으로 업데이트하고 개선하는 대규모의 활발한 사용자 및 개발자 커뮤니티가 있는 강력한 라이브러리입니다.

- DeepSpeed [64]는 Microsoft에서 개발한 딥러닝 최적화 라이브러리(PyTorch와 호환 가능)로, MT- NLG [97] 및 BLOOM [68]과 같은 여러 LLM을 학습하는 데 사용되었습니다. 메모리 최적화(ZeRO 기법, 그라디언트 체크포인트), 파이프라인 병렬처리 등 분산 학습을 위한 다양한 최적화 기법을 지원합니다.

- Megatron-LM [65-67]은 대규모 언어 모델 학습을 위해 NVIDIA에서 개발한 딥러닝 라이브러리입니다. 또한 모델 및 데이터 병렬 처리, 혼합 정밀도 훈련, 플래시어텐션 등 분산 훈련을 위한 다양한 최적화 기법을 제공합니다. 이러한 최적화 기법은 훈련 효율과 속도를 크게 향상시켜 GPU 전반에 걸쳐 효율적인 분산 훈련을 가능하게 합니다.

- JAX [136]는 구글에서 개발한 고성능 머신러닝 알고리즘을 위한 Python 라이브러리로, 사용자가 하드웨어 가속(예: GPU 또는 TPU)을 통해 어레이에서 쉽게 연산을 수행할 수 있도록 지원합니다. 다양한 기기에서 효율적으로 계산할 수 있으며 자동 차별화 및 적시 컴파일과 같은 여러 기능을 지원합니다.

- Colossal-AI [137]는 대규모 AI 모델 학습을 위해 HPC-AI Tech에서 개발한 딥러닝 라이브러리입니다. 파이토치(PyTorch)를 기반으로 구현되었으며, 다양한 병렬 훈련 전략을 지원합니다. 또한 패트릭스타[138]가 제안한 메소드를 통해 이기종 메모리 관리를 최적화할 수도 있습니다. 최근에는 ChatGPT와 유사한 모델인 ColossalChat [121]이 공개적으로 두 가지 버전(7B 및 13B)으로 출시되었는데, 이는 LLaMA [57]에 기반한 Colossal-AI를 사용하여 개발되었습니다.


- BMTrain [139]은 코드 단순성, 적은 리소스, 고가용성을 강조하는 분산된 방식으로 대규모 매개변수가 있는 모델을 훈련하기 위해 OpenBMB에서 개발한 효율적인 라이브러리입니다. BMTrain은 개발자가 이러한 모델을 직접 사용할 수 있는 모델센터에 이미 몇 가지 일반적인 LLM(예: Flan-T5 [83] 및 GLM [82])을 통합했습니다.

- FastMoE[140]는 MoE(즉, 전문가 혼합) 모델을 위한 전문 트레이닝 라이브러리입니다. 파이토치(PyTorch)를 기반으로 개발되었으며, 설계시 효율성과 사용자 친화성을 모두 우선시했습니다. FastMoE는 트랜스포머 모델을 MoE 모델로 전송하는 프로세스를 간소화하고 훈련 중 데이터 병렬처리와 모델 병렬처리를 모두 지원합니다.


위의 라이브러리 리소스 외에도 기존의 딥러닝 프레임워크(예: PyTorch [141], TensorFlow [142], MXNet [143], PaddlePaddle [144], MindSpore [117], OneFlow [145])도 대규모 모델 훈련에 일반적으로 사용되는 병렬 알고리즘을 지원하고 있습니다.


4 사전 훈련


사전 훈련은 LLM의 능력의 기초를 확립합니다. 대규모 말뭉치에 대한 사전 학습을 통해 LLM은 본질적인 언어 이해와 생성 기술을 습득할 수 있습니다[55, 56]. 이 과정에서 사전 학습 코퍼스의 규모와 품질은 LLM이 강력한 역량을 갖추기 위해 매우 중요합니다. 또한 LLM을 효과적으로 사전 훈련하기 위해서는 모델 아키텍처, 가속 방법, 최적화 기법을 잘 설계해야 합니다. 여기서는 먼저 4.1절에서 데이터 수집 및 처리에 대해 설명하고, 4.2절에서 일반적으로 사용되는 모델 아키텍처를 소개한 다음, 4.3절에서 LLM을 안정적이고 효율적으로 최적화하기 위한 훈련 기법을 마지막으로 소개합니다.


4.1 데이터 수집


소규모 언어 모델에 비해 LLM은 모델 사전 학습을 위한 고품질 데이터에 대한 수요가 더 높으며, 모델 성능은 사전 학습 코퍼스와 전처리 방법에 크게 좌우됩니다. 이 파트에서는 데이터 소스, 전처리 방법, 그리고 사전 학습 데이터가 LLM의 성능에 미치는 영향에 대한 중요한 분석을 포함하여 사전 학습 데이터의 수집 및 처리에 대해 설명합니다.


4.1.1 데이터 소스

유능한 LLM을 개발하기 위해서는 다양한 데이터 소스에서 대량의 자연어 말뭉치를 수집하는 것이 핵심입니다. 기존 LLM은 주로 다양한 공개 텍스트 데이터셋을 혼합하여 사전 학습 코퍼스로 활용합니다. 그림 2는 대표적인 여러 LLM의 사전 학습 데이터 소스 분포를 보여줍니다.

사전 학습용 말뭉치의 출처는 크게 일반 데이터와 전문 데이터의 두 가지 유형으로 분류할 수 있습니다. 웹페이지, 책, 대화체 텍스트와 같은 일반 데이터는 규모가 크고 다양하며 접근성이 뛰어나 LLM의 언어 모델링 및 일반화 능력을 향상시킬 수 있어 대부분의 LLM에서 활용되고 있습니다[55, 56, 80]. LLM이 보여주는 인상적인 일반화 능력에 비추어 사전 학습 코퍼스를 다국어 데이터, 과학 데이터, 코드와 같은 보다 전문화된 데이터 집합으로 확장하여 LLM에 특정 작업 해결 능력을 부여하는 연구도 있습니다[35, 56, 76]. 아래에서는 이 두 가지 유형의 사전 학습 데이터 소스와 이들이 LLM에 미치는 영향에 대해 설명합니다. 일반적으로 사용되는 말뭉치에 대한 자세한 소개는 섹션 3.2를 참조하세요.


일반 텍스트 데이터. 

그림 2에서 볼 수 있듯이 대부분의 LLM은 웹페이지, 책, 대화 텍스트와 같은 범용 사전 학습 데이터를 채택하여 다양한 주제에 대한 풍부한 텍스트 소스를 제공합니다. 다음은 세 가지 중요한 일반 데이터를 간략하게 요약한 것입니다.


- 웹페이지. 인터넷의 확산으로 인해 다양한 유형의 데이터가 생성되었으며, 이를 통해 LLM은 다양한 언어 지식을 습득하고 일반화 능력을 향상시킬 수 있습니다 [26, 72]. 이러한 데이터 자원을 편리하게 사용하기 위해 CommonCrawl [132]과 같은 선행 연구에서는 웹에서 대량의 데이터를 크롤링합니다. 그러나 크롤링된 웹 데이터에는 위키백과와 같은 고품질 텍스트와 스팸 메일과 같은 저품질 텍스트가 모두 포함되는 경향이 있어 데이터 품질 향상을 위해 웹 페이지를 필터링하고 처리하는 것이 중요합니다.


- 대화 텍스트. 대화 데이터는 인공 지능의 대화 능력을 향상시킬 수 있으며[80], 다양한 질의응답 작업에서 인공 지능의 성능을 잠재적으로 입증할 수 있습니다[56]. 연구자들은 공개 대화 말뭉치의 하위 집합(예: PushShift.io Reddit 말뭉치)을 활용하거나[127, 146] 온라인 소셜 미디어에서 대화 데이터를 수집할 수 있습니다. 온라인 대화 데이터에는 여러 참여자 간의 토론이 포함되는 경우가 많기 때문에 효과적인 처리 방법은 대화를 트리 구조로 변환하여 발화와 그에 응답하는 발화를 연결하는 것입니다. 이러한 방식으로 다자간 대화 트리를 여러 개의 하위 대화로 나눌 수 있으며, 이를 사전 학습 코퍼스에서 수집할 수 있습니다. 또한 대화 데이터를 LLM에 과도하게 통합하면 선언적 명령어와 직접적인 의문문이 대화의 시작으로 잘못 인식되어 명령어의 효율성이 저하되는 부작용[80]이 발생할 수 있다는 잠재적 위험이 있습니다.


- 책. 다른 말뭉치에 비해 책은 형식적인 긴 텍스트의 중요한 소스를 제공하며, 이는 LLM이 언어 지식을 학습하고, 장기 의존성을 모델링하며, 내러티브와 일관된 텍스트를 생성하는 데 잠재적으로 도움이 될 수 있습니다. 오픈 소스 도서 데이터를 얻기 위해 기존 연구에서는 일반적으로 Pile 데이터 세트에서 사용할 수 있는 Books3 및 Bookcorpus2 데이터 세트를 채택합니다 [130].


특수 텍스트 데이터. 

전문화된 데이터 세트는 다운스트림 작업에서 LLM의 특정 기능을 향상시키는 데 유용합니다. 다음은 세 가지 종류의 전문화된 데이터를 소개합니다.

- 다국어 텍스트. 대상 언어의 텍스트 외에도 다국어 코퍼스를 통합하면 언어 이해 및 생성의 다국어 능력을 향상시킬 수 있습니다. 예를 들어, BLOOM [68]과 PaLM [56]은 사전 학습 코퍼스 내에서 각각 46개 언어와 122개 언어를 포함하는 다국어 데이터를 큐레이팅했습니다. 이러한 모델은 번역, 다국어 요약, 다국어 질의응답과 같은 다국어 작업에서 인상적인 성능을 보여주며, 목표 언어의 말뭉치에 대해 미세 조정된 최첨단 모델과 비슷하거나 더 우수한 성능을 달성합니다.

- 과학 텍스트. 인류의 과학 탐구는 과학 출판물의 증가와 함께 더욱 활발해지고 있습니다. LLM의 과학 지식에 대한 이해를 높이기 위해[35, 147], 모델 사전 학습을 위해 과학 코퍼스를 통합하는 것이 유용합니다[35, 147]. 방대한 양의 과학 텍스트를 사전 학습함으로써 LLM은 과학 및 추론 작업에서 인상적인 성능을 달성할 수 있습니다[148].

과학 말뭉치를 구축하기 위해 기존의 노력은 주로 아카이브 논문, 과학 교과서, 수학 웹 페이지 및 기타 관련 과학 리소스를 수집합니다. 수학 기호나 단백질 서열과 같은 과학 분야 데이터의 복잡한 특성으로 인해, 이러한 다양한 형식의 데이터를 언어 모델에서 처리할 수 있는 통합된 형태로 변환하기 위해서는 일반적으로 특정 토큰화 및 전처리 기술이 필요합니다.

- 코드. 프로그램 합성은 연구 커뮤니티에서 널리 연구되어 왔으며[88, 149-152], 특히 코드에 대해 학습된 PLM의 사용[134, 153]에 대한 연구가 활발합니다. 그러나 이러한 PLM(예: GPT-J [134])이 고품질의 정확한 프로그램을 생성하는 데는 여전히 한계가 있습니다. 최근 연구[88, 152]에 따르면 방대한 코드 코퍼스에 대해 LLM을 훈련하면 합성된 프로그램의 품질이 크게 향상될 수 있습니다. 생성된 프로그램은 전문가가 설계한 단위 테스트 사례를 성공적으로 통과하거나[88] 경쟁 프로그래밍 문제를 해결할 수 있습니다[98]. 일반적으로 두 가지 유형의 코드 코퍼스가 사전 학습용 LLM에 일반적으로 사용됩니다. 첫 번째 소스는 스택 익스체인지와 같은 프로그래밍 질문 답변 커뮤니티에서 제공됩니다 [154, 155]. 두 번째 소스는 코드 데이터(주석 및 독스트링 포함)를 수집하여 활용하는 GitHub[76, 88, 152]와 같은 공개 소프트웨어 리포지토리에서 가져옵니다. 자연어 텍스트에 비해 코드는 프로그래밍 언어의 형식으로 되어 있어 장거리 종속성 및 정확한 실행 로직과 상관관계가 있습니다[156]. 최근 연구[47]에 따르면 코드에 대한 훈련이 복잡한 추론 능력(예: 연쇄 사고 능력[33])의 원천이 될 수 있다고 추측하기도 합니다. 또한 추론 작업을 코드로 형식화하면 LLM이 더 정확한 결과를 생성하는 데 도움이 될 수 있습니다[156, 157].


4.1.2 데이터 전처리

대량의 텍스트 데이터를 수집한 후에는 사전 학습용 코퍼스를 구성하기 위해 데이터를 전처리하는 것이 필수적이며, 특히 LLM의 용량과 성능에 큰 영향을 미칠 수 있는 노이즈, 중복, 관련성 없는 데이터, 잠재적으로 유독한 데이터[56, 59]를 제거하는 것이 중요하다. 이 부분에서는 수집된 데이터의 품질을 향상시키기 위한 세부적인 데이터 전처리 전략을 검토합니다 [59, 68, 95]. LLM을 위한 사전 학습 데이터를 전처리하는 일반적인 파이프라인은 그림 3에 나와 있습니다.


  

그림 3. 대규모 언어 모델을 사전 학습하기 위한 일반적인 데이터 전처리 파이프라인의 그림.


품질 필터링. 수집된 말뭉치에서 품질이 낮은 데이터를 제거하기 위해 기존 작업에서는 일반적으로 (1) 분류기 기반과 (2) 휴리스틱 기반이라는 두 가지 접근 방식을 채택하고 있습니다. 전자의 접근 방식은 고품질 텍스트를 기반으로 선택 분류기를 훈련하고 이를 활용하여 저품질 데이터를 식별하고 필터링합니다. 일반적으로 이러한 방법[55, 56, 95]은 잘 선별된 데이터(예: Wikipedia 페이지)를 양성 인스턴스로, 샘플 후보 데이터를 음성 인스턴스로 사용하여 이원 분류기를 훈련하고 각 데이터 인스턴스의 품질을 측정하는 점수를 예측합니다. 그러나 여러 연구[59, 95]에 따르면 분류기 기반 접근 방식은 방언, 구어, 사회 언어의 고품질 텍스트를 의도치 않게 제거하여 사전 학습 코퍼스에 편향성을 유발하고 코퍼스의 다양성을 감소시킬 수 있다고 합니다. 두 번째 접근 방식으로는 BLOOM [68] 및 Gopher [59]와 같은 여러 연구에서 휴리스틱 기반 접근 방식을 사용하여 잘 설계된 일련의 규칙을 통해 품질이 낮은 텍스트를 제거하는데, 이는 다음과 같이 요약할 수 있습니다:

- 언어 기반 필터링. 특정 언어의 작업에 주로 사용되는 LLM의 경우, 다른 언어의 텍스트는 필터링할 수 있습니다.

- 메트릭 기반 필터링: 생성된 텍스트에 대한 평가 메트릭(예: 난해성)을 사용하여 부자연스러운 문장을 감지하고 제거할 수 있습니다.

- 통계 기반 필터링. 구두점 분포, 기호 대 단어 비율, 문장 길이 등 말뭉치의 통계적 특징을 활용하여 텍스트 품질을 측정하고 품질이 낮은 데이터를 필터링할 수 있습니다.

- 키워드 기반 필터링: 특정 키워드 세트를 기반으로 HTML 태그, 하이퍼링크, 상용구, 불쾌감을 주는 단어 등 텍스트에서 시끄럽거나 쓸모없는 요소를 식별하고 제거할 수 있습니다.


중복 제거. 기존 연구[158]에 따르면 말뭉치에서 중복된 데이터는 언어 모델의 다양성을 감소시켜 학습 과정이 불안정해져 모델 성능에 영향을 미칠 수 있습니다. 따라서 사전 학습 코퍼스의 중복을 제거할 필요가 있습니다. 특히 중복 제거는 문장 수준, 문서 수준, 데이터 세트 수준의 중복 제거 등 다양한 세부 수준에서 수행될 수 있습니다. 먼저, 반복되는 단어나 구를 포함하는 저품질 문장은 언어 모델링에서 반복적인 패턴을 유발할 수 있으므로 제거해야 합니다[159]. 문서 수준에서 기존 연구들은 대부분 문서 간 표면 특징의 중첩 비율(예: 단어와 n-그램의 중첩)에 의존하여 유사한 내용을 포함하는 중복 문서를 탐지하고 제거합니다[57, 59, 68, 160].

또한, 데이터 세트 오염 문제를 피하기 위해 훈련 세트에서 가능한 중복 텍스트를 제거하여 훈련 세트와 평가 세트 간의 중복을 방지하는 것도 중요합니다[56]. 세 가지 수준의 중복 제거는 LLM의 학습을 개선하는 데 유용하며[56, 161], 실제로는 공동으로 사용해야 한다는 것이 입증되었습니다.


개인정보 리덕션. 사전 학습 텍스트 데이터의 대부분은 민감한 정보 또는 개인 정보와 관련된 사용자 생성 컨텐트를 포함하여 웹 소스에서 얻어지며, 이는 개인 정보 침해의 위험을 증가시킬 수 있습니다[162]. 따라서 사전 학습 코퍼스에서 개인 식별 정보(PII)를 제거하는 것이 필수적입니다. 한 가지 직접적이고 효과적인 접근 방식은 키워드 스포팅과 같은 규칙 기반 방법을 사용하여 이름, 주소, 전화번호와 같은 PII를 탐지하고 제거하는 것입니다[131]. 또한 연구자들은 개인 정보 공격에 대한 LLM의 취약성이 사전 학습 코퍼스에 중복된 PII 데이터가 존재하기 때문일 수 있다는 사실을 발견했습니다[163]. 따라서 중복 제거를 통해 개인정보 보호 위험을 어느 정도 줄일 수 있습니다.


토큰화. 토큰화 역시 데이터 전처리의 중요한 단계입니다. 토큰화는 원시 텍스트를 개별 토큰의 시퀀스로 분할하는 것을 목표로 하며, 이는 이후 LLM의 입력으로 사용됩니다. 기존 토큰화기를 활용하는 것이 편리하지만(예: OPT [80] 및 GPT-3 [55]는 GPT-2 [26]의 토큰화기를 활용), 특히 다양한 도메인, 언어 및 형식으로 구성된 말뭉치의 경우 사전 학습용 말뭉치를 위해 특별히 설계된 토큰화기를 사용하는 것이 매우 유용할 수 있습니다[68]. 따라서 최근의 몇몇 LLM은 SentencePiece를 사용하여 사전 훈련 말뭉치를 위해 특별히 맞춤화된 토큰화기를 훈련합니다[164]. 토큰화 후 정보가 무손실임을 보장하기 위해 바이트 수준의 바이트 쌍 인코딩(BPE) 알고리즘[165]이 활용됩니다[56, 59]. 반면, NFKC[166]와 같은 BPE의 정규화 기법은 토큰화 성능을 저하시킬 수 있습니다[34, 59, 68].


4.1.3 사전 학습 데이터가 LLM에 미치는 영향

소규모 PLM과 달리, 일반적으로 계산 리소스에 대한 막대한 수요로 인해 LLM의 사전 학습을 여러 번 반복하는 것은 실현 불가능합니다. 따라서 LLM을 학습시키기 전에 잘 준비된 사전 학습 코퍼스를 구축하는 것이 특히 중요합니다. 이 부분에서는 사전 훈련 말뭉치의 품질과 분포가 LLM의 성능에 잠재적으로 어떤 영향을 미치는지에 대해 설명합니다.


소스의 혼합. 앞서 설명한 것처럼, 서로 다른 도메인이나 시나리오의 사전 학습 데이터는 서로 다른 언어적 특성이나 의미론적 지식을 가지고 있습니다. 다양한 소스의 텍스트 데이터를 혼합하여 사전 학습함으로써 LLM은 광범위한 지식을 습득할 수 있으며 강력한 일반화 능력을 발휘할 수 있습니다.

서로 다른 소스를 혼합할 때는 다운스트림 작업에서 LLM의 성능에도 영향을 미칠 수 있으므로 사전 학습 데이터의 분포를 신중하게 설정해야 합니다[59]. Gopher[59]는 혼합 소스가 다운스트림 작업에 미치는 영향을 조사하기 위해 데이터 분포에 대한 제거 실험을 수행합니다. LAMBADA 데이터 세트에 대한 실험 결과[167]에 따르면 도서 데이터의 비중을 늘리면 텍스트에서 장기적인 종속성을 포착하는 모델의 용량이 향상될 수 있으며, C4 데이터 세트[72]의 비중을 늘리면 C4 검증 데이터 세트[59]의 성능이 향상됩니다. 반면, 부작용으로 특정 도메인에 대한 과도한 데이터에 대한 학습은 다른 도메인에 대한 LLM의 일반화 능력에 영향을 미칠 수 있습니다[35, 59]. 따라서 연구자들은 사전 훈련 말뭉치에서 다른 도메인의 데이터 비율을 신중하게 결정하여 특정 요구 사항을 더 잘 충족하는 LLM을 개발할 것을 제안합니다. 독자들은 그림 2를 참조하여 다양한 LLM의 데이터 소스를 비교할 수 있습니다.


사전 학습 데이터의 양. 효과적인 LLM을 사전 학습하기 위해서는 LLM의 데이터 양적 수요를 충족할 수 있는 충분한 양의 고품질 데이터를 수집하는 것이 중요합니다. 기존 연구에 따르면 LLM의 파라미터 규모가 커질수록 모델 학습에 더 많은 데이터가 필요한 것으로 나타났습니다[34, 57]: 모델 성능과 관련하여 모델 크기와 유사한 스케일링 법칙이 데이터 크기에서도 관찰됩니다. 친칠라[34]는 기존의 많은 LLM이 불충분한 사전 학습 데이터로 인해 최적이 아닌 학습을 수행한다는 것을 보여줍니다. 또한 광범위한 실험을 통해 주어진 컴퓨팅 예산에 대해 동일한 규모의 모델 파라미터와 훈련 토큰을 채택할 필요가 있음을 보여줍니다. 최근 LLaMA[57]는 더 많은 데이터와 더 긴 트레이닝을 통해 더 작은 모델도 좋은 성능을 달성할 수 있음을 보여줍니다. 따라서 연구자들은 특히 모델 파라미터를 확장할 때 모델을 적절히 훈련하기 위해 고품질 데이터의 양에 더 많은 주의를 기울일 것을 제안합니다.


사전 학습 데이터의 품질. 기존 연구에 따르면 노이즈, 독성, 중복 데이터 등 품질이 낮은 말뭉치에 대한 사전 학습은 모델의 성능을 저하시킬 수 있습니다[59, 158, 160, 163]. 우수한 성능의 LLM을 개발하려면 수집된 훈련 데이터의 양과 품질을 모두 고려하는 것이 중요합니다. T5 [72], GLaM [95], Gopher [59]와 같은 최근 연구에서는 데이터 품질이 다운스트림 작업의 성능에 미치는 영향을 조사했습니다. 필터링된 말뭉치와 필터링되지 않은 말뭉치에 대해 학습된 모델의 성능을 비교함으로써, 이들은 정리된 데이터에 대해 LLM을 사전 학습하면 성능을 향상시킬 수 있다는 동일한 결론에 도달합니다. 보다 구체적으로, 데이터의 중복은 "이중 하강"(처음에는 성능이 저하되었다가 이후 개선되는 현상을 말함)을 초래하거나[158, 168], 심지어 훈련 프로세스를 압도할 수도 있습니다[158]. 또한, 중복 데이터는 문맥에서 LLM의 복사 능력을 저하시켜 문맥 내 학습을 사용하는 LLM의 일반화 능력에 더 영향을 미칠 수 있는 것으로 나타났습니다 [158]. 따라서 [56, 59, 68]에서 제안한 바와 같이, 학습 과정의 안정성을 높이고 모델 성능에 영향을 미치지 않도록 사전 학습 코퍼스에 전처리 방법을 신중하게 통합하는 것이 필수적입니다(4.1.2절에 설명된 바와 같이).


4.2 아키텍처


이 섹션에서는 LLM의 아키텍처 설계, 즉 메인스트림 아키텍처, 사전 훈련 목표, 디테일 구성에 대해 살펴봅니다. 표 3에는 몇 가지 대표적인 LLM의 모델 카드와 공개 세부 정보가 나와 있습니다.


4.2.1 메인스트림 아키텍처

뛰어난 병렬성과 용량으로 인해 Transformer 아키텍처[22]는 언어 모델을 수백, 수천억 개의 파라미터로 확장할 수 있어 다양한 LLM 개발의 사실상 근간이 되었습니다. 일반적으로 기존 LLM의 주류 아키텍처는 크게 인코더-디코더, 인과관계 디코더, 접두사 디코더의 세 가지 유형으로 분류할 수 있습니다.


인코더-디코더 아키텍처. 바닐라 트랜스포머 모델은 인코더-디코더 아키텍처[22]를 기반으로 하며, 인코더와 디코더로 각각 두 개의 트랜스포머 블록 스택으로 구성됩니다. 인코더는 스택형 멀티헤드 셀프 어텐션 레이어를 채택하여 입력 시퀀스를 인코딩하여 잠재적 표현을 생성하고, 디코더는 이러한 표현에 대해 교차 어텐션을 수행하여 목표 시퀀스를 자동 회귀적으로 생성합니다. 인코더-디코더 PLM(예: T5 [72] 및 BART [24])은 다양한 NLP 작업에서 효과를 입증했습니다. 지금까지 인코더-디코더 아키텍처를 기반으로 구축된 LLM은 Flan-T5 [83]와 같이 소수에 불과합니다. 아키텍처 선택에 대한 자세한 논의는 4.2.4절에 남겨두겠습니다.


인과 관계 디코더 아키텍처. 인과 관계 디코더 아키텍처는 단방향 어텐션 마스크를 통합하여 각 입력 토큰이 과거 토큰과 자신에만 집중할 수 있도록 보장합니다. 입력 토큰과 출력 토큰은 디코더를 통해 동일한 방식으로 처리됩니다. 이 아키텍처의 대표적인 언어 모델로서 GPT 시리즈 모델[26, 55, 105]은 인과 관계 디코더 아키텍처를 기반으로 개발되었습니다. 특히 GPT-3 [55]는 이 아키텍처의 효과를 성공적으로 입증했으며, LLM의 놀라운 상황 내 학습 능력도 보여주었습니다. 흥미롭게도 GPT-1 [105]과 GPT-2 [26]는 GPT-3만큼 뛰어난 능력을 보여주지 못했으며, 스케일링이 이 모델 아키텍처의 모델 용량을 늘리는 데 중요한 역할을 하는 것으로 보입니다. 지금까지 인과적 디코더는 OPT [80], BLOOM [68], Gopher [59]와 같은 다양한 기존 LLM에서 LLM의 아키텍처로 널리 채택되었습니다. 다음에 설명하는 원인 디코더와 접두사 디코더는 모두 디코더 전용 아키텍처에 속한다는 점에 유의하십시오. "디코더 전용 아키텍처"라고 언급할 때는 특별한 언급이 없는 한 기존 문헌에서 주로 인과적 디코더 아키텍처를 지칭합니다.


접두사 디코더 아키텍처. 접두사 디코더 아키텍처(일명 비인과적 디코더[169])는 인과적 디코더의 마스킹 메커니즘을 수정하여 접두사 토큰[170]에 대해서는 이중 반응 어텐션, 생성된 토큰에 대해서만 단일 반응 어텐션을 수행할 수 있도록 합니다. 이러한 방식으로 인코더-디코더 아키텍처와 마찬가지로 접두사 디코더는 접두사 시퀀스를 양방향으로 인코딩하고 인코딩과 디코딩 중에 동일한 매개 변수가 공유되는 출력 토큰을 하나씩 자동 점진적으로 예측할 수 있습니다. 처음부터 사전 훈련하는 대신 인과 디코더를 지속적으로 훈련한 다음 융합을 가속화하기 위해 접두사 디코더로 변환하는 것이 실용적인 제안입니다[29](예: U-PaLM [102]는 PaLM [56]에서 파생된 것). 접두사 디코더를 기반으로 하는 기존의 대표적 LLM에는 GLM- 130B [82] 및 U-PaLM [102]이 있습니다.


세 가지 유형의 아키텍처의 경우, 각 입력에 대한 신경망 가중치의 하위 집합이 드물게 활성화되는 전문가 혼합(MoE) 스케일링을 통해 확장하는 것도 고려할 수 있습니다(예: 스위치 트랜스포머[25] 및 GLaM[95]). 전문가 수 또는 전체 파라미터 크기를 늘리면 상당한 성능 향상을 관찰할 수 있는 것으로 나타났습니다[171].


4.2.2 세부 구성

트랜스포머 출시 이후[22], 훈련 안정성, 성능, 계산 효율을 향상시키기 위한 다양한 개선이 제안되었습니다. 이 부분에서는 정규화, 위치 임베딩, 활성화 기능, 주의 및 편향성 등 Transformer의 네 가지 주요 부분에 대한 해당 구성에 대해 설명합니다.


정규화. 트레이닝 불안정성은 사전 트레이닝 LLM의 어려운 문제입니다. 이 문제를 완화하기 위해 레이어 노멀라이제이션(레이어 노멀라이제이션, LN)[172]이 트랜스포머 아키텍처에서 널리 사용되고 있습니다. LN의 위치는 LLM의 성능에 매우 중요합니다. 초기 트랜스포머[22]는 포스트-LN을 사용하지만, 대부분의 LLM은 성능 저하에도 불구하고 보다 안정적인 훈련을 위해 프리-LN을 사용합니다[173]. 사전-LN을 기반으로 하는 샌드위치-LN[174]은 값 폭발을 방지하기 위해 잔여 연결 전에 추가 LN을 추가합니다. 그러나 샌드위치-LN은 때때로 LLM의 학습을 안정화시키지 못하고 학습의 붕괴로 이어질 수 있다는 사실이 밝혀졌습니다[82]. 

최근에는 LN의 대안으로 몇 가지 고급 정규화 기법이 제안되었습니다. Gopher [59]와 Chinchilla [34]에서는 훈련 속도와 성능 면에서 우월한 RMS Norm [175]을 채택하고 있습니다[176]. 딥 노멀라이제이션[177]은 LN과 비교하여 훈련의 안정성을 보장하는 데 더 나은 기능을 보여 주었으며, GLM-130B에서는 사후 정규화를 통해 이를 채택했습니다. 또한 임베딩 레이어 뒤에 추가 LN을 추가하는 것도 LLM의 학습을 안정화할 수 있습니다. 그러나 이 경우 성능이 크게 저하되는 경향이 있으며[178], 이는 최근 여러 LLM에서 제거되었습니다[68].


활성화 함수. 좋은 성능을 얻으려면 피드 포워드 네트워크에서 활성화 함수도 적절하게 설정해야 합니다. 기존 LLM에서는 GeLU 활성화[179]가 널리 사용됩니다. 또한 최신 LLM(예: PaLM 및 LaMDA)에서는 GLU 활성화의 변형[180, 181]도 활용되고 있으며, 특히 SwiGLU 및 GeGLU 변형이 실제로 더 나은 성능을 달성하는 경우가 많습니다[176]. 그러나 GeLU에 비해 피드 포워드 네트워크에서 추가 파라미터(약 50%)가 필요합니다[178].


위치 임베딩. 트랜스포머의 셀프 어텐션 모듈은 순열 등변량이기 때문에 모델링 시퀀스에 절대 또는 상대 위치 정보를 주입하기 위해 위치 임베딩이 사용됩니다. 바닐라 트랜스포머에는 절대 위치 임베딩의 두 가지 변형, 즉 정현파와 학습된 위치 임베딩이 있으며, 후자는 일반적으로 LLM에 사용됩니다. 절대 위치 임베딩과 달리 상대 위치 인코딩은 키와 쿼리 사이의 오프셋에 따라 임베딩을 생성하므로[72], 훈련 중에 본 것보다 긴 시퀀스, 즉 외삽[182]에서도 잘 수행될 수 있습니다ALiBi[182]는 키와 쿼리 사이의 거리에 따른 페널티를 사용하여 주의력 점수를 편향시킵니다. 경험적 결과에 따르면 다른 위치 임베딩보다 더 강력한 외삽 능력으로 제로 샷 일반화가 더 우수합니다 [29]. 또한, 절대 위치를 기반으로 특정 회전 행렬을 설정함으로써 RoPE [183]에서 키와 쿼리 사이의 점수를 상대 위치 정보로 계산할 수 있어 긴 시퀀스를 모델링하는 데 유용합니다. 그 결과, RoPE는 여러 최신 LLM에 널리 채택되었습니다 [56, 57, 82].


어텐션과 편향. 오리지널 트랜스포머[22]의 완전한 셀프 어텐션 외에도, GPT-3에서는 연산 복잡도가 낮은 희소 어텐션(sparse attention)이 사용됩니다(즉, Factorized Attention[55, 184]). 더 긴 시퀀스를 효과적이고 효율적으로 모델링하기 위해 특별한 어텐션 패턴을 도입하거나[185, 186] GPU 메모리 액세스를 고려하는(즉, 플래시 어텐션[187]) 시도가 더 많이 이루어지고 있습니다. 게다가, 오리지널 트랜스포머에 이어 대부분의 LLM은 각각의 고밀도 커널과 레이어 노름(노멀라이제이션)에 편향성을 유지합니다. 그러나 PaLM [56]과 Galactica [35]에서는 편향이 제거됩니다. 이는 편향이 LLM의 훈련 안정성을 향상시킬 수 없음을 보여줍니다 [56].

이러한 모든 논의를 종합하기 위해 기존 문헌에서 제안한 세부 구성에 대한 제안을 요약합니다. 

일반화 및 훈련 안정성을 강화하기 위해 레이어 정규화를 위해 사전 RMS Norm을 선택하고 활성화 함수로 SwiGLU 또는 GeGLU를 선택하는 것이 좋습니다. 반면, 레이어를 임베딩한 직후에는 LN을 사용하지 않을 수 있으며, 이로 인해 성능 저하가 발생할 가능성이 있습니다. 또한 위치 임베딩의 경우 긴 시퀀스에서 더 나은 성능을 발휘하는 RoPE 또는 ALiBi가 더 나은 선택입니다.


4.2.3 사전 훈련 작업

사전 훈련은 대규모 말뭉치에서 얻은 일반 지식을 대규모 모델 파라미터로 인코딩하는 핵심적인 역할을 합니다. LLM을 훈련하기 위해 일반적으로 사용되는 사전 훈련 작업에는 언어 모델링과 노이즈 제거 자동 인코딩이라는 두 가지가 있습니다.


언어 모델링. 언어 모델링 작업(LM)은 GPT3 [55] 및 PaLM [56]과 같은 디코더 전용 LLM을 사전 훈련하기 위해 가장 일반적으로 사용되는 목표입니다. 토큰 시퀀스 x = {x1,...,xn}이 주어지면 LM 작업은 시퀀스 내 앞의 토큰 x<i를 기반으로 목표 토큰 xi를 자동적으로 예측하는 것을 목표로 합니다. 일반적인 훈련 목표는 다음과 같은 가능성을 최대화하는 것입니다:   

대부분의 언어 작업은 입력에 기반한 예측 문제로 캐스팅할 수 있기 때문에 이러한 디코더 전용 LLM은 이러한 작업을 통합된 LM 방식으로 수행하는 방법을 암시적으로 학습하는 데 잠재적으로 유리할 수 있습니다. 일부 연구에 따르면 디코더 전용 LLM은 미세 조정 없이도 다음 토큰을 자동 회귀적으로 예측함으로써 특정 작업으로 자연스럽게 전환될 수 있습니다[26, 55]. 

LM의 중요한 변형은 접두사 언어 모델링 작업으로, 접두사 디코더 아키텍처로 모델을 사전 학습하기 위해 설계되었습니다. 무작위로 선택된 접두사 내의 토큰은 접두사 언어 모델링의 손실을 계산하는 데 사용되지 않습니다. 사전 학습 중에 동일한 양의 토큰을 사용하는 경우, 접두사 언어 모델링은 모델 사전 학습에 사용되는 시퀀스의 토큰 수가 적기 때문에 언어 모델링보다 성능이 약간 떨어집니다[29].

노이즈 제거 자동 인코딩. 기존의 LM 외에도 노이즈 제거 자동 인코딩 작업(DAE)도 언어 모델을 사전 학습하는 데 널리 사용되어 왔습니다[24, 72]. DAE 작업의 입력 x\x ̃는 무작위로 대체된 스팬을 가진 손상된 텍스트입니다. 그런 다음 언어 모델은 대체된 토큰 x ̃를 복구하도록 훈련됩니다. 공식적으로 DAE의 훈련 목표는 다음과 같이 표현됩니다:  


그러나 DAE 작업은 LM 작업보다 구현이 더 복잡한 것으로 보입니다. 따라서 대규모 언어 모델을 사전 훈련하는 데 널리 사용되지는 않았습니다. DAE를 사전 훈련 목표로 삼는 기존 LLM으로는 T5 [72] 및 GLM-130B [82]가 있습니다. 이러한 모델은 주로 자동 회귀 방식으로 대체된 스팬을 복구하도록 훈련됩니다.


4.2.4 요약 및 논의

아키텍처 및 사전 훈련 작업의 선택에 따라 LLM에 서로 다른 귀납적 편향이 발생할 수 있으며, 이는 서로 다른 모델 용량으로 이어질 수 있습니다. 이 부분에서는 이 문제에 대한 기존 문헌의 중요한 연구 결과 또는 논의를 요약합니다.

인과적 디코더 아키텍처는 LM 목표에 대한 사전 학습을 통해 보다 우수한 제로 샷 및 소수 샷 일반화 용량을 달성할 수 있는 것으로 보입니다. 기존 연구에 따르면 멀티태스크 미세 조정 없이도 인과 관계 디코더는 다른 아키텍처보다 제로 샷 성능이 더 우수합니다 [29]. GPT-3[55]의 성공은 대규모 인과적 디코더 모델이 우수한 소수 샷 학습자가 될 수 있음을 입증했습니다. 또한 섹션 5에서 설명한 인스트럭션 튜닝과 정렬 튜닝은 대규모 인과 관계 디코더 모델의 성능을 더욱 향상시키는 것으로 입증되었습니다[61, 62, 83].

스케일링 법칙은 인과적 디코더에서 널리 관찰되었습니다모델 크기, 데이터 세트 크기 및 총 계산을 확장함으로써 인과 관계 디코더의 성능을 크게 향상시킬 수 있습니다 [30, 55]. 따라서 스케일링을 통해 인과 디코더의 모델 용량을 늘리는 것이 중요한 전략이 되었습니다. 


그러나 인코더-디코더 모델에 대한 자세한 조사는 아직 부족하며, 대규모로 인코더-디코더 모델의 성능을 조사하기 위해서는 더 많은 노력이 필요합니다.

특히 인코더-디코더 아키텍처의 경우 아키텍처와 사전 학습 목표의 선택이 LLM의 용량에 어떤 영향을 미치는지 분석하기 위해 아키텍처와 사전 학습 목표에 대한 논의에 대한 더 많은 연구 노력이 필요합니다. 주요 아키텍처 외에도 4.2.2절에서 설명한 LLM의 세부 구성도 주목할 가치가 있습니다.


4.3 모델 트레이닝


이 부분에서는 LLM을 훈련하기 위한 중요한 설정, 기법 또는 요령을 검토합니다.


4.3.1 최적화 설정

LLM의 파라미터 최적화를 위해 일괄 학습, 학습 속도, 옵티마이저 및 학습 안정성에 대해 일반적으로 사용되는 설정을 제시합니다.


배치 훈련. 언어 모델 사전 학습의 경우, 기존 작업에서는 일반적으로 학습 안정성과 처리량을 개선하기 위해 배치 크기를 큰 숫자(예: 8,196개 예제 또는 160만 개의 토큰)로 설정합니다. GPT-3 및 PaLM과 같은 LLM의 경우, 트레이닝 중에 배치 크기를 동적으로 증가시켜 궁극적으로 백만 개 규모에 도달하는 새로운 전략을 도입했습니다특히 GPT-3의 배치 크기는 32K 토큰에서 320만 토큰으로 점차 증가하고 있습니다. 경험적 결과에 따르면 배치 크기의 동적 스케줄이 LLM의 트레이닝 프로세스를 효과적으로 안정화할 수 있음이 입증되었습니다[56]. 

학습 속도. 기존 LLM은 일반적으로 사전 훈련 중에 워밍업 및 감쇄 전략과 유사한 학습 속도 일정을 채택합니다. 구체적으로, 훈련 단계의 초기 0.1%~0.5%에서는 선형 워밍업 스케줄을 사용하여 학습 속도를 약 5 × 10-5에서 1 × 10-4 범위의 최대 값까지 점진적으로 높입니다(예: GPT-3의 경우 6 × 10-5). 그런 다음 후속 단계에서 코사인 감쇄 전략을 채택하여 학습 손실이 수렴할 때까지 학습 속도를 최대 값의 약 10%까지 점진적으로 낮춥니다.

옵티마이저. 아담 옵티마이저[188] 및 아담W 옵티마이저[189]는 일차 경사 기반 최적화를 위한 저차 모멘트의 적응적 추정치를 기반으로 하는 LLM(예: GPT-3) 훈련에 널리 활용되고 있습니다. 일반적으로 하이퍼 파라미터는 다음과 같이 설정됩니다: β1 = 0.9, β2 = 0.95, ε = 10-8입니다. 한편, Adafactor 옵티마이저[190]는 훈련 중 GPU 메모리를 절약하기 위해 특별히 설계된 Adam 옵티마이저의 변형인 LLM(예: PaLM 및 T5)을 훈련하는 데에도 활용되고 있습니다. Adafactor 옵티마이저의 하이퍼 파라미터는 다음과 같이 설정됩니다: β1 = 0.9 및 β2 = 1.0 - k-0.8(여기서 k는 훈련 단계 수를 나타냄)로 설정됩니다.

훈련 안정화. LLM을 사전 훈련하는 동안 종종 훈련 불안정성 문제가 발생하여 모델이 붕괴될 수 있습니다. 이 문제를 해결하기 위해 가중치 감쇠와 경사 클리핑이 널리 활용되어 왔으며, 기존 연구[55, 68, 80, 82, 97]에서는 일반적으로 경사 클리핑의 임계값을 1.0으로, 가중치 감쇠율을 0.1로 설정했습니다. 그러나 LLM의 스케일링에 따라 훈련 손실이 급증하여 불안정한 훈련이 발생할 가능성이 높아집니다. 이 문제를 완화하기 위해 PaLM [56]과 OPT [80]는 스파이크가 발생하기 전의 이전 체크포인트에서 훈련 프로세스를 다시 시작하고 문제를 일으켰을 수 있는 데이터를 건너뛰는 간단한 전략을 사용합니다. 또한 GLM [82]은 임베딩 레이어의 비정상적인 기울기가 일반적으로 스파이크를 유발한다는 사실을 발견하고 이를 완화하기 위해 임베딩 레이어 기울기를 축소할 것을 제안합니다.


4.3.2 확장 가능한 훈련 기법

모델과 데이터 크기가 증가함에 따라 제한된 컴퓨팅 리소스에서 LLM을 효율적으로 훈련하는 것이 중요해졌습니다. 특히 훈련 처리량 증가와 더 큰 모델을 GPU 메모리에 로드하는 두 가지 주요 기술 문제를 해결해야 합니다. 이 부분에서는 위의 두 가지 과제를 해결하기 위해 기존 연구에서 널리 사용되는 몇 가지 접근 방식, 즉 3D 병렬 처리 [65, 191, 192], ZeRO [193], 혼합 정밀도 훈련 [194]을 검토하고 이를 훈련에 활용하는 방법에 대한 일반적인 제안을 제공합니다.


3D 병렬 처리. 3D 병렬화는 실제로 일반적으로 사용되는 세 가지 병렬 훈련 기법, 즉 데이터 병렬화, 파이프라인 병렬화[191, 192] 및 텐서 병렬화[65]16를 조합한 것입니다. 이제 세 가지 병렬 훈련 기법을 소개합니다.


- 데이터 병렬 처리. 데이터 병렬화는 훈련 처리량을 개선하기 위한 가장 근본적인 접근 방식 중 하나입니다. 이 기법은 모델 파라미터와 최적화 상태를 여러 GPU에 복제하고 전체 훈련 코퍼스를 이러한 GPU에 분산시킵니다. 이러한 방식으로 각 GPU는 할당된 데이터만 처리하면 되며, 그래디언트를 얻기 위해 순방향 및 역방향 전파를 수행합니다다른 GPU에서 계산된 그레이디언트는 추가로 집계되어 모든 GPU에서 모델을 업데이트하기 위한 전체 배치의 그레이디언트를 얻습니다. 이러한 방식으로 기울기 계산이 서로 다른 GPU에서 독립적으로 수행되므로 데이터 병렬 처리 메커니즘은 확장성이 뛰어나 GPU 수를 늘려 훈련 처리량을 개선하는 방식을 사용할 수 있습니다. 또한 이 기법은 구현이 간단하며, 현재 널리 사용되는 대부분의 딥 러닝 라이브러리(예: 텐서플로우, 파이토치 등)에서 이미 데이터 병렬화를 구현하고 있습니다.


- 파이프라인 병렬 처리. 파이프라인 병렬화는 LLM의 여러 계층을 여러 개의 GPU로 분산하는 것을 목표로 합니다. 특히 트랜스포머 모델의 경우 파이프라인 병렬 처리는 연속된 레이어를 동일한 GPU에 로드하여 계산된 숨겨진 상태 또는 그라데이션을 GPU 간에 전송하는 데 드는 비용을 줄입니다.

그러나 파이프라인 병렬 처리를 어설프게 구현하면 각 GPU가 이전 GPU가 계산을 완료할 때까지 기다려야 하므로 GPU 사용률이 낮아져 불필요한 버블 오버헤드 비용이 발생할 수 있습니다 [191]. 파이프라인 병렬 처리에서 이러한 거품을 줄이기 위해 GPipe [191]와 PipeDream [192]은 파이프라인 효율성을 개선하기 위해 여러 데이터 배치와 비동기 그라데이션 업데이트를 패딩하는 기술을 제안합니다.

- 텐서 병렬 처리. 텐서 병렬 처리 역시 멀티 GPU 로딩을 위해 LLM을 분해하는 것을 목표로 하는 기법으로 널리 사용되고 있습니다. 파이프라인 병렬 처리와 달리 텐서 병렬 처리는 LLM의 텐서(매개변수 행렬)를 분해하는 데 중점을 둡니다. LLM에서 행렬 곱셈 연산 Y = XA의 경우, 매개변수 행렬 A는 열별로 A1과 A2라는 두 개의 행렬로 분할할 수 있으며, 이는 Y = [XA1,XA2]로 표현할 수 있습니다. 행렬 A1과 A2를 서로 다른 GPU에 배치하면 행렬 곱셈 연산이 두 개의 GPU에서 병렬로 호출되고, GPU 간 통신을 통해 두 GPU의 출력을 합산하여 최종 결과를 얻을 수 있습니다. 현재 텐서 병렬화는 Megatron-LM[65]과 같은 여러 오픈 소스 라이브러리에서 지원되고 있으며, 고차원 텐서까지 확장할 수 있습니다. 또한, Colossal-AI는 고차원 텐서에 대해 텐서 병렬화를 구현하고[195-197], 특히 시퀀스 데이터에 대해 시퀀스 병렬화[198]를 제안하여 트랜스포머 모델의 주의 연산을 더욱 세분화할 수 있습니다.


ZeRO. Deep- Speed[64] 라이브러리에서 제안한 ZeRO[193] 기법은 데이터 병렬 처리에서 메모리 중복성 문제에 초점을 맞추고 있습니다. 앞서 언급한 바와 같이 데이터 병렬화를 위해서는 각 GPU가 모델 파라미터, 모델 그라데이션, 옵티마이저 파라미터를 포함한 LLM의 동일한 복사본을 저장해야 합니다. 반면, 위의 모든 데이터를 각 GPU에 보유할 필요는 없으므로 메모리 중복 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 ZeRO 기술은 각 GPU에 데이터의 일부만 유지하고 나머지 데이터는 필요할 때 다른 GPU에서 검색할 수 있도록 하는 것을 목표로 합니다. 구체적으로 ZeRO는 데이터의 세 부분을 저장하는 방식에 따라 옵티마이저 상태 분할, 그라데이션 분할, 파라미터 분할 등 세 가지 솔루션을 제공합니다. 경험적 결과에 따르면 처음 두 가지 솔루션은 통신 오버헤드가 증가하지 않으며, 세 번째 솔루션은 통신 오버헤드가 약 50% 증가하지만 GPU 수에 비례하여 메모리를 절약할 수 있습니다. PyTorch는 FSDP[199]라는 ZeRO와 유사한 기술을 구현했습니다.


혼합 정밀도 훈련. 이전 PLM(예: BERT[23])에서는 32비트 부동 소수점 숫자(FP32라고도 함)가 주로 사전 학습에 사용되었습니다. 최근에는 초대형 언어 모델을 사전 학습하기 위해 일부 연구[194]에서 메모리 사용량과 통신 오버헤드를 줄여주는 16비트 부동 소수점 숫자(FP16)를 활용하기 시작했습니다. 또한, 널리 사용되는 NVIDIA GPU(예: A100)는 FP16 연산 유닛이 FP32의 두 배에 달하기 때문에 FP16의 연산 효율을 더욱 향상시킬 수 있습니다. 그러나 기존 연구에 따르면 FP16은 계산 정확도 손실로 이어질 수 있으며[59, 68], 이는 최종 모델 성능에 영향을 미칩니다. 이를 완화하기 위해, FP16보다 더 많은 지수 비트와 더 적은 유의 비트를 할당하는 뇌 부동 소수점(Brain Floating Point)(BF16)이라는 대안이 훈련에 사용되었습니다. 사전 훈련의 경우, BF16은 일반적으로 표현 정확도에서 FP16보다 더 나은 성능을 보입니다[68].


전반적인 훈련 제안. 실제로 위의 훈련 기법, 특히 3D 병렬화는 훈련 처리량과 대규모 모델 로딩을 개선하기 위해 함께 사용되는 경우가 많습니다. 예를 들어, 연구자들은 8방향 데이터 병렬 처리, 4방향 텐서 병렬 처리, 12방향 파이프라인 병렬 처리를 통합하여 384개의 A100 GPU에서 BLOOM[68]을 훈련할 수 있게 되었습니다. 현재 DeepSpeed [64], Colossal-AI [137], Alpa [200]와 같은 오픈 소스 라이브러리는 이 세 가지 병렬 훈련 방법을 잘 지원할 수 있습니다. 

메모리 중복을 줄이기 위해, 이미 DeepSpeed, PyTorch, Megatron-LM에 통합된 ZeRO, FSDP, 활성화 재계산 기법[67, 201]도 LLM 훈련에 사용할 수 있습니다. 또한, BF16과 같은 혼합 정밀 훈련 기법을 활용하여 훈련 효율을 개선하고 GPU 메모리 사용량을 줄일 수 있지만 하드웨어(예: A100 GPU)에 필요한 지원이 필요합니다. 

대규모 모델 학습은 시간이 많이 소요되는 과정이기 때문에 모델 성능을 예측하고 비정상적인 문제를 조기에 감지하는 것이 유용할 것입니다. 이를 위해 최근 GPT-4[46]는 딥러닝 스택에 구축된 예측 가능한 스케일링이라는 새로운 메커니즘을 도입하여 훨씬 작은 모델로 대규모 모델의 성능을 예측할 수 있게 되었으며, 이는 LLM 개발에 매우 유용할 수 있습니다. 실제로는 주류 딥 러닝 프레임워크의 지원 학습 기법을 더욱 활용할 수 있습니다. 예를 들어 파이토치는 데이터 병렬 훈련 알고리즘인 FSDP[199](즉, 완전 샤딩 데이터 병렬)를 지원하므로 원하는 경우 훈련 계산을 CPU에 부분적으로 오프로드할 수 있습니다.

위의 훈련 전략 외에도 LLM을 사용하기 위한 추론 속도를 향상시키는 것도 중요합니다. 일반적으로 양자화 기법은 추론 단계에서 LLM의 시간 및 공간 비용을 줄이기 위해 널리 사용됩니다[202]. 모델 성능에 약간의 손실이 있더라도 양자화된 언어 모델은 모델 크기가 작고 추론 속도가 빨라질 수 있습니다[82, 203, 204]. 모델 양자화의 경우, INT8 양자화가 널리 사용됩니다[203]. 또한 일부 연구에서는 보다 공격적인 INT4 양자화 방법을 개발하려고 시도합니다[82]. 이러한 오픈 소스 LLM 중 BLOOM17 , GPT-J18 , GLM19 는 해당 양자화 모델 사본을 공개했습니다.


5 LLM의 적응 튜닝


사전 훈련 후 LLM은 다양한 작업을 해결하기 위한 일반적인 능력을 습득할 수 있습니다. 그러나 특정 목표에 따라 LLM의 능력을 더욱 조정할 수 있다는 연구 결과가 증가하고 있습니다. 이 섹션에서는 사전 학습된 LLM을 조정하는 두 가지 주요 접근 방식, 즉 인스트럭션 튜닝과 정렬 튜닝에 대해 소개합니다. 전자의 접근 방식은 주로 LLM의 능력을 향상(또는 잠금 해제)하는 것을 목표로 하며, 후자의 접근 방식은 LLM의 행동을 인간의 가치 또는 선호도에 맞추는 것을 목표로 합니다. 아래에서는 두 가지 접근 방식에 대해 자세히 소개합니다.


  

그림 4. 인스턴스 포맷과 인스트럭션 포맷 인스턴스를 구성하는 두 가지 방법의 예시.


5.1 명령어 튜닝

본질적으로 인스트럭션 튜닝은 자연어 형태의 형식화된 인스턴스 모음에 대해 사전 학습된 LLM을 미세 조정하는 접근 방식이며[62], 이는 감독된 미세 조정[61] 및 다중 작업 프롬프트 학습[28]과 밀접한 관련이 있습니다. 명령어 튜닝을 수행하기 위해서는 먼저 명령어 형식의 인스턴스를 수집하거나 구성해야 합니다. 그런 다음 이러한 형식의 인스턴스를 사용하여 지도 학습 방식(예: 시퀀스 간 손실 훈련)으로 LLM을 미세 조정합니다. 인스트럭션 튜닝 후 LLM은 다국어 환경[84]에서도 보이지 않는 작업[28, 62, 83]에 일반화할 수 있는 뛰어난 능력을 보여줄 수 있습니다.

최근 조사[211]에서는 명령어 튜닝에 대한 연구를 체계적으로 개괄하고 있습니다. 이에 비해 우리는 주로 명령어 튜닝이 LLM에 미치는 영향에 초점을 맞추고 인스턴스 수집 및 튜닝에 대한 자세한 지침이나 전략을 제공합니다. 또한, 기존 LLM에서 널리 적용되고 있는 InstructGPT [61], GPT-4 [46] 등과 같이 사용자의 실제 요구를 만족시키기 위한 인스트럭션 튜닝의 활용에 대해서도 논의합니다.


5.1.1 포맷된 인스턴스 구성

일반적으로 명령어 형식의 인스턴스는 작업 설명(명령어라고 함), 입출력 쌍 및 소수의 데모(선택 사항)로 구성됩니다. 중요한 공개 리소스로서 기존 연구에서는 자연어로 형식이 지정된 수많은 레이블이 지정된 데이터를 공개했습니다(표 5의 사용 가능한 리소스 목록 참조). 다음으로, 형식화된 인스턴스를 구축하는 두 가지 주요 방법을 소개한 다음(그림 4의 그림 참조), 인스턴스 구축에 필요한 몇 가지 핵심 요소에 대해 논의합니다.


기존 데이터세트 포맷. 인스트럭션 튜닝이 제안되기 전, 여러 초기 연구[208, 210, 212, 213]에서는 다양한 작업(예: 텍스트 요약, 텍스트 분류, 번역)의 인스턴스를 수집하여 감독된 다중 작업 훈련 데이터셋을 만들었습니다. 인스트럭션 튜닝 인스턴스의 주요 소스인 이러한 멀티태스크 훈련 데이터셋은 자연어 태스크 디스크립션으로 포맷하는 것이 편리합니다. 특히 최근의 연구[28, 61, 62, 78]에서는 레이블이 지정된 데이터 세트에 사람이 작성한 작업 설명으로 보강하여, 작업 목표를 설명함으로써 LLM이 작업을 이해하도록 지시합니다. 예를 들어, 그림 4(b)에서는 질문-답변 작업의 각 예제에 대해 "이 질문에 답하세요"라는 작업 설명이 추가되어 있습니다. 명령어 튜닝 후, LLM은 과제 설명을 따라 보이지 않는 다른 과제로도 잘 일반화할 수 있습니다 [28, 62, 83]. 

특히, 명령어가 LLM의 작업 일반화 능력에 결정적인 요소인 것으로 나타났습니다[62]. 작업 설명을 제거한 라벨링된 데이터 세트에서 모델을 미세 조정하면 모델 성능이 급격히 떨어집니다. 명령어 튜닝을 위한 레이블이 지정된 인스턴스를 더 잘 생성하기 위해 다양한 데이터 세트에 대한 작업 설명을 효과적으로 생성, 공유 및 검증할 수 있는 크라우드 소싱 플랫폼인 PromptSource [207]가 제안되었습니다. 훈련 인스턴스를 강화하기 위해 몇몇 연구[28, 210, 214]에서는 지침 튜닝을 위해 특별히 설계된 작업 설명으로 기존 인스턴스의 입력-출력 쌍을 반전시키려고 시도하기도 합니다. 예를 들어, 질문-답변 쌍이 주어지면 질문 조건부 답변과 일부 작업 설명(예: "답변에 따라 질문을 생성하세요:")을 예측하여 새로운 인스턴스를 생성할 수 있습니다.

또한 일부 작업[215]에서는 휴리스틱 작업 템플릿을 활용하여 레이블이 지정되지 않은 방대한 텍스트를 레이블이 지정된 인스턴스로 변환하기도 합니다.
 

인간의 요구 형식화. 많은 훈련 인스턴스가 지침으로 포맷되었음에도 불구하고, 주로 공개 NLP 데이터세트에서 제공되기 때문에 지침의 다양성이 부족하거나 실제 인간의 요구와 일치하지 않습니다[61]. 이 문제를 극복하기 위해 InstructGPT[61]는 실제 사용자가 OpenAI API에 제출한 쿼리를 작업 설명으로 사용할 것을 제안합니다. 사용자 쿼리는 자연어로 표현되며, 이는 특히 LLM의 명령 추종 능력을 이끌어내는 데 적합합니다. 또한 작업의 다양성을 강화하기 위해 인간 라벨러에게 개방형 생성, 개방형 질의응답, 브레인스토밍, 채팅 등 실제 작업에 대한 지침을 작성하도록 요청합니다. 그런 다음, 다른 라벨러 그룹이 이 지침에 직접 답하도록 하여 그 결과를 출력합니다. 마지막으로 하나의 명령어(즉, 사용자가 입력한 쿼리)와 예상되는 출력(즉, 사람이 작성한 답변)을 훈련 인스턴스로 쌍을 이룹니다. Instruct-GPT는 정렬 튜닝을 위해 자연어로 형식화된 이러한 실제 작업도 사용합니다(5.2절에서 설명). 

또한 GPT-4 [46]는 잠재적으로 위험성이 높은 구조를 설계하고 안전 문제에 대한 감독 미세 조정을 통해 모델이 이러한 지침을 거부하도록 안내했습니다. 또한, 사람의 주석 작업을 줄이기 위해 기존 인스턴스를 LLM에 공급하여 다양한 작업 설명과 인스턴스를 생성함으로써 인스턴스를 구성하는 반자동화된 접근법[216-218]도 제안되었습니다.


인스턴스 구성의 핵심 요소. 

명령어 인스턴스의 품질은 모델의 성능에 중요한 영향을 미칩니다. 여기에서는 인스턴스 구성에 필수적인 몇 가지 요소에 대해 설명합니다.


- 인스트럭션 확장. 작업의 수를 확장하면 LLM의 일반화 능력을 크게 향상시킬 수 있다는 것이 널리 알려져 있습니다 [28, 62, 78]. 태스크 수가 증가함에 따라 모델 성능은 처음에는 연속적인 성장 패턴을 보이다가 특정 수준에 도달하면 이득이 무시할 수 있게 됩니다[78, 83]. 그럴듯한 설명은 특정 수의 대표 과제로 비교적 충분한 지식을 제공할 수 있고, 과제를 더 추가해도 추가적인 이득을 얻지 못할 수 있다는 것입니다[83]. 또한 길이, 구조, 창의성 등 여러 측면에서 과제 설명의 다양성을 높이는 것이 유리하다[28]. 과제당 인스턴스 수는 일반적으로 적은 수의 인스턴스가 모델의 일반화 성능을 포화시킬 수 있다는 것이 밝혀졌습니다 [62, 83]. 반면, 일부 작업의 인스턴스 수를 수백 개로 크게 늘리면 잠재적으로 과적합 문제가 발생하여 모델 성능이 저하될 수 있습니다[78].

- 포맷 디자인. 자연어 형식의 설계는 자연어 생성기의 생성 성능에도 큰 영향을 미치는 중요한 요소입니다[78]. 일반적으로 기존 데이터 세트의 입출력 쌍에 작업 설명과 선택적 데모를 추가할 수 있는데, 작업 설명은 LLM이 작업을 이해하는 데 가장 핵심적인 부분입니다[78]. 또한 적절한 수의 예제를 데모로 사용하여 상당한 개선을 이끌어낼 수 있으며[83], 명령어 엔지니어링에 대한 모델 민감도를 완화할 수도 있습니다[62, 83]. 그러나 다른 구성 요소(예: 피해야 할 사항, 이유 및 제안)를 명령어에 통합하면 LLM의 성능에 무시할 수 있거나 심지어 부정적인 영향을 미칠 수 있습니다[78, 205]. 

최근 LLM의 단계별 추론 능력을 이끌어내기 위해 일부 연구[83]에서는 산술 추론과 같은 일부 추론 데이터 세트에 대해 생각의 연쇄(CoT) 예제를 포함할 것을 제안합니다. CoT 예제와 비 CoT 예제를 모두 사용하여 LLM을 미세 조정하면 멀티 홉 추론 능력(예: 상식적인 질문 답변 및 산술 추론)이 필요한 추론 작업뿐만 아니라 이러한 추론 방식이 필요하지 않은 추론 작업(예: 감성 분석 및 추출적 질문 답변)을 포함하여 다양한 추론 작업에서 좋은 성능을 얻을 수 있음이 밝혀졌습니다 [83, 85].

요약하면, 성능이 좋은 InstructGPT [61]와 Alpaca [218]는 Flan 계열 LLM [62, 83]보다 더 적은 수의 명령어(또는 인스턴스)를 활용하기 때문에 인스턴스 수보다 명령어의 다양성이 더 중요하다고 볼 수 있습니다. 또한, 데이터 세트별 작업을 사용하는 것보다 사람이 필요로 하는 작업을 구성하도록 라벨러를 초대하는 것이 더 유용합니다. 하지만, 여전히 사람이 필요로 하는 인스턴스를 분석할 수 있는 가이드라인이 부족하기 때문에 작업 구성이 다소 휴리스틱하게 이루어질 수 있습니다. 사람의 노력을 줄이기 위해 기존의 형식화된 데이터세트를 재사용하거나(표 5), 기존 LLM을 사용하여 자동으로 지침을 구성할 수 있습니다[216].


5.1.2 인스트럭션 튜닝 전략

사전 훈련과 달리 인스트럭션 튜닝은 적당한 수의 인스턴스만 훈련에 사용되기 때문에 더 효율적인 경우가 많습니다. 인스트럭션 튜닝은 지도 학습 프로세스로 간주될 수 있기 때문에 훈련 목표(예: 시퀀스 간 손실) 및 최적화 구성(예: 더 작은 배치 크기 및 학습 속도)과 같은 여러 측면에서 사전 훈련과 다르며[83], 실제로는 특별한 주의가 필요합니다. 이러한 최적화 구성 외에도 인스트럭션 튜닝을 위해 고려해야 할 두 가지 중요한 측면이 있습니다:

데이터 분포의 균형. 인스트럭션 튜닝에는 다양한 작업이 혼합되어 있으므로 미세 조정 시 다양한 작업의 비율을 균형 있게 조정하는 것이 중요합니다. 널리 사용되는 방법은 예시 비례 혼합 전략[72], 즉 모든 데이터 세트를 결합하고 혼합된 데이터 세트에서 각 인스턴스를 균등하게 샘플링하는 것입니다. 또한, 최근 연구 결과에 따르면 고품질 컬렉션(예: FLAN [62] 및 P3 [207])의 샘플링 비율을 높이면 일반적으로 성능이 향상될 수 있습니다 [83, 85]. 반면, 명령어 튜닝 중에 데이터 세트가 포함할 수 있는 최대 예제 수를 제어하기 위해 최대 상한을 설정하는 것이 일반적이며[72], 이는 더 큰 데이터 세트가 전체 배포를 압도하는 것을 방지하기 위해 설정됩니다[72, 85]. 실제로 최대 상한은 일반적으로 데이터 세트에 따라 수천 또는 수만 개로 설정됩니다[62, 83].

인스트럭션 튜닝과 사전 훈련의 결합. 튜닝 프로세스를 보다 효과적이고 안정적으로 만들기 위해 OPT-IML [85]은 모델 튜닝을 위한 정규화라고 할 수 있는 명령어 튜닝 중에 사전 훈련 데이터를 통합합니다. 또한, 별도의 2단계 프로세스(사전 학습 후 명령어 튜닝)를 사용하는 대신, 일부 연구에서는 멀티태스크 학습을 사용하여 사전 학습 데이터(즉, 일반 텍스트)와 명령어 튜닝 데이터(즉, 형식화된 데이터 세트)를 혼합하여 처음부터 모델을 학습하려고 시도합니다[72, 208]. 특히 GLM-130B[82]와 Galactica[35]는 명령어 형식의 데이터셋을 사전 학습 코퍼스의 일부로 통합하여 LLM을 사전 학습함으로써 사전 학습과 명령어 튜닝의 장점을 동시에 달성할 수 있습니다.


5.1.3 명령어 튜닝의 효과

이 부분에서는 크게 두 가지 측면에서 LLM에 대한 인스트럭션 튜닝의 효과에 대해 설명합니다.


성능 향상. 인스트럭션 튜닝은 적은 수의 인스턴스에 대해 튜닝이 이루어졌음에도 불구하고 LLM의 능력을 향상시키거나 잠금 해제하는 중요한 방법이 되었습니다[83]. 최근 연구에서는 다양한 규모(77M ~ 540B 범위)의 언어 모델을 실험하여 서로 다른 규모의 모델이 모두 인스트럭션 튜닝의 이점을 누릴 수 있음을 보여주었으며[83, 214], 매개변수 규모가 증가함에 따라 성능이 향상되었습니다[84]. 또한, 인스트럭션 튜닝이 적용된 작은 모델은 미세 튜닝 없이도 큰 모델보다 더 나은 성능을 발휘할 수 있습니다[28, 83]. 

모델 규모 외에도 인스트럭션 튜닝은 다양한 모델 아키텍처, 사전 학습 목표 및 모델 적응 방법에서 일관된 개선을 보여줍니다[83]. 실제로 인스트럭션 튜닝은 기존 언어 모델[83](소형 PLM 포함)의 기능을 향상시키기 위한 일반적인 접근 방식을 제공합니다. 또한 LLM에 필요한 명령어 데이터의 양이 사전 학습 데이터보다 훨씬 적기 때문에 사전 학습에 비해 비용도 훨씬 적게 듭니다.


작업 일반화. 명령어 튜닝은 모델이 작업 완수를 위한 자연어 명령을 이해하도록 장려합니다. 이를 통해 LLM은 인간의 지시를 따르고[31], 심지어 보이지 않는 작업(unseen tasks)에서도 시연 없이 특정 작업을 수행할 수 있는 능력(종종 이멀전트 능력, emergent ability으로 간주됨)을 갖게 됩니다[83]. 많은 연구에서 보이는 작업과 보이지 않는 작업(unseen tasks) 모두에서 우수한 성과를 달성하기 위한 인스트럭션 튜닝의 효과를 확인했습니다[85, 214]. 

또한 명령어 튜닝은 LLM의 몇 가지 약점(예: 특정 작업을 수행하지 않고 반복 생성 또는 입력 보완)을 완화하는 데 유용한 것으로 나타났으며[61, 83], 이는 LLM의 실제 작업 해결 능력 향상으로 이어집니다. 또한, 명령어 튜닝으로 훈련된 LLM은 여러 언어에 걸쳐 재연된 작업에 일반화할 수 있습니다예를 들어, BLOOMZ-P3 [84]는 영어 전용 태스크 컬렉션 P3 [207]을 사용하여 BLOOM [68]을 기반으로 미세 조정되었습니다. 흥미롭게도 BLOOMZ-P3는 다국어 문장 완성 과제에서 BLOOM에 비해 50% 이상의 향상을 달성할 수 있으며, 이는 인스트럭션 튜닝이 LLM이 영어 전용 데이터셋에서 일반적인 과제 기술을 습득하고 이러한 기술을 다른 언어로 이전하는 데 도움이 될 수 있음을 보여줍니다[84]. 또한 영어 전용 명령어를 사용하면 다국어 작업에서 만족스러운 결과를 얻을 수 있어[84] 특정 언어에 대한 명령어 엔지니어링의 노력을 줄이는 데 도움이 되는 것으로 나타났습니다.


5.2 얼라인먼트 튜닝


이 부분에서는 먼저 얼라인먼트의 정의와 기준을 통해 얼라인먼트의 배경을 제시하고, LLM을 얼라인먼트하기 위한 휴먼 피드백 데이터 수집에 초점을 맞춘 후, 마지막으로 얼라인먼트 튜닝을 위한 휴먼 피드백을 통한 강화학습의 핵심 기법에 대해 설명합니다.


5.2.1 정렬의 배경 및 기준


배경.

LLM은 다양한 자연어 처리 작업에서 놀라운 성능을 보여 왔습니다[55, 56, 62, 80]. 그러나 이러한 모델은 때때로 허위 정보 조작, 부정확한 목표 추구, 유해하고 오해의 소지가 있으며 편향된 표현을 생성하는 등 의도하지 않은 행동을 보일 수 있습니다[61, 219]. 

언어 모델링의 경우, 인간의 가치나 선호도를 고려하지 않은 채 단어 예측을 통해 모델 파라미터를 사전 학습하는 것이 목표입니다. 이러한 예기치 않은 동작을 방지하기 위해 LLM이 인간의 기대에 따라 행동하도록 하는 휴먼 얼라인먼트가 제안되었습니다[61, 100]. 그러나 기존의 사전 훈련 및 적응 튜닝(예: 인스트럭션 튜닝)과 달리 이러한 정렬은 매우 다른 크리테리아(예: 도움, 정직성, 무해성)를 고려해야 합니다. 얼라인먼트가 LLM의 일반적인 능력에 어느 정도 해를 끼칠 수 있는 것으로 나타났는데, 이를 관련 문헌에서는 얼라인먼트 세금(alignment tax)이라고 부릅니다[61, 220, 221].


정렬 기준

최근에는 LLM의 행동을 규제하기 위한 다양한 기준을 개발하는 것에 대한 관심이 높아지고 있습니다. 여기서는 기존 문헌에서 널리 채택되고 있는 세 가지 대표적인 정렬 기준(도움, 정직, 무해)을 예로 들어 논의하고자 합니다 [61, 219, 220]. 이외에도 행동, 의도, 인센티브, 내적 측면[219] 등 다양한 관점에서 LLM을 위한 다른 정렬 기준이 있으며, 이는 위의 세 가지 기준과 본질적으로 유사하거나 적어도 유사한 정렬 기법을 사용합니다. 정직성을 정확성으로 대체하거나[100] 특정 기준에 초점을 맞추는 등[221] 특정 요구에 따라 세 가지 기준을 수정하는 것도 가능합니다. 

다음은 세 가지 대표적인 정렬 기준에 대해 간략하게 설명합니다:


- 유용성. 도움이 되려면, LLM은 가능한 한 간결하고 효율적인 방식으로 사용자의 과제 해결이나 질문에 대한 답변을 지원하려는 시도를 명확하게 보여줘야 합니다. 더 높은 수준에서 추가적인 설명이 필요한 경우, LLM은 적절한 문의를 통해 추가적인 관련 정보를 이끌어낼 수 있는 능력을 입증하고 적절한 수준의 민감성, 지각력, 신중함을 보여야 합니다[220]. 사용자의 의도를 정확하게 정의하고 측정하기 어렵기 때문에 도움이 되는 행동의 정렬을 실현하는 것은 LLM에게 어려운 과제입니다[219].
 

- 정직성. 기본적으로 정직성을 지향하는 LLM은 조작된 정보 대신 정확한 콘텐츠를 사용자에게 제공해야 합니다. 또한 어떤 형태의 속임수나 잘못된 정보 표현을 피하기 위해 LLM이 출력물에 적절한 수준의 불확실성을 전달하는 것이 중요합니다. 이를 위해서는 모델이 자신의 능력과 지식 수준(예: "미지의 지식")에 대해 알아야 합니다. 220]의 논의에 따르면 정직성은 유용성 및 무해성에 비해 더 객관적인 기준이므로, 정직성 정렬은 잠재적으로 인간의 노력에 덜 의존하면서 개발될 수 있습니다.


- 무해성. 무해하기 위해서는 모델이 생성하는 랜딩 페이지가 불쾌감을 주거나 차별적이지 않아야 합니다. 악의적인 목적으로 요청을 유도하려는 은밀한 시도를 탐지할 수 있어야 합니다. 이상적으로는 모델이 위험한 행동(예: 범죄 저지르기)을 하도록 유도받았을 때 정중하게 거절해야 합니다. 그럼에도 불구하고 어떤 행동이 유해한 것으로 간주되는지, 그리고 어느 정도까지 유해한지는 개인이나 사회[220]에 따라 크게 달라지며, 이는 누가 LLM을 사용하는지, 제기된 질문의 유형, LLM이 사용되는 상황(예: 시간)에 따라 달라집니다.

이러한 기준은 매우 주관적이며 인간의 인지를 기반으로 개발되었습니다. 따라서 이를 LLM의 최적화 목표로 직접 공식화하기는 어렵습니다. 기존 작업에서는 LLM을 조정할 때 이러한 기준을 충족하는 여러 가지 방법이 있습니다. 유망한 기법으로는 레드팀[115, 222]이 있는데, 이는 수동 또는 자동화된 수단을 사용하여 적대적인 방식으로 LLM을 조사하여 유해한 결과를 생성한 다음 이러한 결과를 방지하기 위해 LLM을 업데이트하는 것을 포함합니다.


5.2.2 사람의 피드백 수집

사전 학습 단계에서 LLM은 대규모 말뭉치에 대한 언어 모델링 목표를 사용하여 학습됩니다. 하지만 이 단계에서는 사람의 주관적이고 정성적인 평가(본 조사에서는 휴먼 피드백이라고 함)를 고려할 수 없습니다. 고품질의 인간 피드백은 LLM을 인간의 선호도와 가치에 맞게 조정하는 데 매우 중요합니다. 

이 부분에서는 피드백 데이터 수집을 위한 휴먼 라벨러 팀을 선택하는 방법에 대해 설명합니다.


휴먼 라벨러 선택

기존 연구에서 휴먼 피드백 데이터를 생성하는 주된 방법은 휴먼 어노테이션입니다[61, 100, 223]. 이는 적절한 휴먼 라벨러를 선정하는 것이 매우 중요하다는 것을 강조합니다. 고품질의 피드백을 제공하기 위해 휴먼 라벨러는 자격을 갖춘 교육 수준과 영어에 대한 뛰어난 숙련도를 갖춰야 합니다. 예를 들어, Sparrow [100]는 휴먼 라벨러가 최소 학부 수준의 교육 자격을 취득한 영국 기반의 영어 원어민이어야 한다고 규정하고 있습니다. 또한 [221]에서는 우선순위가 높은 작업에 투입되는 휴먼 라벨러의 약 절반을 석사 자격을 갖춘 미국 기반 아마존 메카니컬 터크 인력에서 채용했습니다. 

그럼에도 불구하고 여러 연구[112, 223]에 따르면 연구자와 휴먼 라벨러의 의도 사이에 여전히 불일치가 존재하며, 이는 낮은 품질의 휴먼 피드백으로 이어져 LLM이 예기치 않은 결과물을 생성할 수 있습니다. 이 문제를 해결하기 위해 InstructGPT[61]는 인간 라벨러와 연구자 간의 합의도를 평가하여 라벨러를 필터링하는 선별 프로세스를 추가로 수행합니다. 구체적으로, 연구자는 먼저 소량의 데이터에 라벨을 붙인 다음 자신과 인간 라벨러 간의 일치도를 측정합니다. 가장 높은 일치도를 보인 라벨러를 선정하여 후속 주석 작업을 진행합니다. 다른 연구[224]에서는 인간 피드백의 높은 품질을 보장하기 위해 "슈퍼 레이터"를 사용하기도 합니다연구자들은 인간 라벨러의 성능을 평가하고 높은 일치율과 같은 우수한 성능을 보이는 인간 라벨러 그룹을 슈퍼 레이터로 선정합니다. 슈퍼 레이터는 후속 연구에서 연구자들과 공동 작업을 할 수 있는 우선권이 주어집니다. 인간 라벨러가 LLM의 출력에 주석을 달 때, 자세한 지침을 명시하고 인간 라벨러에게 즉각적인 가이드를 제공하는 것이 도움이 되며[112], 이는 라벨러의 주석을 더욱 규제할 수 있습니다.


휴먼 피드백 수집. 

기존 연구에서는 휴먼 라벨러로부터 피드백 및 선호도 데이터를 수집하는 접근 방식은 크게 세 가지로 나뉩니다.

- 순위 기반 접근 방식. 초기 연구[223, 225]에서 휴먼 라벨러는 보다 세분화된 정렬 기준을 고려하지 않고 모델에서 생성된 결과물을 거친 방식으로(즉, 가장 좋은 것만 선택) 평가하는 경우가 많습니다. 그럼에도 불구하고 라벨러마다 최상의 후보 결과물 선택에 대해 다양한 의견을 가질 수 있으며, 이 방법은 선택되지 않은 샘플을 무시하기 때문에 부정확하거나 불완전한 인적 피드백을 초래할 수 있습니다. 이 문제를 해결하기 위해 후속 연구[100, 221]에서는 Elo 등급 시스템을 도입하여 캔디 데이트 출력을 비교하여 선호도 순위를 도출합니다. 출력의 순위는 모델이 다른 출력보다 특정 출력을 선호하도록 안내하는 훈련 신호 역할을 하여 더 신뢰할 수 있고 안전한 출력을 유도합니다.

- 질문 기반 접근 방식. 또한, 인간 라벨러는 연구자들이 설계한 특정 질문에 답함으로써 보다 상세한 피드백을 제공할 수 있으며[71], 정렬 기준과 LLM에 대한 추가 제약 조건을 다룰 수 있습니다. 특히 WebGPT[71]에서는 검색된 문서에서 관련 정보를 필터링하고 활용하는 모델을 지원하기 위해 휴먼 라벨러는 검색된 문서가 주어진 입력에 대한 답변에 유용한지 여부에 대한 여러 옵션이 있는 질문에 답해야 합니다.

- 규칙 기반 접근 방식. 또한, 많은 연구에서 규칙 기반 방법을 개발하여 보다 상세한 휴먼 피드백을 제공합니다. 대표적인 사례로 Sparrow [100]는 라벨러가 가장 좋다고 생각하는 응답을 선택할 뿐만 아니라 일련의 규칙을 사용하여 모델에서 생성된 응답이 도움이 되고, 정확하며, 무해하다는 정렬 기준을 충족하는지 테스트합니다. 이러한 방식으로 (1) 모델 생성 결과의 품질을 쌍으로 비교하여 응답 선호도 피드백을 얻고, (2) 인간 라벨러의 평가를 수집하여 규칙 위반 피드백(즉, 생성된 결과물이 규칙을 어느 정도 위반했는지를 나타내는 점수)을 얻는 등 두 가지 종류의 인간 피드백 데이터를 얻을 수 있습니다. 

또한 GPT-4[46]는 규칙 기반 보상 모델로 제로 샷 분류기 세트(GPT-4 자체에 기반)를 활용하여 모델에서 생성된 출력이 사람이 작성한 규칙 집합을 위반하는지 여부를 자동으로 결정할 수 있습니다.

여기서는 ChatGPT와 같은 최근의 강력한 LLM에서 널리 사용되고 있는 잘 알려진 기술인 인간 피드백을 통한 강화 학습(RLHF)에 초점을 맞춥니다. 아래에서 설명하는 것처럼 5.2.1절에 소개된 정렬 기준은 사용자의 쿼리에 대한 LLM의 응답에 대한 사람의 피드백을 통해 학습함으로써 충족될 수 있습니다.


5.2.3 사람의 피드백을 통한 강화 학습

사람의 가치에 맞춰 LLM을 조정하기 위해 수집된 사람의 피드백 데이터로 LLM을 미세 조정하는 강화 학습(RLHF)[69, 223]이 제안되었으며, 이는 조정 기준(예: 유용성, 정직성, 무해성)을 개선하는 데 유용합니다. RLHF는 보상 모델을 학습하여 사람의 피드백에 맞게 LLM을 조정하기 위해 강화 학습(RL) 알고리즘(예: 근거리 최적 최적화(PPO)[111])을 사용합니다. 이러한 접근 방식은 잘 정렬된 LLM을 개발하기 위한 훈련 루프에 인간을 통합하며, 그 예는 InstructGPT [61]에서 볼 수 있습니다.  


RLHF 시스템. RLHF 시스템은 크게 세 가지 주요 구성 요소, 즉 정렬할 사전 학습된 LM, 사람의 피드백을 통해 학습하는 보상 모델, LM을 학습하는 RL 알고리즘으로 이루어져 있습니다. 

특히, 사전 학습된 LM은 일반적으로 기존의 사전 학습된 LM 파라미터로 초기화되는 생성 모델입니다. 예를 들어, OpenAI는 최초의 인기 RLHF 모델인 InstructGPT[61]에 175B GPT-3을 사용하고, DeepMind는 GopherCite 모델[224]에 2,800억 개의 파라미터 모델인 Go- pher[59]를 사용합니다. 

또한 보상 모델(RM)은 LM에 의해 생성된 텍스트에 대한 인간의 선호도를 반영하는 (학습된) 안내 신호를 제공하며, 일반적으로 스칼라 값의 형태로 제공됩니다. 보상 모델은 미세 조정된 LM 또는 사람의 선호도 데이터를 사용하여 새로 학습된 LM의 두 가지 형태를 취할 수 있습니다. 기존 연구에서는 일반적으로 정렬된 LM과 다른 파라미터 스케일을 가진 보상 모델을 사용합니다[61, 224]. 예를 들어, OpenAI는 6B GPT-3을, DeepMind는 7B Gopher를 각각 보상 모델로 사용합니다. 

마지막으로 보상 모델의 신호를 사용하여 사전 학습된 LM을 최적화하기 위해 대규모 모델 튜닝을 위한 특정 RL 알고리즘이 설계됩니다. 특히, 프록시럴 정책 최적화(PPO)[111]는 기존 연구[61, 100, 224]에서 정렬을 위해 널리 사용되는 RL 알고리즘입니다.


RLHF의 주요 단계. 

그림 5는 아래에 소개된 것처럼 RLHF [61, 112]의 전체 3단계 프로세스를 보여줍니다.


- 감독된 미세 조정(Supervised fine-tuning). LM이 처음에 원하는 동작을 수행하도록 하려면 일반적으로 LM을 미세 조정하기 위해 입력 프롬프트(명령어)와 원하는 출력을 포함하는 감독 데이터 세트를 수집해야 합니다. 이러한 프롬프트와 출력은 작업의 다양성을 보장하면서 특정 작업에 대해 사람이 라벨러가 작성할 수 있습니다. 예를 들어, Instruct- GPT [61]는 휴먼 라벨러에게 공개 QA, 브레인스토밍, 채팅, 재작성 등 여러 생성 작업에 대한 프롬프트(예: "내 경력에 대한 열정을 되찾는 방법에 대한 5가지 아이디어 나열")와 원하는 출력을 작성하도록 요청합니다. 특정 설정이나 시나리오에서는 첫 번째 단계가 선택 사항이라는 점에 유의하세요.


- 보상 모델 트레이닝. 두 번째 단계는 사람의 피드백 데이터를 사용하여 RM을 훈련하는 것입니다. 구체적으로는 LM을 사용하여 감독된 데이터 세트 또는 사람이 생성한 프롬프트에서 샘플링된 프롬프트를 입력으로 사용하여 특정 수의 출력 텍스트를 생성합니다. 그런 다음 인간 라벨러에게 이러한 쌍에 대한 선호도를 주석으로 달도록 요청합니다. 주석 프로세스는 다양한 형태로 수행될 수 있으며, 일반적인 접근 방식은 생성된 후보 텍스트에 순위를 매겨 주석을 달면 주석 작성자 간의 불일치를 줄일 수 있습니다. 그런 다음 RM은 사람이 선호하는 결과물을 예측하도록 훈련됩니다. InstructGPT에서는 라벨러가 모델에서 생성된 결과물의 순위를 최고부터 최하위까지 매기고, RM(즉, 6B GPT-3)이 순위를 예측하도록 학습됩니다.


- RL 미세 조정. 이 단계에서는 LM을 정렬(즉, 미세 조정)하는 작업이 RL 문제로 공식화됩니다. 이 설정에서 사전 학습된 LM은 프롬프트를 입력으로 받아 출력 텍스트를 반환하는 정책으로 작동하며, 그 행동 공간은 어휘, 상태는 현재 생성된 토큰 시퀀스, 보상은 RM이 제공합니다. 초기(튜닝 전) LM에서 크게 벗어나지 않도록 하기 위해 일반적으로 보상 함수에 페널티 조건이 통합됩니다. 예를 들어, InstructGPT는 PPO 알고리즘을 사용하여 RM에 대해 LM을 최적화합니다. 각 입력 프롬프트에 대해 InstructGPT는 현재 LM에서 생성된 결과와 초기 LM 사이의 KL 차이를 페널티로 계산합니다. 두 번째 단계와 마지막 단계를 여러 차례 반복하여 LLM을 더 잘 정렬할 수 있다는 점에 유의하세요.


6 활용


사전 훈련 또는 적응 튜닝 후, LLM을 사용하기 위한 주요 접근 방식은 다양한 작업을 해결하기 위한 적절한 프롬프트 전략을 설계하는 것입니다. 일반적인 프롬프트 방법은 자연어 텍스트의 형태로 과제 설명 및/또는 데모를 공식화하는 상황 내 학습(in- context learning)[50, 55]입니다. 또한 일련의 중간 추론 단계를 프롬프트에 포함시켜 맥락 내 학습을 강화하기 위해 연쇄적 사고 프롬프트(chain-of-thought prompting)[33]를 활용할 수 있습니다. 다음에서는 두 가지 기법에 대해 자세히 설명하겠습니다.


  

그림 6. 상황 내 학습(ICL)과 생각의 사슬(CoT) 프롬프트의 비교 그림. ICL은 자연어 설명, 몇 가지 데모, 테스트 쿼리를 통해 LLM에 프롬프트를 표시합니다. 반면 CoT 프롬프트는 프롬프트에 일련의 중간 추론 단계가 포함됩니다.


6.1 상황 내 학습

특수한 프롬프트 형태로서, 상황 내 학습(ICL)은 GPT-3[55]과 함께 처음 제안되었으며, 이는 LLM을 활용하는 대표적인 접근 방식이 되었습니다.

6.1.1 프롬프트 형식

55]에서 설명한 바와 같이 ICL은 작업 설명 및/또는 몇 가지 작업 예제로 구성된 형식화된 자연어 프롬프트를 데모로 사용합니다. 그림 6은 ICL의 예시를 보여줍니다. 먼저, 작업 설명부터 시작하여 작업 데이터 세트에서 몇 가지 예시를 데모로 선택합니다. 그런 다음 특정 순서로 결합하여 특별히 설계된 템플릿으로 자연어 프롬프트를 구성합니다. 마지막으로, 테스트 인스턴스가 데모에 추가되어 LLM이 출력을 생성하기 위한 입력으로 사용됩니다. 작업 데모를 기반으로 LLM은 명시적인 그라데이션 업데이트 없이도 새로운 작업을 인식하고 수행할 수 있습니다.

공식적으로 Dk = {f(x1, y1), .. . , f(xk, yk)}는 k개의 예제가 있는 데모 집합을 나타내며, 여기서 f(xk , yk )는 k번째 작업 예제를 자연어 프롬프트로 변환하는 프롬프트 함수입니다. 작업 설명 I, 데모 Dk, 새로운 입력 쿼리 xk+1이 주어졌을 때 LLM에서 생성된 출력 yˆk+1의 예측은 다음과 같이 공식화할 수 있습니다21:

LLMI, f(x1, y1), ... . , f(xk, yk), f(xk+1, ) → yˆk+1. | {z } |{z} |{z}

데모 입력 답

(3) 여기서 실제 답인 yk+1은 LLM이 예측할 수 있도록 공백으로 남겨둡니다. ICL의 성능은 데모에 크게 의존하기 때문에 프롬프트에서 데모를 적절히 설계하는 것이 중요한 문제입니다. 방정식 (3)의 구성 프로세스에 따르면 프롬프트에서 데모를 구성하는 예제를 선택하는 방법, 각 예제를 함수 f(-)를 사용하여 프롬프트에 포맷하는 방법, 데모를 합리적인 순서로 배열하는 방법 등 크게 세 가지 측면에 중점을 두고 있습니다.

데모를 합리적인 순서로 배열하는 방법.

ICL에 대한 포괄적인 검토는 다음 문서에 제시되어 있습니다.

설문조사 논문[50]에 제시되어 있으며, 이 주제에 대한 보다 일반적이고 자세한 논의는 해당 논문을 참조하시기 바랍니다. 이 설문조사와 비교하여, 우리는 특별히 두 가지 주요 측면, 즉 데모 설계와 ICL의 기본 메커니즘에서 LLM에 ICL을 적용하는 것에 대한 논의에 초점을 맞추고 있습니다. 또한 ICL은 자연어를 사용하여 태스크 또는 인스턴스의 형식을 지정한다는 점에서 명령어 튜닝(5.1절에서 설명)과도 밀접한 관련이 있습니다. 그러나 인스트럭션 튜닝은 적응을 위해 LLM을 미세 조정해야 하는 반면, ICL은 활용을 위해 LLM에 프롬프트만 표시합니다. 또한, 명령어 튜닝은 특히 제로 샷 설정(작업 설명만 사용)에서 목표 작업을 수행하는 LLM의 ICL 기능을 향상시킬 수 있습니다[83].


6.1.2 데모 설계

여러 연구에 따르면 ICL의 효과는 데모 설계에 의해 크게 영향을 받는 것으로 나타났습니다[226-228] 6.1.1절의 논의에 이어, 여기서는 데모 선택, 형식, 순서 등 크게 세 가지 측면에서 ICL의 데모 설계에 대해 소개합니다.


데모 선택. ICL의 성능은 데모 예제에 따라 큰 편차를 보이는 경향이 있으므로[229], LLM의 ICL 기능을 효과적으로 활용할 수 있는 예제의 하위 집합을 선택하는 것이 중요합니다. 데모 선택 접근법에는 휴리스틱 접근법과 LLM 기반 접근법이라는 두 가지 주요 접근법이 있습니다:

- 휴리스틱 접근 방식. 

단순성과 저렴한 비용으로 인해 기존 연구에서는 데모를 선택하기 위해 휴리스틱 방법을 널리 채택하고 있습니다. 몇몇 연구에서는 질의와 의미적으로 연관성이 있는 예시를 선택하기 위해 k-NN 기반 리트리버를 사용합니다[229, 230]. 그러나 이러한 방식은 예시 집합 전체를 평가하지 않고 각 예시에 대해 개별적으로 선택을 수행합니다. 이 문제를 해결하기 위해 특정 작업에 대해 가장 대표적인 예제 집합을 선택하는 다양성 기반 선택 전략이 제안되었습니다 [231, 232]. 또한 [233]에서는 데모를 선택할 때 관련성과 다양성을 모두 고려합니다.


- LLM 기반 접근 방식. 

또 다른 작업 라인에서는 LLM을 활용하여 데모를 선택합니다. 예를 들어, 예시를 추가한 후의 성능 향상에 따라 각 예시의 정보성을 직접 측정하기 위해 LLM을 활용할 수 있습니다[234]. 또한, EPR [235]은 먼저 비지도 방식(예: BM25)으로 유사한 예제를 불러온 다음 밀도 검색기(LLM으로 레이블이 지정된 긍정 및 부정 예제로 학습된)를 사용하여 순위를 매기는 2단계 검색 접근 방식을 제안합니다. 다른 접근 방식으로, 데모 선택 작업을 RL 문제로 공식화할 수 있으며, 여기서 LLM은 정책 모델 학습을 위한 피드백을 제공하는 보상 함수 역할을 합니다[236]. LLM은 텍스트 주석에 대해 우수한 성능을 발휘하기 때문에[237], 최근 일부 연구에서는 사람의 개입 없이 LLM 자체를 데모 생성기로 사용하기도 합니다[238, 239].

요약하자면, [240]에서 논의한 바와 같이, ICL에서 선택된 데모 예제는 위의 두 가지 선택 접근 방식에 대해 풀어야 할 작업에 대한 충분한 정보를 포함하고 테스트 쿼리와 관련성이 있어야 합니다.


데모 형식. 작업 예제를 선택한 후 다음 단계는 이를 통합하여 LLM용 자연어 프롬프트에 포맷하는 것입니다. 간단한 방법은 해당 입력-출력 쌍으로 사전 정의된 템플릿을 인스턴스화하는 것입니다[36]. 보다 유익한 템플릿을 구성하기 위해 최근 연구에서는 작업 설명을 추가하거나[83], 연쇄 사고 프롬프트를 통해 LLM의 추론 능력을 향상시키는 것을 고려합니다[33]. 예를 들어, [205]에서 저자들은 사람이 작성한 작업 설명이 포함된 대규모 데이터 세트를 수집합니다. 이 데이터세트로 튜닝한 후, 보이는 작업에 대한 성능을 향상시킬 수 있으며, 보이지 않는 작업에 대해서도 어느 정도 LLM을 일반화할 수 있습니다

주석 비용을 줄이기 위해 [216]에서는 사람이 작성한 작업 설명으로 구성된 시드 세트를 사용하여 LLM이 새로운 작업에 대한 작업 설명을 생성하도록 안내하는 반자동화된 접근 방식이 제안되었습니다. 다양한 태스크에 대한 데모 형식에 일일이 주석을 다는 것은 비용이 많이 들기 때문에 고품질의 데모 형식을 자동으로 생성하는 방법도 연구되고 있습니다.

대표적인 두 가지 방법으로 Auto-CoT [241]는 중간 추론 단계를 생성하기 위해 "단계별로 생각해 봅시다"라는 제로샷 프롬프트와 함께 LLM을 활용하고, 최소 대 다수 프롬프트 [242]는 먼저 LLM에 질의하여 문제 분해를 수행한 후 이전에 해결한 문제에 대한 중간 답을 기반으로 하위 문제를 순차적으로 풀기 위해 LLM을 활용합니다.


시연 순서. LLM은 때때로 최근 편향(즉, 데모가 끝날 무렵의 답변을 반복하는 경향)을 보이는 것으로 나타났습니다[228]. 따라서 데모(즉, 작업 예시)를 합리적인 순서로 배열하는 것이 중요합니다. 초기 연구에서는 좋은 순서를 빠르게 찾을 수 있는 몇 가지 휴리스틱 방법을 제안합니다. 예를 들어, 임베딩 공간에서 쿼리와의 유사성에 따라 데모를 직접 구성할 수 있습니다[229]: 유사성이 높을수록 끝에 가까울수록. 또한 글로벌 및 로컬 엔트로피 메트릭을 사용하여 서로 다른 데모 순서에 점수를 매길 수 있습니다[227]. 더 많은 작업 정보를 통합하기 위해 최근 일부 연구에서는 정보 이론에서 영감을 받아 작업 레이블을 압축하고 전송하는 데 필요한 코드 길이를 최소화할 것을 제안합니다[243]. 그러나 이러한 방법은 특정 데모 주문의 성능을 평가하기 위한 유효성 검사 집합으로 라벨이 지정된 추가 데이터가 필요합니다. 이러한 필요성을 없애기 위해 [227]의 저자들은 LLM 자체에서 유효성 검사 데이터를 샘플링할 것을 제안합니다.


6.1.3 기본 메커니즘

사전 훈련 후, LLM은 업데이트하지 않고도 흥미로운 ICL 기능을 발휘할 수 있습니다. 다음에서는 LLM의 ICL 능력에 대한 두 가지 핵심 질문, 즉 "사전 훈련이 ICL 능력에 어떤 영향을 미치는가" 및 "추론 중에 LLM이 ICL을 수행하는 방법"에 대해 설명합니다.


사전 훈련이 ICL에 어떤 영향을 미치나요? 

ICL은 GPT-3에서 처음 제안되었으며[55], 모델 크기가 클수록 ICL 능력이 더 중요해진다는 것을 보여주었습니다. 반면, 일부 연구에 따르면 소규모 PLM도 특별히 설계된 훈련 과제(예: 작업 예제와 쿼리를 입력으로 사용하여 라벨을 예측하는 학습)를 통해 강력한 ICL 능력을 발휘할 수 있으며, 심지어 대규모 모델을 능가할 수도 있습니다[244]. 이는 훈련 태스크의 설계가 LLM의 ICL 능력에 중요한 영향을 미치는 요소임을 시사합니다. 훈련 과제 외에도 최근 연구에서는 ICL과 사전 훈련 코포라 간의 관계에 대해서도 조사했습니다[240, 245, 246]. ICL의 성능은 규모보다는 사전 훈련 코퍼라의 출처에 크게 좌우되는 것으로 나타났습니다[246]. 또 다른 연구[245]에서는 훈련 데이터 배포의 영향에 대한 심층적인 분석을 제공합니다. 이들은 훈련 데이터가 균일하게 분포되어 있지 않고 빈도가 낮은 여러 클래스로 클러스터링될 수 있을 때 ICL이 나타난다는 사실을 발견했습니다. 또한 [240]의 저자들은 이론적으로 ICL을 장거리 일관성을 보이는 문서에 대한 사전 학습의 산물이라고 설명합니다.


LLM은 어떻게 ICL을 수행하나요? 

추론 단계에서 연구자들은 명시적인 학습이나 업데이트가 필요하지 않기 때문에 주어진 데모를 기반으로 ICL 기능이 어떻게 작동하는지를 분석하는 데 집중합니다. 이들은 일반적으로 경사 하강이라는 관점에서 분석하고 ICL을 암시적(implicit) 미세 조정으로 간주합니다[60, 247]. 이 프레임워크에서 ICL 프로세스는 다음과 같이 설명할 수 있습니다. 순방향 계산을 통해 LLM은 예제에 대한 메타 그래디언트를 생성하고 어텐션 메커니즘을 통해 암시적으로 그래디언트 하강을 수행합니다. 실험에 따르면 LLM의 특정 어텐션 헤드는 작업에 구애받지 않는 원자 연산(예: 복사 및 접두사 일치)을 수행할 수 있으며, 이는 ICL 능력과 밀접한 관련이 있습니다[248, 249]. 

ICL의 작동 메커니즘을 더 자세히 탐구하기 위해 일부 연구에서는 ICL을 알고리즘 학습 과정으로 추상화하기도 합니다[250- 252]. 특히 [251]의 저자들은 LLM이 사전 학습 중에 매개변수를 통해 암시적 모델을 본질적으로 인코딩한다는 사실을 발견했습니다. ICL에서 제공하는 예제를 통해 LLM은 경사 하강과 같은 학습 알고리즘을 구현하거나 폐쇄형 해를 직접 계산하여 순방향 계산 중에 이러한 모델을 업데이트할 수 있습니다. 이러한 설명 프레임워크 하에서, LLM은 간단한 선형 함수는 물론 의사 결정 트리와 같은 일부 복잡한 함수까지도 ICL을 통해 효과적으로 학습할 수 있음이 입증되었습니다 [250-252].


6.2 생각의 연쇄 프롬프트

연쇄적 사고(CoT)[33]는 산술적 추론[253-255], 상식적 추론[256, 257], 기호적 추론[33]과 같은 복잡한 추론 작업에서 LLM의 성능을 높이기 위한 개선된 프롬프트 전략입니다. ICL에서처럼 단순히 입력-출력 쌍으로 프롬프트를 구성하는 대신, CoT는 최종 출력으로 이어질 수 있는 중간 추론 단계를 프롬프트에 통합합니다. 아래에서는 ICL과 함께 CoT의 사용법을 자세히 설명하고 CoT 프롬프트가 언제, 왜 작동하는지에 대해 설명합니다.


6.2.1 CoT를 사용한 맥락 내 학습

일반적으로 CoT는 아래에 소개된 것처럼 두 가지 주요 설정, 즉 소수 샷 및 제로 샷 설정에서 ICL과 함께 사용할 수 있습니다.


소수 샷 CoT. Few-shot CoT는 ICL의 특수한 경우로, 각 데모 ⟨입력, 출력⟩을 CoT 추론 단계를 통합하여 ⟨입력, CoT, 출력⟩으로 보강하는 것입니다. 이 전략을 적용하기 위해 적절한 CoT 프롬프트를 설계하는 방법과 생성된 CoT를 활용하여 최종 답을 도출하는 방법이라는 두 가지 핵심 이슈에 대해 논의합니다.


- CoT 프롬프트 디자인. 

LLM의 복잡한 추론 능력을 효과적으로 이끌어내기 위해서는 적절한 CoT 프롬프트를 설계하는 것이 중요합니다. 직접적인 접근 방법으로, 다양한 CoT(즉, 각 문제에 대해 여러 추론 경로)를 사용하면 효과적으로 성능을 향상시킬 수 있습니다 [258]. 또 다른 직관적인 아이디어는 더 복잡한 추론 경로를 가진 프롬프트가 LLM의 추론 능력을 이끌어낼 가능성이 더 높다는 것입니다[259], 이는 정답 생성의 정확도를 높일 수 있습니다. 그러나 이 두 가지 접근 방식은 모두 주석이 달린 CoT 데이터 세트에 의존하기 때문에 실제로 사용하기에는 한계가 있습니다. 이러한 한계를 극복하기 위해 Auto- CoT [241]는 제로샷-CoT [260](다음 부분 "제로샷 CoT"에서 자세히 설명)를 활용하여 LLM에 특별히 프롬프트하여 CoT 인식 경로를 생성함으로써 수동 작업을 제거할 것을 제안합니다. 성능을 높이기 위해 자동 CoT는 훈련 세트의 질문을 여러 클러스터로 나눈 다음 각 클러스터의 중심에 가장 가까운 질문을 선택하는데, 이는 훈련 세트의 질문을 잘 대표할 것으로 예상됩니다. 소수 샷 CoT는 ICL의 특수한 프롬프트 사례로 간주될 수 있지만, 대부분의 작업에서 데모의 순서를 바꾸어도 성능 차이가 2% 미만에 불과할 정도로 데모의 순서는 ICL의 표준 프롬프트에 비해 상대적으로 영향이 적은 것으로 보입니다 [33].


- 향상된 CoT 전략. 

CoT 프롬프트는 상황 정보를 풍부하게 하는 것 외에도 주어진 질문에 대한 답을 유추할 수 있는 더 많은 옵션을 제공합니다. 기존 연구는 주로 여러 추론 경로를 생성하고 도출된 답변들 사이에서 합의점을 찾는 데 중점을 둡니다[261- 263]. 예를 들어, CoT와 최종 답변을 생성할 때 새로운 디코딩 전략으로 자기 일관성[261]이 제안되고 있습니다. 먼저 여러 추론 경로를 생성한 다음 모든 답변에 대해 앙상블을 취합니다(예: 이러한 경로 중에서 투표를 통해 가장 일관된 답변을 선택). 자체 일관성은 CoT 추론의 성능을 큰 폭으로 향상시키며, CoT 프롬프트가 일반적으로 표준 프롬프트보다 떨어지는 일부 작업(예: 비공개 질문 답변 및 자연어 추론)을 개선할 수도 있습니다. 또한 [262]의 저자들은 자기 일관성 전략을 보다 일반적인 앙상블 프레임 작업(프롬프트에 대한 앙상블로 확장)으로 확장하여 다양한 추론 경로가 CoT 추론의 성능 향상의 핵심이라는 것을 발견했습니다. 위의 방법은 추가 훈련 없이도 CoT 프롬프트에 쉽게 통합하여 성능을 향상시킬 수 있습니다. 반면, 다른 연구에서는 생성된 추론 경로의 신뢰도를 측정하기 위해 채점 모델을 훈련하거나[258], 자체적으로 생성된 추론 경로에 대해 LLM을 지속적으로 훈련하여[264, 265] 성능을 향상시킵니다.


제로 샷 CoT. 몇 번만 찍는 CoT와 달리 제로 샷 CoT는 프롬프트에 사람이 주석을 단 작업 데모를 포함하지 않습니다. 대신 추론 단계를 직접 생성한 다음 생성된 CoT를 사용하여 답을 도출합니다. 제로샷 CoT는 [260]에서 처음 제안되었는데, LLM이 먼저 "단계별로 생각해 봅시다"라는 프롬프트를 통해 추론 단계를 생성한 다음 "따라서 답은 다음과 같습니다"라는 프롬프트를 통해 최종 답을 도출하는 방식입니다. 연구진은 이러한 전략이 모델 규모가 일정 규모를 초과하면 성능이 크게 향상되지만, 소규모 모델에서는 효과적이지 않고, 출현 능력에 상당한 패턴을 보인다는 것을 발견했습니다. 더 많은 작업에서 CoT 능력을 발휘하기 위해 Flan-T5와 Flan-PaLM[83]은 CoT 주석에 대한 명령어 튜닝을 추가로 수행하여 보이지 않는 작업에 대한 제로 샷 성능을 향상시켰습니다.


6.2.2 CoT에 대한 추가 논의

이 부분에서는 CoT와 관련된 두 가지 근본적인 질문, 즉 "CoT는 언제 LLM에서 작동하는가"와 "LLM은 왜 CoT 추론을 수행할 수 있는가"에 대한 논의를 제시합니다.


CoT는 언제 LLM에 효과가 있을까요? CoT는 새로운 능력이기 때문에[31], 충분히 큰 모델(예: 일반적으로 10B 이상의 파라미터를 포함하는 모델[33])에만 긍정적인 영향을 미치고 작은 모델에는 영향을 미치지 않습니다. 또한 CoT는 표준 프롬프트에 중간 추론 단계를 추가하기 때문에 산술 추론, 상식 추론, 상징 추론 등 단계별 추론이 필요한 과제[33]를 개선하는 데 주로 효과적입니다. 반면, 복잡한 추론에 의존하지 않는 다른 작업의 경우 표준 프롬프트 [262]보다 성능이 떨어질 수 있습니다(예: GLUE [266]의 MNLI-m/mm, SST-2, QQP). 흥미롭게도, 표준 프롬프트가 좋지 않은 결과를 산출할 때만 CoT 프롬프트가 가져오는 성능 이득이 중요할 수 있는 것으로 보입니다 [33].


LLM이 CoT 추론을 수행할 수 있는 이유는 무엇인가요? 두 번째 질문으로, 다음 두 가지 측면에서 CoT의 기본 메커니즘에 대해 논의합니다.

- CoT 능력의 원천. CoT 능력의 원천과 관련하여, 코드에 대해 훈련된 모델이 강력한 추론 능력을 보이기 때문에 코드에 대한 훈련에 기인할 수 있다는 가설이 널리 퍼져 있습니다 [47, 267]. 직관적으로 코드 데이터는 알고리즘 로직과 프로그래밍 흐름으로 잘 조직화되어 있어 LLM의 추론 성능을 향상시키는 데 유용할 수 있습니다. 그러나 이 가설은 아직 코드에 대한 훈련 유무에 관계없이 제거 실험에 대한 공개적으로 보고된 증거가 부족합니다. 또한, 비 CoT 데이터에 대한 인스트럭션 튜닝이 홀드아웃 CoT 벤치마크에서 성능을 향상시키지 못한다는 것이 경험적으로 입증되었기 때문에 인스트럭션 튜닝이 CoT 능력을 얻기 위한 핵심 이유는 아닌 것으로 보입니다[83].

- 프롬프트 구성 요소의 효과. CoT 프롬프트와 표준 프롬프트의 가장 큰 차이점은 최종 답에 앞서 추론 경로가 통합되어 있다는 점입니다. 따라서 일부 연구자들은 추론 경로에서 다양한 구성 요소의 효과를 조사합니다. 특히 최근의 한 연구에서는 CoT 프롬프트의 세 가지 주요 구성 요소, 즉 기호(예: 산술 추론의 숫자), 패턴(예: 산술 추론의 방정식), 텍스트(예: 기호나 패턴이 아닌 나머지 토큰)를 확인했습니다[268]. 후자의 두 부분(즉, 기호와 텍스트)이 모델 성능에 필수적이며, 둘 중 하나를 제거하면 성능이 크게 저하되는 것으로 나타났습니다. 그러나 기호와 패턴의 정확성은 중요하지 않은 것으로 보입니다. 또한 텍스트와 패턴 사이에는 공생 관계가 존재합니다. 텍스트는 LLM이 유용한 패턴을 생성하는 데 도움이 되고, 패턴은 LLM이 과제를 이해하고 이를 해결하는 데 도움이 되는 텍스트를 생성하는 데 도움이 됩니다[268].

요약하면, CoT 프롬프트는 LLM의 추론 능력을 이끌어내기 위한 일반적이면서도 유연한 접근 방식을 제공합니다. 이 기법을 확장하여 다중 모드 작업[269] 및 다국어 작업[270]을 해결하려는 예비 시도도 있습니다. 최근의 일부 연구에서는 ICL 및 CoT와 함께 LLM을 직접 활용하는 것 외에도 모델 전문화(model specialization)[271-273]라고 하는 특정 작업에 대해 LLM의 능력을 전문화하는 방법을 모색하고 있습니다[274]. 예를 들어, [274]의 연구자들은 LLM에 의해 생성된 CoT 추론 경로에 대해 소규모 Flan-T5[83]를 미세 조정하여 LLM의 수학적 추론 능력을 전문화했습니다모델 전문화는 질문 답변[275], 코드 합성[276], 정보 검색[277]과 같은 다양한 작업을 해결하는 데에도 적용될 수 있습니다.


7 역량 평가


LLM의 효과와 우수성을 검토하기 위해 실증적 평가 및 분석을 수행하기 위해 수많은 과제와 벤치마크가 활용되고 있습니다. 먼저 언어 생성 및 이해를 위한 세 가지 유형의 기본 평가 과제를 소개하고, 보다 복잡한 설정이나 목표를 가진 몇 가지 고급 평가 과제를 제시하며, 마지막으로 기존 벤치마크와 실증 분석에 대해 논의합니다.


7.1 기본 평가 과제

이 부분에서는 주로 언어 생성, 지식 활용, 복합 추론 등 세 가지 유형의 LLM 평가 과제에 초점을 맞추고 있습니다. 모든 관련 과제를 다 다루려는 것이 아니라, LLM에 대해 가장 널리 논의되거나 연구된 과제에 초점을 맞추고자 합니다. 이제 이러한 작업을 자세히 소개합니다.


7.1.1 언어 생성

언어 생성에 관한 기존 작업은 작업 정의에 따라 크게 언어 모델링, 조건부 텍스트 생성, 코드 합성 작업으로 분류할 수 있습니다. 코드 합성은 일반적인 NLP 작업은 아니지만, 자연어 텍스트와 유사한 생성 접근 방식으로 코드 데이터에 대해 학습된 여러 LLM을 통해 직접 해결할 수 있기 때문에 논의하기 위해 포함시켰습니다.


언어 모델링. 

언어 모델링은 LLM의 가장 기본적인 능력으로 이전 토큰을 기반으로 다음 토큰을 예측하는 것을 목표로 하며[15], 주로 기본적인 언어 이해 및 생성 능력에 중점을 두고 있습니다. 이러한 능력을 평가하기 위해 기존 연구에서 사용하는 대표적인 언어 모델링 데이터셋으로는 Penn Treebank [278], WikiText-103 [279], Pile [130] 등이 있으며, 제로 샷 설정 하에서 모델 성능을 평가하기 위해 난해성 메트릭이 일반적으로 사용되고 있습니다. 경험적 연구[55, 82]에 따르면 LLM은 이러한 평가 데이터 세트에 대해 이전의 최신 방법보다 상당한 성능 향상을 가져다줍니다. 텍스트의 장거리 종속성 모델링 능력을 더 잘 테스트하기 위해 문맥 단락을 기반으로 문장의 마지막 단어를 예측하는 LLM이 요구되는 LAMBADA 데이터 세트[167]가 도입되었습니다. 그런 다음 예측된 마지막 단어의 정확도와 난해도를 사용하여 LLM을 평가합니다. 기존 연구에서 볼 수 있듯이 언어 모델링 작업의 성능은 일반적으로 스케일링 법칙[30]을 따르는데, 이는 언어 모델을 스케일링하면 정확도는 향상되고 난해도는 감소한다는 것을 의미합니다.


조건부 텍스트 생성.

 언어 생성에서 중요한 주제인 조건부 텍스트 생성[48]은 일반적으로 기계 번역[347], 텍스트 요약[348], 질문 답변[349]을 포함하여 주어진 조건에 따라 특정 작업 요구를 충족하는 텍스트를 생성하는 데 중점을 둡니다. 생성된 텍스트의 품질을 측정하기 위해 일반적으로 자동 메트릭(예: 정확도, BLEU [350] 및 ROUGE [351])과 사람의 평가가 성능을 평가하는 데 사용되어 왔습니다. 강력한 언어 생성 기능으로 인해 LLM은 기존 데이터 세트와 벤치마크에서 놀라운 성능을 달성했으며, 심지어 테스트 데이터 세트에서 사람의 성능을 능가했습니다. 예를 들어, 32개의 예제만 입력으로 주어졌을 때, 인컨텍스트 학습이 적용된 GPT-3는 전체 데이터를 미세 조정한 BERT-Large의 평균 점수에서 SuperGLUE[292]를 능가할 수 있으며, MMLU에서 5샷 친칠라[34]는 인간 평가자 평균 정확도의 거의 두 배를, 5샷 설정의 GPT-4[46]는 이전 최고 모델에 비해 평균 정확도가 10% 이상 향상되는 최첨단 성능을 달성할 수 있습니다. 따라서 조건부 텍스트 생성 작업에 대한 기존의 벤치마크가 LLM의 성능을 적절히 평가하고 반영할 수 있는지에 대한 심각한 우려가 제기되고 있습니다. 이러한 문제를 고려하여 연구자들은 현재 풀 수 없는 과제(즉, LLM이 잘 수행하지 못하는 과제)를 수집하거나 매우 긴 텍스트 생성[352]과 같이 더 어려운 과제를 만들어 새로운 평가 벤치마크(예: 빅벤치 하드[294])를 만들려고 시도하고 있습니다. 또한 최근 연구에 따르면 자동 메트릭이 LLM의 생성 품질을 과소평가할 수 있다는 사실도 밝혀졌습니다. OpenDialKG[291]에서 ChatGPT는 BLEU 및 ROUGE-L 메트릭에서 미세 조정된 GPT-2보다 성능이 떨어지는 반면, 사람의 판단을 더 선호합니다[353]. 따라서 인간의 판단에 더 부합하는 새로운 지표를 개발하는 데 더 많은 노력을 기울여야 합니다.


코드 합성. 

기존의 LLM은 고품질의 자연어를 생성하는 것 외에도 특정 조건을 만족하는 형식적 언어, 특히 코드 합성이라고 하는 컴퓨터 프로그램(즉, 코드)을 생성하는 데에도 강력한 능력을 보여줍니다[354]. 자연어 생성과 달리 생성된 코드는 대응하는 컴파일러나 인터프리터로 실행하여 직접 확인할 수 있기 때문에 기존 연구에서는 주로 테스트 케이스에 대한 합격률, 즉 pass@k22를 계산하여 LLM에서 생성된 코드의 품질을 평가합니다. 최근에는 기능적 정확성에 초점을 맞춘 여러 코드 벤치마크가 제안되어 LLM의 코드 합성 능력을 평가하고 있는데, APPS [296], HumanEval [88], MBPP [152] 등이 있습니다. 일반적으로 다양한 프로그래밍 문제로 구성되며, 텍스트 명세와 정확성 검사를 위한 테스트 케이스가 포함되어 있습니다. 

이러한 능력을 향상시키기 위해서는 코드 데이터에 대한 LLM을 미세 조정(또는 사전 훈련)하는 것이 핵심이며, 이를 통해 LLM을 코드 합성 작업에 효과적으로 적용할 수 있습니다[76]. 한편, 기존 연구에서는 프로그래머의 버그 수정 및 코드 계획 프로세스를 모방한 것으로 간주할 수 있는 여러 후보 솔루션 샘플링[152] 및 계획 유도 디코딩[355] 등 코드를 생성하기 위한 새로운 전략을 제안했습니다. 놀랍게도 LLM은 최근 프로그래밍 경진대회 플랫폼 Codeforces [98]에서 사용자 중 상위 28%의 순위를 차지하며 인간과 경쟁할 수 있는 성능을 보여주었습니다. 또한 파이썬, 자바스크립트, 자바 등 다양한 언어를 지원할 수 있는 코딩 IDE(예: Visual Studio 및 JetBrains IDE)에서 프로그래밍을 지원하는 GitHub Copilot이 출시되었습니다. 미국 컴퓨터 학회지 커뮤니케이션즈(Communications of the ACM)의 "프로그래밍의 종말"[356]이라는 제목의 관점 기사에서는 컴퓨터 과학 분야에서 AI 프로그래밍의 영향에 대해 논의하면서 새로운 계산의 원자 단위로서 적응력이 뛰어난 LLM으로의 중요한 전환을 강조하고 있습니다.


주요 이슈. 

LLM은 인간과 유사한 텍스트를 생성하는 데 있어 뛰어난 성능을 달성했지만, 아래에서 설명하는 바와 같이 언어 생성에 있어 두 가지 주요 문제를 겪기 쉽습니다.

- 제어 가능한 생성. LLM의 경우, 주어진 조건에서 텍스트를 생성하는 주된 방법은 자연어 명령어 또는 프롬프트를 사용하는 것입니다. 이러한 메커니즘은 단순함에도 불구하고, 이러한 모델의 생성된 출력에 대해 세분화되거나 구조적인 제약을 가하는 측면에서 상당한 문제를 야기합니다. 기존 연구[41]에 따르면 구조에 복잡한 제약 조건이 있는 텍스트를 생성할 때 LLM은, 로컬 계획(예: 근거리 문장 간의 상호작용)은 잘 처리할 수 있지만 글로벌 계획(예: 장거리 연관성)에는 어려움을 겪을 수 있습니다. 예를 들어, 여러 단락으로 구성된 복잡한 긴 구절을 생성하려면 전체 텍스트를 고려하여 특정 텍스트 구조(예: 개념의 순서 및 논리적 흐름)를 직접 보장하기는 여전히 어렵습니다. 코드 합성과 같이 공식적인 규칙이나 문법이 필요한 생성 작업의 경우 이 문제는 더욱 어려워집니다.  

이 문제를 해결하기 위한 잠재적인 해결책은 원패스 제네레이션을 LLM의 반복 프롬프팅으로 확장하는 것입니다. 이는 인간의 글쓰기 과정을 시뮬레이션하여 언어 생성을 계획, 초안 작성, 재작성 및 편집과 같은 여러 단계로 세분화합니다[352]. 여러 연구에서 반복적 프롬프트가 관련 지식을 이끌어내어 하위 작업에서 더 나은 성과를 달성할 수 있다는 것이 입증되었습니다[357, 358]. 본질적으로 연쇄적 사고 프롬프트는 복잡한 작업을 다단계 추론 체인으로 분해하는 아이디어를 활용했습니다. 

또한 생성된 텍스트의 안전 관리도 실제 배포를 위해 중요합니다. LLM은 민감한 정보나 모욕적인 표현이 포함된 텍스트를 생성할 수 있는 것으로 나타났습니다[46]. RLHF 알고리즘[61]은 이 문제를 어느 정도 완화할 수 있지만, 객관적인 최적화 목표 없이 여전히 사람이 라벨링한 데이터에 의존하여 LLM을 튜닝합니다. 따라서 이러한 한계를 극복하고 LLM의 출력을 보다 안전하게 제어할 수 있는 효과적인 방법을 모색하는 것이 필수적입니다.

- 전문화된 생성. LLM은 일관된 텍스트를 생성하기 위해 일반적인 언어 패턴을 학습했지만, 특수한 도메인이나 작업을 처리할 때는 생성 능력에 제약이 있을 수 있습니다. 예를 들어, 일반 웹 기사에 대해 학습된 언어 모델은 의학 전문 용어와 방법이 많이 포함된 의료 보고서를 생성할 때 어려움을 겪을 수 있습니다. 직관적으로, 도메인 지식은 모델 전문화를 위해 매우 중요합니다. 반면, 이러한 전문화된 지식을 LLM에 주입하는 것은 쉽지 않습니다. 최근 연구[47, 359]에서 논의된 바와 같이, LLM이 특정 영역에서 탁월한 능력을 발휘할 수 있도록 훈련된 경우 다른 영역에서는 어려움을 겪을 수 있습니다. 이러한 문제는 신경망 학습에서 치명적인 망각[360, 361]과 관련이 있는데, 이는 새로운 지식과 오래된 지식을 통합할 때 발생하는 충돌 현상을 말합니다. 인간의 가치와 요구에 맞춰 학습하기 위해 "정렬 세금"[61](예: 상황 내 학습 능력의 잠재적 손실)을 지불해야 하는 LLM의 인간 정렬에서도 유사한 사례가 발생합니다. 따라서 가능한 한 원래의 능력을 유지하면서 다양한 업무 시나리오에 유연하게 적용할 수 있는 효과적인 모델 전문화 방법을 개발하는 것이 중요합니다.


7.1.2 지식 활용

지식 활용은 사실적 증거를 기반으로 지식 집약적 작업(예: 상식적인 질문 답변 및 사실 완성)을 수행하는 지능형 시스템의 중요한 능력입니다. 구체적으로는 사전 학습 코퍼스의 풍부한 사실 지식을 적절히 활용하거나 필요한 경우 외부 데이터를 검색할 수 있어야 합니다. 특히, 이러한 능력을 평가하기 위해 주로 활용되는 과제로는 질문 답변(QA)과 지식 완성이 있습니다. 본 연구에서는 테스트 과제(질문 답변 또는 지식 완성)와 평가 설정(외부 자원 활용 유무)에 따라 기존의 지식 활용 과제를 폐쇄형 QA, 개방형 QA23, 지식 완성의 세 가지 유형으로 분류합니다.


비공개 QA. 비공개 QA 과제 [362]는 사전 학습 말뭉치에서 학습자가 습득한 사실 지식을 테스트하는 것으로, 학습자는 외부 리소스를 사용하지 않고 주어진 문맥에 따라 질문에 답해야 합니다. 이러한 능력을 평가하기 위해 정확도 메트릭이 널리 채택된 자연어 질문[299], 웹 질문[302], 퀴즈QA[303]를 비롯한 여러 데이터셋을 활용할 수 있습니다. 경험적 결과에 따르면 LLM은 이러한 환경에서 우수한 성능을 발휘할 수 있으며 심지어 최첨단 오픈 도메인 QA 시스템의 성능과도 일치하는 것으로 나타났습니다[56]. 또한, 폐쇄형 QA 작업에서 LLM의 성능은 모델 크기와 데이터 크기 모두에서 스케일링 법칙 패턴을 보여줍니다. 즉, 매개변수와 학습 토큰을 확장하면 LLM의 용량이 증가하고 사전 학습 데이터에서 더 많은 지식을 학습(또는 암기)할 수 있습니다[56]. 또한, 유사한 매개변수 규모에서 평가된 작업과 관련된 사전 학습 데이터가 더 많은 LLM이 더 나은 성능을 달성할 수 있습니다[71]. 또한 폐쇄형 QA 설정은 LLM이 인코딩한 사실 지식의 정확성을 검증할 수 있는 테스트베드를 제공하기도 합니다. 그러나 기존 연구[55]에서 볼 수 있듯이, LLM은 사전 학습 데이터에 존재하는 경우에도 세분화된 지식에 의존하는 QA 작업에서 성능이 떨어질 수 있습니다.


오픈북 QA. 폐쇄형 QA와 달리, 개방형 QA 작업에서 LLM은 외부 지식 기반 또는 문서 컬렉션에서 유용한 증거를 추출한 다음 추출된 증거를 기반으로 질문에 답변할 수 있습니다[363-366]. 일반적인 오픈북 QA 데이터세트(예: Natural Questions [299], OpenBookQA [311], SQuAD [314])는 폐쇄형 QA 데이터세트와 겹치는 부분이 있지만 외부 데이터 소스(예: Wikipedia)를 통합하고 있습니다. 정확도 및 F1 점수의 메트릭은 평가를 위한 오픈북 QA 작업에서 널리 사용됩니다. 외부 리소스에서 관련 지식을 선택하기 위해 LLM은 종종 텍스트 검색기(또는 검색 엔진)와 짝을 이루며, 이 검색기는 독립적으로 또는 LLM과 공동으로 훈련됩니다 [71, 363, 367]. 기존 연구들은 주로 LLM이 추출된 지식을 활용하여 질문에 답하는 방법을 테스트하는 데 중점을 두고 있으며, 검색된 에비던스가 생성된 답변의 정확도를 크게 향상시킬 수 있고, 심지어 작은 LLM이 10배 큰 LLM보다 더 나은 성능을 발휘할 수 있음을 보여줍니다[363, 367]. 또한 오픈북 QA 작업은 지식 정보의 최신성을 평가할 수도 있습니다. 오래된 지식 리소스에서 사전 학습하거나 검색하면 시간에 민감한 질문에 대해 LLM이 잘못된 답변을 생성할 수 있습니다[363].


지식 완성. 지식 완성 작업에서 LLM은 지식 단위(예: 지식 트리플)의 누락된 부분을 완성하거나 예측하는 데 활용할 수 있는 지식 기반[321]으로 어느 정도 간주될 수 있습니다. 이러한 작업은 사전 학습 데이터에서 LLM이 얼마나 많은 지식과 어떤 종류의 지식을 학습했는지 조사하고 평가할 수 있습니다. 기존의 지식 완성 작업은 크게 지식 그래프 완성 작업(예: FB15k- 237 [317], WN18RR [319])과 사실 완성 작업(예: WikiFact [316])으로 나눌 수 있는데, 각각 지식 그래프에서 삼중항과 특정 사실에 대한 미완성 문장을 완성하는 것을 목표로 합니다. 

경험적 연구에 따르면 기존 LLM은 특정 관계 유형과 관련된 지식 완성 과제를 수행하기 어렵다는 것이 밝혀졌습니다[267]. 위키팩트의 평가 결과에서 볼 수 있듯이, LLM은 사전 학습 데이터에서 빈번하게 발생하는 몇 가지 관계(예: 통화 및 저자)에 대해서는 잘 수행하지만, 드물게 발생하는 관계(예: 발견자_또는_발명자 및 출생지_)에 대해서는 잘 수행하지 못합니다. 흥미롭게도 동일한 평가 설정(예: 문맥 내 학습)에서 InstructGPT(즉, text-davinci-002)가 위키팩트의 모든 하위 집합에서 GPT-3보다 성능이 더 뛰어납니다. 이는 명령어 튜닝이 LLM이 지식 완성 작업을 수행하는 데 도움이 된다는 것을 나타냅니다.


주요 이슈. 

LLM은 지식 정보를 캡처하고 활용하는 데 있어 중요한 진전을 이루었지만, 아래에 설명된 두 가지 주요 문제를 겪고 있습니다.

- 환각. 사실 텍스트를 생성할 때 어려운 문제는 환각 생성[353]으로, 생성된 정보가 기존 출처와 상충되거나(내재적 환각) 사용 가능한 출처로 확인할 수 없는 경우(외재적 환각)이며, 그림 7의 두 가지 예로 설명되어 있습니다. 환각은 기존의 LLM, 심지어 GPT-4와 같은 가장 우수한 LLM에서도 광범위하게 발생합니다 [46]. 본질적으로 LLM은 과제 해결에 지식을 "무의식적으로" 활용하는 것처럼 보이지만, 내부 또는 외부 지식의 사용을 정확하게 제어할 수 있는 능력이 여전히 부족합니다. 환각은 LLM이 원치 않는 출력을 생성하도록 오도하고 대부분 성능을 저하시켜 실제 애플리케이션에 LLM을 배포할 때 잠재적인 위험을 초래할 수 있습니다. 

이러한 문제를 완화하기 위해 고품질 데이터 또는 사람의 피드백을 사용하여 LLM을 튜닝하는 기존 연구[61]에서 정렬 튜닝 전략(5.2절에서 설명)이 널리 활용되어 왔습니다. 환각 문제의 평가를 위해, 모델에 의해 모방된 인간의 거짓을 탐지하기 위한 일련의 환각 탐지 작업(예: TruthfulQA [301])이 제안되었습니다.


 

그림 7. 공개 LLM에 대한 내재적 환각과 외재적 환각의 예(액세스 날짜: 2023년 3월 19일). 내재적 환각의 예로, LLM은 신디와 에이미의 관계에 대해 입력과 모순되는 상반된 판단을 내립니다. 외재적 환각의 경우, 이 예에서 LLM은 (이 맥락에서) LLM의 의미를 올바르게 이해할 수 있지만 RLHF(인간의 피드백을 통한 강화 학습)의 의미를 잘못 이해하고 있는 것처럼 보입니다.


- 지식의 최신성. 또 다른 주요 과제로, LLM은 학습 데이터 이상의 최신 지식이 필요한 과제를 해결할 때 어려움을 겪을 수 있습니다. 이 문제를 해결하기 위한 간단한 접근 방식은 새로운 데이터로 LLM을 정기적으로 업데이트하는 것입니다. 그러나 LLM을 미세 조정하는 데는 많은 비용이 소요되며, 점진적으로 LLM을 학습시킬 때 치명적인 망각 문제가 발생할 가능성이 높습니다. 따라서 새로운 지식을 기존 LLM에 통합하여 최신 상태로 만들 수 있는 효율적이고 효과적인 접근법을 개발할 필요가 있습니다. 기존 연구들은 LLM을 보완하기 위해 외부 지식 소스(예: 검색 엔진)를 활용하는 방법을 탐구해왔는데, 이는 LLM과 공동으로 최적화하거나[363] 플러그 앤 플레이 모듈로 사용할 수 있습니다[368]. 예를 들어, ChatGPT는 검색 플러그인을 활용하여 최신 정보 소스에 액세스합니다[369]. 추출된 관련 정보를 컨텍스트에 통합함으로써[370, 371] LLM은 새로운 사실적 지식을 습득하고 관련 작업을 더 잘 수행할 수 있습니다. 그러나 이러한 접근 방식은 아직 피상적인 수준에 머물러 있는 것으로 보입니다. 내재적 지식을 직접 수정하거나 특정 지식을 LLM에 주입하는 것은 어렵다는 것이 밝혀졌으며, 이는 여전히 미해결 연구 과제로 남아 있습니다[372, 373].


7.1.3 복합 추론

복합추론은 근거가 되는 증거나 논리를 이해하고 활용하여 결론을 도출하거나 의사결정을 내리는 능력을 말한다[51, 52]. 추론 과정에 관여하는 논리와 증거의 유형에 따라 기존의 평가 과제를 지식 추론, 상징 추론, 수학적 추론의 세 가지로 크게 구분하여 살펴봅니다.


지식 추론. 지식 추론은 주어진 질문에 답하기 위해 사실적 지식에 대한 논리적 관계와 증거에 의존하는 과제입니다. 기존 연구에서는 주로 상식 지식 추론을 위한 CSQA [256]/StrategyQA [257], 과학 지식 추론을 위한 ScienceQA [310] 등 특정 데이터셋을 사용해 해당 지식 유형의 추론 능력을 평가합니다. 기존 연구[310]에서는 예측 결과의 정확성 외에도 자동 지표(예: BLEU) 또는 인적 평가를 통해 생성된 추론 프로세스의 품질도 평가했습니다. 일반적으로 이러한 작업은 주어진 질문에 대한 해답에 도달할 때까지 사실적 지식을 기반으로 단계별 추론을 수행해야 합니다. 단계별 추론 능력을 이끌어 내기 위해 LLM의 복합 추론 능력을 향상시키기 위해 생각의 사슬(CoT) 프롬프트 전략[33]이 제안되었습니다.


6.2절에서 설명한 바와 같이 CoT는 수동으로 생성[33] 또는 자동으로 생성[374]할 수 있는 중간 추론 단계를 프롬프트에 포함시켜 LLM이 다단계 추론을 수행하도록 유도합니다. 이러한 방식은 LLM의 추론 성능을 크게 향상시켜 여러 복잡한 지식 추론 작업에서 새로운 최첨단 결과를 도출합니다[33, 56, 375]. 또한 지식 추론 작업을 코드 생성 작업으로 재구성한 후, 재검색자들은 특히 코드에 대해 사전 학습된 LLM을 사용하면 LLM의 성능이 더욱 향상될 수 있음을 발견했습니다[156]. 그러나 지식 추론 작업의 복잡성으로 인해 현재 LLM의 성능은 여전히 상식 추론과 같은 작업에서 인간의 결과보다 뒤떨어집니다 [33, 56, 376]. 가장 흔한 실수 중 하나는 잘못된 사실 지식을 기반으로 부정확한 중간 단계를 생성하여 잘못된 최종 결과를 도출하는 것입니다. 이 문제를 해결하기 위해 기존 연구에서는 전체 추론 체인의 정확도를 향상시키기 위한 특수 디코딩 또는 앙상블 전략을 제안했습니다[258, 261]. 최근에는 실증 연구[375]에 따르면 LLM이 특정 과제를 성공적으로 해결할 수는 있지만, 특정 과제에 필요한 상식적 지식을 명시적으로 추론하는 데 어려움을 겪을 수 있다는 사실이 밝혀졌습니다. 또한 스스로 생성한 지식을 활용하는 것이 추론 능력 향상에 도움이 되지 않을 수 있음을 보여줍니다.

상징적 추론24 . 기호 추론 과제는 주로 특정 목표를 달성하기 위해 공식적인 규칙 설정에서 기호를 조작하는 데 중점을 두며[51], 사전 훈련 중에 LLM이 연산과 규칙을 본 적이 없을 수도 있습니다. 기존 연구[33, 242, 260]에서는 일반적으로 마지막 글자 연결과 동전 뒤집기 과제를 통해 LLM을 평가하는데, 여기서 평가 예제는 문맥 내 예제와 동일한 추론 단계(도메인 내 테스트라고 함) 또는 더 많은 단계(도메인 외 테스트라고 함)를 필요로 합니다. 도메인 외부 테스트의 예로, LLM은 문맥에서 두 단어로 구성된 예제만 볼 수 있지만, 이 테스트에서는 세 단어 이상의 마지막 글자를 연결해야 합니다. 일반적으로 이러한 작업에서 LLM의 성능을 평가하기 위해 생성된 심볼의 정확도를 채택합니다. 따라서 LLM은 복잡한 시나리오에서 기호 연산과 그 구성 간의 의미 관계를 이해해야 합니다. 그러나 도메인 외부 환경에서는 기호 연산과 규칙의 복잡한 구성(예: 문맥 예제에서 두 배의 연산 수)을 보지 못했기 때문에 LLM이 정확한 의미를 파악하기 어렵습니다. 이 문제를 해결하기 위해 기존 연구에서는 스크래치패드[335, 377] 및 튜터[378] 전략을 통합하여 LLM이 기호 연산을 더 잘 조작하여 더 길고 복잡한 추론 프로세스를 생성할 수 있도록 지원합니다. 또 다른 연구 작업은 기호 연산과 규칙을 표현하기 위해 형식적 프로그래밍 언어를 사용하는데, 이를 위해서는 LLM이 코드를 생성하고 외부 인터프리터로 실행하여 추론 프로세스를 수행해야 합니다. 이러한 방식은 복잡한 추론 과정을 LLM과 인터프리터가 각각 코드 합성과 프로그램 실행으로 분해하여 추론 과정을 단순화하면서도 보다 정확한 결과를 도출할 수 있습니다[337].

수학적 추론. 수학적 추론 과제는 문제를 해결하거나 증명문을 생성하기 위해 수학적 지식, 논리, 계산을 종합적으로 활용해야 합니다. 기존의 수학적 추론 과제는 크게 수학 문제 해결과 자동화된 정리 증명으로 구분할 수 있습니다. 수학 문제 해결 과제의 경우 SVAMP [254], GSM8k [253], MATH [293] 데이터셋이 주로 평가에 사용되며, LLM은 수학 문제에 대한 답을 얻기 위해 정확한 구체적인 숫자나 방정식을 생성해야 합니다. 이러한 과제 역시 다단계 추론이 필요하기 때문에 추론 성능을 향상시키기 위해 연쇄 사고 프롬프트 전략이 LLM에 널리 채택되었습니다[33]. 

실용적인 전략으로, 대규모 수학 말뭉치에 대한 지속적인 사전 훈련을 통해 LLM의 수학적 추론 작업 수행 능력을 크게 향상시킬 수 있습니다 [35, 147, 379]. 또한, 서로 다른 언어의 수학 문제는 동일한 수학적 논리를 공유하기 때문에 재검색자들은 LLM의 다국어 수학적 추론 능력을 평가하기 위해 다국어 수학 단어 문제 벤치마크[270]를 제안하기도 합니다. 또 다른 고난이도 과제인 자동 정리 증명(ATP)[343, 345, 380]은 추론 모델이 추론 논리와 수학적 기술을 엄격하게 따라야 합니다. 이 과제에 대한 성능을 평가하기 위해 증명 성공률을 평가 지표로 사용하는 대표적인 ATP 데이터셋으로는 PISA [344]와 miniF2F [345]가 있습니다. ATP에 대한 기존 연구는 LLM을 활용하여 대화형 정리 증명기(ITP)를 이용한 증명 검색을 지원하는데, 대표적인 접근 방식으로는 Lean, Metamath, Isabelle 등이 있습니다 [381- 383]. ATP 연구의 가장 큰 한계는 공식 언어로 된 관련 말뭉치가 부족하다는 점입니다. 이를 해결하기 위해 여러 연구에서 LLM을 활용하여 새로운 데이터를 보강하기 위해 비공식적 진술을 공식 증명으로 변환하거나[157], 증명의 검색 공간을 줄이기 위해 초안과 증명 스케치를 생성합니다[384].


주요 이슈. 

이러한 발전에도 불구하고 LLM은 복잡한 추론 작업을 해결하는 데 여전히 몇 가지 한계가 있습니다.

- 일관성 부족. 향상된 추론 전략(예: CoT 프롬프트)을 통해 LLM은 지원 논리와 증거를 기반으로 단계별 추론을 수행함으로써 일부 복잡한 추론 과제를 해결할 수 있습니다. 이러한 효과에도 불구하고 분해된 추론 과정에서 불일치 문제가 종종 발생합니다. 구체적으로, LLM은 잘못된 추론 경로를 따라 정답을 생성하거나, 올바른 추론 과정을 거친 후 오답을 생성하여[33, 385] 도출된 답과 추론 과정 간의 불일치를 초래할 수 있습니다. 이러한 문제를 해결하기 위해 기존 연구에서는 외부 도구나 모델을 통해 LLM의 전체 생성 과정을 안내하거나[355], 추론 과정과 최종 정답을 재확인하여 수정하는 방법[386]이 제안되었습니다. 최근에는 복잡한 추론 작업을 코드 생성 작업으로 재구성하고, 생성된 코드를 엄격하게 실행하여 추론 과정과 결과 간의 정합성을 보장하는 접근 방식이 유망한 해결책으로 제시되고 있습니다. 또한, 유사한 입력을 가진 작업 간에 일관성이 존재할 수 있으며, 작업 설명의 작은 변경으로 인해 모델이 다른 결과를 생성할 수 있음이 밝혀졌습니다 [49, 254]. 이 문제를 완화하기 위해 여러 추론 경로의 앙상블을 적용하여 LLM의 디코딩 프로세스를 향상시킬 수 있습니다 [261].

- 수치 계산. 복잡한 추론 작업의 경우, LLM은 특히 큰 숫자를 사용한 산술과 같이 사전 학습 중에 거의 대응되지 않는 기호에 대해 관련된 숫자 연산에 여전히 어려움을 겪습니다 [49, 378]. 이 문제를 해결하기 위한 직접적인 방법은 합성 산술 문제에 대해 LLM을 튜닝하는 것입니다[387]. 이 접근법을 따르는 연구가 급증하고 있으며, 스크래치 패드 추적과 같은 특수한 훈련 및 추론 전략[377]을 통해 수치 계산 성능을 더욱 향상시킵니다. 또한 기존 연구[70]에서는 특히 산술 연산을 처리하기 위해 외부 도구(예: 계산기)를 통합하기도 했습니다. 최근에는 ChatGPT가 외부 도구를 사용할 수 있는 플러그인 메커니즘을 제공했습니다[369]. 이러한 방식으로 LLM은 도구를 올바르게 조작하는 방법을 배워야 합니다. 이를 위해 연구자들은 LLM을 튜닝하기 위한 도구(심지어 LLM 자체)를 사용하여 예제를 보강하거나[70, 388], 상황 내 학습을 위한 지침과 예제를 고안했습니다[337]. 하지만 이러한 LLM은 여전히 텍스트 문맥에 의존하여 수학 기호의 의미적 의미를 파악하기 때문에(사전 학습 단계에서) 본질적으로 숫자 계산에 가장 적합하지 않습니다.


7.2 고급 능력 평가

위의 기본 평가 과제 외에도 LLM은 평가를 위해 특별한 고려가 필요한 몇 가지 우수한 능력을 발휘합니다. 이 부분에서는 인간 정렬, 외부 환경과의 상호 작용, 도구 조작 등 몇 가지 대표적인 고급 능력과 그에 따른 평가 접근 방식에 대해 설명합니다. 다음에서는 이러한 고급 능력에 대해 자세히 설명합니다.

7.2.1 휴먼 얼라인먼트

실제 응용 분야에서 LLM을 폭넓게 사용하기 위해서는 인간의 가치와 요구에 잘 부합하는 능력, 즉 휴먼 얼라인먼트가 필요합니다.

이러한 능력을 평가하기 위해 기존 연구에서는 도움성, 정직성, 안전성과 같은 여러 가지 인간 적합성 기준을 고려합니다[46, 220, 221]. 도움성과 정직성의 경우, 텍스트에서 가능한 허위성을 탐지하는 LLM의 능력을 조사하기 위해 광고성 질문 답변 과제(예: TruthfulQA [301])를 활용할 수 있습니다[46, 71]. 또한, 무해성은 기존의 여러 벤치마크(예: CrowS-Pairs [389] 및 Winogender [390])를 통해서도 평가할 수 있습니다. 위의 데이터 세트를 사용한 자동화된 평가에도 불구하고, 사람이 직접 평가하는 것이 LLM의 인간 정렬 능력을 효과적으로 테스트할 수 있는 더 직접적인 방법입니다. 

OpenAI는 AI 위험과 관련된 분야의 많은 전문가를 초청하여 위험한 콘텐츠에 직면했을 때 GPT-4의 동작을 평가하고 개선합니다[46]. 또한, 인간 정렬의 다른 측면(예: 진실성)에 대해 여러 연구에서 특정 지침을 사용하고 주석 프로세스를 안내하기 위해 주석 규칙을 고안할 것을 제안합니다 [71]. 경험적 연구에 따르면 이러한 전략이 LLM의 인간 정렬 능력을 크게 향상시킬 수 있는 것으로 나타났습니다[221]. 예를 들어, 전문가와의 상호작용을 통해 수집된 데이터에 대한 정렬 튜닝을 거친 후, 민감하거나 허용되지 않는 프롬프트를 처리할 때 GPT-4의 잘못된 동작률을 크게 줄일 수 있습니다. 또한 고품질의 사전 학습 데이터는 정렬에 필요한 노력을 줄일 수 있습니다[46]. 예를 들어, Galactica는 과학 말뭉치에서 편향된 내용이 적기 때문에 잠재적으로 더 무해할 수 있습니다 [35].

7.2.2 외부 환경과의 상호작용

표준 평가 작업 외에도 LLM은 외부 환경으로부터 피드백을 받고 행동 지시에 따라 행동 계획을 자연어로 생성하여 에이전트를 조작하는 등의 작업을 수행할 수 있습니다[391, 392]. 이러한 능력은 상세하고 매우 현실적인 행동 계획을 생성할 수 있는 LLM에서도 나타나는 반면, 더 작은 모델(예: GPT-2)은 더 짧거나 무의미한 계획을 생성하는 경향이 있습니다[391].

이 기능을 테스트하기 위해 다음과 같이 몇 가지 구현된 AI 벤치마크를 평가에 사용할 수 있습니다. Virtual- Home [393]은 청소 및 요리와 같은 가사 작업을 위한 3D 시뮬레이터를 구축하여 에이전트가 LLM에 의해 생성된 자연어 작업을 실행할 수 있습니다. ALFRED [394]는 LLM이 구성 목표를 달성해야 하는 보다 까다로운 작업을 포함합니다. BEHAVIOR [395]는 시뮬레이션 환경에서의 일상적인 집안일에 초점을 맞추고 객체의 내부 상태 변경과 같은 복잡한 솔루션을 생성하기 위해 LLM을 다시 요구합니다. 기존 연구는 LLM에서 생성된 실행 계획을 기반으로 벤치마크에서 일반적인 지표(예: 생성된 실행 계획의 실행 가능성 및 정확성)[391]를 채택하거나 실제 실험을 직접 수행하여 성공률[396]을 측정하여 이러한 능력을 평가합니다. 기존 연구들은 외부 환경과 상호작용하고 정확한 실행 계획을 생성하는 데 있어 LLM이 효과적이라는 것을 보여주었습니다[397]. 최근에는 코드와 유사한 프롬프트 설계[398], 실제 접지 제공(real-world grounding)[396] 등 LLM의 상호작용 능력을 향상시키기 위한 몇 가지 개선된 방법들이 제안되었습니다.

7.2.3 도구 조작

복잡한 문제를 해결할 때 LLM은 필요하다고 판단되면 외부 도구를 사용할 수 있습니다. 기존 연구에서는 사용 가능한 도구를 API 호출로 캡슐화하여 검색 엔진 [71], 계산기 [70], 컴파일러 [337] 등 다양한 외부 도구를 사용하여 여러 특정 작업에서 LLM의 성능을 향상시켰습니다. 최근 OpenAI는 언어 모델링 이상의 광범위한 기능을 LLM에 탑재할 수 있는 ChatGPT[369]의 플러그인 사용을 지원했습니다. 예를 들어, 웹 브라우저 플러그인을 통해 ChatGPT는 새로운 정보에 액세스할 수 있습니다. 또한 써드파티 플러그인을 통합하는 것은 LLM을 기반으로 하는 애플리케이션 생태계를 활성화하는 데 특히 중요합니다.

도구 조작 능력을 평가하기 위해 기존 연구에서는 주로 수학적 문제 해결(예: GSM8k [253] 및 SVAMP [254]) 또는 지식 질문 답변(예: TruthfulQA [301])과 같은 복잡한 추론 과제를 평가에 채택하고 있는데, 이는 도구의 성공적인 활용이 LLM이 할 수 없는 필수 기술(예: 수치 계산)을 향상시키는 데 매우 중요한 역할을 합니다. 이러한 방식으로 이러한 과제에서 평가된 성과는 도구 조작에 대한 LLM의 능력을 반영할 수 있습니다. 기존 연구에서는 LLM에게 도구를 활용하도록 가르치기 위해 맥락에서 도구를 사용하는 예시를 추가하여 LLM을 유도하거나[337], 도구 활용에 대한 시뮬레이션 데이터에 대해 LLM을 미세 조정합니다[70, 388]. 기존 연구에 따르면 도구의 도움으로 LLM은 방정식 계산, 실시간 정보 활용과 같이 잘하지 못하는 문제를 처리할 수 있는 능력이 향상되어 최종 성능이 향상되는 것으로 나타났습니다[70].


요약. 

위의 세 가지 능력, 즉 인간의 가치와 선호에 부합하고(인간 정렬), 실제 시나리오에서 적절하게 행동하며(외부 환경과의 상호작용), 능력 범위를 확장하는(도구 조작) 능력은 LLM의 실제 성능에 큰 가치를 지니고 있습니다. 위의 세 가지 고급 능력 외에도 LLM은 일부 작업(예: 데이터 주석 [237])이나 학습 메커니즘(예: 자기 개선 [265])과 특별히 관련된 다른 능력도 보여줄 수 있습니다. LLM을 더 잘 활용하고 개선하기 위해 새롭게 부상하는 이러한 능력을 발견, 측정 및 평가하는 것은 개방적인 방향이 될 것입니다.

7.3 공개 벤치마크 및 실증 분석

앞선 부분에서는 LLM의 평가 과제와 그에 따른 설정에 대해 설명했습니다. 다음에서는 일반적인 관점에서 보다 포괄적인 논의를 살펴보는 데 초점을 맞춘 LLM에 대한 기존 평가 벤치마크와 실증 분석을 소개합니다.

7.3.1 평가 벤치마크

최근 LLM 평가를 위한 여러 종합적인 벤치마크[267, 293, 336]가 발표되었습니다. 이 부분에서는 대표적으로 널리 사용되는 벤치마크인 MMLU, BIG-bench, HELM을 소개합니다.

MMLU[293]는 수학, 컴퓨터 과학부터 인문, 사회 과학에 이르기까지 다양한 지식 영역을 포괄하는 다중 작업 지식 이해에 대한 대규모 평가를 위한 다목적 벤치마크입니다. 이러한 작업의 난이도는 기초부터 고급까지 다양합니다. 기존 연구에서 볼 수 있듯이, 모델 크기의 스케일링 법칙을 보여주는 이 벤치마크[35, 56, 57, 83]에서 LLM은 대부분 작은 모델보다 큰 폭으로 성능이 뛰어납니다. 최근에는 GPT-4가 MMLU에서 놀라운 기록(5샷 설정에서 86.4%)을 달성했는데, 이는 이전의 최첨단 모델보다 훨씬 뛰어난 수준입니다[46].

BIG-bench [336]는 다양한 측면에서 기존 LLM을 조사하기 위한 협업 벤치마크입니다. 언어학, 아동 발달, 수학, 상식 추론, 생물학, 물리학, 사회적 편견, 소프트웨어 개발 등 광범위한 주제를 포괄하는 204개의 과제로 구성되어 있습니다. 모델 크기를 확장하면 LLM은 BIG-bench [56]의 65% 과제에서 몇 번의 샷 설정으로 인간의 평균 성능을 능가할 수도 있습니다. 전체 벤치마크의 높은 평가 비용을 고려하여, BIG-bench의 작지만 다양하고 긴 24개의 작업을 포함하는 경량 벤치마크인 BIG-bench-Lite가 제안되었습니다. 또한, LLM이 인간과 비교하여 우수한 성능을 보이는 고난이도 과제를 선별하여 현재 풀지 못하고 있는 과제를 집중적으로 연구하기 위해 BIG-bench 하드(BBH) 벤치마크가 제안되었습니다. BBH의 난이도가 높아질수록 소형 모델은 대부분 랜덤에 가까운 성능을 달성합니다. 이에 비해 CoT 프롬프트는 LLM의 단계별 추론 능력을 이끌어내어 성능을 향상시킬 수 있으며, 심지어 BBH에서 인간의 평균 성능을 능가할 수 있습니다[294].

HELM [267]은 16개 시나리오와 7개 범주의 메트릭으로 구성된 핵심 세트를 지속적으로 구현하는 포괄적인 벤치마크입니다. 이는 많은 선행 연구를 기반으로 구축되어 언어 모델에 대한 총체적인 평가를 수행합니다. HELM[267]의 실험 결과에서 볼 수 있듯이, 명령어 튜닝은 정확성, 견고성, 공정성 측면에서 LLM의 성능을 일관되게 향상시킬 수 있습니다. 또한 추론 작업의 경우 코드 말뭉치에 대해 사전 학습된 LLM이 더 우수한 성능을 보입니다.


위의 벤치마크는 LLM을 평가하기 위한 다양한 주류 평가 작업을 다룹니다. 또한 다국어 지식 활용을 위한 TyDiQA [399], 다국어 수학적 추론을 위한 MGSM [270] 등 LLM의 특정 능력을 평가하는 데 초점을 맞춘 여러 벤치마크도 있습니다. 평가를 수행하기 위해 특정 목표에 따라 적합한 벤치마크를 선택할 수 있습니다. 또한 연구자가 기존 벤치마크에서 LLM을 평가하거나 맞춤형 평가를 위해 새로운 작업을 확장할 수 있는 여러 오픈 소스 평가 프레임워크가 있으며, 언어 모델 평가 하네스 [400] 및 OpenAI 평가 [46] 등이 있습니다.


7.3.2 LLM의 역량에 대한 종합적인 분석

대규모 평가 벤치마크를 구축하는 것 외에도 LLM의 강점과 한계를 조사하기 위해 종합적인 분석을 수행한 연구들이 급증하고 있습니다. 이 부분에서는 제너럴리스트(범용 역량)와 스페셜리스트(도메인별 역량)의 주요 측면으로 나누어 간략하게 살펴봅니다.


제너럴리스트. 괄목할 만한 성과로 인해 기존 연구[41, 46, 353, 359, 401-403]에서는 다양한 업무 또는 응용 분야에서의 역량을 탐색하기 위해 LLM의 일반 역량을 체계적으로 평가했습니다. 일반적으로 이러한 연구는 주로 이전에 잘 연구되지 않은 새로 등장한 LLM(예: ChatGPT 및 GPT-4)에 초점을 맞추고 있으며, 이에 대해서는 다음과 같이 설명합니다:


- 숙련도. 일반적인 과제를 해결할 때 LLM의 숙련도를 평가하기 위해 기존 연구[403]에서는 일반적으로 다양한 과제와 도메인을 포괄하는 일련의 데이터 세트를 수집한 다음 몇 개/제로 샷 설정에서 LLM을 테스트합니다. 경험적 결과[41, 46, 359, 403]는 범용 태스크 솔버로서 LLM의 우수한 성능을 보여주었습니다. GPT-4는 언어 이해, 상식적 추론, 수학적 추론과 같은 광범위한 과제에서 벤치마크에 특화된 훈련을 통해 최첨단 방법을 능가하는 성과를 거두었습니다[46]. 또한, 인간을 대상으로 설계된 실제 시험(예: 대학수학능력시험 및 대학원 입학시험[46])에서 인간과 유사한 성능을 달성할 수 있습니다.

최근에는 종합적인 질적 분석[41]을 통해 GPT-4가 수학, 컴퓨터 비전, 프로그래밍 등 다양한 분야의 까다로운 작업에서 인간 수준의 성능에 근접한 것으로 밝혀졌으며, "인공 일반 인공지능 시스템의 초기 버전"으로 간주되었습니다. 유망한 결과에도 불구하고 이 분석은 GPT-4가 여전히 심각한 한계를 가지고 있다는 사실도 밝혀냈습니다. 예를 들어, GPT-4는 생성 된 결과에 대한 신뢰도를 보정하기 어렵고 학습 데이터 및 자체와의 일관성을 검증할 수 없습니다. 또한 계획(예: "하노이의 탑" 문제 풀이)이나 개념적 도약(예: 새로운 과학적 가설 제안)이 필요한 작업에서 열등한 성능을 보여줍니다. 또한 여러 연구에 따르면 LLM은 특정 영역의 정보 추출 작업에서 익숙하지 않은 개념[403, 404]을 잘못 이해하고, 실용적인 감정 관련 작업[402](예: 개인화된 감정 인식)을 해결하는 데 어려움을 겪을 수 있으며, 특정 미세 조정 모델에 비해 열등한 성능을 보이는 것으로 나타났습니다.


- 견고성. 숙련도 외에도 고려해야 할 또 다른 측면은 소음이나 외란에 대한 LLM의 안정성이며, 이는 실제 애플리케이션에 특히 중요합니다. 기존 연구[405]에서는 노이즈나 섭동에 대한 LLM의 견고성을 평가하기 위해 입력에 대한 적대적 공격(예: 토큰 교체)을 수행한 후 출력 결과의 변화를 기반으로 LLM의 견고성을 평가합니다. LLM은 다양한 작업에서 소규모 언어 모델보다 견고성이 높지만, 견고성 불안정성, 프롬프트 민감도 등 견고성에 대한 새로운 문제가 발생할 수 있습니다. 구체적으로, LLM은 동일한 입력에 대해 다양한 표현을 사용할 때 자체적으로 생성한 콘텐츠와 충돌하는 경우에도 다른 답변을 제공하는 경향이 있습니다[406]. 이러한 문제는 다른 프롬프트를 사용하여 강건성을 평가할 때 불안정한 결과를 초래하여 강건성 분석 결과 자체의 신뢰도를 떨어뜨릴 수 있습니다.


전문가. LLM은 대규모의 혼합 소스 코퍼스에 대해 사전 훈련을 받았기 때문에 사전 훈련 데이터에서 풍부한 지식을 포착할 수 있습니다. 따라서 LLM은 도메인 전문가 또는 특정 분야의 전문가로 활용되기도 합니다. 따라서 최근의 연구들은 도메인별 과제 해결을 위한 LLM의 활용을 광범위하게 탐색하고 LLM의 적응 능력을 평가했습니다. 일반적으로 이러한 연구는 도메인별 데이터 세트를 수집하거나 구성하여 상황 내 학습을 사용하여 LLM의 성능을 평가합니다. 여기서는 가능한 모든 응용 분야를 다룰 수는 없으므로 연구 커뮤니티에서 많은 관심을 받고 있는 대표적인 세 가지 분야인 의료, 교육, 법률에 대해 간략하게 설명합니다.


- 의료는 인간의 생명과 밀접한 관련이 있는 중요한 응용 분야입니다. ChatGPT의 등장 이후, 의료 분야에 ChatGPT 또는 다른 LLM을 적용한 일련의 연구가 진행되었습니다. LLM은 생체 정보 추출[407], 의료 자문 상담[408-410], 보고서 간소화[411] 등 다양한 의료 업무를 처리할 수 있으며, 전문 의사를 대상으로 하는 의사 면허 시험[412-414]에도 합격할 수 있다는 것이 입증되었습니다. 그러나 LLM은 의학 용어를 잘못 해석하거나 의료 지침과 일치하지 않는 조언을 제시하는 등 잘못된 의료 정보[409, 411]를 조작할 수 있습니다. 또한 환자의 건강 정보를 업로드하는 것은 개인정보 보호 문제를 야기할 수 있습니다[407].


- 교육 분야 역시 LLM이 잠재적으로 큰 영향력을 발휘할 수 있는 중요한 응용 분야입니다. 기존 연구에 따르면 LLM은 수학, 물리학, 컴퓨터 과학 등의 과목에서 객관식 및 주관식 문제 모두에서 표준화된 시험[46, 415, 416]에서 학생 수준의 성취도를 달성할 수 있는 것으로 나타났습니다. 또한, 경험적 연구에 따르면 LLM은 교육용 쓰기 또는 읽기 보조 역할을 할 수 있습니다 [417, 418]. 최근 연구[418]에 따르면 ChatGPT는 여러 분야에 걸쳐 논리적으로 일관된 답변을 생성할 수 있으며, 깊이와 넓이의 균형을 맞출 수 있습니다. 또 다른 정량적 분석[417]에 따르면 컴퓨터 보안 분야의 일부 과목에서 ChatGPT를 활용하는 학생들이 다른 사용 방법(예: LLM의 결과를 자신의 답안으로 유지하거나 수정)을 사용하는 평균적인 학생들보다 더 나은 성적을 거둔 것으로 나타났습니다. 그러나 LLM의 인기가 높아짐에 따라 이러한 지능형 비서를 교육에 합리적으로 사용하는 것에 대한 우려(예: 숙제 부정행위)가 제기되고 있습니다.


- 법률은 전문적인 도메인 지식을 기반으로 하는 전문 영역입니다. 최근 법률 문서 분석[419, 420], 법적 판단 예측[421], 법률 문서 작성[422] 등 다양한 법률 업무를 해결하기 위해 LLM을 적용한 연구들이 다수 진행되었습니다. 최근 연구[423]에 따르면 LLM은 법률 해석과 추론에 있어 강력한 능력을 보유하고 있는 것으로 나타났습니다. 또한 최신 GPT-4 모델은 모의 변호사 시험에서 인간 응시자와 비교하여 상위 10%의 점수를 획득했습니다. 그러나 법률 분야에서 LLM을 활용하면 저작권 문제[424], 개인정보 유출[425], 편견과 차별[426] 등 법적 문제에 대한 우려도 제기되고 있습니다.

앞서 언급한 연구 외에도 법학전문대학원의 역량은 다른 관점에서 분석되어 왔습니다. 예를 들어, 최근의 일부 연구에서는 자기 인식, 마음 이론(ToM), 정서적 컴퓨팅과 같은 LLM의 인간과 유사한 특성을 연구했습니다[41, 427-429]. 특히, 두 가지 고전적인 거짓 믿음 과제에 대해 수행된 ToM에 대한 실증적 평가에 따르면 GPT-3.5 시리즈의 모델이 ToM 과제에서 9세 어린이와 비슷한 성능을 보였기 때문에 [428] LLM이 ToM과 유사한 능력을 가질 수 있다고 추측합니다. 또한, 또 다른 연구에서는 LLM에 대한 기존 평가 설정의 공정성과 정확성을 조사했습니다[430]. 예를 들어, 대규모 혼합 소스 사전 훈련 데이터에 테스트 세트의 데이터가 포함될 수 있습니다.


8 결론 및 향후 방향

이번 조사에서는 대규모 언어 모델(LLM)의 최근 진행 상황을 살펴보고, LLM의 이해와 활용을 위한 주요 개념, 연구 결과, 기법 등을 소개했습니다. 기존 문헌에서 충분히 다뤄진 초기 사전 학습 언어 모델(예: BERT, GPT-2)의 내용은 제외하고 대형 모델(즉, 10B 이상의 크기)에 초점을 맞췄습니다. 특히 이번 설문조사에서는 사전 학습, 적응 튜닝, 활용, 평가 등 LLM의 네 가지 중요한 측면에 대해 논의했습니다. 각 측면에 대해 LLM의 성공에 핵심적인 기술 또는 결과를 강조합니다. 또한 LLM을 개발하는 데 사용할 수 있는 리소스를 요약하고 LLM을 재현하는 데 중요한 구현 지침에 대해서도 논의합니다.


이 설문조사는 LLM에 관한 가장 최근의 문헌을 다루고 있으며 연구자와 엔지니어 모두에게 이 주제에 대한 좋은 참고 자료를 제공합니다.

다음에서는 이번 설문조사에서 논의된 내용을 요약하고, LLM의 과제와 향후 방향에 대해 다음과 같은 측면에서 소개합니다.


이론과 원리. LLM의 기본 작동 메커니즘을 이해하기 위해 가장 큰 미스터리 중 하나는 초대형 심층 신경망을 통해 정보가 어떻게 분산, 구성, 활용되는지입니다. LLM의 능력의 토대를 이루는 기본 원리나 요소를 밝히는 것이 중요합니다. 특히 스케일링은 LLM의 용량을 증가시키는 데 중요한 역할을 하는 것으로 보입니다[31, 55, 59]. 언어 모듈의 매개변수 규모가 임계 크기(예: 10B)로 증가하면 예기치 않은 방식(갑작스러운 성능 도약)으로 일부 신흥 능력이 발생하는 것으로 나타났습니다[31, 33]. 일반적으로 상황 내 학습, 지시 추종, 단계별 추론이 포함됩니다. 이러한 새로운 능력은 매혹적이면서도 당혹스러운데, 언제 어떻게 LLM이 이러한 능력을 얻게 되는지는 아직 명확하지 않습니다. 최근의 연구들은 출현 능력의 효과와 그러한 능력에 기여하는 요인을 조사하기 위해 광범위한 실험을 수행하거나[229, 246, 431], 기존의 이론적 틀을 사용하여 특정 능력을 설명하기도 합니다[60, 240]. 통찰력 있는 기술 게시물에서도 GPT 시리즈 모델을 대상으로 이 주제에 대해 구체적으로 논의합니다[47]. 그러나 LLM의 능력이나 행동을 이해, 특성화, 설명할 수 있는 보다 공식적인 이론과 원리는 여전히 부족합니다. 출현 능력은 자연의 상전이와 유사하기 때문에[31, 58], 여러 학문을 넘나드는 이론이나 원리(예: LLM을 일종의 복잡계로 간주할 수 있는지 여부)는 LLM의 행동을 설명하고 이해하는 데 유용할 수 있습니다. 이러한 근본적인 질문은 연구 커뮤니티에서 탐구할 가치가 있으며, 이는 차세대 LLM을 개발하는 데 중요합니다.


모델 아키텍처. 확장성과 효율성 때문에 스택형 멀티헤드 셀프 어텐션 레이어로 구성된 트랜스포머는 사실상 LLM 구축의 표준 아키텍처가 되었습니다. 이 아키텍처의 성능을 개선하기 위해 신경망 구성 및 확장 가능한 병렬 훈련과 같은 다양한 전략이 제안되었습니다(4.2.2절의 논의 참조). 모델 용량(예: 다중 턴 대화 능력)을 향상시키기 위해 기존 LLM은 일반적으로 긴 컨텍스트 창을 유지합니다(예: GPT-4-32k는 32,768 토큰이라는 매우 큰 컨텍스트 길이를 가짐). 따라서 현실적으로 고려해야 할 사항은 표준 셀프 어텐션 메커니즘에서 발생하는 시간 복잡성(원래는 이차적 비용)을 줄이는 것입니다. 예를 들어, GPT-3 [55]에서 스파스 어텐션이 사용된 것처럼, LLM을 구축하는 데 있어 보다 효율적인 트랜스포머 변종의 효과를 조사하는 것이 중요합니다[432]. 

게다가 치명적 망각(catastrophic forgetting)은 신경망의 오랜 난제였으며, 이는 LLM에도 부정적인 영향을 미칩니다. 새로운 데이터로 LLM을 조정할 때, 원래 학습된 지식이 손상될 가능성이 높습니다. 예를 들어 특정 작업에 따라 LLM을 미세 조정하면 LLM의 일반적인 능력에 영향을 미칩니다. 비슷한 경우로 LLM을 인간의 가치에 맞춰 조정할 때도 발생합니다(정렬 세금이라고 함 [61, 220]).

따라서 데이터 업데이트와 업무 전문화를 효과적으로 지원할 수 있는 보다 유연한 메커니즘이나 모듈로 기존 아키텍처를 확장하는 것을 고려할 필요가 있습니다.


모델 훈련. 실제로는 방대한 연산량과 데이터 품질 및 학습 기법에 대한 민감성[68, 82]으로 인해 유능한 LLM을 사전 학습하는 것은 매우 어렵습니다. 따라서 모델 효과성, 효율성 최적화, 학습 안정성 등의 요소를 고려하여 LLM을 최적화하기 위한 보다 체계적이고 경제적인 사전 학습 접근법을 개발하는 것이 특히 중요해졌습니다. 

훈련 중 비정상적인 문제를 조기에 감지하기 위해 더 많은 모델 검사 또는 성능 진단 방법(예: GPT-4의 예측 가능한 스케일링[46])이 개발되어야 합니다. 또한 컴퓨팅 클러스터의 리소스를 더 잘 구성하고 활용하기 위해 하드웨어 지원이나 리소스 스케줄에 대한 보다 유연한 메커니즘이 필요합니다. LLM을 처음부터 사전 훈련하는 것은 비용이 많이 들기 때문에 공개적으로 이용 가능한 모델 체크포인트(예: LLaMA [57] 및 Flan-T5 [83])를 기반으로 LLM을 지속적으로 사전 훈련하거나 미세 조정할 수 있는 적절한 메커니즘을 설계하는 것이 중요합니다. 이를 위해서는 치명적인 망각과 작업 전문화 등 여러 가지 기술적 문제를 해결해야 합니다. 그러나 현재까지도 재현을 위한 완전한 전처리 및 훈련 로그(예: 사전 훈련 데이터를 준비하는 스크립트)가 있는 LLM에 대한 오픈 소스 모델 체크포인트는 아직 부족합니다. 

오픈소스 모델에서 더 많은 기술적 세부 사항을 보고하는 것이 LLM 연구에 큰 도움이 될 것이라고 생각합니다. 또한 모델 능력을 효과적으로 이끌어낼 수 있는 개선 튜닝 전략을 개발하는 것도 중요합니다.


모델 활용. 실제 애플리케이션에서는 미세 조정에 많은 비용이 들기 때문에 프롬프트가 LLM을 사용하는 주요한 접근 방식이 되었습니다. 작업 설명과 데모 예제를 프롬프트에 결합하는 인컨텍스트 학습(프롬프트의 특수한 형태)은 새로운 작업을 잘 수행할 수 있는 능력을 LLM에 부여하며, 경우에 따라서는 전체 데이터로 미세 조정된 모델보다 더 나은 성능을 발휘하기도 합니다. 또한 복잡한 추론 능력을 향상시키기 위해 프롬프트에 중간 추론 단계를 포함하는 생각의 사슬(CoT) 전략을 예로 들 수 있는 고급 프롬프트 기법이 제안되었습니다. 

그러나 기존의 프롬프트 접근 방식에는 다음과 같은 몇 가지 결함이 있습니다. 

첫째, 프롬프트 설계에 상당한 사람의 노력이 필요하다는 점입니다. 다양한 작업을 해결하기 위한 효과적인 프롬프트를 자동적으로 생성하는 것이 매우 유용할 것입니다. 

둘째, 일부 복잡한 작업(예: 형식 증명 및 수치 계산)에는 자연어로 잘 표현되지 않거나 예제로 설명하기 어려운 특정 지식이나 논리 규칙이 필요할 수 있습니다. 따라서 프롬프트에 대한 보다 유익하고 유연한 작업 형식화 방법을 개발하는 것이 중요합니다25. 

셋째, 기존의 프롬프트 전략은 주로 단일 턴 수행에 초점을 맞추고 있습니다. 복잡한 과제를 해결하기 위한 대화형 프롬프트 메커니즘(예: 자연어 대화)을 개발하는 것이 유용하며, 이는 ChatGPT를 통해 매우 유용하다는 것이 입증되었습니다.


안전 및 정렬. LLM은 그 용량에도 불구하고 소규모 언어 모델과 유사한 안전 문제를 안고 있습니다. 예를 들어, LLM은 환각[353]을 생성하는 경향을 보이는데, 환각은 그럴듯해 보이지만 사실과 다를 수 있는 텍스트입니다. 더 심각한 문제는 악성 시스템에 유해하거나 편향적이거나 독성이 있는 텍스트를 생성하라는 의도적인 지시에 의해 LLM이 유도될 수 있으며, 이는 오용의 잠재적 위험으로 이어질 수 있습니다[55, 61]. LLM의 안전 문제(예: 프라이버시, 과의존, 허위 정보, 영향력 행사)에 대한 자세한 논의는 GPT- 3/4 기술 보고서[46, 55]를 참조하시기 바랍니다. 

이러한 문제를 피하기 위한 주요 접근 방식인 인간 피드백을 통한 강화 학습(RLHF)[61, 100]은 잘 조율된 LLM을 개발하기 위해 훈련 루프에 인간을 통합하는 데 널리 사용되어 왔습니다. 모델 안전성을 개선하기 위해서는 GPT-4 [46]에서 볼 수 있듯이 RLHF 중에 안전 관련 프롬프트를 포함시키는 것도 중요합니다. 

그러나 RLHF는 전문 라벨 제작자의 고품질 인적 피드백 데이터에 크게 의존하기 때문에 실제로 제대로 구현하기가 어렵습니다. 따라서 인간 라벨러의 수고를 줄이기 위해 RLHF 프레임워크를 개선하고, 라벨링 작업을 보조하기 위해 LLM을 활용하는 등 데이터 품질이 보장된 보다 효율적인 주석 접근 방식을 모색할 필요가 있습니다. 최근에는 수집된 적대적 프롬프트를 활용하여 LLM을 개선(즉, 적대적 프롬프트의 공격을 피하는 것)하는 레드 팀링[115, 222]이 LLM의 모델 안전성을 향상시키기 위해 채택되고 있습니다. 또한, 채팅을 통해 사람의 피드백을 얻고 이를 자기 개선에 직접 활용할 수 있는 적절한 학습 메커니즘을 구축하는 것도 의미 있는 일입니다.


애플리케이션과 생태계. LLM은 다양한 과제를 해결하는 데 강력한 역량을 보여 왔기 때문에, 과제별 자연어 지시를 따르는 등 다양한 실제 응용 분야에 적용될 수 있습니다. 괄목할 만한 진전으로, ChatGPT는 인간이 정보에 접근하는 방식을 바꿀 수 있는 잠재력을 가지고 있으며, 이는 뉴 빙의 출시에 구현되었습니다. 가까운 미래에 LLM은 검색 엔진과 추천 시스템을 포함한 정보 탐색 기술에 큰 영향을 미칠 것으로 예상할 수 있습니다. 

또한 LLM의 기술 업그레이드를 통해 지능형 정보 비서의 개발과 활용이 크게 촉진될 것입니다. 더 넓은 범위에서 보면, 이러한 기술 혁신의 물결은 인간의 삶과 밀접한 관련이 있는 LLM 기반 애플리케이션(예: ChatGPT의 플러그인 지원)의 생태계로 이어질 것입니다. 

마지막으로, LLM의 부상은 인공 일반 지능(AGI)의 탐구에 빛을 비추고 있습니다. 그 어느 때보다 더 스마트한 지능형 시스템(다중 모달리티 신호 포함)을 개발할 수 있을 것으로 기대됩니다. 그러나 이러한 개발 과정에서 인공지능의 안전, 즉 인공지능이 인류에게 좋은 결과를 가져다주되 나쁜 결과를 초래하지 않도록 하는 것이 주요 관심사 중 하나가 되어야 합니다[40].


코다: 이 설문조사는 저희 연구팀에서 개최한 토론회에서 기획되었으며, 대규모 언어 모델의 최근 발전상을 가독성 높은 보고서로 정리하는 것을 목표로 했습니다. 

2023년 3월 13일에 첫 번째 초안이 완성되었으며, 팀원들은 비교적 객관적이고 포괄적인 방식으로 LLM에 대한 관련 연구를 포함하기 위해 최선을 다했습니다. 그 후 여러 차례에 걸쳐 문장과 내용을 광범위하게 수정했습니다. 이러한 노력에도 불구하고 이 조사는 중요한 참고 문헌이나 주제를 놓쳤을 가능성이 있으며, 엄밀하지 않은 표현이나 논의가 있을 수 있습니다. 지면 제약으로 인해 선택 기준을 설정하여 그림 2.1과 표 1에 기존 LLM의 일부만 포함할 수 있었습니다. 그러나 GitHub 페이지(https://github.com/RUCAIBox/LLMSurvey)에 보다 완화된 모델 선정 기준을 설정하여 정기적으로 유지 관리할 예정입니다. 이 설문조사는 지속적으로 업데이트하여 최대한 품질을 개선해 나갈 것입니다. 설문조사를 작성하는 것은 우리 스스로 학습하는 과정이기도 합니다. 이 설문조사를 개선하기 위한 건설적인 제안이 있는 독자는 설문조사의 GitHub 페이지에 의견을 남기거나 작성자에게 직접 이메일을 보내주시기 바랍니다. 접수된 의견이나 제안에 따라 향후 버전에서 수정할 예정이며, 설문조사에 건설적인 제안을 제공한 독자에게는 감사의 뜻을 전합니다.





작가의 이전글 [번역] '장기주의'에 반대한다

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari