Devotd Github
새 소식추론/서빙

nehanth/pooled — 모델 호스트 이탈 시 워커 층 해제

브라우저로 P2P LLM 추론을 나누는 pooled가, 모델을 실행하던 구성원 기기가 떠나거나 새로고침될 때 살아남은 워커가 층을 해제하고 모델 선택 화면으로 돌아가게 하는 커밋(45b5ee2, PR #427)을 반영했다.

저장소 정보nehanth/pooled ↗

브라우저로 P2P LLM 추론을 나누는 pooled가, 모델을 실행하던 구성원 기기가 떠나거나 새로고침될 때 살아남은 워커가 층을 해제하고 모델 선택 화면으로 돌아가게 하는 커밋(45b5ee2, PR #427)을 반영했다.

GitHub 설명: Peer-to-peer LLM inference in the browser: pool your devices to run big open models, for chat and coding agents.

스타
★ 588
포크
93
언어
JavaScript
라이선스
MIT
최신 릴리스
v2.0.0
원문 보기 ↗GitHub에서 보기 ↗

pooled는 브라우저 여러 대를 하나의 WebRTC 메시로 묶어 큰 오픈 모델을 나눠 추론하는 프로젝트다. 2026년 11월 3일 GitHub 커밋(45b5ee2, PR #427)은 방의 creator가 아닌 구성원 중 모델을 실행하던 기기가 떠나거나 새로고침했을 때의 처리를 손봤다. 그 기기가 빠지면 그 모델은 멈추고, 살아남은 기기들은 자신이 들고 있던 층을 해제해 모델 선택 화면으로 돌아간다.

방 안에서는 한 브라우저가 호스트(host)여서 대화·토크나이저·임베딩 테이블·LM 헤드·샘플러를 소유하고, 나머지 기기인 워커(worker)가 연속된 층 구간을 나누어 든다. 그래서 모델을 올린 기기가 사라지면 층을 쥔 워커가 준비되지 않은 상태로 남을 수 있었다. 이번 커밋은 워커가 모델 호스트의 이탈을 감지하면 로딩을 다음 텐서 지점에서 중단하고, 기다리던 로딩 페이싱(pacing)도 함께 끊는다. 이후 워커는 쥔 층과 연결 정보를 풀고, 방이 현재 모델 호스트를 새로 정한 뒤 Start를 누르면 층을 다시 나눠 배정한다. 브라우저 탭을 다시 불러오지 않아도 새 모델을 시작할 수 있게 된 부분이다.

문서(docs/protocol.md)에는 이 상황을 규칙으로 적었다. 구성원 모델 호스트가 떠나거나 새로고침하면 그 모델이 멈추고, 남은 기기들은 층을 해제해 모델 선택 화면으로 돌아가며, 그 뒤에는 누구든 Start를 눌러 방이 고른 모델 호스트로 다시 시작할 수 있다는 내용이다. 한쪽 링크만 끊긴 경우에는 모델이 멈추지 않고, 방의 creator가 여전히 그 호스트를 명시하고 있는 동안에는 기존 재연결 경로가 유지된다는 조건이 붙는다. 검증 쪽에는 브라우저 회귀 시나리오(hostgone, hostreload, hostgone-loading)가 추가됐고, tests/unit/host_departure_test.js가 새로 생겼다. 다만 이 변경은 방 안의 연결 상태 처리만 다루며, 로딩 시간이나 처리량에 대한 측정치는 제시하지 않는다.