Одно из основных отличий между @sunscreentech и другими компаниями в области FHE заключается в том, что мы выбрали circuit bootstrapping (CBS) вместо programmable bootstrapping (PBS) в нашем технологическом стеке. Вот почему мы это сделали 👇🧵 Прежде всего, что такое bootstrapping? Bootstrapping — это самая сложная и ресурсоемкая часть схемы FHE. Это техника, которая позволяет обновлять шифротексты, по сути, уменьшая накопленный шум от гомоморфных операций и позволяя проводить дальнейшие вычисления. Programmable Bootstrapping (используемый @zama_fhe) обновляет шум и оценивает таблицу поиска за один шаг. Он принимает LWE шифротекст на вход и возвращает новый LWE шифротекст, готовый для следующего поиска. Задержка на один bootstrap низкая, поэтому на изолированных логических элементах это выглядит привлекательно. Однако это имеет свои недостатки в виде последовательной зависимости. Реальные программы требуют цепочки bootstrap, и линейные зависимости между этими операциями означают, что вычисления не могут выполняться параллельно. Это оставляет большинство вычислительных ресурсов (ядер) бездействующими. Circuit Bootstrapping (используемый @sunscreentech) следует другому пути. Bootstrap по-прежнему использует LWE шифротекст, но выходом является GGSW "селектор", специально разработанный для операций CMUX. Каждый CMUX значительно дешевле, чем bootstrap, и поскольку деревья CMUX являются крайне параллельными, их можно эффективно распределять между многими вычислительными ресурсами, прежде чем потребуется еще одна дорогая операция bootstrap. Это изменение в структуре зависимости имеет решающее значение; оно позволяет нашему времени выполнения заполнять многоядерные ЦП и ГПУ сегодня и четко соответствует будущим ускорителям FHE. CMUX являются широко используемой основой в вычислительном оборудовании, и, таким образом, мы можем использовать десятилетия работы для обеспечения общего назначения вычислений из простых частей CMUX. Цирcuits PBS обычно требуют индивидуальной обработки для негасциклической индексации, дополнения LUT и преобразования форматов, что замедляет итерацию и увеличивает вероятность ошибок. Однако стоит отметить, что tfhe-rs абстрагирует почти всю эту работу для PBS, если вы просто используете их параметры по умолчанию. Повторное использование данных имеет значение по мере увеличения нагрузки. GGSW селектор, произведенный одним CBS, может управлять несколькими CMUX, распределяя дорогой шаг по широкому подсхеме. PBS не предлагает сопоставимого повторного использования; каждый новый логический элемент требует нового bootstrap. Когда мы тестировали полную арифметику на 16 и 32 бита, конвейер CBS-CMUX последовательно выполнялся с меньшим количеством последовательных bootstrap и более высокой общей пропускной способностью. Эти преимущества увеличиваются с ростом количества ядер и соответствуют нашей долгосрочной аппаратной дорожной карте. Для нашей команды @sunscreentech CBS обеспечил правильный баланс: предсказуемая параллельность, более чистая вычислительная история и кривая производительности, которая улучшается с аппаратным обеспечением, а не застревает из-за последовательных узких мест. Вот почему CBS является основой нашего стека и почему мы продолжаем углубляться в его экосистему.
1,58K