원인
LLM이 다음 토큰이나 단어를 생성할 때 마다 그 단어가 합리적인 정답에서 벗어난 단어가 될 가능성이 있다.
그리고 이 오류가 각 단어마다 따로 발생할 수 있다고 가정하면 긴 문장을 만들수록 오류가 발생할 가능성이 커진다
즉, 토큰을 생성할때마다 올바른 정답의 집합에 머무를 확률이 기하급수적으로 낮아진다
실수할 가능성이 조금이라도 있으면 오류가 점점 더 커질 수 있다. 그리고 그 실수는 기하급수적으로 증가하며 오류가 쌓인다.
따라서, 문장이 길어질수록 엉뚱한 답(non-sensical)이 나올 확률도 기하급수적으로 높아진다.
질문
만약 훈련 데이터가 대부분 올바르면 자연스럽게 올바른 답변을 하지 않을까?
답변
그렇지 않다. “차원의 저주”라고 할 수 있다. 즉, 데이터의 차원이 증가할수록, 즉 feature(변수)의 수가 많아질수록 데이터 분석이나 모델 학습이 어려워지는 현상
이를 해결하려면 시스템이 다양한 질문에 답할 수 있도록 조정해야한다.
사람들이 자주 하는 질문은 비슷한 경우가 많다. 따라서, 수집된 데이터로 80%의 질문에는 답할 수 있다.
그리고 시스템을 finetune해서 모든 질문에 대해서 좋은 답변을 생성하도록 한다.
그런데 훈련중에 다루지 않는 막대한 양의 Prompt가 존재한다. 그리고 그 집합은 매우 크다.
가능한 모든 프롬프트 중에서 훈련에 사용된 프롬프트는 아주 적다.
전체 프롬프트 중에서 매우 적은 일부만 훈련에 사용된다.
따라서, 시스템은 사전 훈련되거나 FineTuning 된 프롬프트에서는 잘 작동한다.
하지만, 훈련되지 않은 막대한 양의 질문의 집합이 존재한다.
시스템이 아무리 훈련이 잘돼도 훈련되지 않은 프롬프트나 그런 형식의 프롬프트를 찾으면 시스템이 잘못된 답변을 생성할 수 있다. 그러면 엉뚱한 답변을 생성한다.
질문
인터넷에 없는 완전 새로운 prompt를 만드는게 가능한가? 쉬운가?
답변
프롬프트에 무작위로 생성된 문자나 기호를 넣는 방식이 있다. 이 방식을 사용하면 시스템은 혼란을 겪어 평소와 전혀 다른 방식으로 답변하게 된다.
이런 식으로 프롬프트에 변형을 주면 시스템이 원래 의도한 답변이 아닌 완전 다른 반응을 보이게 된다.
이는 시스템을 제약에서 벗어나게하는 방식으로 시스템의 한계를 명확하게 보여준다.
질문
문법적으로 올바른 문장을 사용해도 시스템을 무너뜨릴 수 있는가?
답변
그렇다. 영어로 문장을 작성한 뒤에 일부 단어를 동일한 의미를 가진 다른 언어로 치환하면 답변이 갑자기 바뀐다.
문제는 긴 문장이다. 사람들의 질문은 매우 긴 문장이고 대부분의 사람들이 물어보는 질문중 80% 정도만 시스템을 학습시킬 수 있다.
하지만, 긴 문장이 너무 많아서 모든 조건에 맞게 시스템을 학습시킬 수 없다.
결국 시스템은 일종의 Look Up Table이 될 수 밖에 없다.
→ 특정 입력 값에 대해 미리 계산된 결과 값을 저장해두는 데이터 테이블
하지만, 이는 추론하고 계획할 수 있는 시스템이 아니다.
원인
잘못된 학습 데이터
AR 방식의 토큰 생성
해결 방법
학습되지 않은 프롬프트에 대해서도 신뢰성 있는 대답 → 일반화 능력 필요 or 추론 능력 필요
그저 답을 생성하는 것 이상의 과정이 필요
'인공지능 > LLM' 카테고리의 다른 글
Why LLMs Hallucinate? (1) | 2024.11.02 |
---|---|
AGI로 가는 길에 LLM의 한계와 강화학습의 한계 (3) | 2024.11.02 |
LLM의 Risk (0) | 2024.11.02 |
Knowledge Distillation - LLM (0) | 2024.03.17 |
RAG란? (0) | 2024.03.17 |