Расскажи, пожалуйста, чем ты вообще занимаешься (и где)?
Я занимаюсь разработкой в компании Banuba, которая специализируется на создании алгоритмов дополненной реальности для мобильных устройств и веб-платформ.
Основная часть команды находится в Минске, хотя есть коллеги и в других странах. А сам я строю нейросети, которые должны работать в реальном времени на самых разных устройствах — от недорогого смартфона за сто долларов до последнего айфона. Эти сети не должны перегревать устройство и при этом должны показывать хорошие результаты.
В таких задачах особенно важна точность: нужно не просто изменить прическу, а максимально реалистично показать, как новый стиль или цвет будет выглядеть на человеке.
А как ты вообще программистом стал?
Программированием я увлекся еще в школе. Я с детства люблю автоматизировать разные интересные задачи. Когда я поступал в ШАД, я изучал различные направления и, хотя изначально меня интересовала инфраструктура, обратил внимание на машинное обучение.
Обычные алгоритмы хорошо решают четко формализованные проблемы, а в ML задача не обязательно должна быть строго определена. Например, задачи Image-to-Image, наверное, невозможно описать математически в полной мере. Меня зацепило, что машинное обучение дает возможность автоматизировать задачи более высокого уровня — поэтому я и выбрал это направление.
А помнишь свою первую программу, после которой — всё, ты всё сразу понял?
Наверное, всё началось с игр. В школе я много играл в Kerbal Space Program — «песочницу» про ракеты и космос. Со временем сделал алгоритм управления ракетой на взлёте и что-то вроде посадки ускорителей — как у SpaceX, только в игрушечном виде.
Заметил, что в общем чате никто не отвечает, а в личке можно получить ответ. Поэтому написал программку, которая автоматически выбирала «жертву» и спрашивала нужное. А в университете я написал скрипт, который решал за студентов тесты на образовательной платформе Moodle. Полезная штука! Хотя, конечно, не советую никому такими скриптами пользоваться — учиться надо самостоятельно.
Давай про ШАД? Как ты вообще про Школу узнал, как поступал?
Про ШАД я узнал ещё в университете — я учился на факультете прикладной математики и информатики БГУ. Там преподавал Лёша Толстиков, тот самый знаменитый Лёша Толстиков (он и сейчас преподает).
Я уже интересовался спортивным программированием, и многие знакомые, с которыми я пересекался на соревнованиях, знали про ШАД: кто-то уже учился, кто-то собирался поступать. А еще после первого курса я жил в общежитии с соседом, который как раз готовился к вступительным экзаменам.
Я посмотрел требования и понял, что по математике у меня всё в порядке, а вот с алгоритмами хуже — почти ничего не знаю. В университете как раз был хороший курс по алгоритмам, и я решил, что подучусь и попробую поступить после второго курса.
А как сейчас, ШАД помогает в работе?
В памяти остаётся сама идея, подход. И если что-то нужно, я примерно знаю, где это можно найти или просто быстро открыть нужный курс и освежить материал. Но в целом в ШАДе было много полезных вещей именно в прикладном смысле.
Думаю, это сочетание и курсов в ШАДе, и занятий в университете. У нас, например, была строго математическая дисциплина — «Теория графов». Она сильно повлияла на образ мышления, придала ему больше ясности и структурности.
Вообще важны фундаментальные курсы — математика, алгоритмы, статистика. Особенно алгоритмы — это целый способ мышления. Такие курсы развивают математический взгляд на задачу, где ценится элегантность и обоснованность решения. В инженерных задачах, наоборот, часто встречается переизобретение велосипеда, без особой красоты или логики.
Если бы ты формировал ШАД, в какой пропорции ты бы разделил фундаментальные курсы и более практико-ориентированные?
Магистратура — а ШАД, по сути, и есть магистерская программа — по определению про более прикладные вещи. Насколько я помню, программа примерно наполовину состояла из фундаментальных курсов по алгоритмам и статистике.
Вторая половина — прикладная, например, про машинное обучение, включая генеративные модели. В целом, такой баланс мне кажется удачным: теория сразу находит отражение в практике. Иногда в фундаментальных науках задаёшься вопросом, зачем это всё нужно, а ответ находишь только к концу курса. Здесь же всё понятнее с самого начала.
Мне нравится, когда при обучении сначала ставится задача, а потом ищется решение. В университете чаще наоборот: тебе дают теорию, а потом показывают, как её можно применить. Лично мне так сложнее, потому что не сразу формируется общая картина. Когда начинаешь с проблемы, всё становится логичнее.
Ну окей. А какой у тебя был любимый курс?
Больше всего мне понравились курсы по генеративным моделям: в них была правильная пропорция математической глубины и практической направленности.
Еще мне запомнился курс «Эффективные системы глубинного обучения». Интересным был курс по графам в машинном обучении: тема относительно редкая, не так широко известная, поэтому слушать было особенно любопытно. И, пожалуй, курс по беспилотным автомобилям: он даёт понимание, как строятся крупные системы вроде автопилота, из каких принципов исходят разработчики и куда движется сообщество в целом.
Общение с ребятами из ШАДа и университета сильно повлияло на моё профессиональное развитие: мы обсуждали разные темы, делились опытом, формировали общие взгляды. В ШАДе много интересных людей с разным опытом и подходами. Это ценно и в профессиональном, и в человеческом плане. Из разговоров с ними часто узнаёшь о возможностях, которых сам бы не заметил. Люди могут подсказать, направить — и это, наверное, одна из главных ценностей сообщества.
Машинное обучение, Data Science и искусственный интеллект — это «новый чёрный» в мире?
С точки зрения бизнеса всё довольно просто — это огромные новые возможности. Например, то, чем я занимаюсь: пользователи заходят на сайт производителя косметики, могут выбрать продукты в режиме дополненной реальности, увидеть, как это выглядит на лице. Вин-вин: и удобно, и продажи растут.
А вот с точки зрения общества всё сложнее. Люди начинают постепенно делегировать всё больше задач искусственному интеллекту. С одной стороны, это избавляет нас от рутины, с другой — делает зависимыми. Я замечаю, что некоторые воспринимают ИИ не как инструмент, а как наставника, и это настораживает. Возможно, мы просто проходим стадию адаптации — как когда-то с поисковиками.
С искусственным интеллектом, наверное, будет так же: он возьмёт на себя часть задач, а мы перейдём на новый уровень, более абстрактный.
Есть и обратная сторона — короткие видео, нейрослоп, ML-мошенничество. ИИ и в этом оказывается очень эффективен. За новые возможности мы чем‑то платим. Но, думаю, всё равно нужно двигаться вперёд, а с негативными последствиями человечество со временем справится с помощью образования, регуляции или просто новых привычек.
Какие направления в ML тебя сейчас особенно захватывают?
Генеративные модели! Они развиваются невероятно быстро. Раньше мы просто умели генерировать картинки, потом — по текстовому описанию, потом — удалять или менять отдельные элементы, а сейчас уже можно редактировать изображение прямо по тексту.
Пока не работает, я проверял, но до этого уже недалеко. Ну и генерация видео, конечно, тоже впечатляет. Да, результаты пока далеки от идеала, но то, чего уже удалось добиться, по-настоящему круто.
Интересное направление появилось с бенчмарками ARC-AGI — на них проверяют способности моделей решать задачи вроде судоку или лабиринтов. Поначалу крупные модели показывали средние результаты, но недавно начали появляться крошечные модели, которые решают эти задачи очень хорошо. Мне кажется, это очень перспективная область.
Ещё мне интересна тема нейросетей для мобильных устройств. В обычных условиях можно просто взять больше данных и увеличить модель. Но на смартфонах такой трюк не работает: вычислительные ресурсы ограничены, и приходится искать нестандартные подходы. Это тоже очень захватывает.
Представим, что ты вернулся в прошлое. Что ты изменишь в своём обучении?
Заставлю себя выбирать для курсовых работ темы поинтереснее и серьёзнее относиться к исследовательской части. Но это то, что приходит только с опытом. Когда ты впервые делаешь учебное исследование, понятно, что от тебя не ждут настоящих результатов. Конечно, хотелось бы передать себе нынешний опыт — даже больше жизненный, чем профессиональный. Знания всё равно получаешь со временем, а вот опыт — это то, что нужно прожить и прочувствовать самому.
Блиц! Какой главный навык стоит прокачать тем, кто хочет пойти в ML?
Мне кажется, это не совсем про навык — скорее, про подход.
Это, кстати, везде так. Почему Ford Model T стал таким популярным? Потому что это была простая, надёжная машина. В машинном обучении то же самое: простые решения, как правило, оказываются и эффективнее, и устойчивее.
А теперь давай любимую книгу
Я читаю в основном специализированную литературу. Мне, например, интересна «Формула-1», и я люблю читать о людях, связанных с ней. Особенно люблю книги, из которых можно подхватить идеи, образ мышления автора.
Сейчас читаю книгу о Генри Форде, и мне запомнилась его позиция: он не любил нанимать специалистов, потому что специалисты видят только ограничения. Они могут назвать десять причин, почему идея не сработает, а человек, пришедший с интересом, найдёт один способ, как заставить её работать. Мне это кажется очень точным наблюдением.



