«Потолок карьеры с PhD намного выше, чем без». Денис Ярец изучает AI в научной лаборатории Facebook. Говорим про ML, RL, мотивацию и перспективы |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2019-03-16 11:00 Инженер Денис Ярец живёт в Нью-Йорке, работает в научной лаборатории FAIR в Facebook и занимается исследованиями машинного обучения с подкреплением в Нью-Йоркском университете, — пишет DEV.BY. За восемь лет он успел поработать во многих топовых ИТ-компаниях: Яндекс, Microsoft, Quora, Facebook. Белорус участвовал в создании алгоритма машинного перевода, который по производительности некоторое время был лучшим методом в мире. В эти выходные он приезжал в Минск и рассказал об алгоритме, который улучшает тренировку глубоких моделей, на Bulbacon. dev.by поговорил с Research Engineer Facebook о его карьере. ДЕНИС ЯРЕЦ Родился в 1987 году в Гомеле.
Расскажи про научную лабораторию FAIR. Можно ли туда попасть «с улицы»? В основном FAIR нанимает на позиции Research Scientist, что подразумевает под собой наличие PhD и ряда научных статей на топовый конференциях по машинному обучению (например, NeurIPS, ICML, ICLR). На эту позицию достаточно сложно попасть, в принципе это соизмеримо с получением должности профессора в топовом американском университете. Иногда FAIR нанимает инженеров, у которых есть опыт работы c ML, интервью тоже сложнее, чем на обычного инженера, вот так я туда и попал. В 2016 FAIR открыла 3-4 инженерных позиции, и у меня получилось пройти собеседование. Что из себя представляет команда лаборатории? Она распределённая. Почти в каждом офисе Facebook есть наши ребята: в Париже, Сиэтле, Нью-Йорке. Кстати, в Нью-Йорке (где работаю и я) открыли лабораторию после того, как наняли Яна Лекуна, одного из отцов-основателей Deep Learning из Нью-Йоркского университета. Когда его захайрили, он отказался переезжать, и компания открыла офис прямо возле его университета. После этого открывать исследовательские отделы рядом с вузами стало традицией. Сейчас в нашей лаборатории примерно 150 человек в шести офисах. Кто-то компьютерным зрением занимается, кто-то — речью, NLP, кто-то — медициной, распознаванием МРТ-снимков. В принципе свободы достаточно, каждый учёный выбирает то, что ему по душе. Чем-то напоминает университет. Приведи примеры возможностей лаборатории, которые недоступны учёным из «обычных» университетов. Главное различие — это объём ресурсов: размер кластера, наличие инженеров, которые могут помочь работать над более объёмными проектами, и другие материальные плюсы. Зарплаты инженеров в лаборатории эквиваленты зарплатам инженеров соцсети? Это NDA. Чем ты занимаешься в лаборатории? Сначала мы работали над алгоритмом перевода из одного языка в другой. Он установил рекорд по точности перевода. Позже его внедрили в Facebook. Больше 2 млрд людей могут пользоваться им при помощи кнопки «Показать перевод», под ней — огромная нейронная сеть. Мы открыли код алгоритма — всё, что делает наша лаборатория, мы стараемся опенсорсить. Через пару месяцев Google выпустила такой же алгоритм, но уже немного лучше, для неё это вопрос престижа на рынке переводчиков. После этого проекта я работал над диалогами. В 2016 году чат-боты активно продвигались. Писали, что «это большая революция, чем переход от веба к мобильным приложениям». Через пару лет наступило разочарование. Почему? Первый раз слышу про «разочарование», эти технологии до сих пор развиваются и большими темпами. А что нового у чат-ботов? Бот-психолог, которого создают в лондонском офисе FAIR, уже консультирует? К сожалению, я не обладаю свежей информацией на эту тему. Тренд — в узкой специализации ботов. И Google, и Facebook в основном фокусируются на том, чтобы бот выполнял одну конкретную задачу: что-то заказывал, отвечал на письма. Прогресс есть, но, на мой взгляд, ещё очень далеко до того уровня, когда ты сможешь разговаривать с чат-ботами и не понимать, машина это или человек. Понадобится как минимум несколько десятков лет. Сейчас боты имитируют речь, но у них пока нет главного свойства человека — мышления. Они повторяют набор данных, на котором были обучены, возможно, с некоторыми вариациями, но дальше датасета не двигаются. Есть несколько способов, как это исправить. Простой — собрать всеобъемлющий датасет, который покроет все сценарии. Но это дорого и долго. Более продвинутый способ — использовать обучение с подкреплением. Но оно — на стадии исследования. Машинное обучение с подкреплением — это как раз то, чем я занимаюсь сейчас. Объясни, что это и для чего. RL — это более общая парадигма обучения, в чём-то похожая на то, как обучаются люди. В отличии от supervised learning, где каждый пример/действие подразумевает правильный ответ, в RL такой роскоши нету. Вместо этого агент получает награду за последовательность действий, которая привела к благополучному исходу. Например, когда человек обучает собаку делать какое-нибудь трюк, собака пытается делать разные вещи до тех пор, пока не получит какую-то награду (еду). Постепенно собака начинает понимать, что определённые последовательности действий ведут к награде (принести брошенный мячик), поэтому она начинает предпочитать эту последовательность больше, чем другие. У группы учёных, которые занимаются RL в FAIR, есть фундаментальная цель? Сделать RL практически применимым, например, для обучения роботов. У нас есть команда учёных, которая как раз конкретно занимается этим. Есть люди, которые фокусируются на более теоретических улучшениях RL алгоритмов. Некоторые люди работают над созданием агентов для StarCraft. В общем, много всего. Во что «ввязывается» специалист, который решает заняться глубинным обучением с подкреплением? Вот тут, например, описано, что оно работает не так, как многие думают. Перечисли главные челенджи. Главная проблема на данный момент — это sample efficiency (количество примеров, которые необходимо показать модели для обучения). Это главная проблема и причина того, почему сейчас RL работает только для синтетических энвайронментов, таких как игры (Atari, GO, StarCraft). Потому что там можно симулировать миллионы разных примеров. В то время как с роботами, например, это будет очень дорого и долго. Где RL уже применяется? Самый явный пример — нейросеть AlphaStar, которая обыграла профессиональных игроков в StarCraft, до этого AlphaGo обыграла нескольких чемпионов мира по го. Мы сделали свою игру-стратегию, похожую на StarCraft, но попроще. Натренировали бота, который выполняет команды, когда ты вводишь их с клавиатуры. С помощью ввода текста можно контролировать всю игру. Собрать данные для обучения алгоритма было достаточно сложно. Я никогда раньше не занимался играми, а тут нужно было на основе прототипа сделать работающую игру и научить бота играть. Мы создали оригинальную архитектуру глубокой модели, которая переводит текстовые инструкции в низкоуровневые команды игры. Игра сложная, а возможности ИИ пока слишком слабы, чтобы справляться с таким количеством операций — действий на игровом поле может быть бесконечно много. К тому же, в нашей игре часть карты была скрыта от пользователей, и модель должна была предвидеть, что может происходить на закрытой территории. Мы научили модель такому интересному навыку, как разведка. Как вашу модель можно применить в «реальном мире»? Этот проект далёк от практического применения. Но это один из первых шагов, который даёт понять, что такие языковые инструкции могут быть очень полезны для алгоритмов обучения с подкреплением. C научной статьёй по этой работе можно ознакомиться тут. Ещё одно применение этого направления в ML — обучение роботов. Пока что все их действия — это код, а хотелось бы, чтобы можно было просто показать роботу, что ему нужно делать, и тот всё повторил. Можно ли считать самым амбициозным проектом в AI создание искусственного интеллекта, который «думает, как человек», или это всё же фантазия из области масскульта? Я думаю, такое случится не скоро, если вообще случиться. На данный момент, более ценное применение AI будет в решении каких-то специализированных задач, которые будут помогать человеку делать его работу. Здесь больший потенциал в плане бизнеса. В 2017 году ты говорил, что одна из основных проблем — в том, что алгоритмы не умеют переносить навыки из одной предметной области на другую. Например, если обучить модель распознавать картинки, она не сможет генерировать текст. Что-то изменилось за два года? За последний год люди поняли: чтобы лучше переносить навыки из одной области в другую, нужно обучать одну модель сразу на нескольких задачах, а не создавать отдельную модель для каждой задачи. Это называется meta learning. Что мешает прямо сейчас применить это открытие на практике и начать обучать одну модель на нескольких задачах? Для того чтобы это действительно работало, нужно обучаться сразу на огромном количестве задач (десятки миллионов), что на данный момент не достижимо с точки зрения вычислительных ресурсов. Банально не хватает мощностей (количества машин, данных). Их нужно увеличить в несколько тысяч раз. И тогда мы приблизимся к созданию компьютерного интеллекта, который «думает, как человек»? Сколько эволюции понадобилось вычислений за миллиарды лет, чтобы создать интеллект? По некоторым подсчётам, это около 10^30 FLOOPS — результаты взяты из книги Superintelligence и личного общения с учёными, которые занимались этими проблемами. Cамые большие суперкомпьютеры в мире обладают вычислительной мощностью порядка 15*10^15 FLOOPS. Некоторые учёные верят, что при увеличении мощностей и датасетов хотя бы в 100 тысяч раз даже с имеющимися алгоритмами можно создать модель, похожую на человеческий разум. Это дорого, даже для Google и Facebook в какой-то момент становится не выгодно. Чтобы натренировать модель, которая занимается машинным переводом, нужны миллионы долларов. В общем, дальнейший прогресс искусственного интеллекта будет зависеть от скорости увеличения мощностей. Существуют ли способы ускорить развитие AI таким образом, чтобы на это ушло значительно меньше времени и ресурсов, чем понадобилось эволюции? Многие учёные считают, что лучше эволюции ничего не придумано. По крайней мере, эволюции уже удалось создать интеллект как минимум один раз. Поэтому много идей из эволюции приходит и в машинное обучение. По сути, алгоритмы для обучения нейронных сетей во многом схожи с методами эволюции: всё сводится к оптимизации некоторой многомерной функции. В основном в машинном обучении происходит точечная оценка, в то время как эволюция оптимизирует сразу распределение популяций. Такая оптимизация нуждается в большом количестве вычислений, поэтому нужно придумать новые вычислительные процессы, возможно, квантовые компьютеры. В Долине есть стартапы, которые разрабатывают новые модели вычислений. Cerebras Systems, например. Какие хайповые технологии, на твой взгляд, никуда не ведут? Сложно сказать, предсказывать будущее я не умеею. Недавно ты поступил на PhD в Нью-Йоркский университет. Но пару лет назад ты говорил, что не собираешься получать учёную степень, потому что в лаборатории, во-первых, прикладные задачи, во-вторых, абсолютно другие финансовые и технические возможности. Почему ты изменил мнение? Отсутствие PhD сильно ограничивает карьерный рост в таких лабораториях. Это одно из необходимых условий для получения должности Research Scientist. Что даёт тебе университет из того, чего не смогла дать лаборатория? Университет позволяет более детально углубиться в теоретические основы ML, даёт больше свободы для попробовать что-то новое в другой области. Как совмещаешь учёбу с лабораторией? Пришлось перейти на частичную занятость в Facebook. Но я по прежнему иногда появляюсь в офисе, так как сотрудничаю с некоторыми учёными из FAIR. Это потеря в деньгах? В короткой перспективе да, но в долгосрочной это всё легко окупится, потолок карьерного роста с PhD в ML намного выше, чем без. Также университет позволяет обзавестись полезными знакомствами и связями, которые иначе сложно было бы получить. Деньги, конечно, важны, но для меня намного более важно быть самостоятельным, а не выполнять чьи-либо указания или business need, как происходит в обычной работе программиста. Я поработал во многих хороших компаниях, но всё же могу сказать, что заниматься наукой намного интереснее. Сейчас почти всё время уходит на ресёрч в области машинного обучения с подкреплением. Мне важно понять, как работают алгоритмы, обосновать принцип их действия. В общем, работаю, как все учёные, — в основном над проблемами, которые моментально не смогут найти практического применения. Но постепенно разработанные идеи соединятся вместе в более сложные алгоритмы, которые уже могут иметь «реальный» эффект. Арсений Кравченко в своей колонке упоминал мнение своего знакомого о том, что «минские топовые ребята в ML не хуже калифорнийских, но „середнячки“ пока сильно отстают от своих коллег за океаном». А что ты думаешь об уровне подготовки минских Data Scientists? К сожалению, исследованиями в области машинного обучения занимается не очень много ребят из Беларуси, но есть сильные учёные, например — Дима Богданов, сейчас в Монреале Phd получает. Дима тоже участвовал с нами в олимпиадах по программированию, когда учился в ФПМИ БГУ. А потом уехал «мастера» получать в Германию и там придумал один из очень важных и широко используемых алгоритмов в глубинном обучении. Изначально этот алгоритм был разработан для машинного перевода, но потом нашёл применение во многих областях ML. Идея простая, но гениальная. Его статью можно найти тут. Интересный факт: один из соавторов статьи Кюнхюн Чо, сейчас профессор в Нью-Йоркском университете, также выступил на Bulbacon по моему приглашению. Тебе было достаточно знаний, полученных в БГУ, для работы с Data Scientist’ами Facebook? В Беларуси довольно странно используют термин Data Scientist. В Америке Data Scientist’ами называют тех, кто делает Decision Intelligence. Это мало связано с машинным обучением и искусственным интеллектом. А тех, кого ты имеешь в виду, называют Research Scientist. Если сравнить уровень программ по математике в Беларуси и Америке, могу сказать, что в ФПМИ БГУ он достаточно неплохой. Единственный неприятный момент — у нас математика больше абстрактная. В Америке же первым делом всегда показывают, для чего это нужно, т. е. вначале выделяют проблему, а потом к ней приводят математику, а не наоборот, как у нас. В целом, я бы сказал, в ФПМИ дает хороший курс по фундаментальной математике, хотелось бы также увидеть больше курсов непосредственно связанных с ML. ШАД делает неплохую работу в этом плане, но есть куда стремиться. Ты не видишь других проблем в белорусской системе образования? Можно ли считать её морально и технически изношенной? Лидеры белорусской ИТ-индустрии продвигают идею принципиально нового университета, который будет финансироваться ИТ-компаниями. Я не могу сказать про другие области, но в области ML-образования ситуация действительно достаточно плачевная. Большинство ребят из Беларуси, которые занимаются ML, скорее самоучки. Одна из проблем тут — отсутствие хороших кадров для преподавания, так как условия труда оставляют желать лучшего, преподаватели сильно проигрывают по зарплатам обычным программистам. В какой минской ИТ-компании тебе было бы более-менее интересно поработать? Обучение с подкреплением — это передовое направление в ресёрче, на практике почти никто пока его не применяет ни в России, ни в Беларуси. В Америке — всего несколько компаний. Но исследуют это направление многие. С большой долей вероятности это направление ML должно вскоре заработать. Я слышал, что в Минске сейчас модно работать в стартапах, которые занимаются компьютерным зрением. Возможно, когда-нибудь у меня дойдут руки, и я сделаю свой проект. Идеи, как можно в прикладной области применить научные достижения, уже есть. Какие идеи? Поделись. Не-а. Приведи примеры стартапов в мире, которые, в твоём понимании, действительно создают инновации, применяют на практике научные достижения и творят будущее. В моей области это DeepMind (бывший стартап) и OpenAI. Они производят много чего интересного. О чём ты рассказал на Bulbacon? Об алгоритме, который мы разработали недавно и который будем представлять на научной конференции ICLR 2019 в Новом Орлеане. Он помогает обучать глубокие модели, находить нужные наборы параметров, оптимизировать алгоритмы и выдавать лучший результат. Вот тут можно прочитать научную работу, а вот тут мы выложили алгоритм в открытый доступ. Источник: techrocks.ru Комментарии: |
|