본문 바로가기

AI

[AI] LLM은 이제 “답을 한 번 생성하는 모델”이 아니다

참조: https://neurips.cc/virtual/2024/tutorial/99522

NeurIPS 2024 Tutorial: Beyond Decoding이 말하는 Meta-Generation

LLM을 사용할 때 가장 먼저 떠올리는 방식은 단순하다.

질문을 입력한다.
모델이 답변을 생성한다.
그 답변을 그대로 사용한다.

초기의 LLM 활용은 대부분 이 구조에 가까웠다. 프롬프트를 잘 쓰고, temperature를 조절하고, top-k나 top-p 같은 decoding 옵션을 바꾸면 결과가 달라졌다. 하지만 NeurIPS 2024 튜토리얼 **“Beyond Decoding: Meta-Generation Algorithms for Large Language Models”**가 다루는 핵심은 그보다 한 단계 위에 있다.

이제 중요한 질문은 “다음 토큰을 어떻게 고를 것인가?”가 아니다.

더 중요한 질문은 이것이다.

이미 학습된 LLM을 추론 시점에 어떻게 여러 번 사용하고, 검증하고, 탐색하고, 선택할 것인가?

공식 튜토리얼 페이지는 NeurIPS 2024 Tutorial, 별도 자료 사이트는 CMU L3 Tutorial Site에서 확인할 수 있다.

기존 Decoding은 무엇인가

LLM은 기본적으로 다음 토큰을 예측하는 모델이다. 사용자가 문장을 입력하면 모델은 다음에 올 가능성이 높은 토큰을 계산하고, 그 토큰을 하나씩 이어 붙이면서 답변을 만든다.

이때 어떤 토큰을 선택할지 결정하는 방식이 decoding이다.

대표적인 decoding 방식은 다음과 같다.

방식 설명
Greedy decoding 매 순간 가장 확률이 높은 토큰을 선택
Beam search 여러 후보 경로를 유지하면서 가장 좋은 문장을 탐색
Top-k sampling 확률 상위 k개 토큰 중에서 샘플링
Top-p sampling 누적 확률 p 안에 들어오는 토큰 중에서 샘플링
Temperature 확률 분포를 더 보수적이거나 다양하게 조절

이 방식들은 주로 토큰 단위에서 작동한다. 즉, “지금 이 순간 어떤 단어를 고를 것인가?”에 가깝다.

하지만 실제 문제 해결은 토큰 하나를 잘 고른다고 끝나지 않는다.

코드를 작성할 때는 실행이 되는지 확인해야 한다.
수학 문제를 풀 때는 중간 추론이 맞는지 검토해야 한다.
문서를 요약할 때는 중요한 내용이 빠지지 않았는지 비교해야 한다.
복잡한 업무 자동화에서는 도구 호출, 재시도, 검증, 수정이 필요하다.

여기서 meta-generation이 등장한다.

Meta-Generation이란 무엇인가

Meta-generation은 LLM이 한 번 생성한 결과를 그대로 쓰는 것이 아니라, 생성 과정 바깥에서 더 큰 알고리즘을 설계하는 방식이다.

간단히 말하면 다음과 같은 구조다.

질문 입력
→ 여러 후보 답변 생성
→ 각 후보 검증
→ 점수화 또는 비교
→ 필요하면 다시 생성
→ 최종 답변 선택
 

이 방식은 단순한 “프롬프트 엔지니어링”보다 넓은 개념이다. LLM을 하나의 함수처럼 여러 번 호출하고, 그 결과를 외부 알고리즘이 관리한다.

예를 들어 코드 생성에서는 다음과 같이 구성할 수 있다.

요구사항 입력
→ 코드 후보 여러 개 생성
→ TypeScript 검사 실행
→ 테스트 실행
→ 실패 로그를 LLM에 다시 전달
→ 수정 코드 생성
→ 통과한 후보 중 가장 적절한 코드 선택
 

이 경우 LLM의 성능은 모델 자체의 능력만으로 결정되지 않는다.
후보를 몇 개 만들 것인지, 무엇으로 검증할 것인지, 실패했을 때 어떻게 되돌릴 것인지가 결과 품질을 크게 바꾼다.

대표적인 Meta-Generation 방식들

Meta-generation에는 여러 접근이 있다.

첫 번째는 Best-of-N이다.
같은 질문에 대해 답변을 여러 개 생성하고, 그중 가장 좋은 답을 고른다. 단순하지만 강력하다. 특히 채점 기준이나 verifier가 있을 때 효과가 크다.

두 번째는 Self-Consistency다.
수학 문제나 추론 문제에서 여러 개의 풀이 과정을 생성한 뒤, 가장 많이 도달한 답을 선택한다. 하나의 chain-of-thought에 의존하지 않고 여러 추론 경로를 비교하는 방식이다.

세 번째는 Self-Refinement다.
모델이 먼저 답을 만들고, 다시 그 답을 비판하거나 개선한다. “초안 작성 → 검토 → 수정”에 가까운 흐름이다.

