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


Почему важен опыт крупных компаний? Отвечают эксперты

Александр Романов, CTO BEAM: Компании типа Google или Amazon не только имеют дело с по-настоящему большими объемами данных, недоступными другим игрокам, — они прикладывают серьезные усилия к научным исследованиям и разработке инструментов для работы с данными и машинным обучением. В них закладываются огромный накопленный опыт и лучшие практики, которые были получены опытным путем и являются отражением state-of-the-art (англ. уровень развития) используемых технологий. 

Многие из этих инструментов затем попадают в открытый доступ и превращаются в платформы и сервисы, открытые для сторонних разработчиков. По многим инструментам есть доступные курсы, руководства, отличная документация и большие комьюнити людей, которые ими пользуются. Знакомство с этими продуктами полезно всем, кто интересуется data science, — как для использования в работе, так и для понимания основных проблем и их решений. 

Алексей Чернобровов, консультант по работе с большими данными: Чтобы быть в курсе последних тенденций машинного обучения, нужно отлично работать с open-source-решениями от таких компаний, как Amazon, Facebook, Яндекс. Вот пара таких решений:

— EfficientNet, сверточная нейросеть 2019 года от Google, которая сегодня считается одной из самых эффективных ML-моделей для распознавания образов;

— CatBoost от Яндекса — удобная быстрая библиотека для градиентного бустинга.

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


Amazon — умные колонки и алгоритмы для рекомендаций товаров

Крупнейший интернет-ритейлер использует машинное обучение в голосовом помощнике Alexa, работе своих офлайн-магазинов и системе рекомендаций товаров на сайте — Personalize. Последний инструмент так эффективен и востребован, что сам стал ещё одним коммерческим продуктом компании — теперь его продают сторонним интернет-магазинам. 

Технологии:

DSSTNE. Алгоритм Amazon для рекомендации товаров покупателям. Его название читается как destiny, судьба, а работает он на машинном обучении: нейросеть обрабатывает данные о покупках клиента и предлагает ему новые товары, которые нравятся людям с похожей историей покупок. Алгоритм увеличивает продажи компании. По оценкам McKinsey в 2013 году, система рекомендаций генерирует 35% выручки Amazon.

Особенность DSSTNE — механизм параллельной обработки данных на множестве графических процессоров (GPU). Благодаря ему рекомендации Amazon могут быстро работать с набором ограниченных данных — например, если покупатель не вошел в систему и история его покупок неизвестна. Начав практиковаться в машинном обучении, вы тоже сможете приложить руку к его работе: в 2016 году Amazon выложила алгоритм в открытый доступ и предложила другим компаниям и исследователям поработать над его улучшением.

AZ1 Neural Edge. Нейронный процессор, который представили в сентябре 2020 года. Amazon использует машинное обучение в умной колонке Echo, голосовом помощнике Alexa и офлайн-магазинах Amazon Go. Умная колонка также помогает компании с продажами, собирая новые данные для рекомендаций: поисковую историю, предпочтения в музыке и фрагменты разговоров. AZ1 Neural Edge помогает Alexa принимать голосовые команды и выдавать ответы за время порядка 0,1 с. 

Google — синтез и распознавание речи

Alphabet (материнская компания Google) использует машинное обучение в своих сервисах и устройствах. Исследовательские проекты Google Brain и DeepMind развивают глубинное обучение и ищут новые решения в этой области.

Технологии: 

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

Входные данные для библиотеки — многомерные массивы (тензоры), которые в ходе обучения проходят через блок-схему операций (график). В 2015 году Google Brain опубликовал код TenzorFlow. Им бесплатно могут пользоваться исследователи и IT-компании. Например, эту библиотеку используют разработчики Airbnb, Uber и Amazon. В сентябре 2019 года вышла версия TenzorFlow 2.0, которая улучшает продуктивность и работу API. 

Processing Unit (TPU) — тензорный нейронный процессор (микропроцессор для нейронных сетей). Разработан для машинного обучения с помощью библиотеки TenzorFlow. Google представила его в 2016 году, хотя компания использовала его в своей работе как минимум год до презентации. Например, TPU применяли в программе AlphaGo, которая в 2015 году первой победила человека в игре в го. Новое четвертое поколение TPU представили в июле 2020 года. Его производительность будет в 2,7 раз больше чем у TPU v.3, выпущенного в 2018 году.

Meena чат-бот от Google, который вышел в январе 2020-го. Он использует технологию Natural Language Processing (NLP). Нейросеть обрабатывает и синтезирует тексты и речь для общения компьютера с человеком. По словам сотрудников GoogleBrain, основной недостаток большинства современных чат-ботов — отсутствие смысла и конкретики в ответах. Новые разработки борются с этой проблемой, увеличивая количество параметров обучения и обучающих данных нейросетей.

