• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Московский институт электроники
и математики им. А.Н. Тихонова

О героях конкурса НИРС (часть 2): представляем призеров-выпускников МИЭМ

8 февраля состоялась церемония награждения победителей и призеров конкурса научно-исследовательских работ студентов. Рассказываем о призерах среди выпускников нашего института.

О героях конкурса НИРС (часть 2): представляем призеров-выпускников МИЭМ

Мы уже рассказывали о победителях конкурса научно-исследовательских работ студентов (НИРС) среди студентов. Общеуниверситетская церемония награждения молодых ученых прошла в День науки, 8 февраля. Сегодня о своей работе рассказывают призеры среди выпускников - Илья Ларюшкин и Георгий Новосёлов, закончившие недавно МИЭМ НИУ ВШЭ.   

Принять участие в конкурсе могут все студенты бакалавриата, специалитета и магистратуры, причем представлять ребята могут другие вузы – учеба в НИУ ВШЭ не является обязательным условием. Кроме того, участниками могут стать также недавние выпускники университета.

МИЭМ традиционно был представлен номинацией «Лучшая научно-исследовательская работа по техническим наукам и прикладной математике», которая отдельно определяется для студентов бакалавриата и отдельно для студентов магистратуры и выпускников.

Илья Ларюшкин и Георгий Новоселов, выпускники образовательной программы «Информатика и вычислительная техника», представили на конкурс работу «Реализация POSIT вычислений действительных чисел для применения в технологиях машинного обучения».

Заниматься своим исследованием ребята начали под научным руководством Александра Романова еще в студенческие годы.

О том, как происходил выбор работы и научного руководителя, рассказал Георгий Новосёлов.

«Исследование началось с прочтения простеньких статей на Хабре о posit, которыми со мной поделился Илья летом между 3 и 4 курсами. Он был заинтересован темой и предложил вместе присоединиться к исследованию формата в рамках ВКР, поскольку нам обоим хотелось завершить обучение в бакалавриате интересной и нестыдной работой. Среди преподавателей, с которыми мы встречались лично на парах, Александр Юрьевич больше всего подходил по тематике работы, поскольку у него мы на поздних курсах имели дело с более-менее низкими уровнями программирования и знали, что он хорошо разбирается в компьютерной памяти и сможет быстро влиться в тему внутреннего устройства интересующих нас форматов. Наш выбор подтвердился, когда мы решили соединить позиты с машинным обучением после прочтения главной работы Густафсона, поскольку до этого мы приняли участие в одном проекте Александра Юрьевича, связанном с нейронной сетью на ПЛИС, и нам была полезна консультация по данному вопросу».

Георгий Новосёлов, фото из личного архива
Георгий Новосёлов, фото из личного архива

О формате Posit

Posit - новый формат хранения действительных чисел в компьютерной памяти, основанный на интервальной арифметике и способный заменить стандартный формат IEEE 754. Сейчас проводятся исследования возможностей работы этого формата и его применимости.

Георгий Новосёлов об особенностях формата Posit: «Вообще, создатель формата уже долго работает над тем, чтобы победить неприятные многим стандартные float, и posit стали одной из итераций его формата unum: более процессор-френдли и со своими исправленными мелочами. Еще одним из главных отличий от привычного float стала новая секция в памяти экземпляра формата, отводимая под "биты режима". Они считаются на основе сохраняемого числа и предоставляют ему более гибкую динамическую структуру. Считается это все по не очень простым формулам, но суть одна: 16-битный, например, позит грозится считать точнее 32-битных флоатов».

 

Об исследовании

Илья Ларюшкин: «Цель нашей работы - проверка одной из возможностей такого формата чисел. Идея пришла к нам во время первого прочтения литературы по posit-числам. Мы выбрали конкретную доменную область, актуальную для вещественных чисел (машинное обучение), и начали разрабатывать стратегию измерения производительности. То есть мы хотели посчитать, как быстро по сравнению с IEEE 754 такой формат способен считать какие-то базовые вещи. Сложно сказать, какие идеи применялись. По сути, мы просто исследовали возможность и разрабатывали бенчмарк для проверки возможностей. Можно лишь сказать, что мы хотели сделать максимально честным это измерение. К тому же исследований на эту тематику крайне мало (почти не было считай), в основном исследовалась точность и динамический диапазон. Это все добавляло актуальности нашей работе».

