LLM은 고정된 데이터에 대해서 학습된 사전학습 모델이다. 따라서 최신 지식 혹은 시간에 따라 변화하는 지식을 잘 답변하지 못할 확률이 높다. 그렇다면 매번 새로운 데이터를 학습 시키면 되지 않을까? 하는 생각을 할 수 있는데 이 경우에는Catastrophic forgetting문제가 발생한다.
👀 Catastrophic Forgetting이란? : 인공신경망이 새로운 정보를 학습할 때 이전에 학습한 정보를 잊어버리는 현상이다.
그림으로 이해를 해보자. MNIST 데이터로 학습한 모델 A가 있다고 가정했을 때, 이 모델에서 SVHN 데이터로 새로 학습을 시킨다. 이후 다시 MNIST 데이터로 분류 TASK를 진행할 경우, 새로운 데이터(SVNH)로 학습하기 이전의 분류 성능이 안나온다는 것이다.
Regularization method : 파라미터를 규제해 기존의 지식으로 부터 너무 큰 변화가 일어나지 않도록 하는 방식이다.
Elastic Weight Consolidation(EWC), Rec-Adam
EWC는 Fisher information matrix를 이용하여 이전 stage에서 학습된 모델의 weights를 성능에 영향을 미치는 정도에 따라 중요도를 정의하여 중요도가 클수록 이전 Task를 학습한 모델의 weights를 많이 변화하지 못하도록 regularization 하는 기법이다.
LEWC: EWC의 정규화 항의 가중치. 값이 클수록 weight의 변화를 억제
Fj: fisher information matrix로 이전 task에 대해 학습한 weights의 중요도를 나타내는 matrix
θj: 현재 weight,
θp,j∗: 이전 data를 학습한 후의 weight.
즉θj와θp,j∗의 차이가 커질수록 loss 값이 커지도록 설계되어 있으며, weights의 중요도(Fj)가 클수록 변화를 억제하여 loss를 작아지는 방향으로 학습한다.
Parameter expansion method : 기존의 매개변수를 그대로 고정하고, 특정 TASK를 다루는 모듈을 모델에 추가해서 학습하는 방식이다.
LoRA , K-Adapter
Rehearsal method(BEST) : 특정 Task를 Fine-Tuning 할 때 해당 Task에 특화된 데이터만으로 학습하지 말고, 사전에 학습한 데이터도 함께 학습하는 방식이다.
Max review(사전 학습 데이터가 있을 경우)
Deep generative replay(DGR) (사전 학습 데이터가 없을 경우)
LLM이 생성한 데이터들을 기존 pre-trained data로 취급해서 사용한다.
(LLM이 학습한 데이터를 기반으로 답변을 생성할 것이기 때문이다.)
Continual learning의 한계
당연하게도 매일 발생하는 일들을 기억하기 위해서 LLM 을 Continual learning을 시도하는 것은 많은 자원과 시간이 소모된다. 또한, 아무리 시간 간격이 짧다고 해서Temporal misalignment를 피해갈 수 는 없는것이다.
👀Temporal misalingnment란 ? 일반적으로 시간에 따른 데이터의 불일치를 의미하는 용어이다. 시간이 지남에 따라 데이터의 특성이 변하거나 새로운 정보가 추가되기 때문에, 과거 데이터로 훈련된 언어모델이 답변을 생성하는데 있어 문제가 발생할 수 있다.
Retrieval-Augmented Generation(RAG)
RAG는 정보 검색(IR)과 자연어 생성(NLG)을 결합한 모델이다. 응답 생성 과정에서 외부의신뢰할 수 있는 지식 베이스를 참조하도록 하는 프로세스이다. 이러한 프로세스가Temporal alignment과Hallucination을 개선할 수 있다.
👀Hallucination이란? 모델이 잘못된 정보(존재하지 않거나 틀린정보)를 생성하는 문제를 말한다. 이는 모델이 학습한 데이터만을 기반으로 응답을 생성하기 때문에 발생할 수 있다.
RAG의 작동방식
전처리 및 분할한 데이터를 임베딩 모델로 벡터화 (벡터DB 구축)
사용자 질문을 벡터화하고 벡터 DB에서 관련된 높은 상위 K개의 항목 추출 (관련된 정보 검색)
검색된 정보를 기반으로 LLM을 통해 답변 생성 (답변 생성)
Naive RAG의 한계
RAG가 외부 지식 데이터 베이스를 참조한다고 해서 무조건 정확도를 향상하는 건 아니다.
적절한 문서를 참고하는 것이 아닐 수도 있으며, 문서에 다양한 내용이 포함되어 있을 경우에는 noise로 작용될 수도 있다.
LLM의 사전 지식은 강력하며 이로 인해 Context 와 사전지식이 상충 될 시 Context를 무시할 수도 있다.