대형 언어 모델의 세계로 - ChatGPT의 원리와 활용에 대한
개요와 전체 목차 및 저자 소개는 아래의 이전 글에서 보실 수 있습니다.
대형 언어 모델의 세계로 - ChatGPT의 원리와 활용 개요
안녕하세요 최근에 가장 많이 사용이 되고 있는 대형 언어 모델의 세계로 입문하고자 하시는 분들을 위해서 좋은 유튜브 강좌를 시리즈로 작성해 보려 합니다.원 저자는 Andrej Karpathy 로 스텐포
daeson.tistory.com
오늘은 대형 언어 모델(LLM)의 심리학이라고 할 수 있는 주제를 탐구해볼 거예요. 특히 LLM이 학습되는 과정에서 나타나는 인지적 효과 중에서도 환각(Hallucinations), 도구 사용(Tool Use), 그리고 지식/작업 메모리(Knowledge/Working Memory)에 대해 집중적으로 살펴보려고 해요.
1. LLM의 환각(Hallucinations): 왜 모델은 사실이 아닌 정보를 만들어낼까?
LLM의 환각(Hallucinations)은 모델이 존재하지 않는 사실을 만들어내는 현상을 의미해요. 이 문제는 초기 AI 모델에서도 발생했지만, 최근 개선이 이루어지고 있어요. 하지만 왜 이런 현상이 발생하는 걸까요?
환각이 발생하는 이유
훈련 데이터에서 "Who is [사람 이름]?" 같은 질문이 자주 등장하면, 모델은 이러한 질문에 항상 자신감 있는 답변을 제공해야 한다고 학습돼요. 즉, 다음과 같은 패턴을 따르죠.
- "Who is Tom Cruise?" → "Tom Cruise는 유명한 미국 배우이자 프로듀서입니다."
- "Who is John Barrasso?" → "John Barrasso는 미국 상원의원입니다."
- "Who is Genghis Khan?" → "Genghis Khan은 몽골 제국을 세운 지도자입니다."
이 패턴이 반복되면, 모델은 "Who is [어떤 이름]?"이라는 질문을 보면 항상 무언가를 답해야 한다고 학습돼요. 그러다 보니 존재하지 않는 인물에 대해서도 뭔가를 지어내려는 경향이 생기죠.
실제 테스트에서 나타나는 환각 예시
특정 모델(Falcon 7B)을 사용해 "Who is Orson Kovats?"라는 질문을 던졌을 때, 모델이 어떻게 반응하는지 실험했어요.
- "Orson Kovats는 미국 작가이자 SF 소설가입니다."
- "Orson Kovats는 1950년대 TV 쇼의 가상 캐릭터입니다."
- "Orson Kovats는 마이너 리그 야구 선수였습니다."
모델은 Orson Kovats라는 사람이 실제 존재하는지 모르지만, 훈련 데이터의 패턴을 따르려다 보니 가장 확률이 높은 답변을 생성하면서 사실이 아닌 정보를 만들어낸 것이에요.
2. 환각을 줄이는 방법: 모델이 모르는 것을 인정하도록 학습시키기
이 문제를 해결하려면 모델이 "나는 이 정보를 모른다"고 솔직하게 말할 수 있도록 학습시키는 과정이 필요해요. 즉, LLM이 특정 정보를 확실히 모를 때, "잘 모르겠습니다"라고 답하도록 유도하는 것이 핵심이에요.
1단계: 모델의 지식 범위 조사
메타(Meta)는 Llama 3 모델을 개발하면서 모델이 실제로 알고 있는 정보와 모르는 정보를 구분하는 방법을 도입했어요. 이를 위해 다음과 같은 절차를 수행했죠.
- 무작위 문서를 선택하여 특정 문단을 발췌.
- 해당 문단을 기반으로 질문을 생성 (예: "이 선수는 어느 팀에서 뛰었나요?")
- 모델이 실제로 답을 알고 있는지 테스트:
- 모델이 정답을 맞히면 → ✅ 모델이 아는 정보
- 모델이 틀린 답을 생성하면 → ❌ 모델이 모르는 정보
- 모르는 정보에 대해서는 "모른다"는 답변을 훈련 데이터에 추가
- 예: "이 선수는 몇 개의 스탠리 컵을 우승했나요?" → 모델이 틀린 답을 반복하면 "잘 모르겠습니다"라고 답하도록 학습.
이러한 방식으로 학습 데이터를 보완하면, 모델은 불확실한 정보에 대해 지어내지 않고 "잘 모르겠다"고 답할 가능성이 높아져요.
3. 도구 사용(Tool Use): 모델이 스스로 정보를 찾아내는 법
환각을 방지하는 더 효과적인 방법 중 하나는 모델이 "잘 모르겠다"고 답하는 대신 실제로 정보를 찾아볼 수 있도록 하는 거예요.
인간이 모르는 정보를 찾는 방법
우리가 모르는 정보를 접하면 보통 검색을 하죠. 즉, 인터넷에서 정보를 찾아보고 기억하는 과정이 있어요. LLM도 마찬가지로 이런 기능을 수행할 수 있도록 도구 사용(Tool Use) 기능을 추가하면 더 정교한 답변을 할 수 있어요.
LLM의 도구 사용 방식
최신 LLM 모델(예: ChatGPT)의 경우, 단순히 "모른다"고 말하는 것이 아니라 웹 검색을 실행하는 기능이 있어요.
- 모델이 답변을 모르면 → 검색을 시작하는 특수 토큰을 출력
- "SEARCH_START" (예: 검색 시작)
- "SEARCH_QUERY" ("Orson Kovats는 누구인가?")
- "SEARCH_END" (검색 종료)
- 이 검색어가 실제로 Bing, Google 등의 검색 엔진으로 전달됨.
- 검색 결과가 반환되면, 그 내용을 읽고 요약하여 답변 생성.
- 모델은 이를 참고하여 출처까지 포함한 더 정확한 답변을 생성.
실제 예시: ChatGPT의 도구 사용
"Who is Orson Kovats?"라는 질문을 할 때, 최신 ChatGPT 모델은 즉시 검색을 수행한 후 정보를 찾아 답변을 제공해요.
- "검색 결과를 찾고 있습니다..." (웹 검색 실행)
- 검색 결과를 분석한 후:
- "Orson Kovats라는 인물에 대한 공개된 정보가 없습니다."
- 출처 링크 포함하여 신뢰할 만한 답변 제공.
이는 기존 LLM이 단순히 기억을 바탕으로 답변하는 것보다 훨씬 더 정확하고 신뢰할 만한 정보를 제공하는 방법이에요.
4. 지식과 작업 메모리(Knowledge & Working Memory)
마지막으로, LLM의 기억 체계에 대해 알아볼게요.
LLM의 두 가지 기억 체계
- 신경망 속의 지식 (Parameters)
- 모델이 훈련 과정에서 배운 정보는 뉴런(신경망)의 가중치로 저장됨.
- 이는 장기 기억에 해당하며, 학습된 패턴을 바탕으로 작동.
- 작업 메모리 (Context Window)
- 모델이 현재 대화에서 참고할 수 있는 정보.
- 인간의 단기 기억과 유사하며, 문맥이 길어질수록 더 많은 정보를 기억할 수 있음.
예제: 문서 요약 요청
A. "Pride and Prejudice의 1장을 요약해줘."
- 모델이 기억에 의존하여 요약 (정확도가 낮을 수 있음).
B. "Pride and Prejudice의 1장을 붙여넣을 테니 요약해줘."
- 작업 메모리를 활용하여 원문을 기반으로 요약 (훨씬 높은 정확도).
이처럼 작업 메모리에 직접 정보를 입력해주는 것이 정확도를 높이는 중요한 방법이에요.
5. 결론: 환각을 줄이고 LLM을 더 똑똑하게 만드는 방법
- 환각 문제를 해결하려면 모델이 모르는 정보를 솔직하게 인정하도록 학습해야 함.
- 도구 사용 기능을 추가하면 검색을 통해 정확한 정보를 제공할 수 있음.
- 작업 메모리를 적극 활용하면 모델의 응답 정확도가 향상됨.
이러한 기법을 활용하면 LLM의 신뢰성과 활용도를 대폭 개선할 수 있어요. 앞으로도 AI 모델이 더욱 발전하는 과정에서 이러한 접근 방식이 핵심 역할을 할 거예요. 🚀
'생성형 AI' 카테고리의 다른 글
대형 언어 모델의 세계로 - ChatGPT의 원리와 활용 (13) AI 모델이 생각하는 방식 (1) | 2025.02.26 |
---|---|
대형 언어 모델의 세계로 - ChatGPT의 원리와 활용 (12) 자기인식 (2) | 2025.02.25 |
대형 언어 모델의 세계로 - ChatGPT의 원리와 활용 (10)사후 학습 데이터 (0) | 2025.02.22 |
대형 언어 모델의 세계로 - ChatGPT의 원리와 활용 (9) 사전/사후 학습 (0) | 2025.02.21 |
대형 언어 모델의 세계로 - ChatGPT의 원리와 활용 (8)Llama 3.1 모델 (0) | 2025.02.20 |
댓글