Jedním z hlavních rozdílů mezi @sunscreentech a ostatními společnostmi FHE je to, že jsme si v našem technologickém stacku vybrali okruhové bootstrapping (CBS) před programovatelným bootstrappingem (PBS). Zde je důvod, proč jsme to 👇🧵 udělali Za prvé, co je bootstrapping? Bootstrapping je nejsofistikovanější a výpočetně nejnáročnější součástí schématu FHE. Jedná se o techniku, která umožňuje osvěžení šifrovaných textů, čímž v podstatě snižuje nahromaděný šum z homomorfních operací a umožňuje další výpočty. Programovatelný bootstrapping (používaný @zama_fhe) obnovuje šum a vyhodnocuje vyhledávací tabulku v jediném kroku. Jako vstup vezme šifrovaný text LWE a vrátí nový šifrovaný text LWE, který je připraven pro další vyhledávání. Latence pro jednotlivé náběhy je nízká, takže na izolovaných branách vypadá atraktivně. Kompromisem je sekvenční závislost. Skutečné programy vyžadují řetězec bootstrapů a lineární závislosti mezi těmito operacemi znamenají, že výpočty nemohou běžet paralelně. Většina výpočetních prostředků (jader) tak zůstane nečinná. Circuit Bootstrapping (používaný @sunscreentech) sleduje jinou cestu. Bootstrap stále spotřebovává šifrovaný text LWE, ale výstupem je "selektor" GGSW speciálně navržený pro operace CMUX. Každý CMUX je mnohem levnější než bootstrap, a protože CMUX stromy jsou trapně paralelní, mohou být efektivně distribuovány mezi mnoho výpočetních zdrojů, než bude vyžadována další nákladná bootstrapová operace. Tato změna ve struktuře závislostí je rozhodující; umožňuje našemu běhovému prostředí nasytit mnoho jádrových CPU a GPU dnes a čistě se mapuje na nadcházející akcelerátory FHE. CMUX jsou široce používaným základem ve výpočetním hardwaru a jako takové můžeme využít desetiletí práce k umožnění univerzálních výpočtů z jednoduchých částí CMUX. Okruhy PBS obecně vyžadují zakázkové zpracování pro negacyklické indexování, odsazení LUT a konverze formátů, což vše zpomaluje iteraci a zvětšuje plochu pro chyby. Všimněte si však, že tfhe-rs abstrahuje téměř všechnu tuto práci pro PBS, pokud jednoduše použijete jejich výchozí parametry. Opakované použití dat je důležité při škálování úloh. Selektor GGSW vyrobený jednou CBS může řídit více CMUX, čímž se amortizuje nákladný krok napříč širokým dílčím okruhem. PBS nenabízí žádné srovnatelné opětovné použití; Každá nová brána přichází s novým bootstrapem. Když jsme porovnávali plnou 16bitovou a 32bitovou aritmetiku, kanál CBS-CMUX fungoval konzistentně s menším počtem sekvenčních bootstrapů a vyšší celkovou propustností. Tyto zisky se rozšiřují s rostoucím počtem jader a jsou v souladu s naším dlouhodobým hardwarovým plánem. Pro náš tým @sunscreentech poskytla CBS správnou rovnováhu: předvídatelný paralelismus, čistší výpočetní příběh a křivku výkonu, která se zlepšuje s hardwarem, místo aby se potýkala se sekvenčními úzkými hrdly. To je důvod, proč je CBS základem našeho stacku a proč pokračujeme ve zdvojnásobování jeho ekosystému.
1,5K