Даниилу Цимерману 17 лет, но за его плечами уже несколько побед в крупных конкурсах по машинному обучению и искусственному интеллекту. В этом году он поступил в ИТМО — по результатам олимпиады AI-Academy от Сбербанка. Сейчас он совмещает учебу с работой в банке «Точка» — куда он попал по итогу соревнований FinNet Challenge, организованных совместно с Университетом ИТМО.
Мы поговорили с Даниилом о его победе, увлечении машинным обучением, участии в соревнованиях и поступлении в ИТМО.
Расскажи поподробнее о задании на AIJ Contest, что именно нужно было сделать?
На AIJ было три трека: в одном из них нужно было натренировать модель, которая сможет написать эссе для ЕГЭ по обществознанию, во втором нужно было предсказывать паводки на реке Амур, а в третьем нужно было построить модель, которая будет распознавать рукописи Петра I. Я выбрал как раз третий.
Сбер собрал базу из примерно 15 тысяч сканов рукописей Петра — все они были разбиты на обучающую выборку (порядка шести тысяч отсканированных документов) и собственно тестовую. На основе обучающей выборки нужно было сделать модель, которая на входе принимает просто картинку, а на выходе дает оцифрованный текст.
Победителей определяли на основе четырех метрик, самой главной из которых был «character error rate» — количество символов, которые нужно заменить на выходе модели, чтобы из этой строки получился настоящий текст.
Почему ты выбрал именно этот трек?
Во-первых, задача сама по себе была довольно интересной. А во-вторых, там были самые большие призовые.
В треке с предсказаниями паводка нужно было работать с табличными данными. В этом у меня был достаточно большой опыт, так что меня особо не драйвило в очередной раз тренировать очередной алгоритм — я это делал уже сто раз. А на треке с сочинениями на самом деле мало что можно было сделать. Потому что там нужно было работать с моделью ruGPT-3, которая сама по себе довольно тяжеловесная — просто бери ее и обучай. Непонятно, в чем там челлендж.
А вот на рукописях Петра можно было действительно проверить свои навыки и научиться новому. Например, до этого я никогда не работал с optical character recognition — то есть оцифровкой текста, написанного от руки. Это задача, которая довольно часто появляется в реальном мире — на том же Google Drive есть функция оцифровки сканированных документов. Я примерно понимал, как это работает, но сам этим никогда не занимался. Теперь у меня есть в этом опыт, и я могу использовать его в своей работе.
Ты вообще часто участвуешь в подобных соревнованиях?
Я начал в 10 классе, а в 11-м старался участвовать вообще во всех соревнованиях, какие только есть, но самым удачным для меня стал этот год, 2020-й. Сейчас, с тех пор как я устроился на постоянную работу, я немного притормозил, участвую только в самых интересных — потому что не хватает времени на все.
Расскажи о своих первых соревнованиях. Как ты вообще начал заниматься машинным обучением?
Начну издалека. Я начал программировать в девятом классе — тогда я хотел стать веб-разработчиком, думал, что буду делать сайты и зарабатывать на этом деньги. Месяц я пытался разобраться в этом сам, а потом друг рассказал мне о наборе в Яндекс.Лицей, где школьников учат программированию. Сначала мне было очень сложно там учиться — я значительно отставал от своих однокурсников. Но зато это давало мне дополнительную мотивацию, чтобы тратить все свободное время на изучение программирования. В итоге через несколько месяцев я уже изучал темы, которые выходят за рамки первого года обучения.
Я пытался начать зарабатывать — делать свои проекты, работать на фрилансе. Но у меня ничего не получалось. Собственные проекты не взлетали, а еще оказалось, что заказчики не очень доверяют 15-летнему разработчику без нормального опыта. У меня случилась фрустрация, показалось, что в этой сфере не так уж и много возможностей для развития.
В десятом классе я наткнулся на конкурс «Большие вызовы» от образовательного центра «Сириус». Это всероссийский конкурс научно-исследовательских работ для школьников, с кучей секций, одной из которых был «Искусственный интеллект».
Я подумал, что искусственный интеллект — это гораздо круче, чем веб-разработка. Неделю я потратил на то, чтобы разобраться, как работают нейросети — честно говоря, понял с трудом. Но у меня был опыт проектной деятельности, так что я придумал программу, которая анализирует расходы человека и дает советы, как тратить меньше, на чем можно экономить. Я сделал мало-мальски работающий прототип и с ним выиграл региональный этап конкурса в Приморском крае, и меня пригласили на смену в «Сириус».
Я был рад очень рад: провести месяц в Сочи, работая над искусственным интеллектом — это же так круто. В то же время я понимал, что мои знания в машинном обучении близки к нулю. Так что все весенние месяцы перед сменой в «Сириусе» я усиленно занимался машинным обучением, изучал разные алгоритмы, подтянул математику. Прошел несколько курсов на Coursera, больше всего из которых мне понравился курс Эндрю Ына.
Я потратил много времени на изучение математики — мне не нравилось, что я занимаюсь чем-то, но не понимаю, как оно работает. Я проходил курсы по матанализу, статистике, линейной алгебре, теории вероятностей. Это было сложно, потому что приходилось выходить на уровни абстракции, с которыми я не был знаком. Но это позволило мне увидеть в машинном обучении математический аппарат, а не просто черную коробку.
В июле была смена в «Сириусе», где мы занимались генеративно-состязательными сетями. Мне все это ужасно понравилось, захотелось вписаться еще в какие-то движухи. Я узнал про соревнования по машинному обучению, про платформы типа Kaggle. Но подумал, что я всего лишь школьник, куда я лезу. Так что выбирал только какие-то более локальные соревнования, с уровнем пониже.
Сначала у меня получалось плохо, в основном я везде проигрывал — тем не менее это был классный опыт, я многое узнал, многому научился. А с начала 2020 года началась моя более-менее успешная серия, я начал брать призовые места.
Сначала я в составе команды занял десятое место на AI-Academy от Сбербанка, для меня это был неплохой результат. Особенно потому, что эта олимпиада давала право на поступление в некоторые вузы — в том числе в ИТМО.
Потом был Vk Cup — я там занял третье место. Было еще соревнование от Сбербанка на формирование временных рядов по распространению коронавируса — это была моя первая значимая победа во «взрослом» конкурсе, школьников там практически не было. Я там занял третье место в первом этапе и второе — во втором.
Я подумал тогда, что если я могу занимать призовые места среди взрослых специалистов, то, видимо, я все-таки что-то умею. После этого я уже не стеснялся участвовать в соревнованиях всех уровней. Еще был хакатон-соревнование по машинному обучению от ИТМО и банка «Точка». Мы на протяжении всего соревнования изо всех сил пытались сделать что-то дельное, у нас ничего не получалось до самого конца, но в итоге мы забрали первое место. По итогу того хакатона всю нашу команду позвали стажироваться в «Точке» — с июня я там уже работаю.
Чем ты занимаешься в «Точке», какие у тебя там задачи?
В банк приходит довольно много обращений от клиентов, многие из них не требуют ответа живого оператора, достаточно ссылки на FAQ. В данный момент мы занимаемся как раз тем, чтобы компания не тратила живые ресурсы на решение таких вопросов. Это что-то типа чат-ботов, но гораздо приятнее с точки зрения пользовательского опыта.
Тебе нравится там работать?
В «Точке» очень много крутых штук, одна из которых — холакратия. Это значит, что у нас нет прямых начальников, которые бы стояли над душой и говорили, что делать. У нас есть свобода, и мы можем сами решать, что мы делаем и как. Можно пробовать что-то рискованное — никто тебя не будет ругать, если не получится. Работать здесь очень круто, много возможностей развиваться как специалисту.
Удается совмещать работу с учебой? Наверное, дистанционный формат обучения спасает?
На самом деле, удаленное обучение — это спорный момент. Я знаю многих ребят, которым наоборот сложнее совмещать, потому что нет физического разделения. У меня такое тоже немного есть: у меня идут пары, а мне в это время пишут с работы, приходится срочно переключаться. Но я стараюсь разделять время на учебу и работу. Не уверен, что у меня это хорошо получается. Может быть, ближе к сессии я пожалею, что пропускал некоторые лекции.
Почему ты выбрал поступать в ИТМО?
В начале 11 класса я много размышлял, нужно ли мне учиться в вузе. Думал: буду работать, пилить стартапы, стану успешным. Но потом решил, что это неправильно, все-таки надо поступить. Выбор был либо поступать по ЕГЭ, либо по олимпиаде от Сбербанка, в которой я занял призовое место. Можно было выбрать Бауманку, МИСИС или программную инженерию в ИТМО.
Я подумал, что Москва, конечно, перспективнее, но ни в Бауманку, ни в МИСИС я не хочу. Мне понравилось, что ИТМО позиционирует себя как первый неклассический, мне было интересно посмотреть, как это. Пока что ни разу не пожалел, мне кажется, это был лучший выбор — ИТМО предоставляет все возможности для того, чтобы ты чувствовал себя максимально комфортно.
А тему со стартапами ты отложил или совсем забросил?
Стартапы меня до сих пор очень интересуют, я стараюсь потихоньку двигаться в этом направлении. Но это вопрос времени, потому что сейчас у меня учеба и работа, плюс я стараюсь вести социальную жизнь, не забивать на спорт. Если еще делать стартап, то мне кажется, вообще не вывезу. Поэтому пока что у меня это где-то на заднем плане.
Планируешь и дальше развиваться в ИИ и машинном обучении или есть еще какие-то сферы, которые тебя интересуют?
В ИТ-индустрии я пока что не вижу таких же актуальных областей, как ИИ. Некоторое время назад был блокчейн — сейчас о нем никто не говорит, вряд ли у него есть перспективы. VR тоже подсдулся. Я не знаю, что еще могло бы быть сейчас на передовой технологий. Но я слежу за трендами, продолжаю искать интересные для себя области. Возможно, появятся какие-то новые и крутые технологии, в которых я захочу развиваться. Но пока что мне интересен искусственный интеллект.
Уже думал, как потратишь призовой миллион?
С тех пор, как у меня начали появляться деньги, встала необходимость их тратить или не тратить. Конечно, сразу хочется купить новые шмотки, кроссовки, макбук. Мне это не понравилось, на самом деле это очень ядовитое желание. Если его не контролировать, то деньги будут просто улетать — мне это очень не нравится. Поэтому я на всех картах ставлю себе жесткий лимит на 25-30 тысяч в месяц, и больше этой суммы не трачу. Стараюсь жить без всяких глупых, ненужных трат.
Свои накопления я диверсифицирую: большая сумма у меня лежит на обычном вкладе под проценты, а треть денег я вкладываю в акции. Хотя инвестирование пока ― не то что бы способ заработка, мне, скорее, просто интересно. Я решил, что если у меня получится что-то заработать с маленькой суммой, то будет нестрашно потом составлять портфель с большими суммами. Тем более, пока мне нет 18, я не могу сам открыть брокерский счет.
А ты пытался разобраться в инвестировании, проходил какие-то курсы?
Я проходил курсы о том, как надо составлять свой портфель, но не скажу, что я в этом ас. Я просто понимаю какие-то элементарные вещи — например, что нельзя все деньги вбухивать в акции, что нужно диверсифицироваться. Пытаюсь включать фундаментальный анализ — пока получается с переменным успехом, но появляется понимание того, что надо делать, а что не надо.
Например, недавно у меня была акция Tesla, которую я купил, когда они были на самом пике. Потом у них был период плато, я подумал, что надо от этой акции избавляться. И после того, как я ее продал, их акции снова резко подскочили, а я упустил выгоду — это было неприятно.
Есть у тебя какие-то планы, чем будешь заниматься в будущем?
Если честно, я вообще не планирую больше чем на месяц вперед, не вижу в этом особого смысла. Единственное, я надеюсь, что через два года я буду успешным.