Een van de belangrijkste verschillen tussen @sunscreentech en andere FHE-bedrijven is dat we circuit bootstrapping (CBS) hebben gekozen boven programmeerbaar bootstrapping (PBS) in onze tech stack. Hier is waarom we dat deden 👇🧵 Allereerst, wat is bootstrapping? Bootstrapping is het meest geavanceerde en compute-intensieve onderdeel van een FHE-schema. Het is een techniek die het mogelijk maakt om ciphertexts te vernieuwen, waardoor de opgetelde ruis van homomorfe bewerkingen wordt verminderd en verdere berekeningen mogelijk worden. Programmeert Bootstrapping (gebruikt door @zama_fhe) vernieuwt ruis en evalueert een lookup-tabel in één stap. Het neemt een LWE-ciphertext als invoer en retourneert een nieuwe LWE-ciphertext, klaar voor de volgende lookup. De latency per bootstrap is laag, dus op geïsoleerde poorten lijkt het aantrekkelijk. De trade-off is sequentiële afhankelijkheid. Echte programma's vereisen een keten van bootstraps en de lineaire afhankelijkheden tussen deze bewerkingen betekenen dat berekeningen niet parallel kunnen worden uitgevoerd. Dit laat de meeste compute-resources (kernen) inactief. Circuit Bootstrapping (gebruikt door @sunscreentech) volgt een andere weg. De bootstrap verbruikt nog steeds een LWE-ciphertext, maar de output is een GGSW “selector” die speciaal is ontworpen voor CMUX-bewerkingen. Elke CMUX is veel goedkoper dan een bootstrap, en omdat CMUX-bomen beschamend parallel zijn, kunnen ze efficiënt worden verdeeld over veel compute-resources voordat een andere dure bootstrap-operatie nodig is. Die verandering in afhankelijkheidsstructuur is beslissend; het laat onze runtime veel-core CPU's en GPU's van vandaag verzadigen en past perfect in de komende FHE-versnellers. CMUX zijn een veelgebruikte basis in computerhardware, en als zodanig kunnen we decennia aan werk benutten om algemene computing mogelijk te maken vanuit eenvoudige CMUX-onderdelen. PBS-circuits vereisen over het algemeen op maat gemaakte behandeling voor negacyclische indexering, LUT-padding en formaatconversies, die allemaal de iteratie vertragen en het oppervlak voor bugs vergroten. Merk echter op dat tfhe-rs bijna al dit werk voor PBS abstraheert als je gewoon hun standaardparameters gebruikt. Gegevenshergebruik is belangrijk naarmate werklasten opschalen. Een GGSW-selector geproduceerd door één CBS kan meerdere CMUXes aansteken, waardoor de dure stap over een breed subcircuit wordt verspreid. PBS biedt geen vergelijkbaar hergebruik; elke nieuwe poort brengt een nieuwe bootstrap met zich mee. Toen we volledige 16- en 32-bits rekenkunde benchmarkten, voerde de CBS-CMUX-pijplijn consequent uit met minder sequentiële bootstraps en een hogere algehele doorvoer. Die winsten worden groter naarmate het aantal kernen toeneemt, en ze sluiten aan bij onze langetermijnhardware-roadmap. Voor ons team @sunscreentech leverde CBS de juiste balans: voorspelbare parallelisme, een schoner compute-verhaal en een prestatiecurve die verbetert met hardware in plaats van vast te lopen tegen sequentiële knelpunten. Dat is waarom CBS de basis van onze stack is en waarom we blijven inzetten op het ecosysteem ervan.
1,59K