카테고리 없음

gorilla논문 리뷰(LLM 고릴라 맞음, Gorilla - Large Language Model Connected with Massive APIs)

기계학습점쟁이 2024. 11. 28. 11:11

https://arxiv.org/pdf/2305.15334

 

1. 문제정의

 

  • 대형 언어 모델(LLM)은 자연어 처리, 수학적 추론, 프로그래밍 생성 등 다양한 작업에서 뛰어난 성능을 보이고 있으나, API 호출 사용에서 제약이 있음
더보기

API 호출 사용에서 제약이란?

1. API 호출의 기능적 제약

다른 여러가지 제약이 있겠지만 언급한 제약은 주로 API 호출을 사용하는 과정에서 발생할 수 있는 상황과 관련되어 있다.

  • API 호출에는 일반적으로 정확한 파라미터제한 사항이 포함되어야 하고
  • 특정 작업을 수행하기 위해 API는 사용 가능한 자원정확한 호출 방식을 요구한다.

예시:

  • "이미지 분류 모델 중 10M(백만) 매개변수 이하를 사용하며 ImageNet 정확도가 최소 70% 이상인 모델을 호출하라."
    • 이 경우 API 호출은 매개변수 크기정확도라는 두 가지 제약 조건을 만족해야 한다.

2. 데이터 적합성 및 제약

LLM이 API 호출을 생성할 때, 요청하는 데이터의 구조적 조건을 이해하고 충족해야 한다.

  • 제약 조건이 추가되면 API 선택이 더욱 복잡해진다.

예시:

  • "API 호출에서 특정 데이터 형식(JSON, XML) 또는 파라미터 크기 제약을 만족해야 한다."

3. 사용자 요구사항과 제약 조건의 조율

사용자가 요청한 작업에 따라 API 호출은 다양한 제약 조건을 고려해야 한다.

  • 사용자의 추상적 요구사항을 API의 구체적 호출로 변환
  • 제약 조건에 따라 적합한 API를 결정해야 함

예시:

  • 사용자가 "메모리가 적게 사용되면서도 높은 정확도를 가진 이미지 인식 모델"을 요청한 경우:
    • Gorilla는 모델 크기(메모리 제한)와 정확도(정확도 조건)를 동시에 만족시키는 API를 선택 

4. API 호출 시 발생할 수 있는 제약 요인

PDF에서 논의된 API 관련 제약은 아래와 같이 세분화된다:

  • 파라미터 제약: 특정 파라미터가 필수이거나, 선택적인 경우
  • 호환성 제약: API가 특정 라이브러리, 버전, 또는 환경에서만 작동
  • 성능 제약: API 호출이 고속 처리, 대규모 데이터 처리 등에 적합하지 않을 수 있음
  • 문서 변경 및 업데이트 제약: API 문서나 구조가 자주 변경되어 모델이 이를 적응해야 하는 문제

예시:

  • 모델 버전 변경: ResNet-50에서 ResNet-101로 백엔드가 변경될 경우 Gorilla는 이를 자동으로 업데이트하여 적응

5. 환각(hallucination) 문제와 제약

API 호출 생성 시 LLM이 잘못된 정보를 기반으로 존재하지 않는 API를 호출하거나, 잘못된 호출 방식을 생성할 수 있음

  • Gorilla는 이러한 환각 문제를 줄이기 위해 API 제약 조건을 정확히 이해하고, 적합한 호출만 생성하도록 설계됨

예시:

  • 기존 LLM(GPT-4, Claude 등)은 "존재하지 않는 API"나 "잘못된 라이브러리"를 호출하는 경우가 많음
  • Gorilla는 정확한 문서와 데이터를 기반으로 이러한 문제를 방지

정확한 문서와 데이터를 기반으로 이러한 문제를 방지는 어떻게 하는가?

1. 문서 검색 및 참조 (Retriever Integration)

API 호출을 생성할 때 관련 문서나 데이터베이스에서 필요한 정보를 검색하여 호출의 정확성을 높힌다.

 

2. 모델의 세부 학습 (Fine-Tuning with Constraints)

 

3. 환각 방지 (Reducing Hallucination)

정확한 참조 문서 활용:

  • 검색된 API 문서가 항상 최신 상태로 유지되도록 하고, 이를 기반으로 정확한 API 호출을 생성
  • 환각(hallucination)을 "데이터베이스에 존재하지 않는 호출"로 정의하고 이를 방지하도록 학습

훈련 데이터 기반 교정:

  • 모델이 API 호출에서 자주 범하는 오류(잘못된 파라미터, 비호환 호출)를 사전에 분석하고 이를 교정하는 데이터를 학습

실제 코드 실행 검증:

  • 모델 출력(API 호출)을 실제로 실행하여 오류를 확인하고 학습 데이터를 수정

 

 

  • API 호출에서 잘못된 입력값 생성, 잘못된 사용법으로 인한 오류(예: 환각 문제)가 빈번히 발생함

 

2. 그래서 고릴라는?

 

  • LLaMA를 기반으로 API 호출에 특화된 모델로 GPT-4 대비 성능 향상
더보기

LLaMA와 GPT-4의 차이가 뭐길래 LLaMA를 선택했나?

 

LLaMA은 API 호출에 특화되어 있다. GPT-4보다 경량화되어 있고, GPT-4는 기업의 비공개 LLM이기에 파인튜닝이 어렵다. 또 LLaMA의 특화된 검색-생성 기술, Transformer 기반 구조로 GPT-4와 비교해도 떨어지지 않는 능력 등이 LLaMA의 선택 요인으로 작용한 듯하다.

 

  • 검색 시스템과 통합하여 최신 API 문서와 변화에 적응 가능
  • APIBench라는 데이터셋으로 학습 및 평가를 진행

 

3. 특징

 

  • 환각 문제 해결: Gorilla는 API 호출 시의 환각 오류를 크게 줄임
  • 문서 변경 적응: 테스트 시점에서 API 문서의 변화를 효율적으로 반영
  • 사용성 향상: 사용자 요청을 처리하기 위한 적합한 API를 정확히 선택

 

4. 결론

 

  • Gorilla는 API 호출에서 신뢰성과 정확성을 높이는 LLM의 새로운 접근 방식을 제시.
  • 특히 실시간 문서 변화에 적응하고, 다양한 제약 조건을 이해하며 적절한 API를 선택 가능.

 

5. 나의 이해