Skip to main content

대규모 언어 모델에 대한 조사

이 글에서는 2023년 3월 31일에 발표된 “A Survey of Large Language Models” 논문의 주요 내용을 요약합니다. 이 글은 AI 번역본입니다. 오역이나 부정확한 부분이 있으면 댓글로 알려 주세요.
Created on September 15|Last edited on September 15

이 글에서는 최근의 중요한 논문에서 보고된 주요 발견을 정리합니다, “대규모 언어 모델 연구 개요.
다음 내용을 다룹니다:


바로 시작해 봅시다…

소개

언어 모델링(LM)은 단어 시퀀스에서 다음 단어를 예측하는 분야로, 발전 단계를 네 가지로 나눌 수 있습니다:
  1. 통계적 언어 모델링(SLM): 1990년대의 기법으로, 최근 문맥에만 근거해 다음 단어를 예측하는 단순한 n‑그램 모델을 사용합니다(마르코프 가정).
  2. 신경 언어 모델(NLM): RNN, LSTM, GRU, word2vec 같은 신경망을 사용합니다
  3. 사전 학습 언어 모델(PLM): ELMo, BERT, BART, GPT-2
  4. 대규모 언어 모델(LLM): 더 큰 PLM은 GPT-4, ChatGPT, PaLM, Sparrow, Claude, Microsoft 365의 AI 등

특징

이 논문은 다음의 세 가지 특징을 설명한다 LLM들 PLM과 구분되는 점:"
  • 놀라운 출현적 능력
  • LLM은 우리가 AI 알고리즘을 개발하고 활용하는 방식을 혁신한다
  • LLM의 개발은 연구와 엔지니어링의 경계를 명확히 구분하지 않는다
다시 말해, LLM의 새로운 능력이 등장하면서 이제 연구뿐 아니라 산업과 실제 응용에서도 중요해졌고, 그에 따라 엔지니어와 연구자의 역량이 서로 뒤섞여 요구된다는 뜻이라고 생각합니다.

불확실성

여전히 다음과 같은 질문들이 남아 있다:
  • 이러한 출현적 능력은 왜 나타날까?
  • LLM이 주로 산업 현장에서 학습되기 때문에 연구 환경에서 학습하기 어려움
  • 정렬 문제(LLM의 행동을 인간의 가치에 맞추는 것)
이 논문은 다음의 4가지 주제를 다룹니다:
  1. 사전 학습 방법,
  2. 효과성과 안전성을 위한 적응형 튜닝,
  3. 다운스트림 작업에 LLM을 활용하는 방법(활용), 그리고
  4. 평가(LLM을 어떻게 평가할 것인가).

개요

발현 능력

  • 맥락 내 학습 (ICL)모델에게 과제를 몇 번 시연해 보여 준 뒤, 새로운 예시에 대해 그 시연을 반복하도록 요청한다
  • 지시 따르기보지 못한 과제의 명시적 예시를 사용하지 않더라도, 적절한 지시만 주어지면 LLM은 그 과제를 잘 수행할 수 있다.
  • 단계별 추론LLM은 답에 도달하기 위해 어떻게 ‘추론’하는지 중간 단계를 보여줄 수 있다

핵심 기법

이는 LLM의 성공을 이끈 수많은 기법 중 일부에 지나지 않는다.
  • 스케일링: 모델 크기를 확대하기 (GPT-3는 175B, PaLM은 540B!)
  • 학습: 효과적으로 LLM을 학습하려면 많은 요소가 필요하다(예: 병렬화를 위한 DeepSpeed와 Megatron-LM, 안정적인 학습을 위한 손실 급등 후 재시작 등).
  • 정렬 튜닝: 인간 피드백을 활용한 강화학습(RLHF) InstructGPT에서 사람의 가치에 맞춰 모델의 정렬을 튜닝한 사례가 있다
  • 도구 조작: ChatGPT와 GPT-4용 플러그인은 적용 범위를 크게 확장해 준다

LLM 자료

이 섹션은 LLM을 가볍게 시도해 보고 싶지만 고려해야 할 요소가 많은(주로 하드웨어) 사람들을 위한 것입니다.

직접 모델 실행하기

