Десятиклассник из СУНЦ НГУ создал нейросеть, которая видит не только связи между словами, но и распознает объекты в пространстве
Современные 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 степени в секции "Современные компьютерные технологии".
Ссылка на материал на сайте СУНЦ