В прошлую пятницу тысячи минских айтишников не особо торопились лишний раз покинуть прохладные кондиционированные офисы, чтобы попасть в душные и липкие объятья нетипичной для Синеокой жары. А в это время в куда более человечном с точки зрения погодных условий Берлине двадцать пять программистов медитативно смотрели в экраны мониторов в конференц-зале отеля Blu Radisson, считая последние минуты до начала финального раунда соревнования по спортивному программированию Яндекс.Алгоритм 2014. Среди всех прочих особо ничем не выделялся главный фаворит турнира – девятнадцатилетний гомельчанин Геннадий Короткевич.
Собирая в Берлине на финал конкурса журналистов, Яндекс решил одним выстрелом разом уничтожить целое поголовье разноцветных в зависимости от сезона грызунов – придать Яндекс.Алгоритму больше медийного освещения, лишний раз подчеркнуть интернациональность своего конкурса, рассказать про открытие офиса в сердце Восточного Берлина, а заодно проанонсировать запуск облачного сервиса для сторонних разработчиков по распознаванию речи Yandex.Speechkit. Учитывая широту поставленных задач, неудивительно, что присуствовали и непрофильные журналисты, чьи вопросы победителю Яндекс.Алгоритма после оглашения результатов начинались с очаровательного «Я в этом ничего не понимаю».
Конкурс Яндекс.Алгоритм впервые прошёл в 2011 году – это открытый индивидуальный чемпионат, принять участие в котором может любой желающий. В этом году на отборочный раунд зарегистрировались около 4 000 человек, что, учитывая узкоспециализированность мира спортивного программирования, весьма немало. В финал и Берлин вышло, как выше уже упоминалось, 25 участников из девяти стран. Традиционно наиболее активны спортивные программисты из стран Восточной Европы – России, Польши, Украины, Беларуси, а также представители дальневосточных государств – Китая, Тайваня и Японии.
Как признал представлявший конкурс Михаил Левин, заместитель руководителя разработки рекламной системы Яндекса и руководитель научных программ Школы анализа данных, людей за тридцать вы обычно в финалах не встретите, соревнуются обычно достаточно молодые люди. Позже появляются другие приоритеты, карьера, семья, да и потихоньку уходит скорость реакции и гибкость ума, необходимые для скоростного решения задач. Геннадий Короткевич отметил, что хоть соревнуются и тысячи человек, но в финальном раунде подобных соревнований чаще всего встречаются уже знакомые между собой спортсмены, сенсационных победителей, о которых никто не знает, практически никогда не бывает. А вышедшие на условную пенсию спортивные программисты очень часто остаются в теме в роли авторов задач или тренеров.
Формат финала довольно прост – участники получают пакет с шестью задачами, которые необходимо решить за 100 минут. Кроме общего ограничения по времени, есть ограничения и по производительности программ. Время на выполнение в этот раз должно было укладываться в одну секунду, а предел по памяти составлял 512 мегабайт. Выбирает язык программирования в каждом случае участник сам, чаще всего это С++ и Java, иногда встречается ещё и Python.
При отправлении задач есть два тактических варианта – светлый, когда конкурсант сразу узнаёт, верное ли у него решение или нет, и потом может что-то изменить или выбрать другой вариант решения, и тёмный – здесь участник отправляет на свой страх и риск и до самого объявления результатов не знает, верно ли он разобрался с задачей. В последнем случае он не получает штрафных баллов за ошибки и повышает свои шансы в случае правильных решений на общую победу. Соответственно, в выборе светлой или тёмной отправки решения каждой задачи и заключается тактика спортсмена.
Главными фаворитами финала считались прошлогодний победитель Геннадий Короткевич и стремившийся к реваншу россиянин Пётр Митричев. Сильными по традиции считались и участники из Польши и Китая.
По отмашке системы участники финала распечатали конверты с заданиями, а журналистов попросили-пригласили, чтобы не мешали участникам, на небольшую экскурсию по буквально свежесозданному берлинскому офису Яндекса, рассказывать о которой взялся известный блоггер, подкастер и директор Яндекса по распространению технологий Григорий «Бобук» Бакунов. Благо это было совсем рядом – офис находится в том же здании, что и отель Radisson Blu, и надо просто пересечь площадку около главной гордости отеля – огромного аквариума в вестибюле. Если это можно называть аквариумом, конечно, когда в нём ходит внутри отдельный обзорный лифт.
Офис радует шикарными видами, те, кто бывал в Берлине, поймут прекрасно по фотографиям, и ультрамодными креслами для девелоперов, о чём Бобук подчеркнул буквально три раза за 15 минут. Проблемы первого мира, да. Несмотря на рабочую пятницу, из разработчиков на своих местах было буквально несколько человек. По словам представителей Яндекса, офис только открылся, и они подбирают сотрудников, количество которых планируется к концу года довести до тридцати человек.
На вопрос, а почему новый офис открыли именно в Берлине, ответ был, если перефразировать, очень прост – потому что могут. Это именно небольшой девелопмент офис, в котором занимаются теми же задачами, что и в остальных центрах разработки компании, никакой специализации на немецком рынке или берлинских партнёрах. По словам Бакунова, выбор делался за счёт того, что Берлин – один из центров девелопмента в Европе, и здесь есть рынок труда из креативных специалистов, много технологических стартапов, да и просто банально финансового вопроса. Аренда того же хорошего офиса на Александрплатц существенно дешевле, чем во многих локациях в России, Украине и, готов поверить, Минска. Гримасы арендного рынка Восточной Европы.
Тем временем, время на решение задач у участников подходило к концу. В холле конференц-зала стоял экран, на котором стремительно менялись позиции спортсменов по мере коммитов решений в последний момент. Впрочем, даже финальная картина ничего не говорила, ведь многие выбирали сторону сабмита в тёмную, а значит, окончательный расклад будет известен только через полчаса, когда организаторы проверят все решения задач.
Развязка наступила только через полтора часа после окончания самого конкурса, когда в прямом эфире показывали перемещение вверх-вниз по списку ребят с тёмными решениями. Одним из них был и Геннадий Короткевич, который все четыре решённых им задачи отправил, не зная о степени правильности их решения. Тем не менее, именно он и стал второй год подряд первым, обойдя своих конкурентов именно за счёт темноты.
Вторым несколько неожиданно стал японец Казухиро Хосака, который был чистым воплощением страны – неизменного поставщика самых странных видеороликов за последние 80 лет интернета. Прижимая к себе плюшевого кролика, длинноволосый парень в скинни джинсах рассказывал, как он рад, и не знал, куда деть табличку с суммой призовых в 150 000 российских рублей. Третьим стал китаец Ван Циньши, получивший за своё достижение 90 000 российских рублей.
Победитель, к слову, получил 300 000 рублей и максимум внимания от журналистов. Очевидно, что роль селебрити даётся Геннадию куда хуже, чем решение задач по спортивному программированию. Двукратный победитель Яндекс.Алгоритма несколько тушевался и отвечал на вопросы в смешанном силе капитана и собственного пресс-атташе с обтекаемыми и дипломатичными формулировками. С другой стороны, когда после 100 минут максимального напряжения и полуторачасового ожидания три раза отвечать на одни и те же вопросы – а где вы учитесь, а собираетесь работать и где, а вы уже кому-нибудь позвонили после победы, родителям, там, девушке, – вряд ли многие смогли бы отвечать не механическим голосом с заученными фразами, как какой-нибудь домашний робот. О последнем, кстати, речь пойдёт чуть дальше.
Геннадий стоически отвечал на вопросы, что выбрал питерский университет, потому что выбрал по своим причинам, думает пока об образовании в первую очередь, а не работе, хоть предложения и есть, собирается и дальше участвовать в конкурсах по программированию из спортивного интереса и нахождения в среде единомышленников. И даже на вопрос, почему боевой никнейм у него tourist и не связан ли этот выбор с темой, что туристами любят называть людей, которых берут на командные чемпионаты прицепом ради количества, просто откровенно признался, что выбрал ник ещё школьником и сам толком не помнит почему. В любом случае, можно его только поздравить с очередной победой.
Пока участники собирались с мыслями и расходились отдохнуть по номерам отеля, руководитель отдела голосовой разработки Денис Филиппов рассказывал в конференц-зале о запуске нового инструмента Яндекса для разработчиков – облачного сервиса по распознаванию речи на основе моделей, построенных с использованием нейронных сетей Yandex.Speechkit. С речевыми технологиями в Яндексе работают с 2012 года, но только сейчас решили выйти на рынок для сторонних разработчиков. Технология распознавания речи Яндекса доступна разработчикам в виде: мобильной мультиплатформенной библиотеки Yandex SpeechKit Mobile SDK и облачного сервиса распознавания речи Yandex SpeechKit Cloud.
Пока система заточена под короткие запросы вроде команд для навигаторов и других приложений, где вопрос укладывается в одно предложение. В системе сейчас есть два языка – русский и турецкий. Почему вторым выбран именно турецкий? Вопрос в рынках, судя по всему, выходить на англоязычный сектор из-за высокой конкуренции пока не посчитали необходимым, да и рынок немаленькой по населению Турции в Яндексе считается весьма перспективным. Бакунов объяснил это и турецкой спецификой, где навигаторам задают запросы в основном голосом, поскольку местные узкие дороги и менталитет вождения просто не позволяют толком снять руки с руля, чтобы набрать в мобильном интерфейсе тот или иной адрес. С другой стороны, роль играть должна и популярность турецких курортов среди русскоязычных, да и просто южная манера езды, когда руки используются и для разговоров с пассажирами, и для того, чтобы жестами указать, что коллеги по трафику делают что-то не так – какие уж тут тачскриновые вводы улиц. Заявленная цена – 5 долларов за обработку тысячи голосовых запросов. Точность распознавания коротких запросов обещается на уровне 85 процентов, а геозапросов – все 95%.
Яндекс планирует расширять свой распознавательный сервис и на украинский и белорусский языки. Впрочем, насчёт именно белорусского пока это только действительно планы, со спецификой нашей мовы разработчики российского поисковика сталкивались пока в основном в теории.
В качестве одного из примеров возможного стороннего использования сервиса распознавания речи Яндекса была представлена разработка стартапа Cubic Robotics – домашний робот на платформе Android, позволяющий обрабатывать запросы вроде «нужно ли мне брать сегодня зонт», поддерживать разговоры за завтраком с сообщением новостей на ту или иную тему, игнорировать вопросы про политику и управлять умным домом. Несмотря на громкие заявления о выходе на рынок уже этим летом, пока готово только пару экземпляров, один из которых и привезли в Берлин. Тем не менее, кубик работает, и это не очередной сферический ё-мобиль, коими наши российские соседи горазды были потчевать в последнее время. Разработка механизмов анализа запросов была, очевидно, проведена большая. Рыночные перспективы электронного ассистента за 450 евро покажет время, когда Cubic окончательно доведёт свой девайс до ума и реальных продаж.
Яндекс-пятница на этом и закончилась, конференц-залы опустели, спортивные программисты разбрелись отдыхать, Александрплатц начал заполняться поклонниками неупиваемых чаш, а в барах Кройцберга стали готовиться к просмотру стартовых матчей второй Бундеслиги. Капитан рейса до Минска жизнерадостно пугал тридцатью пятью градусами за окном в аэропорту прилёта.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.