LLM은 파라미터 수로 엄격한 기준선이 정해져 있지 않으며, 보통 약 100억 개 수준을 기준으로 본다.
수십억 개 수준의 파라미터를 가진 모델로는 mT5, T0, GPT‑NeoX‑20B, CodeGen, UL2를 고려해 보세요. Flan‑T5, mT0, PanGu-α, 및 LLaMA.
수백억 개가 아니라 수천억 개 수준의 파라미터를 가진 모델의 경우에는 다음을 고려해 보세요 OPT, BLOOM, 그리고 BLOOMZ.
이러한 모델에 필요한 연산량과 메모리를 파악하려면 FLOPS(초당 부동소수점 연산)를 측정하는 것이 중요합니다.

API로 접근하기

OpenAI는 ChatGPT API를 공개했고, 또한 GPT 모델과 상호작용할 수 있는 웹 기반 인터페이스도 제공합니다. 허깅페이스 에는 모델 레지스트리가 있어 모델 가중치를 다운로드하고, 추론 엔드포인트를 사용하거나, 브라우저에서 바로 질의할 수도 있습니다.

주요 데이터셋

가장 널리 쓰이는 데이터셋은 다음과 같은 범주로 나눌 수 있습니다:
  • 도서
    • BookCorpus
    • 프로젝트 구텐베르크
    • Books1 및 Books2
  • Common Crawl
    • C4(및 그 변형)
    • CC-Stories
    • CC-News
    • RealNews
  • Reddit 링크
    • WebText 및/또는 OpenWebText
    • Pushshift.io
  • 위키피디아
  • 코드
    • GitHub
    • 스택 오버플로우
    • Google BigQuery 데이터세트
  • 기타
    • 더 파일
    • ROOTS

라이브러리 리소스

  • Hugging Face Transformers 수백 개의 모델에 쉽게 접근하고 학습하며 사용할 수 있게 해줍니다
  • PyTorch DeepSpeed Microsoft에서 개발한 DL 최적화 라이브러리입니다
  • Megatron-LM NVIDIA에서 개발한 이 라이브러리는 LLM 학습을 위한 다양한 최적화 기법을 제공합니다
  • JAX Google Brain에서 개발한 비교적 새로운 ML 라이브러리입니다
  • Colossal-AI EleutherAI에서 개발된 이 도구는 LLM 학습을 위한 것입니다
  • 논문에는 이 밖에도 몇 가지가 더 나옵니다!

사전 학습

이 섹션은 “효과적으로 사전 학습하는 방법은 무엇인가?”라는 질문에 답합니다. 여기서는 데이터 수집과 전처리, 모델 아키텍처, 그리고 학습 기법을 다룹니다.
데이터 파이프라인.

데이터 수집

데이터 소스는 두 가지 범주로 나눌 수 있습니다: 일반 데이터와 특화된 데이터. 웹페이지, 대화 텍스트, 책은 일반 데이터에 속하고, 과학 텍스트, 코드, 다국어 텍스트는 특화된 데이터에 속합니다.

데이터 전처리

이에 접근하는 일반적인 방법은 두 가지로 나눌 수 있습니다: 분류기 기반 그리고 휴리스틱 기반. 분류기 기반 방법은 위키피디아 같은 ‘양질’의 데이터로 이진 분류기를 학습시키고, 주어진 데이터가 좋은지 아닌지를 판별하게 합니다. 이 방식은 양질의 특화 데이터까지 걸러내는 문제가 있었습니다. BLOOM과 Gopher는 휴리스틱 방법을 사용합니다:
  • 언어 필터링: LLM의 작업에서 널리 사용되지 않을 것으로 예상되는 언어를 걸러낸다
  • 메트릭 필터링: 텍스트에 대한 평가 지표를 사용해 부자연스러운 텍스트를 제거할 수 있다
  • 통계적 필터링: 구두점 분포 같은 데이터에서 공학적으로 설계한 통계적 특징
