antirez / antirez/ds4

Allow coordinator to own N:output layers in distributed mode

Aperta
#428 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C
Stelle
22.3k
Fork
2.1k
Merge medio
1g 3h
PR unite (30g)
4

Descrizione

Currently the only way one can run distributed generation is when the coordinator owns early layers (0:N-1), and the worker owns later layers plus optionally the output (N:42 or N:output). This is matters little when both nodes are homogenuous, but it makes it difficult to extend distributed generation options. For example, I ran into problems while working on #304 making local decode compatible with all the existing frontends, so I had to postpone that work and switch to this first as a prerequisite.

This is propose extension of distributed mode allowing "reverse topology" whereby a coordinator running any of the frontends (ds4, ds4-server, ds4-eval, etc) to "own" later layers and the output, while allowing the worker to own the earlier layers.

While not materially changing the way current distributed mode works, this would extending distributed topologies more naturaly, because the frontends rely on `ds4_session_sync()` -> `ds4_session_eval()` | `ds4_session_sample()` core loop switches to per-token RPC when output is owned remotely.

PR is coming shortly.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.