본문으로 건너뛰기

Gorilla: 리트리버 인식 학습(Retriever-Aware Training)을 통해 LLM API 환각을 78%에서 11%로 줄이는 방법

· 약 6분
Mike Thrift
Mike Thrift
Marketing Manager

Gorilla 논문(Patil et al., 2023, arXiv:2305.15334, NeurIPS 2024)을 읽고 있는 이유는 이 논문이 제가 계속해서 마주치는 두 가지 문제의 교차점에 있기 때문입니다. 하나는 어떻게 LLM 에이전트가 올바른 인자(arguments)와 함께 올바른 도구를 호출하게 만들 것인가 하는 문제이고, 다른 하나는 API가 변경됨에 따라 그 능력을 어떻게 유지할 것인가 하는 문제입니다. 이 논문이 제시하는 해답은 실용적이며 수치상으로도 매우 강력하지만, 평가 방식에 내재된 가정들은 평소보다 더 면밀히 살펴볼 필요가 있습니다.

논문 요약

2026-05-03-gorilla-llm-retrieval-augmented-api-calling

UC 버클리의 Shishir G. Patil, Tianjun Zhang, Xin Wang, Joseph E. Gonzalez가 발표한 Gorilla는 최첨단 LLM이 API 호출 시 환각을 일으키는 구체적인 실패 모드를 다룹니다. 특정 라이브러리 함수를 호출하는 코드를 작성하라는 요청을 받았을 때, GPT-4(2023년 중반 기준)는 그럴싸해 보이지만 틀린 함수 시그니처, 존재하지 않는 모델, 또는 더 이상 사용되지 않는 인자 이름을 생성하는 경우가 많습니다. Gorilla는 정확한 API 호출을 생성하기 위해 특별히 파인튜닝된 70억 매개변수의 LLaMA 기반 모델로, 저자들이 리트리버 인식 학습(Retriever-Aware Training, RAT)이라고 부르는 기술로 훈련되었습니다. 아이디어는 간단합니다. 훈련 중에 모델에게 사용자 쿼리와 함께 검색된 API 문서를 "다음 API 문서를 참고하십시오: <retrieved_API_doc_JSON>" 형식으로 보여주는 것입니다. 이를 통해 모델은 문서를 읽는 방법과 자신의 파라미터 메모리보다 검색된 컨텍스트를 더 신뢰하는 법을 배우게 됩니다. 이러한 특성은 문서가 변경된 추론 시점에 큰 이점을 제공합니다.

평가 데이터셋인 APIBench는 HuggingFace Model Hub API 925개, TorchHub API 95개, TensorFlow Hub API 696개를 포함하며, 각 API당 셀프 인스트럭트(self-instruct)를 통해 생성된 10개의 합성 명령 쿼리가 포함되어 있습니다. 평가 지표는 AST(추상 구문 트리) 서브트리 매칭입니다. 생성된 API 호출을 파싱하여 기능적 정확성을 확인하며, 이를 통해 이 분야에서 처음으로 원칙적인 환각률 측정이 가능해졌습니다.

핵심 아이디어

  • RAT는 추론 시점에 문서를 읽을 수 있게 합니다. 검색된 문서를 포함하는 프롬프트로 훈련함으로써, Gorilla는 가중치에서 API 세부 정보를 회상하는 대신 검색된 텍스트에 의존하는 법을 배웁니다. 이는 모델이 재학습 없이도 API 진화에 따라 최신 상태를 유지할 수 있음을 의미합니다.
  • 제로샷 정확도: Gorilla 5984%, GPT-4 1839%. TorchHub에서 Gorilla는 59.13%를 기록한 반면 GPT-4는 38.70%를 기록했습니다. HuggingFace에서는 71.68% 대 19.80%, TensorFlow Hub에서는 83.79% 대 18.20%였습니다. API 공간이 다양할수록 그 격차는 더 컸습니다.
  • 환각 감소가 핵심입니다. Gorilla의 환각률은 TorchHub에서 6.98%, HuggingFace에서 10.95%, TensorFlow Hub에서 5.40%입니다. 반면 GPT-4의 환각률은 동일한 데이터셋에서 36.55%에서 78.65%에 달했습니다.
  • 오라클 리트리버가 한계치입니다. 정답 문서가 검색된 경우(오라클 모드), 정확도는 67~94%에 도달합니다. 이는 모든 RAG 기반 시스템의 이론적 최선이며, 제로샷 Gorilla와 이 한계치 사이의 격차는 리트리버 개선의 여지를 보여줍니다.
  • 실제 리트리버는 성능이 떨어집니다. 평가 시 오라클 대신 GPT-Index를 사용하면 정확도가 29.20% 하락하고, BM25를 사용하면 52.27% 하락합니다. 검색 노이즈에 대한 모델의 견고함은 실제 존재하지만 무한하지는 않습니다.
  • AST 평가는 일반화됩니다. 서브트리 매칭 방식은 생성된 호출이 단순히 구문적으로 유사한지뿐만 아니라 기능적으로 올바른지를 측정합니다. 이는 실제로 실행될 코드를 출력하는 모든 작업에 적합한 지표입니다.

유효한 점과 의문점

