Warum wir Circuit Boostrapping (CBS) anstelle von Programmable Bootstrapping (PBS) in unserem FHE-Stack gewählt haben
ravital
ravital22. Juli, 01:23
Einer der Hauptunterschiede zwischen @sunscreentech und anderen FHE-Unternehmen ist, dass wir uns in unserem Tech-Stack für Circuit Bootstrapping (CBS) anstelle von Programmable Bootstrapping (PBS) entschieden haben. Hier ist der Grund, warum wir das getan haben 👇🧵 Zunächst einmal, was ist Bootstrapping? Bootstrapping ist die anspruchsvollste und rechenintensivste Komponente eines FHE-Schemas. Es handelt sich um eine Technik, die es ermöglicht, Chiffretexte zu erfrischen, indem sie im Wesentlichen das angesammelte Rauschen aus homomorphen Operationen reduziert und weitere Berechnungen ermöglicht. Programmable Bootstrapping (verwendet von @zama_fhe) erfrischt das Rauschen und bewertet eine Lookup-Tabelle in einem einzigen Schritt. Es nimmt einen LWE-Chiffretext als Eingabe und gibt einen neuen LWE-Chiffretext zurück, der bereit für den nächsten Lookup ist. Die Latenz pro Bootstrap ist niedrig, sodass es bei isolierten Gattern attraktiv aussieht. Der Nachteil ist die sequenzielle Abhängigkeit. Echte Programme erfordern eine Kette von Bootstraps, und die linearen Abhängigkeiten zwischen diesen Operationen verhindern, dass Berechnungen parallel ausgeführt werden. Dies lässt den Großteil der Rechenressourcen (Kerne) untätig. Circuit Bootstrapping (verwendet von @sunscreentech) folgt einem anderen Weg. Der Bootstrap verbraucht weiterhin einen LWE-Chiffretext, aber die Ausgabe ist ein GGSW „Selector“, der speziell für CMUX-Operationen entwickelt wurde. Jeder CMUX ist viel günstiger als ein Bootstrap, und da CMUX-Bäume peinlich parallel sind, können sie effizient auf viele Rechenressourcen verteilt werden, bevor eine weitere teure Bootstrap-Operation erforderlich ist. Diese Änderung in der Abhängigkeitsstruktur ist entscheidend; sie ermöglicht es unserem Runtime, viele-Kern-CPUs und GPUs heute auszureizen und passt sauber auf kommende FHE-Beschleuniger. CMUX sind eine weit verbreitete Grundlage in der Computerhardware, und daher können wir Jahrzehnte an Arbeit nutzen, um allgemeine Berechnungen aus einfachen CMUX-Teilen zu ermöglichen. PBS-Schaltungen erfordern im Allgemeinen eine maßgeschneiderte Handhabung für negacyclic indexing, LUT-Padding und Formatkonvertierungen, die alle die Iteration verlangsamen und die Angriffsfläche für Fehler erhöhen. Beachten Sie jedoch, dass tfhe-rs fast all diese Arbeit für PBS abstrahiert, wenn Sie einfach ihre Standardparameter verwenden. Datenwiederverwendung ist wichtig, wenn sich die Arbeitslasten skalieren. Ein GGSW-Selector, der von einem CBS erzeugt wird, kann mehrere CMUXes antreiben und die teure Stufe über einen breiten Unterkreis amortisieren. PBS bietet keine vergleichbare Wiederverwendung; jedes neue Tor verursacht einen frischen Bootstrap. Als wir vollständige 16- und 32-Bit-Arithmetik benchmarkten, führte die CBS-CMUX-Pipeline konsequent mit weniger sequenziellen Bootstraps und höherem Gesamtdurchsatz aus. Diese Gewinne erweitern sich, wenn die Kernanzahl steigt, und sie stimmen mit unserem langfristigen Hardware-Roadmap überein. Für unser Team @sunscreentech lieferte CBS das richtige Gleichgewicht: vorhersehbare Parallelität, eine sauberere Berechnungsgeschichte und eine Leistungskurve, die sich mit der Hardware verbessert, anstatt gegen sequenzielle Engpässe zu stagnieren. Das ist der Grund, warum CBS die Grundlage unseres Stacks ist und warum wir weiterhin auf sein Ökosystem setzen.
947