Gemeinsam

Verteiltes Rechnen: Pools, Jobs und Vertrauen

Scellis hat für verteiltes Rechnen genau einen Mechanismus. Ein inhaltsadressierter Job wird in Shards partitioniert, die Shards führt ein Pool aus Peers aus, die Ergebnisse kombiniert eine deklarierte Reduction, und ein Ergebnis wird erst akzeptiert, wenn es verifiziert ist. Das ist das ganze Modell. Ein Pool der Größe eins ist ein gewöhnlicher Solo-Run — ohne Koordinator, vollständig offline. Federated Learning ist eine Konfiguration desselben Mechanismus, nie ein eigenes Subsystem. Was sich über diese Spannweite ändert, ist nicht die Maschinerie, sondern das Vertrauen drumherum — und diese Seite benennt die Grenzen so klar wie die Fähigkeiten. Der Koordinator dahinter ist implementiert und getestet; gepoolte Jobs über echte Browser hinweg sind im aktiven Aufbau.

dein Jobjob · 7b0e…in 12 Teilezerlegtder Pool · geliehene Gerätedein LaptopTeil 3 · fertigRechner einer KolleginTeil 7 · fertigein LaborrechnerTeil 9 · fertigHandy, zugeklapptTeil 11 · weitergereichtgeprüftneu gerechnetbestandenzusammengeführtein Ergebnisstimmte nicht · zählt nie mit
Abb. 1 — Ein Job, die Geräte vieler Menschen. Jedes Gerät übernimmt ein Teilstück, und ein Teilstück zählt erst, wenn ein anderes Gerät es nachgerechnet und bestätigt hat — so hält das Design ein falsches Ergebnis aus deinem Resultat heraus; heute wird ein unbestätigtes Teilstück in deinem Resultat markiert statt ersetzt. Fällt ein Gerät weg, wird sein Teil weitergereicht. Ein Pool aus einem Gerät ist dasselbe Bild, nur mit einem Gerät.

Ein Mechanismus, viele Workloads#

Pooling ist kein Trainings-Feature. Parameter-Sweeps, Monte-Carlo-Simulationen, Ensembles, k-fache Kreuzvalidierung und Batch-Analysen fahren alle auf demselben Weg Job → Shard → Reduction, weil sie eine Form teilen: unabhängige Teile plus eine deklarierte Art, sie zu kombinieren. Training fährt ebenfalls darauf — als eine Konfiguration, nicht als privilegierte. Und die Arbeit ist dafür gebaut, live zu rendern, während Shards landen: Die Heatmap eines Sweeps füllt sich Zelle für Zelle (die Live-Ansicht für Jobs ist noch im Aufbau), ein Trainingslauf zeichnet seine Loss-Kurve, der alle in einer geteilten Session gleichzeitig zusehen.

Alles Strategieförmige in diesem Mechanismus ist Content, nie Engine-Code. Partitionierer, Reducer, Aggregationsstrategien — FedAvg, FedProx, SCAFFOLD, DiLoCo und FedBuff sind eingebauter Content — und die Pool-Topologie sind von Nutzern erstellbare Entitäten wie jeder Block, nie ein hartkodierter Switch. Fehlt die Aggregationsstrategie, die du brauchst, schreibst du sie selbst — und sie nimmt denselben Katalogweg wie alles andere.

Drei Vertrauensregime, nie vermischt#

Wer in deinem Pool ist, ändert, was sicher ist — also weigert sich Scellis, das zu verwischen. Es gibt drei Vertrauensregime, und die Plattform verschmilzt sie nie zu einer beruhigenden Einstellung.

VertrauensregimeWer beitrittHaltung
Eigene GeräteDein Laptop, Desktop und Tablet als eine KohorteAuto-Join, keine Einwilligungsreibung — sie alle sind du
Zugelassenes KonsortiumPeers mit institutionell signierten SchlüsselnDas einzige Regime für regulierte oder sicherheitskritische Arbeit
Offene CrowdAnonyme FremdeReiner Compute per Default; stichprobengeprüft; budget-gedeckelt; datenparallele Arbeit nur auf öffentlichen Inputs

Die Grenzen werden erzwungen, nicht empfohlen. Eine sicherheitskritische Konfiguration weigert sich, auf einem offenen Pool zu starten — laut, per Konstruktion, im selben Diagnoseformat wie jede andere Ablehnung der Plattform. Und offene datenparallele Arbeit ist auf öffentliche Eingabedaten beschränkt — denn dass Fremde Shards über privaten Daten rechnen, ist keine Einstellung, die man versehentlich erreichen können sollte. Die Umkehrung ist genauso ehrlich: Ein vertrauliches Modell oder ein vertraulicher Datensatz verweigert den offenen Pool, denn ausführende Peers halten notwendig, worauf sie rechnen.

