austin-distel-rxpThOwuVgE-unsplash.jpg

AI연구회

경남ICT협회 AI 연구 모임

LLM 환각의 이해 및 완화

아래 내용은 Felipe “de Pontes Adachi” 블로그에서 가져온 내용입니다.  ML & NLP에 관심이 많은 분인것 같습니다. 아래 내용 참조가 되었으면 합니다. 

------------

LLM 환각의 이해 및 완화

저명한 연구 논문에서 제시된 LLM 환각 감지 문제 및 가능한 솔루션

최근 대규모 언어 모델(LLM)은 사용자 프롬프트에 대해 매우 유창하고 설득력 있는 응답을 생성하는 등 인상적이고 증가하는 기능을 보여주었습니다. 그러나 LLM은 사실이 아니거나 무의미한 진술을 생성하는 능력으로 알려져 있으며, 이는 일반적으로 "환각"으로 알려져 있습니다. 이러한 특성은 요약 작업, 생성적 질문 답변 및 대화 생성과 같이 사실성이 필요한 많은 시나리오에서 신뢰를 훼손할 수 있습니다.

환각을 감지하는 것은 인간들 사이에서 항상 어려운 일이었으며, 이는 LLM의 맥락에서도 마찬가지입니다. 이는 일반적으로 일관성 검사를 위해 실측 자료 컨텍스트에 액세스할 수 없다는 점을 고려할 때 특히 어렵습니다. 출력 확률 분포와 같은 LLM 생성에 대한 추가 정보가 이 작업에 도움이 될 수 있습니다. 그러나 이러한 유형의 정보를 사용할 수 없는 경우가 많아 작업이 훨씬 더 어려워집니다.

환각 감지는 아직 해결되지 않았으며 활발한 연구 분야입니다. 이 블로그 게시물에서는 일반적인 작업과 그 과제 및 연구 논문 SELFCHECKGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models[1]에 발표된 한 가지 가능한 접근 방식을 제시합니다. 논문에 제시된 몇 가지 접근 방식을 실제 사례와 함께 설명하고 각 방법의 장단점을 지적합니다. 이 Google Colab 노트북으로 이동하여 예제를 직접 검토할 수 있습니다.

💡 업데이트: 이 블로그 게시물에서 수행한 연구에서 영감을 받아 LangKit의 새로운 기능을 출시했습니다response_hallucination 모듈은 일관성 점수를 자동으로 계산하여 LLM에서 환각 반응의 존재에 대한 통찰력을 얻는 데 도움이 됩니다. 이 예제 노트북에서 확인할 수 있습니다

이 블로그에서 다루는 내용은 다음과 같습니다.

  • LLM 환각이란 무엇입니까?
  • 접근 방식: SelfCheckGPT
  • 일관성 검사
    1. 버트스코어
    2. 자연어 추론
    3. LLM 프롬프트
  • 실험
  • 결론
  • 참조

 

LLM 환각이란 무엇입니까?

자연어 생성에서 환각은 "무의미하거나 제공된 소스 콘텐츠에 충실하지 않은 생성된 콘텐츠"[2]로 정의할 수 있습니다. 원본 콘텐츠는 서로 다른 작업에 대해 서로 다른 기능을 나타낼 수 있습니다. 예를 들어, 요약 작업의 경우 소스는 요약되는 입력 텍스트인 반면, 생성적 질의응답 작업의 경우 소스는 세계 지식으로 간주됩니다[2]. 질문 답변 작업에 초점을 맞추고 사용자 질문의 한 가지 예와 OpenAI의 GPT 모델(text-davinci-003)에서 제공한 답변을 살펴보겠습니다.

사용자 프롬프트: Philip Hayworth는 누구였습니까?

LLM 응답 : 필립 헤이 워스 (Philip Hayworth)는 1859 년부터 1868 년까지 Thetford의 의회 의원을 지낸 영국의 변호사이자 정치인이었습니다.

얼핏 보기에는 일관성 있는 대답처럼 보이지만, 얼마 지나지 않아 우리는 스스로에게 매우 합리적인 질문을 던질 수 있습니다.

하지만 새로운 질문에 답할 수 있는 정보가 많지 않습니다. 진술을 검증하는 데 사용할 수 있는 입증된 사실이 있는 컨텍스트가 없습니다. LLM은 일반적으로 방대한 텍스트 말뭉치에서 학습되며, 진술이 특정 정보 소스에 근거하는지 확인하기 어려울 수 있습니다. 빠른 Google 검색은 응답과 일치하는 사람에 대한 조회수를 표시하지 않습니다. 정확히 무엇이 환각을 구성하는지는 아직 잘 규명되지 않았지만, 이 이름, 위치, 직업을 가진 피험자가 전혀 존재하지 않았을 수도 있기 때문에 이 예는 당연히 환각으로 간주될 수 있다.

다른 질문으로 다시 시도해 보겠습니다.

사용자 프롬프트: 빌 게이츠는 누구인가?