중복 제거 또한 매우 중요합니다. 이는 데이터에서 중복을 제거하는 과정입니다. 중복 제거는 문장, 문서, 그리고 데이터셋 수준에서 이루어질 수 있습니다.
표준 절차는 문장 수준에서 반복되는 문장과 구절을 제거하고, 특정 메트릭으로 중복이 판단되는 문서를 제거하는 것이다. 중복 제거는 데이터셋 간에도 이루어진다. 즉, 학습 데이터셋과 검증 데이터셋의 중복을 제거한다.
개인정보 비식별화 제거하는 과정이다 개인식별정보 (PII) 데이터셋에서. 효과적인 방법 중 하나는 주소, 이름, 개인 정보 등을 식별할 수 있는 규칙 기반 기법을 사용하는 것이다.
토크나이제이션 은 LLM의 과제에도 매우 중요합니다. 기존 토크나이저를 사용하는 것이 편리하지만, 과제에 맞춘 맞춤형 토크나이저를 사용하는 것이 대개 더 좋습니다.
학습 데이터의 분포가 무엇인지도 고려하는 것이 중요하며 얼마나 좋은지 데이터가 어떤 성격을 가지는지도 중요하다. 중복 데이터가 있거나 데이터 분포의 균형을 맞추지 못하면 이후 단계의 작업에 영향을 준다.

아키텍처

아키텍처는 기본적으로 Transformer 아키텍처를 사용한다. LLM 모델은 일반적으로 다음의 세 가지 아키텍처 범주로 분류된다: 인코더-디코더 (T5) 캐주얼 디코더 (GPT-3), 및 프리픽스 디코더 (PaLM).
인코더-디코더 모델 인코더는 다중 헤드 자기어텐션 층으로 잠재 표현을 생성하고, 디코더는 크로스어텐션을 사용하며 이러한 입력을 바탕으로 자동회귀적으로 출력을 예측한다.
캐주얼 디코더 모델 마스킹된 어텐션 층을 사용하는 디코더만 사용한다. 요즘 대부분의 LLM은 인과 디코더 모델이다.
프리픽스 디코더 모델 접두사에는 양방향 어텐션(마스킹 없음)을, 디코더가 생성한 출력에는 마스킹된 어텐션을 사용한다는 점을 제외하면 인과 디코더 모델과 동일하다.
트랜스포머 블록 내부의 층 구성도 핵심이다. 정규화(특히 LayerNorm)를 어디에 배치할지, 어떤 정규화 방식을 사용할지(RMSNorm, DeepNorm), 어떤 활성화 함수를 쓸지(가장 흔한 것은 GeLU, 그리고 SwiGLU, GeGLU 같은 GLU 변형), 위치 임베딩을 고정형으로 할지 혹은 더 일반적인 학습형으로 할지(가장 널리 쓰이는 학습형 위치 임베딩 방법은 RoPE) 등에 대해 광범위한 연구가 진행되었다. 이들은 다음과 같은 구성 집합을 요약한다:
  • 사전 RMSNorm
  • SwiGLU 또는 GeGLU
  • 위치 임베딩을 위한 RoPE 또는 ALiBi
아래는 인기 있는 LLM의 사양을 보여 주는 논문의 표이다.

모델 학습은 보통 다음과 같이 진행된다
  • 대규모 배치 크기(토큰 160만 개, 또는 GPT에서는 3만 2천 개에서 320만 개로 점진적으로 확장)로
  • 훈련 초반 0.1~0.5% 구간에서 최대 학습률까지 선형 워밍업 일정 사용 5×1055 \times 10^{-5} 부터 까지 1×1041 \times 10^{-4} 그다음 최대 학습률의 10%까지 점진적으로 낮추기 위해 코사인 감쇠 스케줄링을 사용한다
  • Adam 또는 AdamW가 표준 옵티마이저이다(또한 다음도 들었다) 아모스 그리고 라이온)
  • 혼합 정밀도, 드롭아웃, 가중치 감쇠, 그래디언트 클리핑
  • 3D 병렬화 데이터, 모델, 텐서 병렬화(하나의 텐서를 여러 장치로 분할)를 결합한 방식이다. DeepSpeed, Colossal-AI, Alpa를 확인해 보라.
  • 추론 속도를 높이려면, 가능할 경우 양자화를 사용하라.

적응 튜닝

