Ollama Minions: Hybrid Local and Cloud LLM Collaboration

Stanford Hazy Research 연구원들이 다른 전문가들과 협력하여 LLM 워크로드의 상당 부분을 클라우드에서 소비자 기기로 전환하는 방법을 개발했습니다. 소형 온디바이스 모델(Ollama를 통해 실행되는 Llama 3.2와 같은)이 대형 클라우드 기반 모델(GPT-4o와 같은)과 협업할 수 있도록 함으로써, 이 프레임워크는 출력 품질에 미치는 영향을 최소화하면서 원격 운영 비용을 줄입니다.

Hybrid LLM Protocols: Minion and MinionS

이 프레임워크는 비용 절감과 성능 유지 사이의 균형을 최적화하도록 설계된 두 가지 별개의 프로토콜 구성을 도입합니다.

Minion Protocol

Minion 프로토콜은 클라우드 모델이 데이터에 접근할 수 있는 단일 로컬 모델과 자유롭게 채팅할 수 있도록 합니다. 이 반복적인 통신은 두 모델이 해결책에 도달할 때까지 계속됩니다.

  • Cost Efficiency: Achieves a 30.4x reduction in remote costs.
  • Performance: Maintains 87% of the cloud model's original performance.

MinionS Protocol

MinionS 프로토콜에서는 클라우드 모델이 복잡한 작업을 작은 단위의 하위 작업으로 분해합니다. 이러한 하위 작업은 컨텍스트의 청크 단위로 작동하는 소형 LLM에 의해 병렬로 수행됩니다.

  • Cost Efficiency: Achieves a 5.7x reduction in remote costs.
  • Performance: Maintains 97.9% of the cloud model's performance.

Technical Implementation and Setup

Minions 프레임워크는 오픈 소스 프로젝트로 제공됩니다. 구현을 위해서는 로컬 LLM 러너(Ollama)와 클라우드 LLM API(OpenAI)가 필요합니다.

Installation

환경을 설정하려면 사용자는 저장소를 클론하고 종속성을 설치할 수 있습니다:

git clone https://github.com/HazyResearch/minions.git 
cd minions
pip install -e .

Local and Cloud Requirements

  • Local Model: Ollama가 설치되어 있어야 하며 llama3.2와 같은 모델을 로컬로 가져와야 합니다 (ollama pull llama3.2).
  • Cloud Model: gpt-4o와 같은 모델과 인터페이스하기 위해 OpenAI API 키가 필요합니다.

Programmatic Usage

minions Python 패키지는 두 프로토콜의 프로그래밍 방식 실행을 지원합니다.

Minion 프로토콜의 경우, Minion 클래스는 OllamaClientOpenAIClient로 인스턴스화됩니다. 프로세스는 minion 객체에 작업과 컨텍스트를 전달하고, 최대 통신 라운드 수를 지정하는 과정을 포함합니다.

MinionS 프로토콜의 경우, Minions 클래스가 사용됩니다. 이 구성은 Pydantic 모델(예: explanation, citation, answer 스키마 정의)을 통해 구조화된 출력을 지원하여, 클라우드 모델이 로컬 모델을 통해 병렬 하위 작업을 조율할 수 있도록 합니다.

Sources

관련

  • Dispatch
  • Dispatch
  • 프로젝트
  • Dispatch
  • Dispatch