TLA-Prover: модель ИИ для формальной верификации TLA+ достигла 30% точности

Формальная верификация сложных распределенных систем требует точных спецификаций, и до недавнего времени даже лучшие открытые языковые модели справлялись с этой задачей лишь в 8,6% случаев. Новая нейросеть TLA-Prover, разработанная для синтеза спецификаций на языке TLA+, поднимает планку до 30% на с

TLA-Prover: модель ИИ для формальной верификации TLA+ достигла 30% точности

Формальная верификация сложных распределенных систем требует точных спецификаций, и до недавнего времени даже лучшие открытые языковые модели справлялись с этой задачей лишь в 8,6% случаев. Новая нейросеть TLA-Prover, разработанная для синтеза спецификаций на языке TLA+, поднимает планку до 30% на самых строгих уровнях проверки. Это означает, что инженеры теперь могут автоматизировать часть трудоемкого процесса написания и проверки формальных моделей, сокращая ручной труд и повышая надежность критического ПО.

Как работает TLA-Prover

Модель TLA-Prover насчитывает 20 миллиардов параметров и обучалась в два этапа. Сначала проводилась контролируемая тонкая настройка (SFT) на наборе верифицированных примеров спецификаций TLA+. Затем модель дообучалась с помощью группового относительного обучения с подкреплением (GRPO). В этом методе модель генерирует несколько вариантов спецификаций, проверяет их с помощью инструмента TLC (модел-чекер), а затем исправляет собственные отвергнутые варианты, используя результаты проверки как сигнал вознаграждения. Такой подход позволяет обойтись без отдельной модели вознаграждения, что упрощает обучение и делает метод применимым к другим формальным языкам.

Для сравнения исследователи также обучили вариант модели с прямым обучением предпочтений (DPO), стартуя с той же SFT-точки. DPO-вариант показал 20% точности на самом высоком уровне Diamond, что все же значительно лучше предыдущих открытых моделей, но уступает GRPO-версии.

Почему 30% точности — это прорыв

TLA+ широко используется для верификации распределенных систем, протоколов безопасности и критического ПО, где ошибки могут привести к катастрофическим последствиям. Ручное написание спецификаций требует высокой квалификации и времени. Автоматизация этого процесса с помощью ИИ может существенно ускорить разработку и повысить надежность.

Ранее лучшие открытые LLM достигали лишь 8,6% успешных семантических проверок (model-check). TLA-Prover повышает этот показатель до 30% на уровнях Gold и Diamond. Уровни оценки включают: Bronze (синтаксический разбор), Silver (без предупреждений), Gold (проходит TLC) и Diamond (проходит TLC с автоматически измененным свойством корректности — если TLC по-прежнему проходит, свойство тривиально, и результат не засчитывается). На тестовом наборе из 30 задач pass@1 для Gold и Diamond составил 30% (9/30). Важно, что во всех контрольных точках Gold и Diamond совпадают, что предотвращает тривиальные свойства.

Какие задачи решает TLA-Prover

TLA-Prover предназначен для синтеза формальных спецификаций на языке TLA+. Это означает, что модель может генерировать полные описания систем, которые затем автоматически проверяются на корректность. Основные области применения — распределенные системы, протоколы консенсуса, базы данных, блокчейн-протоколы и другие критически важные системы.

Метод обучения с вознаграждением от TLC без отдельной модели вознаграждения может быть применен к другим формальным языкам, таким как Alloy, Coq или Lean. Это открывает путь к созданию ИИ-ассистентов для формальной верификации в различных областях.

Кого затронет появление TLA-Prover

Разработчики и исследователи, работающие с формальной верификацией распределенных систем и протоколов безопасности, получат мощный инструмент для автоматизации рутинных задач. Инженеры, использующие TLA+ для спецификации критического ПО, смогут сократить время на написание и отладку спецификаций. Сообщество LLM и формальных методов получит новый подход к обучению моделей для синтеза формальных спецификаций.

Однако пока модель не заменяет человека полностью. 30% точности означает, что в большинстве случаев спецификации все еще требуют ручной доработки. Но даже частичная автоматизация может существенно повысить производительность.

Какие ограничения есть у TLA-Prover

На данный момент не сообщается о производительности на более крупных или разнообразных наборах задач. Тестовый набор состоит всего из 30 задач, что может быть недостаточно для оценки обобщающей способности модели. Сравнение с коммерческими моделями, такими как GPT-4, не проводилось, поэтому неизвестно, насколько TLA-Prover превосходит или уступает закрытым аналогам.

Также неясна вычислительная стоимость обучения и инференса модели. Модель на 20 миллиардов параметров требует значительных ресурсов, что может ограничить ее доступность для небольших команд или индивидуальных разработчиков.

Какие перспективы у TLA-Prover

Дальнейшее развитие может включать увеличение размера модели, расширение набора обучающих данных и применение метода к другим формальным языкам. Возможно также использование TLA-Prover в качестве ассистента для инженеров, который предлагает начальные варианты спецификаций, а затем человек их дорабатывает. Это может стать стандартным подходом в формальной верификации.

Метод GRPO, использующий верификатор как источник вознаграждения, может быть адаптирован для других задач, где есть автоматическая проверка корректности, например, для синтеза кода с unit-тестами или для доказательства теорем.

Как TLA-Prover сравнивается с другими подходами

Ранее для синтеза TLA+ спецификаций использовались общие LLM, такие как GPT-3.5 и GPT-4, но их точность была низкой. Специализированные модели, обученные на формальных языках, показывают лучшие результаты. TLA-Prover превосходит все открытые модели и приближается к уровню, который может быть полезен на практике.

Важно отметить, что 30% точности на уровне Gold/Diamond — это результат на сложных задачах, где требуется не только синтаксическая, но и семантическая корректность. Для сравнения, на уровне Bronze (синтаксический разбор) точность, вероятно, значительно выше.

Выводы

TLA-Prover демонстрирует, что специализированные нейросети могут эффективно решать задачи формальной верификации, достигая 30% точности на сложных семантических проверках. Это значительный шаг вперед по сравнению с предыдущими 8,6%. Метод обучения с подкреплением на основе верификатора открывает новые возможности для автоматизации синтеза формальных спецификаций. Несмотря на ограничения, TLA-Prover уже может быть полезен инженерам и исследователям, работающим с TLA+, и задает направление для будущих разработок в области ИИ и формальных методов.