적응 튜닝 특정 작업을 위한 파인튜닝을 다르게 표현한 것이다. 즉, 사전 학습(그리고 특정 작업에 대한 파인튜닝) 이후에도 모델을 특정 요구에 더 잘 맞추는 방법들이 있다. 이 논문은 그중 2가지를 다룬다: 지시 튜닝 그리고 정렬 튜닝.
지시 튜닝 아래에 시연한다. 이 파인튜닝 패러다임은 사용자가 입력한 지시에 따라 LLM이 이를 이해하고 그에 기반한 출력을 생성하도록 맞추는 것을 목표로 한다.

지시 튜닝 이전에는, 사람들은 기존 데이터셋을 가져와서 자연어 처리 그리고 그로부터 지시를 만들어냈다. 이 방식은 중복되거나 서로 비슷한 지시 예제가 대거 생성되어 성능 저하로 이어졌다. InstructGPT는 다양한 지시 집합으로 사용자 질의를 활용할 것을 제안했다. 인간 라벨러가 이러한 질의를 만들고, 다시 인간 라벨러가 답변을 작성해 모델을 위한 양질의 시연 데이터를 제공했다.
지시의 수를 늘리면 예상대로 성능이 향상된다. 여기에 더해 중요한 것은 지시 집합의 다양성과 각 인스턴스의 형식이다(그림 4a). 실제 학습 데이터와 마찬가지로, 다양하고 품질이 높은 인스턴스 집합이 필요하다. Galactica와 같은 일부 연구는 지시 튜닝을 사전 학습과 혼합했다. 지시 튜닝은 LLM의 출현적 능력을 끌어내는 데 결정적임이 입증되었다.
정렬 튜닝 모델을 다음과 같이 튜닝하여 이를 정렬한다 LLM은 편향, 유해한 생성물, 부정확한 응답 등 다양한 오류에 취약하기 때문에 인간의 가치에 맞추는 것이 중요하다. 정렬 튜닝은 때때로 모델의 성능을 낮추는 효과를 보이기도 한다. 이를 다음과 같이 부른다. 정렬세.
정렬 튜닝은 모델에 다음과 같은 감각을 불어넣는 원칙을 따른다 도움됨, 정직함, 무해함.
이러한 원칙을 모델에 주입하기 위해 연구자들은 전통적으로 적대적 테스트를 통해 모델을 검증하고 수정해 왔다. 앞서 언급한 세 가지 원칙을 강화하는 방법으로 인간 라벨링도 널리 활용되어 왔다.
본질적으로 인간의 가치와 일치하는 양질의 라벨을 확보하는 일은 어렵고, 대개 라벨링된 응답들을 순위화한 뒤 규칙 기반 방법을 적용해 가장 우수한 라벨 응답을 걸러낸다.
가장 널리 쓰이는 정렬 튜닝 메커니즘은 인간 피드백을 활용한 강화학습(RLHF).
RLHF는 다음의 3가지 구성 요소로 이루어진다:
  • 사전 학습된 LM(예: InstructGPT의 기반이 된 GPT-3)
  • 보상 모델(사람 선호 데이터로 특별히 학습했거나, 이미 학습된 LM을 추가로 학습한 경우를 의미)
  • RL 알고리즘(PPO)

RLHF 프로세스는 3단계로 나뉜다:
  1. 인간 선호 데이터를 구축하여 수행하는 감독 미세 조정
  2. LM을 미세 조정한 뒤, 이 선호 데이터로 보상 모델을 학습한다.
  3. 마지막으로 PPO를 실행한다. 이때 상태는 현재까지 생성된 토큰들이고, 행동은 모델의 어휘에 포함된 모든 단어이며, 보상 모델은 2단계에서 학습한 것과 동일하다. InstructGPT는 원본 모델과의 괴리를 억제하기 위해 발산 페널티를 포함하여, 정렬된 모델이 원래 버전에서 지나치게 벗어나지 않도록 보장했다.
RLHF에 대해 더 자세히 알고 싶다면, 아래 참고 문헌 섹션의 W&B 리포트를 확인하세요!

활용

