Программист, который умеет в data science, круче, чем дата-сайентист, который умеет в программирование

Полина Тодорова
Полина Тодорова

Выпускающий редактор Rusbase

Расскажите друзьям
Полина Тодорова

Карим Искаков прошел стажировку в команде компьютерного зрения «Яндекса», где работал над улучшением изображений с помощью нейронных сетей. Для рубрики «Карьеристы» Карим рассказал Rusbase, чем занимался в компании, что более сексуально – программист или дата-сайентист, и за кем в индустрии стоит следить. 

Примечание:  С начала сентября Карим Искаков перешел на работу в Центр искусственного интеллекта Samsung, чтобы заниматься научными исследованиями в области компьютерного зрения. На момент интервью он стажировался в «Яндексе», поэтому далее в тексте мы говорим о его работе в этой компании в настоящем времени. 


Что ты делаешь в «Яндексе»?

Я уже полгода стажируюсь в команде компьютерного зрения. Мы сейчас делаем технологию Deep HD, которую представили на последней конференции «Яндекса». Это технология по улучшению изображений и видео с помощью нейронных сетей.

Где она будет использоваться?

Сейчас «Яндекс» ее использует в «Яндекс.Картинках» и в телевизионных эфирах (на главной странице «Яндекса» можно смотреть программы разных телеканалов — например, РБК ТВ, «Дождь» и так далее). «Яндекс», пропуская их через свою технологию, улучшает качество. А 9 мая был спецпроект, когда мы с помощью Deep HD улучшили качество изображения многих советских фильмов.

В чем смысл этой нейронной сети?

Если ты увеличиваешь изображение в два раза естественным методом, у тебя всегда будут присутствовать нечеткие части из-за недостатка информации. А если это сделать с помощью нашей технологии, то нейронная сеть сделает интеллектуальное увеличение, так как она обучена на большом количестве картинок.

А ты конкретно чем занимаешься в этом проекте?

Я занимался моделями и экспериментами по улучшению изображения.

Изображение: Telegram-канал @loss_function_porn Карима Искакова. В нем он собирает изображения, которые генерируют нейронные сети, и красивые графики, связанные с анализом данных.

Можешь объяснить, в чем состоит суть твоей профессии? 

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

Как происходят эти эксперименты?

Сначала пишется код. Для того чтобы весь этот пайплайн обучения запустить, мы используем свой внутренний инструмент под названием Nirvana.

А как ты понимаешь, что это хороший результат?

Тут интересная история. На данный момент в мире толком еще не придумали хороший способ для автоматической оценки качества изображения. В «Яндексе» мы измеряем этот показатель еще одной нейронной сетью. Она выдает число от нуля до единицы, где 0 – это очень хорошее изображение, 1 – очень плохое. С помощью такого автоматического мерила мы можем быстро определять, насколько хорошо нейросеть справилась с задачей. Но часто бывает, что эта оценка обманывает, и нужно смотреть самому, сравнивать с предыдущими результатами, искать какие-то артефакты.

Если вы хотите поделиться опытом работы в крупной компании или маленьком стартапе, рассказать о перипетиях своей карьеры и раскрыть секреты профессии, пишите на careerist@rb.ru. Лучшие рассказы опубликуем на Rusbase.

И второе, это главный эксперимент, после которого мы решаем, отдать готовую модель в продакшн или нет. С помощью сервиса Яндекс.Толока мы спрашиваем у людей, какое из изображений им нравится больше, и, собственно, сравниваем результаты. Так мы можем оценить, какова доля побед у нашей текущей модели, и понять, что она, например, выиграла, а предыдущая проиграла.

Как долго обучается нейронная сеть?

Обучение происходит в три стадии, потому что у нас сейчас такая архитектура сетей. Каждая стадия обучается примерно неделю. То есть, чтобы полностью хорошо обучить одну модель, у нас уходит порядка двух-трех недель. Но так как есть возможность запускать обучение параллельно, мы можем за это время протестировать несколько моделей. Для этого мы используем дата-центры «Яндекса», у которых есть видеокарты и мощное железо.