Георгий Новосёлов: «Мы начитались разных исследований про динамический диапазон, безопасность и точность, удивились страннейшим решениям в виде сравнения чисел, эмулируемых в разных программных средах, а порой даже сравнения эмулируемых чисел с числами без эмуляции. На основе этого поняли, что почти никто не говорит о скорости (а если и говорит, то в тексте прямо оставляет это на потомков), а корректность полученных их методами результатов исследований... Не очень. Но мы поняли, что тестирование перфоманса позитов в нейронных сетях серьёзно интересует многих разработчиков, потому решили исправить максимум подмеченных ошибок существующих работ: уделить больше всего внимания сравнению скорости работы форматов, обеспечить максимально однородную среду исполнения программ и эмуляции поведения чисел, обобщить тест-кейсы до уровня базовых алгоритмов линейной алгебры и типовых примеров бенчмарков для вещественных чисел. Также нам показалось интересным взять в тест другого конкурента float — bfloat, тоже набирающего популярность и в железе, и в софте. Для удобства и безопасности в качестве основы тестирующей системы мы решили использовать Google Test».

О перспективах исследования

Илья Ларюшкин: «Применять результаты могут либо дальнейшие исследователи формата чисел, либо разработчики аппаратуры/фреймворков, чтобы принять решение о поддержке этого формата чисел. Так же может быть интересно разработчикам из любой области, где используются вещественные числа, но преимущественно для разработчиков из машинного обучения».

Георгий Новосёлов: «Одним из главных факторов выбора темы нашей работы стало как раз то, что результаты исследования могут быть полезны разработчикам из разных областей: posit могут повлиять как на аппаратные, так и на программные возможности различных разработок, а математический аппарат исследования может быть репрезентативным не только для машинного обучения (хоть первоначально оно и было направлено в эту сторону, поскольку во всем и везде расширять тематику невозможно)».


Трудности в работе

Илья Ларюшкин: «Трудности всегда возникают - в разработке, в поиске материалов, данных, в разработке методологии. И, как все трудности, они решаются просто "работая", постепенно и постоянно что-то делаешь и приходишь к результату. Например, сложности были с грамотной и одинаковой эмуляцией чисел, нужно было все в одинаковых условиях делать и поэтому даже стандартный формат нужно было эмулировать самому. Много времени занимало непосредственно тестирование, получение данных».

Георгий Новосёлов: «Было нелегко читать тонну литературы в поиске заветных подзаголовков с английскими вариациями слова "производительность", а еще много времени ушло на выбор корректного способа реализации C++-версий типов данных, который не дал бы лишнего преимущества одному из конкурсантов. Но ничего особенно страшного не было: долгие тесты на больших данных и их не самые очевидные результаты - это норма».
 

О работе после МИЭМа

Илья Ларюшкин: «Эта работа сейчас никак не связана с моей профессиональной деятельностью. Я занимаюсь разработкой высоконагруженных систем в области Computer Vision в данный момент. По правде говоря, я никаких навыков в ходе исследования не приобрел, скорее закреплял то что уже имелось. Это умение разработки различных систем, оптимизации каких-то компонент. Ну и просто навык "размышления" о том, как правильно и как неправильно что-либо делать. Назовем это навыком problem solving».

Георгий Новосёлов: «Сейчас я занимаюсь разработкой платформы для банков, торгующих на Forex. Однако работа над исследованием posit, а именно часть реализации тестирующей системы, позволила мне лучше познакомиться с Google Test в частности и "взрослым" юнит-тестированием в общем, чего, думаю, не хватало в рамках обучения в МИЭМ».

Советы студентам, начинающим путь в науке

Илья Ларюшкин: «Сложно что-то посоветовать для подготовки, учитывая, что я и не готовился сам. Я думаю, самое главное -делать все от души, не идти на компромиссы при разработке и до конца решать все проблемы. Я бы сказал, нужно быть перфекционистом-пессимистом при работе. И тогда ее качество будет на высоте».

Георгий Новосёлов: «Конкурсы не должны быть самоцелью. В первую очередь тебе должно быть интересно заниматься своим делом, и даже если ты за все время своего обучения не выступишь ни на одной конференции или не опубликуешь нигде свою работу, это не сделает тебя хуже остальных. Стремиться надо к интересным находкам и развитию своих навыков для еще более интересных вещей, а не к призовым местам НИРС.
А так... пораньше сдавайте лабы, чтобы не копились грузом, но не забывайте дополнительно заниматься своими сторонними задачами: неважно, работа это или дополнительное (само)образование».

 

Автор: Полина Подкопаева (Медиацентр МИЭМ, 2 курс ИВТ)