LLM 대규모 언어 모델 조사

출처: 중국 런민 대학교 인공 지능 및 정보 학교

github 주소: RUCAIBox / LLMSurvey

论文:큰 언어 모델에 대한 조사

시간: 2023년 3월 31일


1. 요약

언어는 본질적으로 문법 규칙이 적용되는 복잡하고 복잡한 인간 표현 시스템입니다. 언어를 이해하고 마스터하기 위한 유능한 AI 알고리즘을 개발하는 것이 주요 과제입니다. 주요 접근 방식으로 지난 20년 동안 언어 이해 및 생성을 위한 언어 모델링이 광범위하게 연구되어 통계적 언어 모델에서 신경 언어 모델로 발전했습니다.

최근 몇 년 동안 LLM에 대한 연구는 학계와 산업계에서 활발하게 추진되었으며 눈에 띄는 진전 중 하나는 사회에서 광범위한 관심을 끌었던 ChatGPT의 출시입니다. LLM의 기술 개발은 전체 AI 커뮤니티에 중요한 영향을 미쳤으며, 이는 우리가 AI 알고리즘을 개발하고 사용하는 방식을 완전히 바꿀 것입니다.

이 설문 조사에서는 배경, 주요 결과 및 주류 기술을 소개하여 LLM의 최근 진행 상황을 검토합니다. 특히 LLM의 네 가지 주요 측면인 사전 교육 , 적응형 튜닝 , 다운스트림 사용기능 평가에 중점을 둡니다 . 또한 LLM 개발에 사용할 수 있는 리소스를 요약하고 향후 방향에 대한 남은 문제에 대해 논의합니다.


2. 소개

NLP, SLM, n-gram, rnn, lstm, PLM(Elmo, BERT, GPT, BART)의 역사부터 PaLM, Chat GPT, GPT4까지

이어 ChatGPT와 GPT4의 뛰어난 기능과 ​​성능 효과를 소개하는 데 집중했고, 마지막으로 LLM 관련 리소스를 수집할 수 있는 나만의 깃허브 주소를 소개했다.

3. LLM 리소스

LLM을 위한 리소스 LLM을 개발하거나 복제하는 것은 어려운 기술 문제와 막대한 컴퓨팅 리소스 요구 사항을 고려할 때 결코 쉬운 작업이 아닙니다. 실현 가능한 접근 방식은 기존 LLM에서 배우고 증분 개발 또는 실험 연구를 위해 공개적으로 사용 가능한 리소스를 재사용하는 것입니다.

여기에 이미지 설명 삽입

3.1 일부 사용 가능한 체크포인트
  • 라마 65B
  • NLLB 54.5B
  • mT5
  • 판구아 (200B)
  • T0
  • GPT-네오X-20B
  • 코드 생성
  • UL2
  • 플랜-T5
  • mT0
  • 고르다
  • OPT-IML
  • 블룸즈
  • GPT-3

여기에 이미지 설명 삽입

3.2 커먼 코퍼스

