241204 TIL #554 AI Tech #87 LLM

김춘복·2024년 12월 4일
0

TIL : Today I Learned

목록 보기
556/575

Today I Learned

오늘 공부한 내용은 LLM!


LLM

방대한 양의 텍스트 데이터를 학습하여 인간의 언어를 이해하고 생성할 수 있는 범용적인 언어 모델

  • 사전 학습 데이터와 파라미터의 수가 크면 LLM이라 지칭한다.

  • GPT1~2나 BERT같은 Pretrained 모델은 태스크 별 파인튜닝이 필요하지만, LLM은 범용 모델 하나로 다양한 태스크를 해결한다.

  • zero shot learning : prompt 만으로 모델이 태스크 이해해서 수행
    few shot learning : prompt에 일부 예시를 추가해 태스크 이해해서 수행
    모델의 사이즈가 커지면, 몇가지 예시만으로도 성능이 향상된다.

  • Corpus
    사전학습을 위한 대량의 텍스트 데이터 집합
    원시 데이터를 욕설, 중복, 개인정보를 정제해서 사용한다.
    LLM이 암기능력이 뛰어나기 때문에 정제하지 않으면 문제가 생긴다.

  • Instruction Tuning
    유용(helpfulness)하고 안전(safety)한 답변을 생성하도록 출력을 조정하는 것

  • RLHF
    광범위한 input에 대해 유저가 선호하는 답변을 출력하도록 강화학습
    매우 큰 비용이 소모되지만 할루시네이션이 줄고 모델 성능이 향상된다.

Model Architecture

  • Encoder-Decoder 구조
    트랜스포머 구조로, Encoder가 입력을 이해해서 Decoder가 문장을 생성한다.
    사전학습은 masking된 input 문장 일부를 복원하는 방식으로 생성(span corruption)한다.

  • Decoder Only 구조
    단일 모델만으로 이해와 생성을 한다. 단순히 입력된 토큰을 기반으로 다음 토큰을 예측한다.
    사전학습은 문장단위로 토큰을 입력해 매 토큰마다 다음 토큰을 예측하도록 학습한다.
    최근 LLM들이 거의 해당 구조.


PEFT

Parameter-Efficient Fine-Tuning.
사전 학습된 거대 언어 모델의 전체 파라미터를 조정하지 않고, 일부 파라미터만을 미세 조정함으로써 계산 비용과 저장 공간을 크게 줄일 수 있는 기법

  • 적은 컴퓨팅 자원으로도 효과적인 미세 조정이 가능하고, 저장공간을 절약할 수 있다.

  • 모델이 점점 커짐에 따라 모든 파라미터를 조정하는 방식이 힘들어졌다.

PEFT 기법

  1. Adapter
    학습 완료된 모델의 각 레이어에 학습 가능한 FFN(Feed Foward Networ)을 삽입하는 방식
    적은 학습 파라미터만으로도 파인튜닝에 가까운 성능이 나온다.
    하지만 작은 파라미터만 추가해도 latency가 증가한다.

  2. prefix tuning
    트랜스포머의 각 layer에 훈련가능한 vector 추가. 가상의 임베딩으로 간주

  3. prompt tuning
    모델의 입력 레이어에 훈련가능하 prompt 벡터 통합.
    자연어 프롬프트와는 전혀 다름

4.LoRA
사전 학습된 파라미터를 고정하고 학습가능한 rank decompsition 행렬을 삽입한 방법
layer마다 hidden state에 lora 파라미터를 더해 튜닝한다. 가장 널리 쓰이는 방법이다.
새로 학습한 파라미터를 기존 모델에 합격시켜준다.

profile
Backend Dev / Data Engineer

0개의 댓글