Gegengeprüft, bevor es zählt, in Receipts gemessen#

Einem entfernten Ergebnis wird bei Ankunft nie vertraut. Heute zählt der Koordinator ein Ergebnis erst, wenn ein zweiter, unabhängiger Peer für dasselbe Teilstück exakt dasselbe Ergebnis zurückgibt — exakte Übereinstimmung, die auf dem deterministischen CPU-Pfad tragfähig ist. GPU-Ergebnisse innerhalb einer deklarierten Toleranz zu prüfen, die geprüften Teilstücke so zu wählen, dass kein Peer sie vorhersagen kann, und ein Ergebnis zu ersetzen, das seine Prüfung nicht besteht, ist im aktiven Aufbau; bis dahin wird ein durchgefallenes oder ungeprüftes Ergebnis markiert, nicht ersetzt. Freivalds-Wahrscheinlichkeitsprüfungen, die die Kosten des Verifizierers bei Matmuls senken, sind implementiert und getestet, aber noch nicht an den Koordinator angebunden, und eingestreute Canary-Shards mit bekannter Antwort nehmen Verifizierer noch nicht in die Pflicht. Das volle Verifikationsregime ist die Korrektheits-Geschichte, über Geräte hinweg erweitert.

Achtung

Verifikation prüft, ob die Berechnung korrekt ausgeführt wurde — solange Verifizierer nicht vertrauensverankert sind, können sich zwei kostenlose Identitäten derselben Person aber noch auf ein falsches Ergebnis einigen. Sie kann nicht beweisen, dass die Inputs eines Peers ehrlich waren. Data Poisoning wird begrenzt — durch robuste Aggregation und durch das zugelassene Konsortium — nicht gelöst, und Scellis sagt das offen.

Akzeptierte Arbeit prägt ein Receipt in einem hash-verketteten Ledger, und Beiträge werden in verifizierten Work-Units gemessen, nie in verstrichener Zeit — verstrichene Zeit bezahlt Langsamkeit und lässt sich fälschen. Jede Einheit trägt einen vom Planner abgeleiteten Preis, den der Anbieter nicht aufblähen kann. Altruistisches Pooling — deine eigenen Geräte, Freiwillige, ein Konsortium — kommt ohne jede Zahlungsschiene aus; Koordinator, Leases und Receipts sind implementiert und getestet, aber noch hat kein Browser ein vergebenes Teilstück Ende zu Ende ausgeführt. Der bezahlte Compute-Marktplatz mit Auszahlungen, Treuhand und Staking steht noch aus — er ist benannt und wird auf genau diesen Receipts gebaut; er erscheint als eine unteilbare Einheit, denn Auszahlungen vor den Betrugsbremsen auszuliefern würde Sybil-Farming profitabel machen.

Was skaliert — und was nicht#

Workload-FormEhrliche Skalierung
Map-förmig — Sweeps, Monte-Carlo, BatchErwartet nahezu linear auf viele Peers — über Browser hinweg noch nicht gemessen; Shards reden nie miteinander
Synchronisiertes TrainingBestenfalls Größenordnung Dutzende stabile Peers; erweitert durch weniger Synchronität (mehr lokale Schritte), nie durch Magie — über Browser hinweg noch nicht verdrahtet
Federated LearningSkaliert statistische Aussagekraft — mehr teilnehmende Standorte, mehr lokale Beispiele hinter dem Modell — nicht Wallclock-Tempo

Synchronisiertes Training ist das Spiel einer stabilen Kohorte, nie eines offenen Schwarms: Peers müssen Updates austauschen, und dieser Austausch — nicht das Rechnen — wird zur Wand; Churn statt Arithmetik ist die dominante Kostenquelle. Hinter „Skalierung“ versteckt sich eine zweite Grenze, die ihren eigenen Satz verdient: Datenparalleles Pooling repliziert das volle Modell auf jedem Peer. Es multipliziert Durchsatz, aber es kann kein Modell unterbringen, das für ein einzelnes Gerät zu groß ist. Größere Modelle sind ein anderer Weg — der Relay-Pfad, bei dem Layer über Geräte hinweg gereicht werden, oder sharded Optimizer-State. Ein numerischer Speedup-Multiplikator wird nie versprochen; die benannten Mechanismen sind die Aussage. Die Seite der ehrlichen Grenzen führt jede davon auf — Fehlerbalken für Fehlerbalken.

Fair zu Freiwilligen, ehrlich über das Netzwerk#