이 섹션에서는 LLM 교육에 널리 사용되는 여러 말뭉치를 간략하게 요약합니다. 콘텐츠 유형에 따라 이러한 말뭉치를 도서, CommonCrawl, Reddit 링크, Wikipedia, 코드 등의 6개 그룹으로 그룹화했습니다. .

  1. Books: BookCorpus는 이전의 소규모 모델(예: GPT 및 GPT-2)에서 일반적으로 사용되는 데이터 세트로, 광범위한 주제와 장르(예: 소설 및 전기)를 다루는 11,000권 이상의 책으로 구성됩니다. 코퍼스는 Project Gutenberg이며 소설, 에세이, 시, 드라마, 역사, 과학, 철학 및 기타 퍼블릭 도메인 장르를 포함한 70,000권 이상의 문학 도서를 포함합니다. 현재 MT-NLG 및 LLaMA 교육을 위한 가장 큰 오픈 소스 책 모음 중 하나입니다.
  2. CommonCrawl은 7개의 공통 데이터 소스에 대한 페타바이트의 통계를 포함하는 가장 큰 오픈 소스 웹 크롤러 데이터베이스 중 하나입니다. 전체 데이터 세트의 크기가 크기 때문에 기존 연구는 주로 특정 기간의 웹 페이지 하위 집합을 추출합니다. 그러나 네트워크 데이터는 노이즈가 만연하고 품질이 낮은 정보로 인해 사용 전 데이터 전처리가 필요합니다. CommonCrawl을 기반으로 기존 작업에서 일반적으로 사용되는 필터 데이터 세트는 C4, CC-Stories, CC-News 및 RealNews의 4가지입니다.
  3. Reddit은 사용자가 "업보팅" 또는 "다운보팅"을 통해 다른 사람들이 투표할 수 있는 링크와 텍스트 게시물을 제출할 수 있는 소셜 미디어 플랫폼입니다. 투표율이 높은 게시물은 일반적으로 유용한 것으로 간주되며 고품질 데이터 세트를 만드는 데 사용할 수 있습니다. WebText는 Reddit에서 높은 평가를 받은 링크의 잘 알려진 코퍼스이지만 공개되지는 않습니다. 대안으로 OpenWebText라는 쉽게 액세스할 수 있는 오픈 소스 대안이 있습니다.
  4. 위키백과. Wikipedia는 다양한 주제에 대한 고품질 문서가 많이 포함된 온라인 백과사전입니다. 이 기사의 대부분은 광범위한 언어와 분야를 다루는 설명적인 글쓰기 스타일(지원 참조 포함)으로 작성되었습니다.
  5. 암호. 코드 데이터를 수집하기 위해 기존 작업은 주로 인터넷에서 오픈 소스 라이센스 코드를 스크랩합니다. 두 가지 주요 소스는 오픈 소스 라이선스(예: GitHub) 및 코드 관련 질문 및 답변 플랫폼(예: StackOverflow) 하의 공개 코드 리포지토리입니다. 구글은 대표적인 코드 데이터셋으로 다양한 프로그래밍 언어로 된 오픈소스 라이선스 코드 스니펫이 다수 포함된 빅쿼리 데이터셋을 공개했다. CodeGen은 BIGQUERY(BigQuery 데이터세트의 하위 집합)를 활용하여 CodeGen의 다국어 버전(CodeGen-Multi)을 교육합니다.
  6. 다른. Pile은 책, 웹 사이트, 코드, 과학 논문 및 소셜 미디어 플랫폼을 포함한 여러 소스의 800GB가 넘는 데이터로 구성된 대규모의 다양한 오픈 소스 텍스트 데이터 세트입니다. 22개의 서로 다른 고품질 하위 집합으로 구성됩니다.
3.2 LLM용 공통 라이브러리 개발

