Go to GOTO
Привет, Хабр! Меня зовут Григорий Кузовников. Я работаю Senior Backend Engineer в компании FunCorp. Недавно я начал заниматься машинным обучением. Спросить что-то напрямую не у кого, приходится всё искать в интернете. Поэтому хотелось сходить на какую-нибудь профильную конференцию и послушать, как вообще использовать машинное обучение в бою. Сразу ничего профильного я не нашёл, однако на GOTO Berlin было много тем по машинному обучению, поэтому и решил посетить именно её. Под катом небольшой обзор этой конференции и много фотографий
О конференции
GOTO проводится не первый год и не только в Берлине. Следующая, например, состоится в ноябре этого год в Копенгагене. Какого-то узкого направления у конференции нет: здесь можно послушать доклады и про серверную, и про мобильную разработку, а также странные, но популярные сейчас выступления про самомотивацию.
Конференция проводилась в самом центре Берлина, на Александерплац, в современном двухэтажном здании. Всего в нём три небольшие аудитории и один большой зал. Перед входом были установлены красивые брендированные флаги.
Организация
Регистрация участников проходила без очередей и очень быстро. Тут же подарили рюкзак с логотипом и предложили наклеить на бейдж значки технологий, о которых я бы хотел с поговорить с другими слушателями или докладчиками. В холлах на первом и втором этажах были стенды спонсоров конференции: Amazon Web Services, eBay Tech и др. Тут предлагались стандартные промокомплекты: ручки, наклейки, носки и футболки. На многих стендах можно было взять маленькую шторку для камеры ноутбука. Кроме того, можно было зарегистрироваться и выиграть какой-нибудь приз. Разыгрывались наушники, комплекты Lego и колонка Google Home. Правда, розыгрыш призов проводился в пятницу, а я пробыл там до четверга, поэтому так и не узнал, выиграл я или нет.
У GOTO есть собственное приложение в Google Play и AppStore с расписанием всех выступлений. Через него же можно задавать вопросы спикерам (их зачитывают после выступления), там же можно оставить отзыв о докладе. Вопросы из зала практически не задают.
Еда на площадке есть всегда: какие-то маленькие закуски, мороженое, всякие сладости, напитки. В любой момент можно взять и перекусить. В обед подают полноценные блюда, например, рис с мясом и салат.
Общее впечатление
В России, кроме как на Highload, я нигде не был. На мой взгляд, Highload, конечно, масштабнее, а программа выше уровнем. Ребятам из «Онтико» — респект!
Доклады
Я шёл на конференцию за практическими знаниями, которых, к сожалению, фактически не смог получить (самое полезное и интересное, что удалось узнать, опишу тезисно в следующем пункте). Большинство докладов по машинному обучению оказались довольно простыми (базовый уровень и чуть выше), слушатели тоже не эксперты. Когда на докладе про чат-бота на Java докладчик попросил поднять руки тех, кто использует машинное обучение в продакшене, подняли руки только я и ещё один человек.
Однако, был один очень сложный доклад с большим количеством графиков и диаграмм от профессора по Computer Science из Берлинского университета имени Гумбольдта. Он рассказывал про автогенерацию тестов с помощью машинного обучения, а также про обратную задачу — автогенерацию кода, который удовлетворяет тестам.
Интересный доклад был у Олафа Цшидриха (Olaf Zschiedrich), технического директора OLX Group, который назывался From big data mess to data as innovation enabler. Он рассказал о том, как в OLX собираются данные и как к ним выдаётся доступ для последующего использования в ML.
Данные из различных источников стекаются в одно общее хранилище, а затем к нему не просто предоставляется доступ, а в зависимости от текущей задачи собираются специальные репозитарии с данными, полученными из различных источников с различной степенью подробности. Это сделано в целях обеспечения безопасности, а также соблюдения всевозможных европейских законов.
Самый полезный доклад, на мой взгляд, — это доклад Кристофа Виндхойзера (Christoph Windheuser) Artificial Intelligence Reloaded — AI Applications in the Industry. Насколько я понял, его компания делает множество прикладных ML-разработок в качестве подрядчика. В докладе он на нескольких примерах показал их подход к разработке и деплою ML-приложений.
Интересно, что разработкой моделей и самого приложения у них занимаются разные люди, поэтому адаптация модели для реального приложения — не самая тривиальная задача. Также любопытно, что для тестирования готового ML-приложения они скармливают ему тот же Validation Set данных, что используется при обучении. Если приложение обработало положенный процент задач правильно, считается, что оно проходит тесты.
5 интересных фактов про ML:
- Для ML в Java стоит использовать Deeplearning4j, однако он не такой мощный, как TensorFlow.
- У Google есть интересные инструменты: Cloud Dataflow, BigQuery, Cloud AutoML, которые можно использовать для экспериментов с ML.
- Существует технология LoRa — радио-протокол дальнего действия для интернета вещей. Также есть провайдер The Things Network (thethingsnetwork.org), который объединяет точки доступа LoRa и позволяет использовать готовую инфраструктуру для своих устройств.
- Данные, предназначенные для использования в ML, нужно собирать и хранить централизованно. Стоит заранее продумать, как эти данные будут извлекаться.
- Для проверки ML-приложения можно просто скормить ему Validation Set.
Про нетворк
Как мне казалось, зарубежные конференции должны быть хороши тем, что на них можно лично пообщаться и обменяться опытом с разработчиками из крупных международных компаний, которые редко приезжают в Россию. Но на GOTO какого-то классного нетворка не получилось, в том числе и потому, что сами организаторы не уделили этому должного внимания. Поэтому пообщаться удалось только на стендах и задать интересующие вопросы докладчикам через приложения, а один раз даже в микрофон. Кстати, понервничал из-за этого, так как мне непривычно говорить на английском перед полной аудиторией.
Резюмируя
В целом доклады неплохие, если вы хотите в общих чертах узнать о каких-то технологиях. Если же нужны подробности — тоже можно что-то найти, но не так много, как хотелось бы.