В современном мире разработки программного обеспечения и искусственного интеллекта способность масштабировать процессы и системы с сохранением высокой производительности и надежности становится решающим фактором успеха. Компания Harmonic, специализирующаяся на построении математической суперинтеллектуальной системы, продемонстрировала блестящий пример того, как можно эффективно масштабировать Lean - мощный язык для интерактивного доказательства теорем - с использованием собственных инновационных решений и продуманной инфраструктуры. Lean доказательства представляют собой цепочку логических шагов, направленную на создание формальных и безошибочных математических заключений. Важность масштабируемой среды исполнения Lean трудно переоценить, поскольку именно она позволяет автоматизированным системам, таким как их флагманская модель Aristotle, проводить миллионы вычислений параллельно, не теряя при этом корректности выполнения и стабильности. Основной вызов, с которым столкнулась команда Harmonic, заключался в необходимости обработки огромного количества задач по проверке и построению доказательств, требующих выделения колоссальных вычислительных ресурсов, преимущественно CPU, но не всегда GPU, поскольку доказательства Lean являются CPU-интенсивными.
Чтобы решить эту проблему, была разработана уникальная система - REPL service, разработанная с нуля и прошедшая несколько стадий эволюции, каждая из которых отражала уроки, извлеченные из реальных рабочих сценариев. Первоначально архитектура REPL service представляла собой локальную библиотеку управляемого Lean REPL процесса, предоставляющую асинхронный API, что позволяло использовать все доступные CPU одного оборудования. Несмотря на успешность для масштабирования внутри одного узла, потребность в распределенной обработке и гибком масштабировании привела к построению полноценного сервиса с возможностью обслуживания множества клиентов одновременно и распараллеливания задач между сотнями тысяч ядер. Следующий этап вывел систему на уровень использования Google Kubernetes Engine с подключением балансировщика нагрузки и WebSocket-соединений для обмена запросами и ответами в реальном времени. Однако реализация показала основные ограничения - привязка каждого соединения к конкретному бэкенду вызвала проблемы с балансировкой нагрузки и стабильностью работы, особенно при неожиданном завершении соединения или масштабировании сервиса.
В ответ на эти проблемы команда Harmonic перешла к архитектуре с использованием gRPC - протокола, базирующегося на HTTP/2, обеспечивающему нативную поддержку маршрутизации отдельных запросов, что значительно повышало гибкость. Тем не менее, новый протокол принес собственные сложности: обязательное шифрование создаёт дополнительную сложность настройки в рамках защищённой корпоративной сети, а ограничение на общее число потоков в одном HTTP/2 соединении приводило к неожиданным разрывам соединений на длительных сессиях. Самым успешным решением стала третья ревизия REPL service, в которой был разработан минималистичный бинарный протокол с произвольной маршрутизацией сообщений. Ключевой инновацией стало инвертирование направлений подключения: бэкенды сами инициировали соединение с роутером, регистрируясь как обслуживающие серверы, что позволило отказаться от сложных механизмов мониторинга состояния и повысить устойчивость к сбоям и предопределённым отключениям экземпляров. Также в архитектуру был встроен глобальный очередь запросов с интеллектуальным алгоритмом масштабирования на основе измерения длины очереди, скоростей обработки и загрузки вычислительных ресурсов.
Такая система обеспечила эффективную балансировку нагрузки и быстрый подъем производительности - время масштабирования с единичного экземпляра до сотен снизилось с 2 часов до 10 минут. Это уникальный пример достижения почти идеальной загрузки, когда одновременно было задействовано около полумиллиона CPU с эффективностью 95-100%. Преимущества этого подхода выходят далеко за рамки только Lean доказательств. Внедренные принципы и архитектурные решения имеют отношение к разработке масштабируемых и отказоустойчивых сервисов, работающих с высокочувствительными и ресурсоёмкими задачами, включая машинное обучение, системы автоматизированного доказательства, формальную верификацию и другие передовые технологии. Harmonic активно интегрирует собственные технологические достижения как в исследовательские процессы, так и в коммерческие продукты.
В частности, кастомный компилятор протокольных буферов pbcc позволил значительно оптимизировать сериализацию больших данных в Python, избавив разработчиков от многих ограничений и неудобств стандартных решений, что также способствует более эффективной работе масштабируемых распределённых систем. Благодаря их системам стало возможным не только стабильное и скоростное выполнение вычислительных задач, но и обеспечение формальной проверяемости на уровне, который ранее считался труднодостижимым для искусственного интеллекта. Модель Aristotle, опирающаяся на REPL service для исполнения Lean-кода, добилась золотого уровня на Международной математической олимпиаде, что является знаковым событием в области формального математического доказательства. Будущее развития Harmonic включает дальнейшее совершенствование REPL service, в том числе внедрение хранения состояния на стороне роутера для оптимизации пропускной способности и снижения нагрузки на клиентов, а также использование не-GKE CPU ресурсов для снижения затрат. Такой подход открывает перспективы расширения вычислительных кластеров без ущерба производительности и с максимальной экономической эффективностью.
Основное послание этого примера состоит в том, что успех масштабирования сложных систем достигается не только технологиями, но и глубоким анализом задач, гибким подходом к архитектуре и смелостью переосмысливать устоявшиеся методы. Harmonic демонстрирует, как инновации в инфраструктуре и протоколах взаимодействия способствуют созданию систем нового поколения, способных решать задачи на стыке математики, инженерии и искусственного интеллекта с невиданной ранее точностью и скоростью. Таким образом, опыт и решения Harmonic по масштабированию Lean служат образцом для исследовательских лабораторий, инженерных команд и технологических компаний, стремящихся выстроить эффективные высоконагруженные системы с гарантированной корректностью исполнения и максимальной производительностью. Их работа доказала, что продуманное создание собственной инфраструктуры и отказ от ограничений шаблонных решений - ключ к успеху в эпоху быстрорастущих требований к вычислительным мощностям и надежности. .