Ты до этого тоже занимался распознаванием изображений?

Да, я почти все время своей профессиональной карьеры занимался компьютерным зрением, то есть задачи у меня были связаны с изображениями. Это уже моя вторая стажировка в «Яндексе». До этого я еще стажировался в Яндекс.Погоде.

А там что ты делал?

В Яндекс.Погоде есть такой классный продукт, называется Nowcasting. Там можно смотреть за движением облаков. Например, если ты выходишь из метро и вдруг начался дождь, ты в приложении можешь посмотреть, через сколько минут он закончится, и решить, стоит ли тебе переждать его под крышей или в этом нет никакого смысла. Для предсказаний используются нейронные сети. Этим я и занимался.

Карим Искаков. Фото из личного архива

В «Погоде» я стажировался три месяца и после этого еще где-то четыре месяца работал как полноценный сотрудник, но было сложно совмещать учебу на Физтехе и в Школе анализа данных Яндекса с работой, поэтому решил, что лучше поучусь пока. Сейчас я совмещаю стажировку с учебой. Я договорился, что буду работать по половине рабочего дня, то есть 20 часов в неделю. Мне этого вполне хватало.

Как ты попал в «Яндекс»?

Я учился в бакалавриате на факультете радиотехники и кибернетики и на четвертом курсе, летом 2016 года, поступил в Школу анализа данных от «Яндекса» (ШАД). После этого я отучился четвертый курс и решил перейти на факультет информационных технологий, где, собственно, и была кафедра «Яндекса». 

Карим Искаков. Фото из личного архива

Можешь назвать неочевидные факты о профессии дата-сайентиста? 

Об этом знают, наверное, все дата-сайентисты: примерно 80% своего времени ты будешь не обучать нейронные сети или какие-то другие алгоритмы. Ты скорее всего будешь возиться с данными: собирать, чистить, подготавливать. Данные — это топливо для твоих алгоритмов, поэтому ты очень много времени, порядка 80%, действительно тратишь на них.

Сколько платят дата-сайентистам? В прошлом году, по-моему называли цифры от 80 тысяч рублей в Москве начинающему специалисту до 180 тысяч, а в Питере, соответственно, тысяч на 10 меньше.

По моей оценке, начинающий специалист может просить 80-100 тысяч рублей. Сейчас, закончив ШАД и имея какой-то опыт, мне можно рассчитывать на зарплату от 100 до 200 тысяч рублей.

А дата-сайентист — это круче, чем программист? Что более сексуально?

Мне кажется, что программист, который умеет в data science, круче, чем дата-сайентист, который умеет в программирование, потому что если ты дата-сайентист, ты, понятно, тратишь много времени на обработку данных, на построение моделей. Но часто в твои обязанности еще входит написание кода, который будет стабильно работать и применять твои модели. И часто вот здесь идет провал в знаниях у дата-сайентистов. Потому что многие приходят в анализ данных не из программирования, а из других областей, напрямую с ним не связанных.

Можешь назвать проекты в России или в мире, к которым ты хотел бы присоединиться?

В последнее время появились очень классные компании, которые занимаются исследованиями в области искусственного интеллекта. Это OpenAI, которую основал Илон Маск. Она занимается в большей степени обучением с подкреплением. Это такая область машинного обучения, с помощью которой можно, например, научить компьютер играть в игры. Сейчас разрабатывают систему, которая будет играть в Dota 2.Читайте по теме: Искусственный интеллект обыграл лучших игроков в Dota 2 – почему это важно для нас с вами?

Ее задача максимум – победить на чемпионате мира по Доте – The International. Точно так же два года назад гугловский Alpha Go победил лучшего в мире игрока в го. Сейчас такая же задача в Доте, но Дота кажется еще сложнее, чем го, хотя бы потому, что это командная игра. (В 2017 году искусственный интеллект обыграл лучших игроков в Dota 2. В этом году бот от OpenAI сумел победить одну из топовых любительских команд, но проиграл профессионалу – прим. ред.).

