Китайская компания Baidu (https://ru.wikipedia.org/wiki/Baidu), развивающая одноимённую поисковую систему, объявила (http://www.theverge.com/2016/9/1/12725804/baidu-machine-lear... об открытии исходных текстов своих наработок в области глубинного машинного обучения. В настоящее время опубликован предварительный выпуск ПО PaddlePaddle (https://github.com/baidu/paddle) (PArallel Distributed Deep LEarning), финальная версия которого ожидается 30 сентября. Код открыт под лицензией Apache 2.0.В качестве преимущества PaddlePaddle перед ранее открытыми разработами компаний Google (https://www.opennet.ru/opennews/art.shtml?num=43285), Microsoft (https://www.opennet.ru/opennews/art.shtml?num=43756), Facebook (https://www.opennet.ru/opennews/art.shtml?num=41479) и Amazon (https://github.com/amznlabs/amazon-dsstne), называется существенное упрощение использования системы и гибкость в адаптации для решаемых задач. PaddlePaddle позиционируется как универсальная система машинного обучения, подходящая для различных сценариев применения. По заявлению разработчиков, для создания программы перевода при использовании PaddlePaddle потребовалось написать в четыре раза меньше кода, чем при использовании доступных аналогов.
В настоящее время PaddlePaddle уже применяется в более 30 различных продуктов и сервисов Baidu, охватывая области от поиска, до финансов и здравоохранения. Опубликованные демонстрационные примеры (http://www.paddlepaddle.org/doc/demo/) охватывают такие области как классификация изображений, анализ тональности текста (https://ru.wikipedia.org/wiki/%D0%90%D0%... выработка рекомендаций и генерация текста.
Основные особенности PaddlePaddle:
- PaddlePaddle поддерживает широкий спектр архитектур нейронных сетей и алгоритмов оптимизации. При помощи PaddlePaddle можно достаточно просто сконфигурировать сложные модели, такие как нейронные сети для машинного перевода;
- Эффективность. Возможность задействовать все ресурсы гетерогенных систем с оптмизиацией на различных уровнях, включая память, архитектуру и коммуникации. Например, математические операции оптимизируются при помощи инструкций SSE/AVX, библиотек BLAS (MKL, ATLAS, cuBLAS) и адаптированных вычислительных ядер для CPU/GPU. Другим примером может быть создание выскооптимизированых рекурентных сетей (https://ru.wikipedia.org/wiki/%D0%A0%D0%... которые могут работать с последовательностями произвольной длины без промежуточного заполнения (padding). Поддерживаются оптимизированные локальные и распределённые методы обучения для моделей с разряженными данными в пространстве высокой размерности;
- Масштабируемость. Возможность построения распределённых систем обучения, в которых тренировка моделей может быть разнесена на несколько узлов кластера с привлечением многих CPU и GPU, и задействованием высокоскоростных коммуникаций для увеличения производительности параллельной обработки данных;
- Простота развёртывания новых решений. В Baidu система применяется для решения таких задач, как предсказание интенсивности кликов, классификация больших коллекций изображений, распознавание символов (OCR), ранжирование при поиске, определение компьютерных вирусов, вывод рекомендованного контента и т.п. API доступен для языков Python и С++.
URL: http://www.theverge.com/2016/9/1/12725804/baidu-machine-lear...
Новость: http://www.opennet.ru/opennews/art.shtml?num=45083