Десятиклассник из СУНЦ НГУ создал нейросеть, которая видит не только связи между словами, но и распознает объекты в пространстве

Современные Large Language Model (LLM), например ChatGPT, построены на линейной алгебре. Такие нейросети могут считать очень быстро, обобщать статистические закономерности и масштабироваться до миллиардов параметров, то есть обрабатывать огромный массив данных, обучаясь на них. Однако сейчас LLM, которые изначально создавали для работы с текстами, используют для гораздо больших задач: они распознают изображения, управляют роботами и другое.

Large Language Model — большая языковая модель, обученная на гигантских объемах текстовых данных для понимания, обработки и генерации человеческого языка.

Исследователи стали задумываться над тем, чтобы использовать в алгоритмах искусственного интеллекта (ИИ) геометрическую алгебру вместо линейной, что откроет новые возможности в использовании нейросетей. Например, геометрическая алгебра позволит ИИ работать напрямую с плоскостями, площадями, объемами и вращениями как едиными объектами. Так, если сейчас фотографии стула с трех разных ракурсов нейросеть воспринимает как три разных объекта, то при использовании геометрической алгебры ИИ будет считывать это как один вращающийся объект.

Решению этой задачи было посвящено исследование ученика 10-9 класса Всеволода Виноградова. Под руководством доцента кафедры информатики и ИКТ СУНЦ НГУ, старшего преподавателя кафедры программирования Механико-математического факультета НГУ Татьяны Тихоновой десятиклассник изучал возможности замены линейной алгебры на геометрическую в языковых моделях нейронных сетей на архитектуре «Трансформер» — вид нейросетевой архитектуры, который хорошо подходит для обработки последовательностей данных.

Меня заинтересовала геометрическая алгебра. Она перспективна и способна заменить сложные элементы на простые аналоги, — делится Всеволод Виноградов. — В ходе проекта я научился работать с PyTorch (прим. — самая популярная библиотека для нейросетей), писать для него кастомные CUDA-ядра — это новые инструкции для видеокарты, потому что готовых в библиотеке недоставало.  Также я научился эффективно реализовывать внешнее произведение, то есть смог создать программу, которая считает быстро и не использует огромные вспомогательные таблицы

Результатом исследования Всеволода стало:

  •  написание на C++ и CUDA ядра внешнего произведения — программы, которая умеет умножать друг на друга «многомерные площади» (мультивекторы);
  •  создание 8192 произведений мультивекторов длиной в 1024 за 2 секунды на CPU и за 0.25 на GPU — код на видеокарте, работающий в 8 раз быстрее. Например, 8 тысяч умножений огромных векторов решается за четверть секунды. Это позволяет рассмотреть сотни вариантов поворота, например, молекулы или траектории машины, гораздо быстрее;
  •  создание нейронной сети с архитектурой «Трансформер» — замена некоторых «деталей» в современной архитектуре нейросети, которые позволяют представлять повороты как единые объекты.

В настоящее время модель можно обучить. Доработкой займусь уже на каникулах. Я уже придумал более сложную модель с архитектурой, базирующейся на идее «Трансформера», где геометрическая алгебра будет необходима. Ее я и попробую создать и протестировать в качестве следующего проекта.

Результаты исследования Всеволод Виноградов представил на Международной научной студенческой конференции, где получил диплом 2 степени в секции «Современные компьютерные технологии».