Одна з головних відмінностей між @sunscreentech та іншими компаніями FHE полягає в тому, що ми обрали схемне початкове завантаження (CBS) замість програмованого початкового завантаження (PBS) у нашому технологічному стеку. Ось чому ми це 👇🧵 зробили Перш за все, що таке бутстреппінг? Початкове завантаження є найбільш складним і інтенсивним для обчислень компонентом схеми PHE. Це техніка, яка дозволяє оновлювати зашифровані тексти, істотно зменшуючи накопичений шум від гомоморфних операцій і уможливлюючи подальші обчислення. Програмоване початкове завантаження (використовується @zama_fhe) освіжає шум і оцінює таблицю пошуку за один крок. Він приймає зашифрований текст LWE як вхідні дані та повертає новий зашифрований текст LWE, готовий до наступного пошуку. Затримка на початкове завантаження низька, тому на ізольованих воротах він виглядає привабливо. Компромісом є послідовна залежність. Реальні програми вимагають ланцюжка початкового завантаження, а лінійні залежності між цими операціями означають, що обчислення не можуть виконуватися паралельно. Це призводить до простою більшості обчислювальних ресурсів (ядер). Схема початкового завантаження (використовується @sunscreentech) йде іншим шляхом. Початкове завантаження все ще використовує шифротекст LWE, але на виході виходить «селектор» GGSW, спеціально розроблений для операцій CMUX. Кожен CMUX набагато дешевший, ніж початкове завантаження, і оскільки дерева CMUX незручно паралельні, їх можна ефективно розподілити між багатьма обчислювальними ресурсами, перш ніж буде потрібна ще одна дорога операція початкового завантаження. Ця зміна в структурі залежності є визначальною; це дозволяє нашому часу виконання насичувати багатоядерні центральні та графічні процесори сьогодні та чисто відображати на майбутніх прискорювачах PHE. CMUX є широко використовуваною основою в обчислювальному обладнанні, і тому ми можемо використовувати десятиліття роботи, щоб уможливити обчислення загального призначення з простих частин CMUX. Схеми PBS зазвичай вимагають індивідуальної обробки для негациклічного індексування, заповнення LUT та перетворення форматів, що уповільнює ітерацію та збільшує площу поверхні для помилок. Однак зауважте, що tfhe-rs абстрагує майже всю цю роботу для PBS, якщо ви просто використовуєте їх параметри за замовчуванням. Повторне використання даних має значення під час масштабування робочих навантажень. Селектор GGSW, вироблений одним CBS, може керувати кількома CMUX, амортизуючи дорогий крок у широкій підсхемі. PBS не пропонує порівнянного повторного використання; Кожні нові ворота тягнуть за собою нове завантаження. Коли ми порівнювали повну 16- та 32-бітну арифметику, конвеєр CBS-CMUX стабільно виконувався з меншою кількістю послідовних початкових версій та вищою загальною пропускною здатністю. Ці прибутки розширюються в міру того, як зростає кількість ядер, і вони узгоджуються з нашою довгостроковою дорожньою картою апаратного забезпечення. Для нашої команди @sunscreentech CBS забезпечила правильний баланс: передбачуваний паралелізм, чистіша історія обчислень і крива продуктивності, яка покращується за допомогою апаратного забезпечення замість того, щоб зупинятися на послідовних вузьких місцях. Ось чому CBS є основою нашого стеку і тому ми продовжуємо подвоювати зусилля над його екосистемою.
1,5K