Следуя примеру других ИТ-гигантов, компания Amazon перевела свое ПО для глубокого обучения в разряд Open Source. Коды библиотеки Deep Scalable Sparse Tensor Network Engine (DSSTNE) теперь можно скачать с портала GitHub и использовать под лицензией Apache 2.0.
В последнее время технология глубокого обучения, представляющая собой разновидность искусственного интеллекта, набирает обороты. Эта технология предусматривает обучение искусственных нейронных сетей на больших объемах данных с тем, чтобы они потом могли самостоятельно делать выводы на базе новых данных. Многие компания разрабатывают ПО и алгоритмы, а затем открывают коды. Так, Microsoft передала в Open Source инструментарий Computational Network Toolkit (CNTK), Google сделала то же самое с системой TensorFlow, а Facebook — с продуктом Torch.
Теперь к ним присоединилась и Amazon, которая раньше не проявляла особого желания открывать свои внутренние разработки. Компания объясняет этот шаг желанием подстегнуть развитие технологии глубокого обучения за пределы понимания речи и распознавания образов, чтобы охватить другие области, такие как поиск и выработка рекомендаций. В Amazon надеются, что разработчики из разных стран смогут коллективно улучшить ее продукт, а их совместные усилия будут способствовать инновациям в самых разных областях.
DSSTNE представляет собой фреймворк и библиотеку на языке C++, которые реализуют механизм параллельной обработки для ускорения распределенных процессов. Большинство механизмов глубокого обучения запускают отдельные копии кода на каждом имеющемся GPU и синхронизируют их действия с помощью того или иного инструмента оркестрирования. Есть и такие механизмы, которые разделяют элементы алгоритма между разными процессорами. Это более эффективно, но все равно не позволяет в полной мере использовать мощность оборудования.
В DSSTNE реализован усовершенствованный вариант второго подхода. Но при этом сначала определяется оптимальный объем вычислений, который может выполнить данный процессор, а затем, исходя из полученных результатов, осуществляется распределение вычислительной нагрузки.
Благодаря этому наиболее явный выигрыш в производительности достигается при анализе разреженных наборов данных, в которых отсутствуют многие детали. Amazon использует это преимущество для ускорения работы механизмов выработки рекомендаций, которые зачастую не имеют доступа к информации, необходимой для оценки, например, к истории приобретений покупателя, если он не вошел в систему.
В пользу этой системы говорит и возможность проводить обучение, одновременно используя множество GPU, на что не способны многие другие системы.
Но у DSSTNE есть и недостатки. Так, в настоящее время система не поддерживает сверточные приложения для распознавания изображений, а для рекуррентных нейронных сетей они поддерживаются в ограниченном объема. Компания сейчас работает над устранением этой проблемы.
Тем не менее, по данным Amazon, система DSSTNE опережает конкурентов по быстродействию. Так она в 2,1 раза обогнала инструментарий TensorFlow при выполнении на GPU инстанса (виртуальной машины) g2.8xlarge в облаке AWS.