Делать научные исследования на первом курсе бакалавриата — дело непростое, а часто невозможное, потому что мало кто захочет дать свою рабочую задачу новичку. Но есть и исключения.
В этой статье общаемся с тремя студентами факультета компьютерных наук ВШЭ. Ребята учатся по треку «AI360: Инженерия искусственного интеллекта» и занимаются научной работой уже со второго семестра.
Отбор на программу проходит в августе среди студентов, уже зачисленных в бакалавриат ФКН «Прикладная математика и информатика». Критерии отбора: дипломы олимпиад международного и всероссийского уровней, тестирование по математике и программированию. Стать участниками программы могут 36 студентов. Участникам трека выплачивают ежемесячную стипендию 40 тысяч рублей, а партнерами программы выступают бигтехи Яндекс и Сбер.
Содержание
Анастасия Салимова
Чтобы попасть на «AI360», нужно сперва поступить в бакалавриат, а потом пройти отбор. Шла я целенаправленно. Узнала об этом треке на математической школе от декана ФКН. Главное, что сразу начинается исследовательская деятельность с научным руководителем, можно писать курсовые, ездить на конференции. Я поняла, что это место, где студенты действительно занимаются наукой, и поступила именно из-за этого.
Сейчас мы закончили первый курс, переходим на второй. По сравнению с учебной программой остальных студентов ФКН наша интенсивнее. Например, машинное обучение у нас начинается со второго курса, а в стандартной программе — с третьего. Практика уже с первого курса. Проходит в формате выездных школ, где мы работаем над реальными задачами с сотрудниками Яндекса и Сбера. Это готовит нас к настоящим исследованиям. При этом сохраняется вся фундаментальная математика и информатика.
Некоторые мои друзья уже сотрудничают с AIRI: работают над кейсами, участвуют в международных конкурсах по ML, входят в команды Яндекса и Сбера. Многие совмещают исследования с оплачиваемыми стажировками, трудоустраиваются в лаборатории. Я пока не стремлюсь работать: хочу сосредоточиться на учебе и исследованиях.
Моя научная работа касается коммуникационной сложности функций. Тему выбрала сама, начала изучать ее еще на математических школах, а в университете предложила ее научному руководителю, который вел похожий проект. Я читала статьи, выбирала задачу, придумывала решение. В итоге создала новый алгоритм для одной из функций, который сводит ее к более простой, — моя ключевая находка.
Оптимизация этой функции — одна из классических задач в коммуникационной сложности. Мы исследуем ее в полудуплексной модели с нулем: два игрока могут либо отправить сигнал, либо слушать, но не делать это одновременно. Такая модель напоминает общение по рации. Из возможных приложений — параллельные вычисления, когда два компьютера решают задачу совместно и надо научить их «говорить» друг с другом по очереди, а не вместе, чтобы это приносило результат.
Теоретическая информатика и конкретно коммуникационные игры — довольно молодая область, у которой пока мало практического применения. Поэтому сейчас не думаю о прикладной ценности. Для меня важнее делать открытия, придумывать что-то новое. В будущем, конечно, хочется опубликовать статью, поучаствовать в конференции, но пока нужно наработать больше результатов. План — применить мои идеи к другим моделям и функциям, углубить исследование.
Вообще меня ни капли не смущает фундаментальность моих исследований. Никогда не знаешь, что выстрелит. Какое-то время назад на ФКН был обязательный курс по дифференциальным уравнениям. Но у студентов он вызывал мало интереса: они хотели глубже погружаться именно в машинное обучение, где дифференциальные уравнения возникают нечасто. На факультете ввели альтернативы этому курсу, более релевантные ML, сделав диффуры одним из курсов по выбору. А потом появились новые методы, в том числе диффузионные модели, в которых как раз надо было знать дифференциальные уравнения, и интерес к этому курсу стал расти. Более того, на старших курсах появилось его продолжение в виде курса, на котором изучаются стохастические дифференциальные уравнения. Вот так изменения на переднем крае науки влияют на то, какие фундаментальные дисциплины входят в учебный план, а не имевшие особого спроса знания внезапно становятся ключевыми.
В этот раз я выбрала тему по скиллам, хотя можно и иначе: взять интересную тему и под нее развивать навыки. Обычно я смотрю, что происходит в области, читаю статьи, обсуждаю с преподавателями — они часто рекомендуют хорошие темы и научных руководителей. Вокруг нас много сильных профессоров, к которым можно подойти и задать вопросы.
Чтобы придумать новый алгоритм, я не сажусь сразу решать конкретную задачу. Я изучаю всю область, пробую решать разные открытые и даже решенные задачи по-своему, не заглядывая в решения. Это позволяет выработать собственный стиль мышления. В какой-то момент находишь задачу, в которой срабатывают все придуманные тобой идеи.
У нас дважды в год проходят выездные школы — исследовательские интенсивы по две недели. Там мы решаем рабочие задачи от сотрудников Яндекса и Сбера. В моей команде была тема генерации изображений: мы разбирались, как работают модели вроде Stable Diffusion, анализировали архитектуры, меняли код, делали собственные генерации. Это все на реальных данных в офисах компаний. Для первокурсников это очень ценный опыт. В феврале была первая школа, осенью будет вторая.
Какое-то время я сама преподавала: вела кружки, ездила волонтером в «Сириус» на математическую смену. Это весело, но сбивает с ритма учебы, поэтому с этим надо быть аккуратной.
В школе занималась математическими олимпиадами, была призером Всероса, доходила до международного уровня. Многие сверстники участвуют в хакатонах, но в «AI360» это не так актуально. У нас и так хватает своих исследовательских проектов, что, на мой взгляд, куда круче.
Что касается будущего — хочу продолжать исследования. Возможно, в Яндексе, Сбере, AIRI или в университете. Главное — делать открытия, развивать себя и область. И да, если это читают абитуриенты — наука действительно классная вещь. Если вам интересно этим заниматься, приходите на ФКН. Здесь поддержат, помогут и дадут реальные возможности заниматься исследованиями с первого курса.
Никита Ильтяков
Я победил во Всероссийской олимпиаде по искусственному интеллекту, и после этого меня пригласили на мероприятие «Два дня на ФКН». Это погружение в образовательную среду для победителей, чтобы понять, подходит ли факультет. Именно там впервые анонсировали программу «AI360». Она только запускалась, информации было немного, но, так как я уже занимался ИИ и хотел поступать по этому треку, сразу понял, что хочу попасть именно туда. Потом, когда начался учебный год, прошел отбор — по портфолио и собеседованию. Конкурс был высокий, у нас он самый большой среди аналогичных программ в других вузах.
В школе я активно участвовал в олимпиадах — по математике, физике, информатике. В старших классах стал больше заниматься прикладными задачами, участвовал в хакатонах и олимпиадах по ИИ. Меня всегда драйвила конкуренция — честная борьба, равные условия. За четыре часа олимпиады можно прокачаться сильнее, чем за месяц самостоятельной подготовки. А хакатоны — это уже ближе к реальным задачам, где применяешь конкретные инструменты.
Еще в школе я работал ML-инженером в компании, занимающейся цифровой стоматологией: обучал модели, делал небольшие проекты на заказ. Когда поступил в вуз, времени стало меньше, и я прекратил работу. Сейчас стажируюсь в AIRI — это оплачиваемая стажировка в исследовательской лаборатории. Работаю в команде над проектом.
Само исследование я выбрал из большого списка тем — их было около ста. Хотелось совместить интерес к математическим аспектам оптимизации и большим языковым моделям. У меня уже был практический опыт в ML, но, конечно, во время работы пришлось сильно прокачаться: читать технические статьи, понимать, как формализовать задачи, чтобы теоретические результаты можно было перенести на реальные эксперименты. Особенно сложно далась теоретическая часть: доказательства, работа с матрицами, оценками матожиданий и теорией вероятности. Базовой подготовки первого курса не всегда хватало, иногда приходилось довольствоваться интуитивным пониманием.
Наша задача — сделать дообучение больших языковых моделей (LLM) более эффективным. Чтобы не переобучать всю модель, используют LoRA-адаптеры — это специальные вставки с двумя матрицами A и B. A извлекает признаки, B использует их. За счет того, что A и B переводят данные в пространство меньшей размерности и обратно (например, из 10 000 в 30 и назад), адаптер остается низкоранговым и легким. В классических подходах обе матрицы обучаются градиентным методом, но это требует много ресурсов. Поэтому некоторые статьи предлагают просто инициализировать A случайно и замораживать. Мы пошли другим путем: предложили обучать A без градиентов, локально.
Для этого мы использовали два метода: один основан на хеббовском подходе, другой — автоэнкодер. Хеббовские методы опираются на правило локального обучения: нейрон усиливает связь с теми нейронами, которые активируются одновременно с ним. Такой принцип позволяет обучать модели без необходимости передавать информацию о всей сети — достаточно локального контекста.
Мы подали статью с описанием этого подхода на NeurIPS. В проекте работает команда из пяти человек: сотрудники AIRI, я и еще один студент «AI360» Александр Карпов. Мы делим задачи пополам: занимаемся реализацией и тестированием методов, анализом метрик и подготовкой экспериментов.
Для оценки эффективности мы используем разные метрики: качество генерации (например, перплексити — насколько хорошо модель предсказывает следующие токены), а также вычислительные затраты (память, скорость). Качество предсказания измеряем на бенчмарках, подбираем правильные датасеты. Затраты проще предсказать теоретически, но проверяем это и на практике.
Мне интересно продолжать работу в этой области — как с применением нейроморфных подходов, так и с развитием LoRA. Пространство для исследований большое: можно докручивать существующие методы, искать новые способы обучения адаптеров, пробовать локальные методы в других нейросетях.
Максим Ломакин
В школе я занимался программированием, участвовал в олимпиадах, разрабатывал приложения. Стал призером Всероссийской олимпиады по информатике, и это позволило поступить на ПМИ ФКН. Про программу «AI360» услышал на «Двух днях на ФКН» от Алексея Наумова, директора Института искусственного интеллекта и цифровых наук ФКН.
Моя научная работа лежит на пересечении математики и машинного обучения. По сравнению с обычным программированием в ML нужно думать про архитектуру модели, обработку данных и выявление в них ошибок, валидацию — гораздо больше тонкостей. А математика у меня скорее инструмент, который помогает обосновать используемые подходы. Теоремы я не доказывал, но использовал. Например, теорема Такенса и теория показателей Ляпунова помогли понять структуру хаотических систем и вдохновили на составление новых алгоритмов.
Тему работы — прогнозирование хаотических рядов — выбрал из большого списка, который предложили менеджеры трека. Темы были на любой вкус — от фундаментальных до прикладных, с возможностью работать как в лабораториях университета, так и во внешних научных центрах, например в AIRI. Можно было даже предложить свою идею и найти под нее научного руководителя. Мне кажется, наш трек дает много интересных возможностей для первокурсников с разным опытом и интересами. Так, мое исследование близко к физике, которую я всегда любил. А работы научного руководителя, профессора Василия Громова, дали примерное понимание, что предстоит делать.
Прогнозирование хаотических временных рядов можно приложить к метеорологии, биологии и медицине. Ведь колебания температур, сердечный ритм, активность мозга — примеры таких рядов. Скажем, можно анализировать электроэнцефалограммы и прогнозировать эпилептические приступы. Хотя это гораздо сложнее, чем предсказывать ряд Лоренца, с которым я имею дело.
Хаотические временные ряды демонстрируют эффект бабочки: малые изменения в начальных условиях приводят к очень разным результатам. Это делает прогнозирование трудным, потому что ошибка растет экспоненциально. Я исследую, как этот рост можно замедлить или избежать его.
Один из основных инструментов — z-вектора. Мы используем их, чтобы находить шаблоны в ряде и делать прогноз. Также вводим понятие непрогнозируемых точек — тех, где мы не можем надежно предсказать значение. Тогда задача превращается в двухкритериальную оптимизацию: минимизировать ошибку и при этом не допустить, чтобы непрогнозируемыми оказались все точки. Если множество возможных прогнозов в точке разбивается на несколько далеких кластеров, такую точку считаем непрогнозируемой.
Исходный ряд в моей работе — координата x из системы Лоренца. Это детерминированная система, задаваемая системой дифференциальных уравнений. Мы ее численно интегрируем и берем отрезок ряда, на котором учимся делать прогнозы вперед.
Я рассмотрел три алгоритма: поточечный, траекторный и алгоритм неполных траекторий. Поточечный — традиционный, он предсказывает по одной точке, и ошибка растет экспоненциально. Траекторное прогнозирование рассматривает множество альтернативных вариантов будущего. Алгоритм неполных траекторий — его вариация, где прогнозируются не все точки, а случайное подмножество.
Все эти алгоритмы основаны на работах Василия Громова. Я их воспроизводил, проводил эксперименты, модифицировал. Алгоритм неполных траекторий в явном виде в статьях не встречал — скорее это моя интерпретация идеи траекторного прогнозирования.
В итоге мне удалось замедлить рост ошибки, особенно в алгоритме неполных траекторий. Но проблемы решены не все: алгоритмы часто делают прогнозы на сменах витков аттрактора Лоренца, и хотелось бы уйти от этой привязки.
Дальше думаю попробовать идеи вроде self-healing — когда в первой эпохе прогнозируются точки, а во второй постепенно заполняются пропуски. Еще хочу поработать с другими хаотическими рядами и с реальными данными, где есть шум и потребуется его убрать. Ну, и до конца бакалавриата собираюсь продолжить улучшать существующие алгоритмы, чтобы сделать их стабильнее и точнее, а также привнести в область совершенно новые идеи.
Мне интересно писать код и экспериментировать. Осенью, скорее всего, пойду стажером в лабораторию — меня пока официально не оформили, но рекомендовали. Возможно, это будет лаборатория анализа семантики или интеллектуальных систем и структурного анализа, а может, еще какая-то, где работает мой научный руководитель. Оплата не главное, мне важно узнать, как устроена работа в исследовательской группе. В дальнейшем планирую пойти в магистратуру и, возможно, аспирантуру.
Реклама: Национальный исследовательский университет «Высшая школа экономики» ИНН 7714030726, Erid: 2W5zFHg4MFW