Hallucination & PEFT in LLM
Hallucination in LLM
- 사실 할루시네이션이란 특정한 버그성 동작이 아니고 LLM 의 정상 동작중 실제 정보와 일치하지 않은 아웃풋이 나오는 시점만을 '환각'이라고 사람들이 이름 붙인 것.
- 원래 LLM 모델 그 자체는 생성하는 모든 단어를 앞선 단어들을 통해 유추하기때문에 엄밀히 말하면 항상 '환각'을 결과로 냄.
- 모델 자체의 문제라기보다 모델을 학습시킬 때 Loss 기준을 모델이 틀린 정보를 내뱉었는지에 대한 평가가 없는 경우 환각현상이 심해짐 -> 모델이 틀린 정보를 결과로 내기보다 예측 확률 일정 기준치 이상의 단어가 없는 경우 모른다는 결과를 제출할 때 더 적은 Loss 를 기록하도록 하여 틀린정보를 결과로 도출하지 않게 학습이 필요함
할루시네이션 극복 방식
- 검색엔진 혹은 웹서핑을 통해 검색 출처 / 결과를 컨텍스트로 입력, LLM 결과에도 검색에 사용된 출처를 표기
- 컨텍스트 안에 존재하는 여러 의도를 분리 -> 각각의 의도 간 논리에 모순이 없는지 '확률적' 파악 -> 모순 확률이 높다면 해당 답변을 파기
- 분리된 하위 의도중에서 절대적인 정답이 있는경우 (수학 계산식, 실시간 시장 지수 등) 해당 정보를 파악할 수 있는 Tool 로 입력값을 보내 결과값을 받아 사용
- 이전 컨텍스트 내부에 정보가 부족하여 일정 기준치 이상 확률로 대표되는 단어가 없는 경우 모른다는 결과를 내도록 학습
- LLM 의 결과를 출처로 가져온 문서와 대조하여 잘못된 정보가 명시되어있을 확률이 높으면 파기
모델 크기와 성능의 상관관계
- 학습에 사용할 수 있는 질 좋은 데이터의 부족 -> 어느시점부터는 모델 크기가 커져도 성능이 잘 올라가지 않음
PEFT
- Parameter-Efficient Fine-Tuning
- 파라메터가 엄청 많은 모델의 경우 파인 튜닝시 시간이 매우 오래 걸림
- 사전학습된 모델은 이미 일반화 성능을 갖추고 있어 해당 일반화 성능을 그대로 사용하면서 특정 목표에 부합하게 학습시켜야할 필요성이 있음
- 주로 추가적인 작은 가중치 레이어를 기존 베이스 모델(가중치 고정)과 직/병렬적으로 함께 학습시킴으로써 모델과 함께 동작가능한 작은 모델을 만드는 것
- 여러 서비스가 동일 베이스 모델을 사용한다면 동일 객체의 베이스 모델을 그대로 사용할 수 있기 때문에 시간 및 공간적 절약 효율이 매우 좋음