Изменения

Перейти к: навигация, поиск

Машинное обучение на мобильных телефонах

18 байт убрано, 14:00, 12 января 2021
Процессоры
Из{{---}}за медлительности телефонов развитие машинного обучения на телефонах началось совсем недавно. Раньше все данные хранились на серверах компаний, [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0_%D0%B8_%D0%B5%D1%91_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80 выбор модели] был очень широк, и, с точки зрения безопасности, это было плохо. Однако теперь IT-гиганты, такие, как Google, переходят на модель [https://ai.googleblog.com/2017/04/federated-learning-collaborative.html федеративное обучение]. Понятно, что обычный телефон не может себе позволить обучаться на тяжелых моделях, таких как, например, нейронные сети. Однако существуют модели, которые потребляют очень малое количество памяти и времени на обучение. В основном именно они используются, когда нет соединения с сервером.
Однако машинное обучение стало настолько актуальным, что производители процессоров задумались о том, что бы создавать процессоры, некоторые чипы которых заточены под задачи машинного обучения.
[[Файл:Mobile_Phone_Machine_Learning_Snapdragon_Qualcomm_Cases_Examples.png|600px|thumb|Примеры использования алгоритмов. [https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk/learning-resources/ai-ml-android-neural-processing Источник]]]
Разработчики данного процессора делают упор на CNN сети, однако там встречаются почти все известные модели машинного обучения. Обеспечивает аппаратное ускорение ML{{---}}моделей на связке DSP + GPU + CPU для Snapdragon чипов.
void executeNetwork(std::unique_ptr<zdl::SNPE::SNPE>& snpe,
std::unique_ptr<zdl::DlSystem::ITensor>& input,
=== [https://developer.samsung.com/neural/overview.html Samsung Neural SDK] ===
Заточен под обработку матриц, которые часто встречаются в задачах машинного обучения. [https://developer.samsung.com/codelab/neural/mobile-neural-execution/development.html Гайд по установке и использованию]. NeuroPilot SDK позволяет решать ML{{---}}задачи с помощью APU + GPU. APU заточен под модели глубокий нейронных сетей. Обеспечивает аппаратное ускорение для [http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%B2%D0%B5%D1%80%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B5_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8 свертки], полностью связанных нейронных сетей (то есть [http://neerc.ifmo.ru/wiki/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8_%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D1%85_%D1%81%D0%B5%D1%82%D0%B5%D0%B9 нейронных сетей без дропаута]), функции активанции.
=== [https://developer.apple.com/documentation/coreml CoreML SDK] ===
91
правка

Навигация