728x90

왜 할루시네이션이 발생하는지 알려면 언제 발생하는지도 알아야한다.

What is Hallucination?

사실이나 맥락적 논리(맥락에 안맞는 말)에서 벗어나는 LLM의 Output.

할루시네이션은 사소한 불일치부터 완전히 조작되거나 모순된 Output이 될 수 있다.

오늘은 4가지 종류의 할루시네이션에 대해 살펴보자.

1. 문장 모순 (Sentence Contradiction)

LLM이 이전 문장과 모순되는 문장을 생성하는 경우.

“오늘 날씨가 참 맑네요. 근데 오늘 날씨가 너무 안좋아요”

2. 프롬프트 모순 (Prompt Contradiction)

생성된 문장이 그것을 생성하는데 사용된 Prompt와 모순되는 경우

음식점에 대해 좋은 리뷰를 작성해달라고 요청했을때 : “음식이 다 식어있고 맛이 너무 없어요”

3. 사실적 모순 / 오류 (Factual Contradiction / Error)

생성된 문장이 사실과 다른 내용을 포함한 경우

“이순신 대통령은 대한민국 1대 대통령입니다”

4. 무관한 오류 (Non-sensical)

LLM이 실제로는 존재하지 않는 무언가를 집어넣거나 질문과 전혀 관련 없는 내용을 이야기 할때.

“파리는 프랑스의 수도에요. 그리고 파리는 유명한 가수의 이름이에요”

Why Hallucinate?

LLM의 결과 도출방식이 사실상 블랙박스(안을 볼수가 없음 / 봐도 이해 못함)기 때문에 정확히 어떤 이유에서 할루시네이션이 발생했다고 말하기는 어렵지만 몇 가지 일반적인 원인이 있다.

1. 데이터의 품질(Data Quality)

LLM은 노이즈, 오류, 편견, 불일치가 포함된 데이터로 학습하는 경우 예를 들어, 위키피디아나 레딧을 사용했기 때문이다. 레딧이나 위키피디아의 내용을 100% 신뢰할 수는 없다.

데이터가 100% 정확하더라도 콘텐츠 생성에 필요한 모든 주제 / 도메인을 다루지 않을 수 있다.

따라서, 데이터의 정확성 / 관련성을 검증하지 못한채 데이터를 일반화하는 경우가 발생하고 때로는 이러한 방식이 잘못되는 경우가 발생한다.

물론, LLM의 추론(Reasoning) 능력이 향상됨에 따라 환각이 감소하는 경향이 있다.

2. 생성 방식 (Generation Method)

LLM은 텍스트를 생성하기 위해 다양한 방법과 목표를 사용한다. 예를 들어, Beam Search, Sampling, Maximum Likelihood Estimation, Reinforcement Learning)

이러한 방법과 목표는 유창함과 다양성, 일관성과 창의성, 정확성과 참신함 사이의 상충관계(Trade-Off)를 초래할 수 있다.

가령, Beam Search는 높은 확률이지만 포괄적인(Generic) 단어를 낮은 확률이지만 구체적인(Specific)보다 선호한다.

3. 입력 맥락 (Input Context)

여기서 Context란 Input Prompt로 모델에 제공되는 정보를 의미한다.

Context는 모델이 관련성 있고 정확한 출력을 생성하도록 안내하는데 도움이 될 수 있지만,

명확하지 않거나 일관성이 없거나 모순되면 모델을 혼동하거나 오해하게 할 수 있다.

예를 들어, LLM 챗봇에 “고양이가 영어를 할 수 있나요?” 라고 물으면 “아니요, 좀 앉아서 쉬실래요?”라는 답변을 받을것이다. 하지만 만약 내가 가필드 만화 시리즈에 대해 이야기 하고 있다는 Context를 포함했다면 LLM은 “네, 고양이는 영어를 할 수 있고 저 고양이는 라자냐를 두번째로 달라고 할거같아요~” 라는 답변을 받을 것 이다.

Context는 중요하고 학술 에세이나 창의적인 글쓰기 연습에 필요한 텍스트를 찾고 있다고 말하지 않으면 해당 텍스트가 해당 맥락 내에서 응답할것이라 기대할 수 없다.

How can we MITIGATE Hallucination

1. 명확하고 구체적인 프롬프트 제공 (Clear & Specific Prompt)

입력 프롬프트가 더 정확하고 상세할수록 LLM이 관련성이 높고 (가장 중요한) 정확한 출력을 생성할 가능성이 높아진다.

예를 들어, “2차 세계 대전에 무슨 일이 일어났나요?” 라는 질문 대신에

“갈등의 주요 원인에 연루된 주요 국가를 포함하여 제 2차 세계 대전의 주요 사건을 요약할 수 있습니까?” 라고 말할 수 있다.

2. 적극적인 완화 전략 (Active Mitigation)

LLM이 문장을 생성할때 관여하는 hyper parameter를 조정하는 방식이다.

이에 대한 좋은 예는 출력의 Randomness(임의성)을 제어할 수 있는 Temperature 매개변수이다.

Temperature가 낮을수록 더 보수적이고 집중된 답변을 생성하고 Temperature가 높을수록 더 다양하고 창의적인 반응이 생성된다.

다만, Temperature가 높을수록 환각이 일어날 확률이 높아진다.

3. 멀티샷 프롬프트 (Multi-shot Prompt)

하나의 Prompt만 제공하는 Single-shot Prompt와 달리 멀티샷은 LLM에 원하는 출력 형식이나 컨텍스트에 대한 여러 예를 제공해서 모델의 답변을 개선한다.

