mesh-llm: 여러 머신에 걸쳐 GPU 및 메모리 리소스를 풀링하여 거대한 LLM을 실행하는 분산 추론 시스템
mesh-llm: 여러 머신에 걸쳐 GPU 및 메모리 리소스를 풀링하여 거대한 LLM을 실행하는 분산 추론 시스템
해결하는 문제
Mesh LLM은 사용자가 여러 머신에 걸쳐 GPU 및 메모리 리소스를 풀링하여, 단일 컴퓨터로는 실행하기 너무 큰 대규모 언어 모델(LLM)을 실행할 수 있게 해줍니다. 통합된 OpenAI 호환 API를 제공하여 기존 도구와 쉽게 통합할 수 있는 동시에, 피어 네트워크를 통해 계산 부하를 분산합니다.
작동 방식
- Resource Pooling: 여러 노드를 하나의 "mesh"로 연결하며, 각 노드는 전체 모델을 호스팅하거나 더 큰 분산 시스템의 일부로 작동할 수 있습니다.
- Intelligent Routing: 요청은 모델을 서비스하기에 가장 적합한 피어에게 라우팅됩니다. 모델이 한 대의 머신에 적합한 경우 로컬에서 실행되며, 그렇지 않으면 피어에게 라우팅됩니다.
- Skippy Stage Splits: 단일 머신에 담기에는 너무 큰 모델의 경우, 시스템은 모델을 연속적인 레이어 범위(stages)로 분할합니다. 노드는 할당된 스테이지를 서비스하기 위해 필요한 GGUF 조각(layer packages)만 가져옵니다.
- Discovery: 사용자는 Nostr discovery를 통해 공개 mesh에 참여하거나 초대 토큰을 사용하여 프라이빗 mesh를 생성할 수 있습니다.
- Mixture-of-Agents (MoA): 단일 프롬프트를 mesh 내의 모든 사용 가능한 모델로 전달하고, 응답을 중재하여 하나의 통합된 답변을 반환하는 실험적 기능입니다.
대상 사용자
- Hardware-constrained users: 다른 사람들과 리소스를 풀링하여 소비자용 하드웨어에서 거대한 모델을을 실행하고자 하는 사람들.
- Developers: 분산 LLM 추론을 위해 OpenAI 호환 API가 필요한 개발자.
- Self-hosters: 프라이빗 또는 공개 분산 추론 클러스터를 배포하고자 하는 사용자.
주요 특징
- OpenAI-compatible API: 기존 LLM 애플리케이션과 원활하게 통합됩니다.
- Huge Model Support: 다양한 모델 제품군(Qwen, Llama, Gemma, Mistral, DeepSeek, 등) 및 멀티모달 모델을 지원합니다.
- Flexible Deployment: CUDA, ROCm, Vulkan, Metal을 포함한 다양한 백엔드를 지원합니다.
- Distributed Execution: 여러 노드에 걸쳐 거대한 모델을 위해 레이어 기반 분할을 구현합니다.
- Experimental MoA Gateway: 결정론적 중재를 통한 여러 모델 간의 병렬 실행을 지원합니다.
Sources
- undefinedMesh-LLM/mesh-llm