이 섹션에서는 LLM 개발에 사용할 수 있는 다양한 라이브러리를 간략하게 소개합니다.

  • Transformers는 Hugging Face에서 개발하고 유지 관리하는 Transformer 아키텍처를 사용하여 모델을 구축하기 위한 오픈 소스 Python 라이브러리입니다. 간단하고 사용자 친화적인 API를 통해 사전 훈련된 다양한 모델을 쉽게 사용8하고 사용자 정의할 수 있습니다. 모델과 알고리즘을 정기적으로 업데이트하고 개선하는 대규모 사용자 및 개발자 커뮤니티가 있는 강력한 라이브러리입니다.
  • DeepSpeed는 Microsoft에서 개발한 딥러닝 최적화 라이브러리(PyTorch와 호환)로 MT-NLG 및 BLOOM과 같은 많은 LLM을 교육하는 데 사용되었습니다. 메모리 최적화(ZeRO 기술, 그래디언트 체크포인팅) 및 파이프라인 병렬 처리와 같은 분산 교육을 위한 다양한 최적화 기술을 지원합니다.
  • Megatron-LM은 대규모 언어 모델 훈련을 위해 NVIDIA에서 개발한 딥 러닝 라이브러리입니다. 또한 모델 및 데이터 병렬 처리, 혼합 정밀 교육 및 FlashAttention을 포함하여 분산 교육을 위한 풍부한 최적화 기술을 제공합니다. 이러한 최적화 기술은 교육 효율성과 속도를 크게 향상시켜 GPU 전반에 걸쳐 효율적인 분산 교육을 가능하게 합니다.
  • JAX는 사용자가 하드웨어 가속(예: GPU 또는 TPU)을 사용하여 배열에서 쉽게 계산을 수행할 수 있도록 하는 고성능 기계 학습 알고리즘을 위해 Google에서 개발한 Python 라이브러리입니다. 다양한 장치에서 효율적인 계산을 수행할 수 있으며 자동 미분 및 적시 컴파일과 같은 다양한 특수 기능도 지원합니다.
  • Colossal-AI는 대규모 AI 모델 훈련을 위해 HPC-AI Tech에서 개발한 딥 러닝 라이브러리입니다. PyTorch를 기반으로 구현되며 풍부한 병렬 학습 전략을 지원합니다.
  • BMTrain은 간단한 코드, 낮은 리소스 및 고가용성을 강조하는 분산 방식의 대규모 매개 변수가 있는 교육 모델을 위해 OpenBMB에서 개발한 효율적인 라이브러리입니다. BMTrain은 몇 가지 일반적인 LLM(예: Flan-T5 및 GLM)을 개발자가 이러한 모델을 직접 사용할 수 있는 모델 센터에 통합했습니다.
  • FastMoE는 MoE(예: Mixture of Experts) 모델 전용 교육 라이브러리입니다. PyTorch를 기반으로 개발되었으며 효율성과 사용자 편의성을 최우선으로 설계되었습니다. FastMoE는 Transformer 모델에서 MoE 모델로의 마이그레이션 프로세스를 단순화하는 동시에 교육 중에 데이터 병렬 및 모델 병렬을 지원합니다.

4. LLM 사전 교육

사전 교육 코퍼스의 크기와 품질은 LLM이 강력한 기능을 달성하는 데 매우 중요합니다. 또한 LLM을 효과적으로 사전 교육하기 위해서는 신중하게 설계된 모델 아키텍처, 가속 방법 및 최적화 기술이 필요합니다. 먼저 섹션 4.1에서 데이터 수집 및 처리에 대해 논의한 다음 섹션 4.2에서 일반적으로 사용되는 모델 아키텍처를 소개하고 마지막으로 섹션 4.3에서 LLM을 안정적이고 효율적으로 최적화하기 위한 교육 기법을 소개합니다.

4.1 데이터 전처리

많은 양의 텍스트 데이터를 수집한 후에는 데이터를 전처리하여 사전 훈련 코퍼스를 구축해야 하며, 특히 LLM의 용량과 성능에 큰 영향을 미칠 수 있는 노이즈, 중복, 부적절 및 잠재적 독성 데이터를 제거해야 합니다.

이 섹션에서는 수집된 데이터의 품질을 개선하기 위한 자세한 데이터 전처리 전략을 검토합니다. 기존 작업은 일반적으로 두 가지 접근 방식을 취합니다.

(1) 분류 기준

고품질 텍스트 교육을 기반으로 분류자를 선택하고 이를 사용하여 저품질 데이터를 식별하고 필터링합니다. 일반적으로 이러한 방법은 선별된 데이터(예: Wikipedia 페이지)를 긍정적인 예로 사용하고 후보 데이터 샘플을 부정적인 예로 사용하여 이진 분류기를 훈련하고 각 예제의 품질을 측정하는 점수를 예측합니다. 그러나 일부 연구에서는 분류자 기반 방법이 방언, 구어체 및 사회 언어 언어의 고품질 텍스트를 실수로 제거하여 사전 훈련된 코퍼스를 편향시키고 코퍼스의 다양성을 감소시킬 수 있음을 발견했습니다.

(2) 휴리스틱을 기반으로 합니다.

