NVIDIA/Personal-AI-Router

Router that virtually distributes inference across connected devices in the home.

NVIDIA Personal AI Router(PAIR)

정의 – PAIR는 동일한 로컬 네트워크에 있는 여러 컴퓨터가 LLM 추론 실행 부하를 공유할 수 있게 해주는 데스크톱 플러스 서비스 애플리케이션입니다. 다른 PAIR 노드를 발견하고, 각 노드가 보유한 추론 엔진(Ollama, LM Studio, llama.cpp)과 모델을 추적한 다음, 수신 API 호출(OpenAI 스타일, Anthropic 스타일 또는 Ollama 스타일)을 가장 적합한 머신으로 라우팅합니다.

핵심 아이디어

  • 로컬 전용 라우팅 – 모든 트래픽은 LAN 내에 유지됩니다. 클라우드 구성 요소가 필요 없습니다.
  • 요청별 라우팅 – 각 요청은 요청된 모델을 보유하고 충분한 여유 GPU/메모리가 있는 단일 노드로 전송됩니다. PAIR는 단일 모델을 GPU 간에 분할하거나 GPU 메모리를 풀링하지 않습니다.
  • 크로스 플랫폼 – Windows 11, Linux(deb 패키지), macOS(dmg)에서 실행됩니다. 지원되는 모든 OS의 노드를 클러스터에 혼합할 수 있으며 x86-64와 arm64를 모두 지원합니다(Windows-ARM은 실험적).
  • 엔진 관리 – PAIR는 지원되는 엔진을 설치, 시작, 중지, 업데이트하고 각 엔진에서 사용 가능한 모델을 추적합니다.
  • 다중 API 변형 – OpenAI, Anthropic Messages 및 Ollama API를 모방하는 로컬 프록시 엔드포인트를 노출하므로 기존 클라이언트 코드가 변경 없이 작동합니다.

빠른 시작(데스크톱 흐름)

  1. 다운로드 – GitHub 릴리스 페이지에서 적절한 설치 프로그램을 다운로드합니다(Windows .exe, Linux .deb, macOS .dmg).
  2. 설치 – 설치 프로그램을 실행합니다. 백그라운드 서비스, 방화벽 규칙 및 데스크톱 UI가 설정됩니다.
  3. PAIR 실행 – 다른 프로그램처럼 앱을 엽니다.
  4. 엔진 추가 – 엔진 설정에서 Ollama, LM Studio 또는 llama.cpp 옆의 설치를 클릭합니다. PAIR가 자동으로 엔진을 다운로드하고 구성합니다.
  5. 모델 추가 – 모델 추가를 클릭하고 내장 목록에서 모델(예: qwen4:12b 또는 Hugging Face의 모든 GGUF 모델)을 선택한 다음 엔진이 다운로드하도록 합니다.
  6. 테스트 – 내장 테스트 버튼 또는 간단한 curl 요청을 사용합니다:
    curl http://127.0.0.1:11434/v1/chat/completions \
         -H "Content-Type: application/json" \
         -d '{"model":"qwen4:12b","messages":[{"role":"user","content":"What does a router do?"}]}'
    
    응답은 표준 OpenAI 스타일 JSON 페이로드입니다.
  7. 노드 추가 – 설정 → 클러스터에서 첫 번째 머신에 6자리 PIN을 생성하고 두 번째 머신에 입력한 다음 거기서 엔진/모델 단계를 반복합니다. 이제 PAIR는 용량이 있는 노드로 요청을 라우팅합니다.

터미널 인터페이스(GUI 없음)

헤드리스 또는 서버 머신의 경우 PAIR는 동일한 백그라운드 서비스를 시작하고 노드, 작업 및 로그의 전체 화면 보기를 표시하는 터미널 UI를 제공합니다. 데스크톱 앱에서 사용 가능한 모든 구성 작업은 터미널에서 수행할 수 있습니다.

라우팅 작동 방식

  • PAIR는 각 노드의 GPU 및 메모리 사용량을 지속적으로 모니터링합니다.
  • 요청이 도착하면 다음 조건을 충족하는 노드를 찾습니다:
    1. 요청된 모델을 로드했거나(또는 빠르게 로드할 수 있음).
    2. 추론에 충분한 여유 리소스가 있음.
    3. 스케줄러에 따라 현재 가장 부하가 적음.
  • 요청은 적절한 API 엔드포인트를 통해 해당 노드의 로컬 엔진으로 전달됩니다. 응답은 원래 클라이언트로 프록시됩니다.

지원되는 엔진 및 모델

엔진 제공 내용 모델 형식
Ollama OpenAI 호환 API를 갖춘 풀스택 서버 gguf 및 네이티브 Ollama 형식
LM Studio GUI 기반 서버, OpenAI 호환 Ollama와 동일
llama.cpp GGUF 파일용 경량 CPU/GPU 추론 GGUF(*.gguf)

설치 및 업그레이드

  • Windows/macOS – 설치 프로그램을 두 번 클릭하고 프롬프트를 따릅니다. 설치 프로그램은 권한 있는 도우미를 등록하고, 방화벽 규칙을 추가하고, 자동 업데이트 확인을 설정합니다(설정 → 서비스에서 옵트인).
  • Linux – sudo apt install ./NVPAIR-Setup-*.deb. 업데이트는 새 .deb 패키지로 제공됩니다. 활성화하면 앱이 자체 업데이트할 수 있습니다.
  • 소스에서 – 전제 조건과 서비스 및 UI 컴파일에 필요한 cargo/npm 명령은 docs/building.mdx를 참조하세요.

제거 / 재설정

  • Windows: 앱 및 기능에서 제거합니다. 제거 프로그램은 선택적으로 PAIR 데이터를 제거합니다.
  • Linux: sudo apt remove nvpair(데이터 유지) 또는 sudo apt purge nvpair(데이터 제거).
  • macOS: 번들된 제거 스크립트를 실행합니다. 데이터를 삭제하려면 --purge를 추가합니다.
  • 데이터 재설정 – 설정 → 서비스 → 앱 데이터 재설정은 PAIR 자체 상태(설정, 로그, 인증서, 설치된 엔진)를 지우지만 모델 파일은 그대로 둡니다.

로드맵(향후 주요 작업)

  • 완전한 Windows ARM64 지원, DGX Station 호환성.
  • 새로운 엔진 통합: vLLM, EXO, ComfyUI, Unsloth, Tailscale.
  • 고급 라우팅 기능: 엔진 간 OpenAI 호환 라우팅, 요청 대기열, QoS 스케줄러 노브, KV 캐시 인식 스케줄링.
  • 사용성: 요청자 전용 클라이언트, 부팅 시 자동 시작, 추가 안정성 개선.

라이선스 및 기여

  • Apache 2.0 라이선스.
  • 기여를 환영합니다. 자세한 내용은 CONTRIBUTING.md, CODE_OF_CONDUCT.md 및 거버넌스 모델을 참조하세요.
  • 보안: PAIR에는 LAN 검색, PIN 기반 신뢰 부트스트랩 및 로컬 HTTP 엔드포인트가 포함됩니다. 신뢰할 수 없는 네트워크에 배포하기 전에 SECURITY.md를 검토하세요.

결론 – NVIDIA PAIR는 몇 대의 로컬 머신을 단일 추론 서비스로 취급할 수 있게 해주는 즉시 사용 가능한 크로스 플랫폼 라우터입니다. 모든 데이터를 온프레미스로 유지하면서 엔진 설치, 모델 관리 및 요청 스케줄링을 처리합니다.

관련

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