Intro to LLM

칠팔구·2024년 7월 31일

아래 링크의 유튜브를 듣고 정리
https://www.youtube.com/watch?v=rRpZEGCpNbE

위 링크의 영상은 llama를 기준으로 설명하고 있으나,
큰 틀에서 LLM을 구성하는 방식에 대해서 설명하고 있다.

LLM 구성은 생각보다 단순함
파라미터 파일, 실행 파일로 이루어짐

  1. 파라미터 파일 : 매개변수를 저장하고 있는 파일.
  2. 실행 파일 : 파라미터 모델을 신경망 모델에서 실행하는 파일.

훈련이란?
엄청난 양의 텍스트를 수집한 후 압축하는 과정으로 이 과정을 통해 '파라미터 파일'을 생성함,

LLM에서의 텍스트 생성
신경망에서 파라미터에 따라 다음 단어를 예측하는 것.
LLM은 텍스트를 "꿈"꾸듯 생성함. 그럴듯한 틀에 맞춰서 데이터 세트를 모방함. 100% 학습에 사용 된 내용을 따라하진 않지만 흡사한 무언가를 제공하는 형태임. 특히 일련번호 같은 경우, 그 일련번호가 맞는지는 상관 없고 '어떤 형태'로 존재하는지 정도는 따라함(주민번호처럼 보이는 무언가를 만들 순 있지만, 가상의 숫자 시퀀스를 만드는 형태)

텍스트 생성은 어떻게 이루어지는가?
흔히 transformer라고 불리는 것을 사용함. 매개변수를 활용해 다음 단어를 뱉게하는 최적화는 가능하지만, 실제 모든 매개변수가 어떤 영향을 주고 있는지는 정확히 알지 못함. 아쉽게도 LLM이 동작하지만 완벽히 어떻게 동작하는지는 모르는 상태임. 대부분 경험적으로 다루어지고 있음.

LLM에서의 데이터
특정 정보를 '저장'하고 있는 형태는 아님. 특정 정보를 얻기 위한 '방향'이 정해져 있음.(reverse curse)

AI 언어모델 구축 단계

사전학습(Pretraining)

  1. 많은 양의 텍스트를 수집(10TB ~ )
  2. 학습을 시작할 GPU 클러스터 셋업
  3. 텍스트를 신경망이 이해할 수 있는 형태로 변환
  4. 기본 모델(base model)을 획득

단, 훈련에 사용되는 텍스트는 온전히 압축되는 것이 아닌 손실 압축됨.
흔히 이 과정에서 많은 비용이 들어감.

미세조정(Finetuning)

  1. 라벨링 지침 작성
  2. 고품질의 Q&A 응답, 비교 레이블 준비
  3. 파인튜닝
  4. 보조 모델(assistant model)을 획득
  5. 평가
  6. 배포
  7. 모니터링, 잘못된 응답 수집 (잘못된 응답에 대한 올바른 응답 준비)
  8. step 1으로 이동해서 반복
  • 훈련된 모델을 목적에 맞게 학습하는 과정을 뜻함.
  • 이 과정은 앞선 '훈련'보다는 훨씬 저렴하며 데이터의 양보다는 '질'이 중요함. 사전 학습에 사용된 엄청난 양의 인터넷 문서가 아닌, 필요에 따라 만들어진 Q&A 같은 데이터 셋임.

강화학습

비교 답변을 통해 성능을 끌어올리는 방법임. 미세조정 된 보조 모델들을 통해 답변을 생성하고, 더 좋은 답변을 선택하여 학습시키는 방법임. 인간과 모델의 협업을 통해서 이루어짐. 요즘은 모델이 생성한 답변만을 가지고 강화학습하는 추세.

profile
제가요?

0개의 댓글