Ash Space
GitHubHuggingFace
  • Contents
  • 🥑Resume / CV
    • Reseume / CV
  • 📄Paper Review
    • Paper List
      • [2017] Attention is all you need
      • [2023] CoVe : Chain of Verification Reduces Hallucination in Large Language Models
      • [2024] RAG Survey : A Survey on Retrieval-Augmented Text Generation for Large Language Models
      • [2023] Interleaving Retrieval with Chain-of-Thought for Knowledge-Intensive Multi-Step Questions
      • [2024] Take a Step Back: Evoking Reasoning via Abstraction in Large Language Models
      • [2020] ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT
      • [2024] Retrieval Augmented Generation (RAG) and Beyond
      • [2009] Reciprocal Rank Fusion outperforms Condorcet and individual Rank Learning Methods
      • [2024] Don't Do RAG : When Cache-Augmented Generation is All you Need for Knowledge Tasks
      • [2024] Text2SQL is Not Enough : Unifying AI and Database with TAG
  • 🗂️Research Article
    • Reference List
      • Dataset
      • LLM
      • Prompt Engineering
      • LLMops
      • RAG & Agent
      • Etc
    • Compounded AI System : The Shift from Models to Compound AI Systems
    • LLM과 Grounding
    • Essence of RAG
    • How to reduce Hallucinations
    • Golden Gate Claude Review
    • Editorial Thinking
    • Embedding을 평가하는 방법
    • 나야, Chunk
    • 당신.. Chunking이 뭔지 정확히 알아..?
    • 그래서 제일 좋은 Chunking이 뭔데?
    • 웅장한 대결 AI Agent와 Agentic AI
    • UV써도 괜찮아~ 딩딩딩딩딩
    • 아무도 RAG 평가 셋 만드는 것에 관심가지지 않아~
    • Linguistic Prompts
    • Chroma야, Chunking 평가를 어떻게 한다고?
    • Generations Never Easy
    • Model Context Protocol
    • Chill칠치 못한 Function Calling
    • RAG 평가지표 정복하기
    • LLM Quantization 방법론 알아보기
    • LLM은 더우면 헛소리를 해?
    • Text2SQL 넌 내꺼야!
  • 🏵️Conference
    • 일할맛 판교 3월 세미나
    • LangChainOpenTutorial를 진행하며
    • Talk: Prompt and Language The Science of Prompts 후기
    • 2024년 회고
    • 제 7회 Kako Tech Meet Up 후기
    • Moducon 2023 행사 후기
    • GDGXGDSC DevFest Happy Career 행사 후기
    • 모두를 위한 한국어 오픈액세스 언어모델 못다한 이야기 (feat. 모두연) #1
    • 모두를 위한 한국어 오픈액세스 언어모델 못다한 이야기 (feat. 모두연) #2
    • 맨땅에서 구축해본 개인화시스템 구축기 Session 후기
  • ♟️Basic
    • 00 Introduction
    • 01-1 LLM 지도
    • 01-2 LLM의 중추 트랜스포머 아키텍처 살펴보기
Powered by GitBook
On this page
  • Ⅰ. LLM이 답변을 생성하는 원리
  • 1. 입력 & Logit 값 생성
  • 2. Temperature 연산 & 확률분포 생성
  • Ⅱ. 상황에 따라 조절하는 방법
  1. Research Article

LLM은 더우면 헛소리를 해?

2025.05.05.

Last updated 23 days ago

흔히 이런말을 들어본적이 있을 것이다.

" LLM이 응답을 할 때 temperature가 높으면, 할루시네이션이 높은 답변이 나와!! "

이 말은 과연 올바른 말인지 생각해본적이 있나? 필자의 경우 무심코 "그치, 그말이 맞지"라고 오랫동안 생각했었던 것 같다. 오늘은 방금말한 내용이 정말 올바른 말인지 알아보고, 상황에 따라 Temperature값, 그리고 그에 준하는 다른 파라미터들을 어떻게 적절하게 조절하면 되는지 한번 생각해보자.

Ⅰ. LLM이 답변을 생성하는 원리

일단 가장 먼저 LLM이 답변을 생성하는 원리에 대해 짚고 넘어가자. 아주 단순하게 비유하면 LLM은 주어진 말에이어서 나오기 가장 적당한 단어를 LLM이 알고있는 단어사전에서 선택하는 행동을 반복하는 프로그램이다. 그리고 단어를 선택하는 근본적인 원리가 확률분포이고, 이 확률분포에 영향을 미치는 대표적인 파라미터 값이 Temperature, Top-K, Top-P이다.

실제로 LLM의 원리에 입각하여 Next Token(=다음단어)을 예측하는데 실질적인 과정은 다음 단계를 따른다.

1. 입력 & Logit 값 생성

LLM의 입력 값으로 들어온 컨텍스트에 기반해 사전상의 모든 토큰에 점수를 매깁니다. 이 값은 로짓(Logit)값 이라고 합니다. 만약 LLM에 "한국의 수도는"이라는 컨텍스트가 입력이 되었다고 가정하고 생성된 토큰별 로짓값이 아래와 같다고 상정해보겠습니다.

  • 서울 : 12.4

  • 부산 : 8.2

  • 인천 : 5.1

  • 기타 : ...

2. Temperature 연산 & 확률분포 생성

토큰별 logit값을 temperature 값으로 나누어 정규화해줍니다. 만약 temperature가 1이면 아무 영향이 없고, 1보다 크면 각 토큰간 점수 차이가 작아지며, 1보다 작으면 차이가 커질 것 입니다. 이를 풀어서 얘기하면 temperature가 작을수록

  1. Logit 값 생성 (e.g. Logit Value = 서울 : 12.4, 부산 : 8.2, 인천 : 5.1, ... )

  2. Temperature 연산 (e.g. Scaled Logit = 서울 : 17.7, 부산 : 11.7, 인천 : 7.3, ... )

  3. 확률분포 생성 (e.g. Softmax 생성 = 서울 70%, 부산 20%, 인천 5%, ... )

  4. Top-K 필터링 (e.g. top-k=3, 최대 3개 토큰만 남기고 정규화 = 서울 74%, 부산 21%, 인청 5% )

  5. Top-P 필터링 (e.g. top-p=0.95, 누적확률이 0.95가 될 때까지 토큰 선택 후 다시 정규화 = 서울 78%, 부산 22% )

  6. 샘플링 후 출력 (e.g. 한국의 수도는 서울)

Ⅱ. 상황에 따라 조절하는 방법

🗂️
에휴..