Инструменты24 сентября 2026 г., 12:21 МСК🤖 Auto

XLOG: CUDA-движок для нейро-символического вывода с ускорением в 27x

Исследователи представили XLOG — первый CUDA-native движок, объединяющий нейросетевое восприятие с детерминированным Datalog и вероятностным выводом, обеспечивая кратный прирост скорости за счет оптимизации передачи данных между CPU и GPU.

Баннер новости 8182

Архитектура: Zero-Copy и GPU-компиляция

XLOG (авторы Levi Dubrovin, Nikita Pospelov, Kirill Sabitov) решает фундаментальную проблему гибридных систем — узкое горлышко при обмене данными между процессором и видеокартой. Движок использует typed frontend и CUDA-рантайм, позволяя различным режимам рассуждения (ordinary Datalog, exact inference, Monte Carlo) разделять плоскости данных устройства (device data planes).

Ключевая особенность: ядра рекурсивного вывода и сэмплирования Монте-Карло записывают нулевые передачи данных хост-устройство до получения ограниченного терминального результата. Вероятностный путь поддерживает сквозные градиенты через GPU-компиляцию знаний: от происхождения (provenance) к CNF, затем к Decision-DNNF, с точным подсчетом взвешенных моделей и обратными градиентами.

Производительность: Скорость и Память

Внедрение кэширования контуров (circuit caching) дало значительный ускорение обучения. В задаче сложения цифр MNIST скорость обучения увеличилась в 2.74 раза. Однако главное преимущество раскрывается в операциях соединения (join). Подсистема с оптимальным худшим случаем показала геометрическое среднее преимущество в 27.96x по сравнению с базовым бинарным соединением XLOG.

Сравнение с традиционными символьными системами, такими как Souffle, демонстрирует радикальную экономию памяти. В задачах подсчета треугольников на графах с пиковым распределением пиковые выделения устройства XLOG составили 85–1,033 МБ, тогда как материализующая ветвь Souffle требовала 3,287–44,979 МБ.

Метрика / Задача Результат XLOG Сравнение / Базовая линия Примечание
Ускорение обучения (MNIST-addition) 2.74x Без кэширования контуров За счет circuit caching
Join-операции (геом. среднее) 27.96x Базовое бинарное соединение XLOG Worst-case-optimal join subsystem
Точность (MNIST-addition) 0.9561 Scallop: 0.9468 Точность сопоставима, но скорость эпох зависит от CPU
Память (Triangle counting, 1.2M ребер) 85–1,033 MB Souffle: 3,287–44,979 MB Отношение времени выполнения Souffle/XLOG: 5.54x
Марitime corpus (F1 score) +0.065 Crisp selection Взвешенные клаузы превосходят жесткий отбор

Точность вывода и ограничения

Точный вывод (exact inference) в XLOG эквивалентен по корректности, но медленнее, чем ProbLog2. В задачах компьютерного зрения, таких как поиск правил Event Calculus, система показала неудовлетворительные результаты: провал в 10-кросс-валидации и отсутствие переносимости на split без утечек данных. Однако в семантическом анализе морских корпусов взвешенные клаузы превзошли жесткий отбор на 0.065 F1, причем результат был воспроизведен за один проход хронологического обучения.

Значение для индустрии

XLOG демонстрирует, что интеграция нейросетей и символьной логики может быть не только точной, но и высокопроизводительной за счет нативной работы с GPU. Отказ от материализации промежуточных данных в пользу оптимизированных контуров открывает путь к созданию масштабируемых нейро-символических систем для сложных задач, требующих как восприятия, так и строгого логического рассуждения.

Источник: arXiv cs.AI ↗