과거 데이터로 학습한 모델이 현재 정보를 모르면 실제 정확도가 차이가 크게 날까?
Temporal alignment가 존재하며, 시간이 지날수록 틀어지게 된다. 학습한 기간과 평가 기간이 멀어질 수록 대조군 모델 대비 Perplextity가 증가하는 것을 확인
최신 지식을 습득하면서도 과거 정보를 잊지 않게 하는 것이 중요하구나!
그래서 나온 방안
1.Continual Learning
과거 정보를 까먹지 않으면서 LLM을 추가 학습시키는 방법
2.Retrieval-Augmented Generation
Prompt로 LLM에 추가 정보를 주는 방법
이전 학습 데이터를 까먹지 않으면서도 새로운 과제와 데이터에 최적화하는 방법!
시기에 따라 변하는 데이터셋(wikidata에서 시기에 따라 변하는, 변하지 않는) 정보로 Perplexity 측정
변한 정보만 학습한 Diff의 경우에 변하지 않는 정보에 대해서 Catastrophic forgietting 발생
Continual learning: Diff 대비 이전 정보를 기억하면서도 initial 대비 새로운 정보 또한 잘 학습
Regularization method매개변수를 덜 바꾸자
Parameter expansion method추가 매개변수를 학습하자
Rehearsal method과거 학습 데이터를 함께 학습하자
Mix-review Deep generative replay (DGR)Continual Learning의 한계
하루마다 발생하는 일들 전부 기억하려고 매일 LLM을 훈련할 수는 없다.
- 심지어 아무리 짧은 시간을 두더라도 그 짧은 시간의 간격이라는 Temporal misalignmnet를 피할 수 없다.
- RLHF나 DPO로 fine-tuning 된 모델에 대해서 Continual learning을 한다?
Causal LM에 미칠 영향을 예측하기 어렵다.그렇다면 학습시키지 않으면서 당자 일어난 일을 활용할 수는 없나?
RAG
Retrieval이 중요하게 된다.이외에도 그냥 상용 검색 엔진을 사용하거나
자연어에서 SQL 생성하여 직접 DB를 검색
또는 해당 사용자와의 대화기록을 불러오는 방법도 있다.
RAG가 항상 정확도를 향상시키지는 못한다.
학습때 이미 본 지식이 있다면, 리트리버를 사용하여 프롬프트로 문맥을 주더라도, LLM이 해당 문맥을 무시할 수도 있다.
LLM의 Prior knowledge는 그만큼 강력하기 때문이다.
본 문제에 대해서는 LLM이 Instruction을 잘 따르지 않는 문제로도 볼 수 있다.
Retrieval로 하나의 Query에 대한 여러 문서를 들고오게 한 뒤에, 각 문서 기반으로 계산된 토큰 확률 값을 Marginalize하여서 하나의 텍스트를 생성한다.Retrieval(Query encoder)와 Generator를 End-to-End로 학습GopherCite
구글의 280B LLM
구글 검색을 통해 질문과 관련된 웹페이지를 찾고, 해당 답에 대한 근거가 되는 문단을 함께 인용한다.
- RLHF를 통해 해당 근거가 생성 답안을 뒷받침하도록 학습한다.
- 유사 연구: WebGPT(OpenAI), BlenderBOt3(Meta)