Mesh LLM: Iroh 기반 분산 AI 컴퓨팅

Mesh LLM: Iroh 기반 분산 AI 컴퓨팅

Mesh LLM은 이기종 하드웨어 전반에 걸친 분산 AI 추론을 가능하게 합니다

Mesh LLM은 노트북, 미니 PC부터 서버 및 클라우드 노드에 이르기까지 여러 대의 머신에서 GPU와 메모리를 풀링하여 단일 OpenAI 호환 API로 노출할 수 있게 해줍니다. 이러한 아키텍처는 팀이 기존 하드웨어를 활용하여 단일 머신의 VRAM 용량을 초과하는 대규모 언어 모델(LLM)을 실행할 수 있게 함으로써, 중앙 집중식 데이터 센터 및 비용이 많이 드는 종량제 API에 대한 의존성을 제거합니다.

분산 컴퓨팅 및 "Skippy" 분할 모드

Mesh LLM은 하드웨어 가용성 및 모델 크기에 최적화하기 위해 세 가지 주요 라우팅 방식을 통해 모델 추론을 처리합니다:

  1. Local Execution: 요청은 로컬 머신의 GPU에서 처리됩니다.
  2. Peer Routing: 요청은 필요한 모델이 이미 로드된 피어 노드로 라우팅됩니다.
  3. Pipeline Splitting (Skippy): 단일 노드에 담기에는 너무 큰 모델의 경우, "Skippy" 엔진이 모델을 레이어 범위별로 스테이지로 분할합니다. 예를 들어, 레이어 0-15는 한 노드에서 실행되고, 16-31은 다음 노드에서 실행될 수 있습니다. 활성화(Activations)는 이러한 스테이지를 순차적으로 흐르며, 이를 통해 적당한 사양의 머신 클러스터가 집합적으로 거대한 모델을 실행할 수 있게 합니다.

프로젝트의 모델 목록에 따르면, Qwen 235B MoE 모델은 두 개의 노드에서 초당 16개의 토큰을 생성하는 것으로 입증되었으며, 이는 네트워크 지연 시간에도 불구하고 분산 추론이 일부 사용 사례에 실행 가능한 속도에 도달할 수 있음을 시사합니다.

Iroh 네트워킹 라이브러리로 구동되는 네트워킹 아키텍처

Mesh LLM은 Iroh 네트워킹 라이브러리를 활용하여 모든 노드가 공개 키로 식별되는 탈중앙화된 메시(mesh)를 생성합니다. 이는 중앙 서버의 필요성을 제거하고 다음과 같은 핵심 기술을 통해 연결성을 단순화합니다:

  • NAT Traversal: Iroh는 노드 간의 직접적이고 인증된 QUIC 연결을 설정하기 위해 홀 펀칭(hole-punching) 및 릴레이 폴백(relay fallback)을 처리합니다.
  • Relay Infrastructure: 오픈 인터넷을 통한 연결성을 보장하기 위해, Mesh LLM은 서로 다른 지역에 있는 두 개의 Iroh 릴레이를 폴백 경로로 활용합니다.
  • QUIC ALPN Negotiation: 프로토콜은 트래픽 관리를 위해 세 가지 별도의 Application-Layer Protocol Negotiation (ALPN) 식별자를 사용합니다:
    • mesh-llm/1: Gossip, 라우팅, HTTP 터널, 그리고 플러그인 채널을 처리합니다.
    • mesh-llm-control/1: 구성 동기화 및 소유권 증명을 포함한 소유자 제어 평면(control plane)을 관리합니다.
    • skippy-stage/2: 분할 모델에서 지연 시간에 민감한 활성화 전송에 사용되는 전용 채널입니다.

mesh-llm/1 연결 내에서, 양방향 QUIC 스트림은 Gossip(피어 선언), HTTP 터널(추론 요청), 라우팅 쿼리, 그리고 피어 생명주기 이벤트를 구분하기 위해 선행 바이트를 사용하여 역다중화(demultiplexed)됩니다.

플러그형 런타임 및 API 호환성

Mesh LLM은 플러그인이 매니페스트(manifest)에 자신의 기능을 선언하는 플러그형 시스템으로 설계되었습니다. 런타임은 이러한 플러그인을 관리하고 MCP, HTTP, 추론, 그리고 메시 이벤트를 통해 기능을 노출합니다. 시스템은 현재 노트북에 적합한 소형 모델부터 235B 파라미터의 거대 모델까지 40개 이상의 모델 카탈로그를 제공합니다.

통합의 용이성을 보장하기 위해, Mesh LLM은 표준 OpenAI 클라이언트에게 localhost:9337/v1로 자신을 노출하며, 이를 통해 최종 사용자에게 하위위의 분산 복잡성을 숨깁니다.

커뮤니티 인사이트 및 기술적 고려 사항

사용자 피드백과 커뮤니티 논의는 시스템의 접근성 및 기술적 트레이드오프를 모두 강조합니다:

  • Ease of Deployment: 사용자들이 메시(mesh)에 참여하는 과정이 매우 원활하며, mesh-llm --auto를 실행하여 최소한의 설정으로 VRAM을 제공하고 모델을 호스트스트할 수 있다고 보고했습니다.
  • Performance Concerns: 일부 사용자는 네트워크 처리량에 대한 회의적인 시각을 것을 보고했습니다. 소비자용 네트워크는 로컬 RAM보다 훨씬 느리다는 점을 지합니다합니다. 하지만, Qwen 235B 모델에 대한 16 tok/s 벤치마크는 분산 추론가 인터랙티브한 사용에 부레이어할 수 있음을 시사합니다.
  • Hardware Compatibility: 일부 사용자는 하드웨어 지원에 관한 "rough edges"를 보고했습니다. 구체적으로 특정 llama.cpp 빌드가 오래된 GPU를 지원하지 않는다고 언급했습니다.
  • Security and Privacy: 커뮤니티 멤버들은 데이터 프라이버시 문제를 제 제기기 제기했습니다. 분산 메시(mesh) 환경에서는 요청을 처리하는 호스트 노드가 처리 중인 데이터를 볼 수 있는 가능성이 있습니다.

"I have a macbook pro... The swarm page thing had a little 'join' button and 있었습니다. And I did. And it worked first try." — @maccam912

Sources