LLM 답변: Bill Gates는 기술 기업가, 투자자 및 자선가입니다. 그는 Microsoft Corporation의 공동 설립자이며 세계에서 가장 부유한 사람 중 한 명입니다.

좋아, 이 진술은 확인하기가 훨씬 쉽고 Wikipedia의 빠른 확인으로 뒷받침되므로 이것은 환각이 아닐 것입니다. 훈련 중에 LLM은 Bill Gates에 대한 많은 진술을 보았을 가능성이 매우 높으므로 "Bill Gates is _" 뒤의 다음 토큰은 높은 신뢰도로 생성될 가능성이 높습니다. 반면에 LLM은 "Philip Hayworth is _" 뒤에 어떤 단어를 사용해야 할지 확신하지 못할 수 있습니다. 이 통찰을 통해 우리는 불확실성을 사실성과 연결할 수 있는데, 사실에 입각한 문장은 환각된 문장과 비교할 때 더 높은 확률로 예측된 토큰을 포함할 가능성이 높기 때문입니다. 그러나 많은 경우에 대한 출력 확률 분포가 없을 수 있습니다.

본 세션의 예시와 내용은 원본 논문 [1]을 기반으로 작성되었으며, 다음 섹션에서 논문의 접근 방식을 계속 살펴볼 것입니다.

접근 방식: SelfCheckGPT

마지막 섹션에서는 접근 방식에 대한 두 가지 중요한 고려 사항, 즉 외부 컨텍스트에 대한 액세스와 LLM의 출력 확률 분포에 대한 액세스를 고려했습니다. 메서드가 일관성 검사를 수행하기 위해 외부 컨텍스트 또는 데이터베이스를 필요로 하지 않는 경우 이를 리소스가 없는 메서드라고 부를 수 있습니다. 마찬가지로, LLM에서 생성된 텍스트만 필요한 메서드는 블랙박스 메서드라고 할 수 있습니다.

이 블로그 게시물에서 이야기하고자 하는 접근 방식은 리소스가 없는 블랙박스 환각 감지 방법이며, 동일한 프롬프트에 대한 샘플링된 응답이 환각된 사실에 대해 서로 발산하고 모순될 가능성이 높으며 사실에 입각한 진술에 대해 서로 유사하고 일관성이 있을 수 있다는 전제를 기반으로 합니다.

이전 예제를 다시 살펴보겠습니다. 감지 방법을 적용하려면 더 많은 샘플이 필요하므로 LLM에 동일한 질문을 세 번 더 해 보겠습니다.

텍스트, 스크린샷, 폰트, 번호이(가) 표시된 사진

자동 생성된 설명

작성자별 표

실제로, 그 대답들은 서로 모순된다 — 때때로 필립 헤이워스(Philip Hayworth)는 영국의 정치인이고, 다른 샘플들에서, 그는 모두 다른 시대에 살고 행동했던 호주의 엔지니어 또는 미국 변호사이다.

빌 게이츠의 예와 비교해 보겠습니다.

텍스트, 스크린샷, 폰트, 번호이(가) 표시된 사진

자동 생성된 설명

작성자별 표

Bill Gates에게 할당된 직업, 조직 및 특성이 표본 간에 일관되며 동일하거나 의미상 유사한 용어가 사용됨을 관찰할 수 있습니다.

일관성 검사

이제 여러 샘플이 있으므로 마지막 단계는 답변이 서로 일치하는지 여부를 확인하는 방법인 일관성 검사를 수행하는 것입니다. 이 작업은 여러 가지 방법으로 수행할 수 있으므로 백서에 제시된 몇 가지 접근 방식을 살펴보겠습니다. 이 Google Colab 노트북을 확인하여 코드를 직접 실행해 보세요.

버트스코어

이 검사를 수행하는 직관적인 접근 방식은 샘플 간의 의미론적 유사성을 측정하는 것이며, BERTScore[3]는 이를 수행하는 한 가지 방법입니다. BERTScore는 후보 문장의 각 토큰에 대한 유사성 점수를 참조 문장의 각 토큰과 함께 계산하여 문장 간의 유사성 점수를 계산합니다.

SelfCheckGPT의 맥락에서 점수는 문장당 계산됩니다. 원래 답변의 각 문장은 주어진 샘플의 각 문장에 대해 점수가 매겨져 가장 유사한 문장을 찾습니다. 이러한 최대 유사성 점수는 모든 샘플에서 평균화되어 원래 답변의 각 문장에 대한 최종 환각 점수가 됩니다. 최종 점수는 유사하지 않은 문장의 경우 1, 유사한 문장의 경우 0을 향해야 하므로 1에서 유사성 점수를 빼야 합니다.

첫 번째 샘플에 대해 원래 답변의 첫 번째 문장을 확인하는 방법을 보여 드리겠습니다.

텍스트, 스크린샷, 라인, 폰트이(가) 표시된 사진

자동 생성된 설명

이미지 제공: author

