LLM(Large Language Model)
- 대규모 데이터에서 훈련된 많은 수의 파라미터를 가진 신경망
- 신경망은 텍스트, 이미지 데이터 처리에 뛰어남
- 파라미터가 많을수록 복잡한 패턴을 감지하는데 유리함
- 트랜스포머라는 구조의 신경망을 사용한다.
트랜스포머 구조 소개
- ‘Attention Is All You Need’ 논문에서 탄생
- 기존
Attention + 순환신경망 모델에서 순환신경망을 걷어내고 Attention 에 집중함
- 인코더와 디코더로 구성됨
- 동작 플로우
- 번역할 텍스트를 인코더에 입력
- 입력 텍스트를 전처리
- 텍스트 임베딩(각 단어의 벡터 표현) 생성
- 디코더의 입력으로 사용되는 임베딩 반환
- 디코더는 이전 출력 데이터를 바탕으로 한단어씩 번역을 시도
- 디코더는 인코더에서 넘겨준 임베딩과 전처리된 입력텍스트를 합쳐 출력층을 완성
단어 벡터
- Text 를 벡터로 변환
- word2vec : 입력된 텍스트를 사용해서 주변에 있는 단어를 예측한다.
인코더 기반 모델
- 예: BERT
- 랜덤하게 단어를 마스킹한 입력을 받아서 원본 문장을 완성하게 함
디코더 기반 모델
- 예: GPT
- 인코더의 입력 없이, 불완전한 텍스트를 받아서 단어를 생성해 나가게끔 함
- 이전 라운드의 출력이 다음 라운드의 입력으로 사용된다.
- 텍스트 완성이 목적
- 제로샷 : 어떤 지시를 통해 예시 없이 작업을 완료하는 것
- 퓨 샷 : 작업에 대한 몇개의 예시가 주어졌을 때 해당 작업을 완료하는 것
- 최신 모델도 결국은 이 형식과 동일하다.
학습과정
- 1단계 LLM 만들기
- 데이터 준비 & 샘플링
- 어텐션 메커니즘
- LLM 구조
- 사전 훈련
- 2단계 파운데이션 모델
- 훈련 반복
- 모델 평가
- 사전 훈련된 가중치 로드하기
- 3단계 튜닝
- 분류 미세 튜닝
- 지시 미세튜닝