핵심 주장은 타당합니다. 문서가 보강된 프롬프트로 파인튜닝하면 API 호출 정확도가 비약적으로 향상되고 환각이 줄어듭니다. AST 평가 방법론은 진정으로 참신하며, 대규모 환경에서 문자열 매칭이나 인간 평가보다 분명히 우수합니다. RAT는 깔끔하고 재현 가능한 아이디어입니다.

제가 회의적으로 보는 부분은 벤치마크의 범위입니다. HuggingFace, TorchHub, TensorFlow Hub라는 세 데이터셋 모두 매우 정형화된 API 구조를 가진 ML 모델 저장소입니다. 이름을 통해 모델을 로드하고, 몇 가지 키워드 인자를 전달한 뒤 predict와 유사한 메서드를 호출하는 방식입니다. 또한 지침이 합성으로 생성되었기 때문에 테스트 분포가 훈련 분포와 밀접하게 연관되어 있습니다. 셀프 인스트럭트로 훈련되고 ML API용 셀프 인스트럭트 쿼리로 평가되는 모델은 모호한 요청, 다단계 워크플로우, 인자 유형 변환, 인증, 속도 제한 또는 오류 복구와 같이 실제 운영 환경에서 나타나는 난제들에 대해서는 테스트되지 않았습니다.

검색 성능 저하 또한 논문의 서술보다 더 심각합니다. BM25 검색 시 정확도가 52% 하락하는 것은 치명적입니다. 실제 운영 환경에 배포된 리트리버가 오라클보다 BM25에 가깝다면, Gorilla의 이점은 사라집니다. 저자들도 이 격차를 인정하지만 이를 좁힐 구체적인 방안은 제시하지 않았습니다.

마지막으로, 모델 자체가 7B LLaMA 파인튜닝 모델이라는 점입니다. GPT-4 제로샷과의 비교는 인상적이지만 공정하지는 않습니다. GPT-4는 검색된 문서를 사용하도록 훈련되지 않았기 때문입니다. API 문서를 읽도록 설계된 시스템 프롬프트를 갖춘 RAG 보강 GPT-4라면 이 격차를 상당히 좁혔을 것입니다.

금융 AI 분야에서의 중요성

RAT 패턴은 Beancount 라이트백(write-back) 에이전트에 직접 적용할 수 있습니다. Beancount 에이전트는 CLI 명령(bean-query, bean-report), Python API(beancount.loader, beancount.core), 그리고 beancount-ledger FastAPI 서비스를 호출해야 합니다. 이들은 각각 문서화되어 있지만 모델의 학습 데이터에 반드시 포함되어 있지는 않은 구체적인 인자 의미론을 가지고 있습니다. Gorilla의 접근 방식은 다음과 같습니다. 추론 시점에 관련 문서 조각을 검색하여 컨텍스트에 주입하고, 모델이 이를 읽고 따르도록 훈련시키는 것입니다.

금융 맥락에서 환각 수치는 가장 유용한 신호입니다. ML 모델 이름에서 10%의 환각률은 짜증나는 정도일 수 있습니다. 하지만 장부 변동 호출에서의 10% 환각률(잘못된 계정 이름, 잘못된 통화 코드, 뒤바뀐 차변/대변 부호)은 데이터 무결성 문제입니다. 이는 Gorilla 스타일로 훈련된 에이전트라도 쓰기 작업을 커밋하기 전에 실행 시점 검증기(validator)가 필요함을 시사하며, 이는 CRITIC(LOG-012)이 도구 상호작용 비평에 대해 보여준 결과와 일치합니다. 검색 성능 저하에 대한 발견은 이를 뒷받침합니다. 실제 검색 환경에서 정확도가 절반으로 떨어진다면, 안전망을 검색 품질에만 의존할 수는 없습니다.

AST 평가 방법론은 자연스럽게 번역됩니다. Beancount 트랜잭션은 파싱 가능한 구조를 가지고 있으며, 생성된 지시어를 AST 매칭을 통해 스키마와 대조하는 작업은 프리커밋(pre-commit) 훅이나 에이전트 루프에서 실행할 수 있는 가벼운 검증기의 전형적인 예시입니다.

더 읽어보기

  • ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs (arXiv:2307.16789) — API 호출 문제를 16,000개의 실제 REST API와 다단계 도구 사용 체인으로 확장합니다. 단일 호출 ML 저장소 호출만 평가했던 Gorilla의 한계를 직접적으로 다룹니다.
  • The Berkeley Function Calling Leaderboard (BFCL) (OpenReview:2GmDdhBdDk, NeurIPS 2024 포스터) — 시간이 지남에 따라 프런티어 모델의 함수 호출 능력이 어떻게 향상되는지 추적하는 리빙 리더보드로 Gorilla가 진화한 형태입니다. V3는 다회차 상호작용을, V4는 에이전트 기반 웹 검색을 추가했습니다.
  • API-Bank: A Comprehensive Benchmark for Tool-Augmented LLMs — 금융 및 웹 서비스를 포함한 더 넓은 도메인의 73개 API에서 다회차 도구 사용 능력을 평가합니다. APIBench의 좁은 ML 초점을 보완하는 유용한 자료입니다.