전문가 워커 실행하기

남는 GPU·CPU·폰을 전문가 워커로: 빌드하고, 가장 희소한 슬라이스에 자원하고, 내려받고, 서빙하고, 443으로 아웃바운드 접속해 KVR을 획득한다.

전문가 워커는 순수 (hidden, ids) → out 함수입니다 — 어텐션도, KV 캐시도, 샘플러도 없이 — 백본의 라우터가 고를 때마다 MoE 모델 전문가의 한 슬라이스를 계산합니다. 무엇을 서빙할지는 직접 고르지 않습니다; 커버리지 마켓이 예산에 맞춰 잘린, 가장 희소하고 보상이 높은 범위를 건네므로, 4 GB 폰과 데이터센터 GPU 모두 자리를 찾습니다.

엔진 현황. 전문가 단위 샤딩은 Kvasir의 이전 엔진에서 구축·시연됐고, 아래의 결과는 그 작업에서 나온 것입니다. 현재 엔진인 [p4](/wiki/p4)는 오늘 레이어 단위로 서빙하며, 전문가 샤딩을 그 위로 옮기는 일은 설계가 끝났고 진행 중입니다. 세부 내용이 어떤 도구나 라우트 이름을 언급한다면, 그것은 이전 엔진에서 돌던 것입니다.

일곱 단계

빌드 → 자원 → 서빙 → 접속 → 획득

전체 경로 — dial 스크립트는 재시도 루프로 백본을 기다립니다.

# 1. build the worker for your backend (cuda | rocm | cpu)
bash scripts/build-node-runtime.sh <backend>   # -> linkcpp-expert-worker

# 2. volunteer — the market assigns the scarcest range within your budget
POST /api/expert-volunteer {model, max_experts}     -> {layer, experts:[a,b]}

# 3. download only that slice (node-token auth)
GET  /api/proxy/models/<model>/expert-shard?layers=L:L+1&experts=a:b   # a mini-GGUF

# 4. serve it
linkcpp-expert-worker --model <slice.gguf> --serve <port> --layer L --n-embd <E>

# 5. dial out over 443 (no inbound ports)
scripts/expert-relay-dial.py --mode worker \
  --hub wss://gate.kvasir-ai.net/api/expert-relay --session <S> --local 127.0.0.1:<port>

# 6. heartbeat so the demand map and rewards can see you
POST /api/expert-coverage
  • 슬라이스는 작습니다. layer-0의 128-전문가 슬라이스는 72 GB 전체 모델 대비 794 MB — 약한 기기가 참여할 수 있게 하는 단위입니다. 마켓이 배정한 범위만 내려받습니다.
  • 아웃바운드 접속, 인바운드 수신 없음. 5단계는 443에 하나의 아웃바운드 WebSocket을 열어, 캐리어 NAT와 CDN 엣지가 통과시키고 인바운드 포트를 하나도 노출하지 않습니다 — 폰이 쓰는 바로 그 경로입니다.
  • heartbeat는 필수입니다. POST /api/expert-coverage 없이는 수요 맵이 아는 것을 아무것도 서빙하지 못하고, 하는 일 무엇도 크레딧되지 않습니다.
  • 보상은 작업당입니다. 브리지된 작업은 브리지의 기여 원장에 쌓이고, 게이트웨이가 KVR을 당신 자신의 지갑으로 델타 크레딧합니다. 지불받으려면 지갑 주소가 필요합니다.

워커는 데이터센터 내 GPU와 똑같은 dispatch 프로토콜을 씁니다 — 하나의 long-lived 스트림으로 (n_used, n_tokens, cur, sel) → experts. 부분 샤드 워커는 단지 n_used = 1로 둘 뿐입니다. 이 균일성이 폰, CPU 머신, Blackwell 카드가 같은 스웜의 교체 가능한 구성원인 이유입니다.