대규모 언어 모델(LLM)에서 환각을 일으키는 원인을 알아보고 AI 생성 콘텐츠의 부정확성을 완화하기 위한 효과적인 전략을 살펴보세요.
인공지능(AI) 분야에서 환각(hallucination)이란 대규모 언어 모델(LLM) 이 확신에 찬 문법적으로 올바른 내용을 생성하지만, 사실과 맞지 않거나 무의미하거나 원본 입력에 충실하지 않은 현상을 의미합니다. 일반적인 소프트웨어 오류가 시스템 충돌이나 눈에 띄는 결함을 일으키는 것과 달리, 환각을 보이는 모델은 거짓 정보를 유효한 사실과 동일한 권위로 제시하는 설득력 있는 허위 정보 생성자처럼 행동합니다. 이는 의료, 법률, 금융과 같이 데이터 무결성이 최우선인 민감한 분야에 생성형 AI를 도입하는 조직에게 상당한 도전 과제를 제기합니다.
모델이 왜 환각을 일으키는지 이해하려면 모델이 어떻게 구축되는지 살펴보는 것이 도움이 됩니다. 대규모 언어 모델(LLM)은 일반적으로 정교한 예측 엔진 역할을 하는 트랜스포머 아키텍처를 기반으로 합니다. 검증된 사실의 구조화된 데이터베이스를 조회하는 대신, 모델은 훈련 데이터에서 도출된 통계적 확률에 기반하여 시퀀스 내 다음 토큰을 예측합니다.
이러한 행동을 유발하는 몇 가지 요인은 다음과 같습니다:
환각은 무해한 창의적 과장부터 심각한 사실 오류에 이르기까지 다양한 방식으로 나타날 수 있다:
환각 발생 빈도를 줄이는 것은 인공지능 안전의 주요 초점입니다. 엔지니어와 연구원들은 모델을 현실에 기반시키기 위해 여러 기법을 활용합니다:
다중 모달 AI 시스템에서 텍스트 생성은 시각적 데이터를 기반으로 할 수 있습니다. 대규모 언어 모델(LLM)이 장면을 묘사하도록 요청받으면 존재하지 않는 물체를 환각할 수 있습니다. YOLO26과 같은 고정밀 객체 탐지기를 통합함으로써 개발자는 LLM에 존재하는 객체의 사실적인 목록을 제공하여 출력을 검증된 탐지 결과로 엄격히 제한할 수 있습니다.
다음 Python 사용 방법을 보여줍니다. ultralytics 검증된 객체 목록을 추출하는 패키지로,
이는 언어 모델 프롬프트에 대한 사실적 제약 조건으로 활용될 수 있습니다.
from ultralytics import YOLO
# Load the YOLO26n model (latest generation, efficient and accurate)
model = YOLO("yolo26n.pt")
# Run inference on an image to get ground-truth detections
results = model("https://ultralytics.com/images/bus.jpg")
# Extract the class names of actually detected objects
detected_objects = [model.names[int(c)] for c in results[0].boxes.cls]
# This factual list prevents the LLM from hallucinating items
print(f"Verified Objects for Prompt Context: {detected_objects}")
# Output example: ['bus', 'person', 'person', 'person', 'person']
환각을 다른 일반적인 AI 오류와 구분하는 것이 중요합니다:
데이터 무결성을 유지하여 하류 오류 발생을 방지하고 데이터셋을 관리하며 모델을 훈련하려는 사용자를 위해 Ultralytics 주석 작업 및 데이터셋 관리를 위한 포괄적인 도구를 제공합니다. 또한 NIST AI 위험 관리 프레임워크의 지침은 실제 운영 환경에서 이러한 위험을 평가하고 완화하기 위한 기준을 제시합니다.