다음과 같이 요약할 수 있는 잘 설계된 일련의 규칙을 통해 저품질 텍스트를 제거하기 위해 휴리스틱 기반 접근 방식을 채택합니다.

  • 언어를 기준으로 필터링합니다. LLM이 특정 언어의 작업에 주로 사용되는 경우 다른 언어의 텍스트를 필터링할 수 있습니다.
  • 메트릭 기반 필터링. Perplexity와 같은 생성된 텍스트에 대한 평가 메트릭을 사용하여 부자연스러운 문장을 감지하고 제거할 수 있습니다.
  • 통계 기반 필터링. 구두점 분포, 기호 대 단어 비율, 문장 길이와 같은 말뭉치의 통계적 특징을 사용하여 텍스트 품질을 측정하고 저품질 데이터를 필터링할 수 있습니다.
  • 키워드 기반 필터링. 특정 키워드 세트를 기반으로 HTML 태그, 하이퍼링크, 상용구 및 불쾌감을 주는 단어와 같은 텍스트의 시끄럽거나 쓸모없는 요소를 식별하고 제거할 수 있습니다.
  • 데이터 중복 제거. 기존 작업에서는 말뭉치에서 반복되는 데이터가 언어 모델의 다양성을 감소시켜 학습 프로세스를 불안정하게 하여 모델 성능에 영향을 미칠 수 있음을 발견했습니다. 따라서 사전 학습 코퍼스를 중복 제거해야 합니다.
  • 개인 정보 개정. 대부분의 사전 교육 텍스트 데이터는 개인 정보 유출 위험을 증가시킬 수 있는 민감한 개인 정보와 관련된 사용자 생성 콘텐츠를 포함하여 웹 리소스에서 가져옵니다. 따라서 사전 학습 말뭉치에서 개인 식별 정보(PII)를 제거해야 합니다. 간단하고 효과적인 접근 방식은 규칙 기반 접근 방식(예: 키워드 인식)을 사용하여 이름, 주소 및 전화 번호와 같은 PII를 탐지하고 제거하는 것입니다.
4.2 사전 훈련 아키텍처

여기에 이미지 설명 삽입

4.3 모델 교육

사진 설명을 추가해주세요

  • 배치 크기

    일괄 교육. 언어 모델 사전 훈련의 경우 기존 작업은 일반적으로 훈련 안정성과 처리량을 향상시키기 위해 배치 크기를 큰 수(예: 8,196개의 예 또는 1.6M 토큰)로 설정했습니다. GPT-3 및 PaLM과 같은 LLM의 경우 훈련 중에 배치 크기를 동적으로 늘리는 새로운 전략을 도입하여 결국 백만 규모에 도달했습니다. 특히 GPT-3의 배치 크기는 32K 토큰에서 320만 토큰으로 점진적으로 증가합니다. 경험적 결과는 배치 크기의 동적 스케줄링이 LLM의 교육 프로세스를 효과적으로 안정화할 수 있음을 보여줍니다.

  • learning_rate

    기존 LLM은 일반적으로 사전 교육 중에 유사한 학습 속도 일정과 워밍업 및 감쇠 전략을 사용합니다. 구체적으로, 약 5 × 10-5에서 1 × 10-4(예: GPT-3은 6 × 10-5) 범위의 최대값까지 학습 속도를 점진적으로 증가시키기 위해 선형 워밍업 일정이 사용됩니다. 그런 다음 후속 단계에서 코사인 감쇠 전략을 사용하여 훈련 손실이 수렴될 때까지 학습률을 최대값의 약 10%로 점진적으로 줄입니다.

  • 옵티마이저

    Adam 옵티마이저 및 AdamW 옵티마이저는 1차 그래디언트 기반 최적화를 위한 저차 모멘트의 적응형 추정을 기반으로 하는 LLM(예: GPT-3)을 훈련하는 데 널리 사용됩니다. 일반적으로 하이퍼파라미터는 β1 = 0.9, β2 = 0.95 및 = 10-8로 설정됩니다. 동시에 Adafactor 옵티마이저는 훈련 중에 GPU 메모리를 절약하도록 설계된 Adam 옵티마이저의 변형인 LLM(예: PaLM 및 T5)을 훈련하는 데에도 사용됩니다. Adafactor 옵티마이저의 하이퍼파라미터 설정은 다음과 같습니다. β1 = 0.9 및 β2 = 1.0 − k−0.8, 여기서 k는 훈련 단계 수를 나타냅니다.

  • 훈련 안정화

    LLM의 사전 교육 과정에서 교육 불안정 문제가 종종 발생하여 모델이 충돌할 수 있습니다. 이를 해결하기 위해 가중치 감쇠와 그래디언트 클리핑이 널리 사용되고 있으며, 기존 연구에서는 보통 그래디언트 클리핑의 임계값을 1.0으로, 가중치 감쇠율을 0.1로 설정하고 있다. 그러나 LLM이 확장됨에 따라 교육 손실 급증이 발생할 가능성이 높아져 불안정한 교육으로 이어집니다. 이 문제를 완화하기 위해 PaLM과 OPT는 급증하기 전에 이전 체크포인트에서 훈련 프로세스를 다시 시작하고 문제를 일으킬 수 있는 데이터를 건너뛰는 간단한 전략을 사용합니다. 또한 GLM은 임베딩 레이어의 비정상적인 기울기가 종종 스파이크를 유발한다는 사실을 발견하고 이를 완화하기 위해 임베딩 레이어 기울기 축소를 제안합니다.