여러 가지 예를 통해 LLM을 제시해서 패턴이나 context를 보다 효과적으로 인식하는데 도움이 되고 이는

특정 출력 형식이 필요한 작업에 특히 유용하다.

예를 들어, 특정 스타일로 코드를 작성하고, 시를 쓰고, 질문에 특정한 형태로 답을 하는 경우이다.

Reference

Why Large Language Models Hallucinate

'인공지능 > LLM' 카테고리의 다른 글

AGI로 가는 길에 LLM의 한계와 강화학습의 한계  (3) 2024.11.02
할루시네이션 발생 원인  (0) 2024.11.02
LLM의 Risk  (0) 2024.11.02
Knowledge Distillation - LLM  (0) 2024.03.17
RAG란?  (0) 2024.03.17
728x90

원인

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
728x90

LLM의 Risk는 총 4가지가 있다. Hallucination, Bias, Consent, Security.

오늘은 이러한 위험과 그 위험을 완화할 수 있는 전략을 알아보자

Risk 1 : Hallucination

LLM은 구문적(syntactic)으로 올바른 다음 단어를 예측한다.

즉, 사람의 질문을 이해해서 답을 생성하는 것이 아니다.

따라서, 듣기에는 그럴듯해보이지만 거짓말을 늘어놓는 경우가 발생한다.

이러한 잘못된 답변은 통계적 오류다.

예를 들어, “시 A, B, C를 쓴 사람이 누구야?” 라는 질문이 들어왔고 데이터 소스에 작품 A는 작가 X가, 작품 B는 작가 X가, 작품 C는 작가 Z가 작성했다라는 정보가 있다 하자.

이 경우 훈련 데이터에 상충되는 source가 있고 잘못된 답변을 생성하는 경우가 발생할 수 있다.

심지어 훈련 데이터에 불일치가 없더라도 통계적 오류가 발생할 수 있다.

이게 다 LLM이 의미를 이해하지 못하기 때문이다.

Strategy 1 : Explainability

Inline explainability를 제공할수도 있고 지식 그래프를 통해서 실제 데이터와 데이터 계보 및 출처를 제공하는 시스템을 LLM과 연동할 수 있다.

LLM이 방금 생성한 답변의 이유, 데이터의 출처 등..

LLM은 지식 그래프에서 제공한 답변에 대한 변형을 제공할 수 있다.

Risk 2 : Bias

시인에 대한 질문을 했을때 백인 | 남성 | 서유럽 시인만 나열되는 경우가 발생할 수 있다.

즉, 데이터가 편향되어있는 경우이다.

만약 조금 더 일반적인 경우를 원한다면 프롬프트에 “여성과 비서구 유럽인이 포함된 시인 목록을 알려줘”라고 해야 할 수 있다.

Strategy 2 : Culture and Audits

AI는 우리의 편견을 반영하는 훌륭한 거울이라 LLM에 문화를 다양하게 반영하려면 AI를 작업하는 팀도 다양한 배경과 분야에 걸친 인력이 필요하다.

AI 모델을 감사해서 이질적인 결과가 나오면 조직 문화를 바로잡을필요(?)가 있다.

사전 모델 배포와 사후 모델 배포를 감사한다.

Risk 3 : Consent

Curating 하는 데이터가 대표적인 데이터인지? 동의를 받고 수집되었는지? 저작권 문제는 없는지? 등을 살펴봐야한다.

위의 내용들은 찾기 쉬운 자료로 관리해야한다.

자주 LLM의 학습 데이터의 출처를 모르는 경우가 발생한다.

Strategy 3 : Accountability

AI 거버넌스 프로세스 확립, 기존 법률 및 규정 준수 확인, 사람들이 피드백을 통합할 수 있는 방법 제공해야 한다.

Risk 4 : Security

LLM은 모든 종류의 악의적인 작업에 사용 가능하다. 예를 들어 개인정보 유출, 피싱 범죄, 스팸, 사기 지원 등이 있다.

탈옥 : 해커들이 AI 모델로 원래 프로그램을 변경하거나 인종차별을 지지하고 사람들에게 불법적인 일을 하도록 제안하는 경우가 발생한다.

Indirect Prompt Injection : 제 3자가 웹사이트를 변경해서 숨겨진 데이터를 추가해서 AI의 동작을 변경하는 것이다.

따라서, AI에 의존하는 자동화는 사용자가 모르는 사이에 악의적인 지침을 보낼 수 있다.

Strategy 4 : Education

우리가 사용하는 기술의 강점과 약점을 알아야한다.

AI의 책임있는 큐레이션, 위험, 환경비용 및 기회 등에 대한 교육이 필요하다.

오늘날 일부 기술 회사는 LLM의 교육 데이터가 악의적으로 변조되지 않았다고 믿지만 사실은 Website를 사서 오염된 데이터로 채울 수 있고 충분한 예제로 데이터셋을 오염시킨다면 LLM의 동작과 출력에 영향을 미칠 수 있다.

Reference

Risks of Large Language Models (LLM)

'인공지능 > LLM' 카테고리의 다른 글

AGI로 가는 길에 LLM의 한계와 강화학습의 한계  (3) 2024.11.02
할루시네이션 발생 원인  (0) 2024.11.02
Knowledge Distillation - LLM  (0) 2024.03.17
RAG란?  (0) 2024.03.17
챗봇 구현 실습 (4) - 챗봇 구현  (0) 2024.03.17

+ Recent posts