Чат-бот использует кодер Evolved Transformer, который анализирует контекст разговора. Meena имеет 2,6 млрд параметров обучения, эту нейросеть обучали на 341 Гб текста. Конкурент Meena — алгоритм GTP от OpenAI. У Meena в 1,7 раз больше параметров обучения и в 8,5 раз больше обучающих данных, чем у GTP-2, вышедшего в 2019 году. В мае 2020 года OpenAI показали алгоритм GTP-3, он использует 175 млрд параметров и обучался на 570 Гб текста. 

Microsoft — бизнес-решения и офисные программы

Компания использует машинное обучение в Windows, Office, поисковике Bing и умном помощнике Cortana, а также предоставляет сервисы для исследователей и бизнеса. Также у компании есть облачный сервис Azure Machine Learning. В 2019 году Microsoft инвестировала $1 млрд в компанию OpenAI. Вместе они будут работать над Azure AI, а размещать его будут на платформе Microsoft Azure.

Технология:

Microsoft Cognitive Toolkit (CNTK)библиотека для распределенного глубокого обучения с открытым кодом. Используется в таких продуктах Microsoft, как Skype, Xbox и Cortana.

CNTK описывает нейронные сети как серию вычислительных шагов через ориентированный граф. Здесь используются популярные типы моделей: DNN с прямой связью, сверточные нейронные сети (CNN) и рекуррентные нейронные сети (RNN / LSTM). 

Apple — улучшение фотографий

Apple использует машинное обучение в большинстве своих устройств. Сторонние разработчики могут создавать приложения с моделями машинного обучения с помощью Core ML, набора предметно-ориентированных фреймворков и программы Create ML. 

Технологии: 

Core MLфреймворк (набор библиотек и инструментов) Apple для работы с машинным обучением. С его помощью в приложения можно добавить основные функции машинного обучения для работы с текстом, фото, речью, музыкой и поиском. Для этого она использует предметно-ориентированные фреймворки: Vision, Natural Language, Speach и Sound Analysis. Например, в iOS с его помощью работает голосовой помощник Siri, распознавание объектов в камере и предложение слов в QuickType. Разработчики используют Core ML для интегрирования сторонних моделей машинного обучения в приложения на iOS. 

Core ML поддерживает нейронные сети, обобщенные линейные модели, деревья решений, метод опорных векторов, генерацию признаков и пайплайн-модели. Для высокой скорости вычислений он использует низкоуровневые фреймворки Metal, Acceleratе и BNNS. Стоит обратить внимание на эти технологии, если вы нацелены на работу в Apple. 

Deep Fusion технология автоматического улучшения фотографий. Она делает 9 снимков за раз с помощью двойной или тройной камеры iPhone. Затем Deep Fusion обрабатывает их с помощью нейронного процессора Neural Engine и выбирает лучший снимок. Микропроцессор iPhone (последняя версия A14) анализирует каждый пиксель снимка и исключает искажения.

Facebook — перевод и рекламные алгоритмы

У Facebook есть группа для исследования искусственного интеллекта (FAIR). Компания разрабатывает алгоритмы машинного обучения для нужд социальных сетей и проводит фундаментальные исследования.

Технологии: 

PyTorch фреймворк для машинного обучения на языке Python. Как и TensorFlow, он использует тензоры в качестве массивов исходных данных. PyTorch менее распространен и чаще используется для исследований, но его популярность растет. Так, в феврале 2020 года на PyTorch перешла компания OpenAI.

ONNXбиблиотека для машинного обучения с открытым кодом. Она позволяет комбинировать инструменты PyTorch и других компаний, например Caffe2, Microsoft Cognitive Toolkit, Apache MXNet. Это помогает разработчикам обмениваться разными моделями и выбирать лучшие. Facebook разрабатывает ONNX вместе с Microsoft.

Tensor Comprehensionsбиблиотека С++ и математический язык для программирования графических процессоров. Они помогают устранить разрыв между исследователями, использующими математические операции, и инженерами, работающими с крупномасштабными моделями.

FAISS (Facebook AI Similarity Search) библиотека для поиска похожих частей фотографий, например фотографий одного человека. Большинство функций FAISS работает с GPU на С++ и Python.

M2M-100 мультиязыковой переводчик на машинном обучении, представленный в октябре 2020 года. В отличие от других переводчиков, он может перевести текст с одного языка на другой без промежуточного перевода на английский. Нейросеть обучали на 7,5 млрд предложений на 100 языках, используя сервис Facebook для определения языка FastText и алгоритм XLM-R, выпущенный в 2019 году. 

Все эти инструменты стоит освоить независимо от того, хотите вы попасть в Facebook или в команду другого IT-гиганта, — технологии перекликаются между собой, и опыт в одной из них пригодится при работе с другими. 

Автор: Сергей Галкин

    Полезные материалы в одной еженедельной рассылке
    Подписывайтесь, не пожалеете.