Ein Shard, den du für jemand anderen ausführst, ist als reiner Compute ohne Effekt-Grants spezifiziert: Er kann deine lokalen Daten, deine Credentials und dein Netzwerk strukturell nicht lesen — der Runner im Studio, der ihn ausführen wird, ist noch im Aufbau. Du behältst einen Budget-Regler — eine Akku-Untergrenze, die du setzen kannst (standardmäßig aus), einen Stopp in zwei Klicks. Und Beitragen ist auf ein Gerät im Vordergrund und am Netzteil ausgelegt, denn der Browser friert Hintergrund-Tabs ein: Ein Tab im Hintergrund rechnet nicht, und Scellis tut nicht so, als ob.

Pooled Compute ist außerdem nicht serverlos, und diese Seite wird es nicht so nennen. Eine Pool-Session braucht für ihre Dauer einen Online-Koordinator — „serverlos“ beschreibt die Datenebene auf kooperativen Netzen, nie die Kontrollebene. Der Koordinator plant Shards und vermittelt Verbindungen; auf dem Happy Path berührt er nie Tensor-Bytes (ein Koordinator-Objekt kann keinen Tensor summieren — nur Peers reduzieren), und für Solo-Arbeit wird er nie gebraucht. In kooperativen Netzen schickt das Design die meisten Heimverbindungen direkt Peer-to-Peer via STUN, ohne Relay-Kosten; symmetrische und Firmen-NATs fallen auf ein Relay zurück, das dann der ehrliche Dauerzustand für dieses Setting ist — Peer-to-Peer-Datenebene und Relay sind beide noch im Aufbau. Sehr große Pools föderieren den Koordinator in einen hierarchischen Baum, damit der Control-Fan-out beschränkt bleibt.

Federated Learning: Was einen Standort wirklich verlässt#

Federated Learning ist die Konfiguration, in der die Daten liegen bleiben und das Modell wandert. Rohdaten verlassen einen teilnehmenden Standort nie als Bytes. Aber Modell-Updates verlassen ihn — und ein Update ist eine verlustbehaftete, manchmal invertierbare Funktion der Daten, aus denen es berechnet wurde. Byte-Ausschluss allein ist deshalb keine Privacy-Garantie, und Scellis präsentiert ihn nie als eine.

ein teilnehmender Standortdeine Datengehen nirgendwohindie Rohdaten bleiben hierdas Update geht sehr wohlClipping + DP-BudgetAggregat
Abb. 2 — Die zweistufige Wahrheit. Deine Daten bleiben liegen; das Modell-Update geht. Was dieses Update verraten kann, sollen das Clipping und das Privacy-Budget begrenzen, durch die es muss — nie die Tatsache, dass die Daten zu Hause geblieben sind.

Darum schaltet das Design bilanzierte Differential Privacy mit Clipping für jedes Regime jenseits deiner eigenen Geräte ein, verfolgt von einem monotonen Privacy-Budget-Ledger, das Überziehung verweigert — eine live (ε,δ)-Anzeige sitzt im Rundenmonitor. Heute greift diese Untergrenze nur, wo das Rezept ein Privacy-Ziel deklariert, das ε einer Runde wird übergeben statt von den Accountants berechnet, und das Rauschen — inzwischen aus dem kryptografisch sicheren Zufallsgenerator des Browsers — wird noch von keinem Produktpfad angewendet — die Garantie gilt also noch nicht, und keine föderierte Runde ist bisher Ende zu Ende gelaufen. Secure Aggregation kommt obendrauf, wo machbar, und ist in Cross-Silo-Konstellationen verpflichtend; gegenüber einem ehrlichen, aber neugierigen Server verbirgt sie jedes einzelne Update — eine Runde mit weniger als drei Standorten neben dem Aggregator wird abgelehnt, weil das Aggregat abzüglich des eigenen Updates ein fremdes verriete —, gibt aber das Aggregat frei; sie ersetzt DP also nicht. Und auch hier bleibt die Skalierungsaussage ehrlich: Federated Learning bringt statistische Aussagekraft — mehr teilnehmende Standorte, mehr lokale Beispiele hinter dem Modell — kein schnelleres Wallclock-Tempo.

Ein Mechanismus, drei Vertrauensregime, Receipts statt verstrichener Zeit — und Grenzen, die im Datenblatt stehen, statt in der Produktion entdeckt zu werden. Reproduzierbarkeit ist zweistufig deklariert — replayable auf dem Oracle-Pfad und konvergent innerhalb der Toleranz auf dem GPU-Pfad —, sodass ein verteiltes Ergebnis committete Versionen zitiert, nie einen geräteübergreifenden Hash. Und ein Pool der Größe eins ist dieselbe Maschine — sie läuft mit gezogenem Netzwerkkabel.