5. LLM 적응 조정

사전 교육 후 LLM은 다양한 작업을 해결할 수 있는 일반적인 능력을 얻을 수 있습니다. 그러나 LLM의 역량이 특정 목표에 맞게 조정될 수 있다는 연구 결과가 점점 늘어나고 있습니다. 이 섹션에서는 사전 훈련된 LLM을 조정하는 두 가지 주요 접근 방식인 명령 조정정렬 조정을 소개합니다 .

5.1 명령어 튜닝

명령 미세 조정, 명령 조정 후 LLM은 작업 설명에 따라 보이지 않는 다른 작업으로 잘 일반화할 수 있습니다. 특히, 교육은 LLM 작업의 일반화 능력에서 핵심 요소인 것으로 나타났습니다. 레이블이 지정된 데이터 세트에서 모델을 미세 조정하고 작업 설명을 제거하면 모델 성능이 크게 떨어집니다. 지침 튜닝을 위해 레이블이 지정된 인스턴스를 더 잘 생성하기 위해 크라우드소싱 플랫폼인 PromptSource는 다양한 데이터 세트에서 작업 설명을 효율적으로 생성, 공유 및 검증하도록 제안되었습니다.

5.2 정렬 튜닝

RLHF

LLM을 인간의 가치와 정렬하기 위해 수집된 인간 피드백 데이터를 사용하여 LLM을 미세 조정하기 위해 RLHF(Reinforcement Learning from Human Feedback)가 제안되어 정렬 기준을 개선하는 데 도움이 됩니다. RLHF는 강화 학습(RL) 알고리즘을 사용하여 보상 모델을 학습하여 LLM을 사람의 피드백에 적용합니다. 이 접근 방식은 인간을 교육 루프에 통합하여 잘 정렬된 LLM을 개발합니다.

RLHF 시스템. RLHF 시스템은 주로 3가지 주요 구성 요소로 구성됩니다. 사전 훈련된 정렬용 LM, 사람의 피드백에서 학습한 보상 모델, RL 알고리즘입니다.

여기에 이미지 설명 삽입

6. 요약

이 설문 조사에서는 대규모 언어 모델(LLM)의 최근 발전 사항을 검토하고 LLM을 이해하고 활용하기 위한 주요 개념, 결과 및 기술을 소개합니다. 우리는 큰 모델(즉, 크기가 10B 이상)에 초점을 맞추는 반면 기존 문헌에서 잘 다루는 초기 사전 훈련된 언어 모델(예: BERT 및 GPT-2)은 제외합니다.

LLM의 기본 작동을 이해하는 데 있어 가장 큰 미스터리 중 하나는 매우 큰 심층 신경망을 통해 정보가 배포, 구성 및 활용되는 방식입니다. LLM 역량의 기반을 구축하는 기본 원칙이나 요소를 밝히는 것이 중요합니다. 특히, 언어 모델의 매개변수 척도가 임계 크기(예: 10B)로 증가하면 상황 학습, 지침 따르기 및 단계별 추론을 포함하여 일부 창발적 기능이 예상치 못한 방식으로 발생합니다. 이러한 새로운 기능은 매력적이지만 수수께끼이기도 합니다.

추천

출처blog.csdn.net/be_humble/article/details/130227945