Хотелось бы поучаствовать в проекте вместе с OpenAI и Deep Mind – это как раз часть Google, в которой родилась Alpha Go, – потому что они сейчас самые передовые в своем деле. Есть еще Facebook AI Research (FAIR), но про них я чуть меньше знаю.

А есть ли у тебя идея собственного продукта, связанного с машинным обучением?

Да, у меня есть план на пять лет. Я мечтаю оцифровать человеческую личность, как в сериале «Черное зеркало». Мне кажется, что технологии пока что не позволяют это сделать, но все так стремительно развивается, что в горизонте 5-10 лет мы, вероятно, сможем оцифровать человека по всем его метаданным: по личной переписке, по телефонным разговорам, по его страничке в Facebook. И, оцифровав человека, мы сможем с ним переписываться.Читайте по теме: Бесплатный сервис по созданию «копии» человека в виде чат-бота Replika привлек $6,5 млн

Но это же сделал стартап Luka.

Да, Replika действительно делает что-то похожее, но это пока далековато от настоящей оцифровки личности. Хочется сделать похожий продукт, который какое-то время собирает о тебе данные и после этого может, например, общаться в чате с любым человеком от твоего лица, как будто это ты. Например, ты сидишь с начальником и не можешь ответить друзьям, которые тебе в это время пишут. Но можешь дать полномочия своему боту просто отвечать на их сообщения, только это будет в твоем стиле.

Назови трех самых крутых людей в своей профессии.

Есть такой классный чувак, его зовут Ян Гудфеллоу. Он, по-моему, сейчас в Google работает. Этот человек придумал генеративно-состязательные сети (Generative adversarial network). Популярные СМИ на Западе называют его человеком, который дал нейронным сетям воображение. Он придумал такую архитектуру для нейронных сетей, с помощью которой решается много разных задач – от генерации котиков до умения перерисовывать изображение. В нашем проекте в «Яндексе» мы тоже используем эти генеративно-состязательные сети, для того чтобы получать лучшие результаты.

Ян Гудфеллоу. Фото: MIT

Второй специалист, которого бы я назвал, – Андрей Карпати (Andrej Karpathy). Он сейчас, насколько я знаю, – глава AI в Tesla. Карпати сделал большой вклад в популяризацию искусственного интеллекта. Например, у него есть очень классный пост о рекуррентных нейронных сетях. Он обучал нейронные сети генерировать текст в стиле художественных произведений, например, в стиле Шекспира. Или представлял ноты в виде текста и заставлял нейронную сеть генерировать музыку. Или брал исходный код Linux и заставлял нейронку генерировать исходный код. Большое ему спасибо за то, что он популяризирует эту нишу.

Интервью с Андреем Карпати

И еще назову одного российского ученого из Сколтеха: это Дмитрий Ульянов. Благодаря его исследованиям появилось на свет приложение Prisma. Была проблема: люди умели переносить стиль известных изображений на фотографии, но это всегда был очень длительный процесс, и непонятно было, как это завернуть в работоспособный продукт. А Дима Ульянов смог этот процесс ускорить и написал об этом статью. И, собственно, его метод применили к Prisma, получился классный продукт. 


Материалы по теме:

5 уроков из летней стажировки в качестве дата-сайентиста

Как попасть на стажировку в «Яндекс», поучаствовать в разработке «Алисы» и остаться в штате

Кто ты в анализе данных? Десять ролей в команде дата-аналитиков

Что такое data science и как это работает?

«Надо по-настоящему болеть этим». Дата-сайентист – о своей работе

Что нужно знать начинающему дата-сайентисту

Исследование: какие IT-специалисты зарабатывают в России больше всего


Актуальные материалы — в Telegram-канале @Rusbase

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter


Комментарии

Зарегистрируйтесь, чтобы оставлять комментарии и получить доступ к Pipeline — социальной сети, соединяющей стартапы и инвесторов.
Innovate or Die
13 ноября 2018
Ещё события


Telegram канал @rusbase