네 번째는 Verifier-Guided Generation이다.
생성된 결과를 별도의 검증기로 평가한다. 코드라면 테스트, 컴파일러, 린터가 verifier가 될 수 있다. 수학 문제라면 계산 검증기나 reward model을 사용할 수 있다.

다섯 번째는 Search-based Generation이다.
하나의 답변을 끝까지 생성하는 대신, 여러 중간 상태를 탐색한다. Tree-of-Thought, planning 기반 agent, backtracking 구조가 여기에 가깝다.

왜 지금 Meta-Generation이 중요한가

LLM 연구에서는 오랫동안 training-time scaling이 중요했다. 더 많은 데이터, 더 큰 모델, 더 긴 학습 시간이 성능을 끌어올렸다.

하지만 모든 사람이 거대한 모델을 직접 학습시킬 수는 없다. 대부분의 개발자와 기업은 이미 만들어진 모델을 API나 오픈소스 모델로 사용한다.

이때 현실적인 성능 향상 방법은 inference-time scaling이다.

즉, 모델을 새로 학습시키는 대신 추론 시점에 더 많은 계산을 사용한다.

  • 한 번만 생성하지 않고 여러 번 생성한다.
  • 답변을 검증한다.
  • 실패한 답을 수정한다.
  • 검색, 도구, 테스트 결과를 반영한다.
  • 더 좋은 후보를 선택한다.

이 방식은 비용이 더 들 수 있지만, 모델을 새로 학습시키는 것보다는 훨씬 현실적이다. 특히 코드 생성, 데이터 분석, 문서 작성, 업무 자동화처럼 결과 검증이 가능한 영역에서는 효과가 크다.

실무 개발자 관점에서의 의미

서비스 개발에서 LLM을 붙일 때 흔히 이런 구조를 생각한다.

사용자 입력 → LLM API 호출 → 응답 출력
 

하지만 이 구조는 복잡한 문제에 취약하다. 모델이 한 번 틀리면 그대로 틀린 결과가 사용자에게 전달된다.

더 안정적인 구조는 다음에 가깝다.

사용자 입력
→ 작업 분해
→ 후보 생성
→ 도구 실행
→ 검증
→ 수정
→ 최종 응답
 

예를 들어 프론트엔드 코드 생성 도구를 만든다면 LLM 응답을 그대로 파일에 쓰는 것은 위험하다. 대신 다음 흐름이 필요하다.

요구사항 분석
→ 컴포넌트 코드 생성
→ 타입 검사
→ ESLint 실행
→ 테스트 실행
→ 실패 로그 기반 수정
→ 최종 diff 제공
 

이런 구조에서는 LLM이 “답변 생성기”가 아니라 문제 해결 루프의 한 구성 요소가 된다.

Meta-Generation은 Agent와도 연결된다

요즘 많이 말하는 AI agent도 meta-generation의 관점에서 볼 수 있다.

Agent는 단순히 답변을 생성하지 않는다. 목표를 받고, 계획을 세우고, 도구를 호출하고, 결과를 확인하고, 다음 행동을 결정한다.

목표 설정
→ 계획 수립
→ 도구 호출
→ 결과 관찰
→ 다음 행동 선택
→ 완료 여부 판단
 

이 구조는 decoding 옵션만으로 만들 수 없다. 모델 바깥에서 generation process를 관리하는 알고리즘이 필요하다.

그래서 “Beyond Decoding”이라는 표현이 중요하다. 앞으로의 LLM 시스템은 단순히 더 좋은 sampling 옵션을 고르는 수준을 넘어, 추론 시점의 전체 생성 알고리즘을 설계하는 방향으로 발전하고 있다.

정리

NeurIPS 2024의 Beyond Decoding: Meta-Generation Algorithms for LLMs는 LLM 활용의 관점을 바꾼다.

기존에는 모델이 얼마나 좋은 답을 한 번에 생성하는지가 중요했다.
하지만 이제는 모델을 어떻게 반복 호출하고, 검증하고, 탐색하고, 선택하는지가 중요해지고 있다.

핵심은 다음과 같다.

관점 기존 DecodingMeta-Generation
작동 단위 토큰 문장, 풀이, 전체 후보
호출 방식 주로 1회 생성 여러 번 생성
검증 제한적 verifier, 테스트, 도구 활용
목표 자연스러운 텍스트 생성 더 좋은 결과 선택
실무 연결 프롬프트 튜닝 Agent, 코드 생성, 자동화 시스템

LLM을 제대로 활용하려면 이제 “어떤 모델을 쓸 것인가?”만 봐서는 부족하다.

같은 모델이라도 추론 시점 알고리즘을 어떻게 설계하느냐에 따라 결과 품질은 크게 달라진다.
앞으로 LLM 서비스의 경쟁력은 모델 자체뿐 아니라, 그 모델을 둘러싼 생성·검증·수정 루프를 얼마나 잘 설계했는가에서 나올 가능성이 크다.

728x90