사전 학습과 적응 튜닝을 마친 뒤, 프롬프트를 더 개선하는 방법으로는 다음과 같은 것들이 있다 문맥 내 학습 그리고 사고의 연쇄 프롬프트 작성
문맥 내 학습(ICL)은 모델이 이를 활용할 수 있도록 테스트 인스턴스의 지시문 앞에 시연 예시들을 미리 붙이는 과정 문맥, 새로운 테스트 인스턴스를 예측하기 위해 시연 예시들을 활용하는 것이다. 이러한 발현 능력은 LLM에서만 관찰되며, 성능을 위해서는 시연 예시의 선택이 결정적이다. 위의 적응 튜닝을 참고하라.
ICL에서 사용되는 시연 예시 집합은 인스트럭션 튜닝과 마찬가지로 매우 중요하다. 또한, there are 휴리스틱 기반 그리고 LLM 기반 최적의 시연 예시 집합을 선별하는 방법들.
휴리스틱 접근법은 k-NN을 사용해 테스트 질의와 의미적으로 유사한 예시를 선택한다. LLM 기반 접근법은 가능한 시연 예시들의 정보성을 예측한다.
예시를 선택한 후에는 이를 자연어 프롬프트 형식으로 구성해야 한다. 이를 수행하는 방법은 다양하다. 미리 정의된 템플릿을 적용하거나, Auto CoT를 사용하거나, LLM을 통해 작업 설명을 생성해 시연 예시를 개선하는 등의 방법이 있다. 사실, 심지어 순서 중요하다! 순서는 휴리스틱으로 결정된다. 사전 학습 데이터의 다양성과 문서 길이는 이러한 ICL 능력에 기여할 수 있다.
연쇄 사고 (CoT) ICL과 함께 사용해 성능을 향상시킬 수 있다. 다양하고 복잡한 CoT 지시문이 가장 효과적인 경향이 있다. 참고로, CoT는 단계별 추론이 중요한 경우에 성능을 개선한다.

용량 평가

LLM의 지속적으로 향상되는 효과를 평가하기 위해 수많은 벤치마크와 과제가 개발되었다. 이 논문은 이를 다음과 같이 구분한다 자연어 생성, 지식 활용, 그리고 복잡한 추론.
자연어 생성에서는 The Pile 같은 데이터셋이 존재하지만, 문단의 마지막 단어를 예측하도록 LLM에 요구하는 The LAMBADA 데이터셋처럼 더 복잡한 데이터셋도 만들어졌다. QA, 요약 등 조건부 자연어 생성 과제에서도 LLM은 막대한 성능 향상을 보였으며(인간 주석자를 뛰어넘는 경우도 있다), 이는 다양한 작업에 걸쳐 확인되었다. 다만 한계도 뚜렷하다. LLM은 긴 글 생성과 다음과 같은 맥락에서 문제를 보인다 전역 계획 은 중요하다.
LLM은 개방형·폐쇄형 QA 설정(지식 활용)에서 상당히 좋은 성능을 보인다. 여기서의 주요 문제는 환각. 내재적 환각은 기존 출처와 상충하는 정보를 LLM이 생성하는 경우를 말한다. 외재적 환각은 검증할 수 없는 정보를 생성하는 경우를 뜻한다. 또한 다음과 같은 문제가 발생한다 학습 데이터의 최신성.
복잡한 추론에 관해서는 LLM이 여전히 인간보다 뒤처지지만, 여전히 꽤 빠르게 따라잡고 있다! LLM은 일관성을 유지하는 데 어려움을 겪으며, 특히 복잡한 단계별 추론 과제에서 그렇다. 또한 수치 계산에도 취약하다.

결론

관심이 있다면 평가와 향후 방향에 대한 섹션이 몇 가지 더 남아 있지만, 이 거대한 설문 논문은 여기까지입니다! 특히 요즘 LLM과 AGI가 화두인 황금기에 맞춰 정말 적절한 시점에 나온 논문이었습니다. 이 글을 쓰고 논문을 해부하는 데 며칠이 걸렸어요! 저처럼 여러분도 조금이나마 배움이 있었기를 바랍니다.
LLM에 관한 W&B의 멋진 글들은 참고 문헌에서 확인해 보세요!
읽어 주셔서 감사합니다! 👋

추천 읽을거리



이 글은 AI로 번역된 기사입니다. 오역이 의심되는 부분이 있으면 댓글로 알려 주세요. 원문 보고서 링크는 다음과 같습니다: 원문 보고서 보기