첫 번째 표본의 최대 점수는 0.69입니다. 나머지 두 샘플에 대해 프로세스를 반복하고 다른 최대 점수가 0.72와 0.72라고 가정하면 이 문장의 최종 점수는 1 — (0.69+0.72+0.72)/3 = 0.29가 됩니다.

의미론적 유사성을 사용하여 일관성을 확인하는 것은 직관적인 접근 방식입니다. 다른 인코더는 표현을 임베딩하는 데 사용할 수 있으므로 더 자세히 살펴볼 수 있는 접근 방식이기도 합니다.

자연어 추론

자연어 추론은 전제에 따라 가설이 참인지, 거짓인지, 결정되지 않았는지를 결정하는 작업입니다[4]. 우리의 경우 각 샘플이 전제로 사용되고 원래 답변의 각 문장이 가설로 사용됩니다. 샘플의 점수는 최종 점수를 얻기 위해 각 문장에 대해 평균을 구합니다. 수반은 Multi-NLI 데이터 세트[5]에 맞게 미세 조정된 Deberta 모델로 수행됩니다. "entailment" 또는 "contradiction"과 같은 실제 클래스 대신 정규화된 예측 확률을 사용하여 점수를 계산합니다. [6]

수반되는 작업은 일관성 검사라는 목표에 더 가깝기 때문에 해당 목적을 위해 미세 조정된 모델이 잘 수행될 것으로 기대할 수 있습니다. 저자는 또한 HuggingFace에서 모델을 공개적으로 공유했으며 다른 NLI 모델도 공개적으로 사용할 수 있으므로 이 접근 방식을 매우 쉽게 사용할 수 있습니다.

LLM 프롬프트

이미 LLM을 사용하여 답변과 샘플을 생성했다는 점을 고려하면 LLM을 사용하여 일관성 검사를 수행하는 것이 좋습니다. LLM을 쿼리하여 각 원본 문장과 각 샘플에 대한 일관성 검사를 컨텍스트로 지정할 수 있습니다. 원본 논문의 저장소에서 가져온 아래 이미지는 이것이 어떻게 수행되는지 보여줍니다.

텍스트, 스크린샷, 폰트, 번호이(가) 표시된 사진

자동 생성된 설명

LLM 프롬프트가 있는 SELFCHECKGPT. 보낸사람: HTTPS://GITHUB.COM/POTSAWEE/SELFCHECKGPT/TREE/MAIN

최종 점수는 1을 "아니오"에, 0을 "예"에, 0.5를 N/A에 할당하고 샘플 전체의 값을 평균화하여 계산할 수 있습니다.

다른 두 가지 접근 방식과 달리, 이 방법은 선택한 LLM에 대한 추가 호출이 발생하므로 추가 지연 시간과 추가 비용이 발생할 수 있습니다. 다른 한편으로는, LLM의 기능을 활용하여 이 검사를 수행할 수 있습니다.

실험

세 가지 접근 방식 각각에 대해 논의한 두 가지 예에 대한 결과로 무엇을 얻을 수 있는지 살펴보겠습니다.

텍스트, 스크린샷, 번호, 폰트이(가) 표시된 사진

자동 생성된 설명

작성자별 표

이러한 값은 메서드를 설명하기 위한 용도로만 사용됩니다. 단 세 문장으로 어떤 접근 방식이 가장 좋은지 비교하고 결정하는 수단이 되어서는 안 됩니다. 이를 위해 원본 논문은 이 블로그 게시물에서 논의되지 않은 추가 버전을 포함하여 논문 리포지토리의 실험 결과를 여기에 공유합니다. 결과에 대해 자세히 설명하지는 않겠지만, 세 가지 지표(NonFact, Factual, Ranking)를 모두 보면 LLM-Prompt가 가장 성능이 좋은 버전이며, NLI 버전이 그 뒤를 바짝 쫓고 있습니다. BERTScore 버전은 나머지 두 버전보다 훨씬 더 나빠 보입니다. 우리의 간단한 예제는 공유 결과의 라인을 따르는 것 같습니다.

결론

이 블로그 게시물이 환각 문제를 설명하는 데 도움이 되었기를 바라며 환각 감지를 위한 한 가지 가능한 솔루션을 제공하기를 바랍니다. 이것은 비교적 새로운 문제이며 이를 해결하기 위한 노력이 이루어지고 있다는 것을 알게 되어 기쁩니다.

논의된 접근 방식은 외부 컨텍스트(리소스 제로)를 요구하지 않고 LLM의 출력 확률 분포(블랙박스)를 요구하지 않는다는 장점이 있습니다. 그러나 여기에는 비용이 수반됩니다: 원래 응답 외에도 일관성 검사를 수행하기 위해 추가 샘플을 생성해야 하므로 대기 시간과 비용이 증가합니다. 일관성 검사에는 선택한 방법에 따라 응답을 임베딩으로 인코딩하거나, 텍스트 수반을 수행하거나, LLM을 쿼리하기 위한 추가 계산 및 언어 모델도 필요합니다.

 

기업 홍보를 위한 확실한 방법
협회 홈페이지에 회사정보를 보강해 보세요.