top of page

[On-Device AI Chatbot] 8편: 환각(Hallucination) 잡기: SuperVision 테스트 결과 분석



8편: 환각(Hallucination) 잡기

SuperVision 테스트 결과 분석


지난 7편에서는 스마트폰 내부의 챗봇 앱과 PC의 AI SuperVision 서버를 연결하여, '질문 주입부터 답변 추출, 자동 채점'까지 이어지는 테스트 파이프라인을 구축했습니다. 이제 수십 개의 테스트 케이스를 자동으로 돌려볼 수 있는 환경이 마련되었습니다.

그렇다면 과연 우리의 온디바이스 SLM(Gemma-2B 기반)은 이 가혹한 심판관 앞에서 어떤 성적표를 받았을까요? 이번 8편에서는 실제 다중 컨텍스트(Multi-Context) 환경에서 진행된 자동화 테스트의 구체적인 결과와, 발견된 환각(Hallucination)의 유형, 그리고 이를 개선하기 위한 인사이트를 공유합니다.


1. 다중 컨텍스트(Multi-Context) 기반 테스트 시나리오

TecAce 팀은 챗봇의 실무 투입 가능성을 검증하기 위해 완전히 다른 도메인의 4가지 사내/제품 문서(Context)를 준비했습니다.


  1. 인테리어 키트 조립 매뉴얼 (Interior Kit Building)

  2. Galaxy S25 스펙 및 기능 설명서

  3. Tesla 차량 매뉴얼

  4. iPhone 17 가상 스펙 (조작된 정보)


이 4가지 컨텍스트를 번갈아 가며, 단순 정보 검색부터 포맷 제약(예: "1줄로 대답해", "JSON으로 출력해"), 추론이 필요한 질문 등 다양한 난이도의 테스트 케이스를 주입했습니다.


2. SuperVision 성적표: 이상과 현실의 차이

Test Report
Test Report

초기 테스트 결과는 우리가 기대했던 것보다 훨씬 냉혹했습니다. AI SuperVision 대시보드에 집계된 총 18개의 핵심 검증 시나리오 중 통과(Pass)는 6개, 실패(Fail)는 12개로 기록되었습니다.

물론 '인테리어 키트'와 같은 단순하고 짧은 문서에서는 대부분 정답을 맞혔으나, 복잡한 매뉴얼로 갈수록 다음과 같은 두 가지 뚜렷한 실패 유형이 발견되었습니다.


유형 A: 사전 학습 지식의 개입 (Fact Contradicting Hallucination / Faithfulness 실패) 로컬 RAG의 가장 큰 목적은 "오직 주어진 문서에 있는 내용만" 대답하는 것입니다. 하지만 모델은 문서에 없는 내용을 자신의 사전 학습 데이터(Parametric memory)에서 끌어와 대답하는 심각한 '사실성(Faithfulness) 오류'를 범했습니다.

  • 실패 사례 (Tesla 매뉴얼): 주어진 문서에 없는 권장 수치나 설정값을 묻는 질문에, 챗봇이 임의의 숫자를 외부 지식에서 가져와 그럴싸하게 대답했습니다.

  • 실패 사례 (iPhone 17 가상 스펙): 우리가 제공한 가상의 카메라 렌즈 스펙 대신, 모델이 알고 있던 과거 아이폰 시리즈의 실제 카메라 스펙을 섞어서 대답하거나 제어 센터 버튼 위치를 멋대로 설명했습니다.


유형 B: 지시사항 무시 및 일관성 부족 (Prompt Misalignment / Consistency 실패) 사용자가 요구한 출력 형식을 무시하거나, 같은 질문을 여러 번 던졌을 때 포맷이 계속 바뀌는 현상입니다.

  • 실패 사례 (Galaxy S25 기능 요약): "1줄로 요약해", "NPU에 대해서만 설명해"와 같은 커스텀 프롬프트 지시(Custom Instructions)를 내렸음에도, 모델이 이를 무시하고 장황한 문장으로 답변했습니다.

  • 실패 사례 (일관성 결여): 동일한 질문을 5번째 던졌을 때와 10번째 던졌을 때의 답변 구조(리스트 포맷 등)가 크게 달라져, SuperVision의 일관성(Consistency) 평가에서 낮은 점수를 받았습니다.


3. 원인 분석 및 개선(Optimization) 인사이트

12개의 실패 케이스를 분석하며, 우리는 SLM(Small Language Model)이 가진 근본적인 한계를 명확히 이해할 수 있었고 다음과 같은 개선 방향을 도출했습니다.


  1. 시스템 프롬프트(System Prompt)의 강화: 작은 모델일수록 긴 컨텍스트 내에서 '절대 외부 지식을 사용하지 말 것', '주어진 형식을 엄격히 지킬 것'이라는 제약을 쉽게 잊어버립니다. 프롬프트 엔지니어링을 통해 지시사항을 답변 생성 직전의 Context 하단에 다시 한번 배치하여 Attention을 높이는 작업이 필요합니다.

  2. RAG 청킹(Chunking) 최적화: Tesla 매뉴얼처럼 내용이 방대한 경우, 검색(Retrieval)된 텍스트가 너무 길어 핵심 정보가 노이즈에 묻히는 현상이 발생했습니다. 문서를 더 작고 의미 단위로 쪼개어 모델에 주입하는 정보의 밀도(Information Density)를 높여야 합니다.

  3. 지시어 튜닝(Instruction Fine-tuning): 포맷을 맞추거나 모르는 것은 모른다고 대답(Refusal)하는 능력을 향상시키기 위해, 향후 모델 자체에 도메인 특화 파인튜닝을 적용하는 방안이 요구됩니다.


SuperVision을 통한 자동화 테스트 덕분에, 우리는 사람이 수동으로 찾기 힘든 이 미세한 포맷 변경과 외부 지식 개입을 단 5분 만에 수치화하여 짚어낼 수 있었습니다.


다음 편 예고

모델의 정확도와 품질을 높이기 위한 방향성은 잡혔습니다. 하지만 모바일 기기라는 환경은 우리에게 또 다른 물리적인 제약을 들이밉니다. "챗봇이 똑똑하게 대답하려고 연산을 오래 할수록, 스마트폰은 뜨거워지고 배터리는 녹아내립니다."

이어지는 [9편] 성능 한계 도전: 발열, 배터리, 그리고 응답 속도에서는 실제 스마트폰 기기에서 챗봇을 구동할 때 발생하는 하드웨어적 제약 사항과 TTFT(초기 응답 속도), TPS(초당 토큰 생성 속도) 사이의 현실적인 타협점을 찾는 최적화 과정을 생생하게 공유하겠습니다.t Token (TTFT) and Tokens Per Second (TPS) on actual smartphone devices.

댓글


bottom of page