Как выбрать ML фреймворк для прода?

Достаточно долго углублялся в мир машинного обучения и задался вопросом, как выбирать фреймворк машинного обучения для продакшена, где модель будет построена исключительно на нейронных сетях?
Суть в том что есть множество разных фреймворков и все они +- похожи, но у всех есть свои косяки и недопилы.
Например, очень популярный tensorflow. Он написан гуглом, а судя по андроиду, гугл не очень шустро закрывает баги, которые важны для сторонних разработчиков, да и ещё в data-flow этого фреймворка происходит копирование вектора значений в каждом "вычислитеьном узле". Но зато у tf очень большое комьюнити и даже появился tfhub.com, который обещает быть чем-то интересным. Да и написан он на питоне, что уже не плохо для задач ml.
Есть deeplearning4j, который прямо из коробки умеет интегрироваться с джавашными микросервисами и джавашными биг дата проектами и это очень круто, потому что в основном большие "сайтики" пишутся именно на джаве (ну или на шарпе), но (внезапно) dl4j и сам написан на java, хотя в мире ml де-факто основной язык - питон => джава может ограничить в плане доступных билиотек. Ах да, нужно будет выделить пару гигобайт оперативной памяти, чтобы обучить нейросеть из 20 нейронов.
Ну и так далее..
В общем хотелось бы чтобы кто-нибудь подсказал какие моменты критичны в ML фреймворках с точки зрения прода, какие не очень. Будет хорошо если кто-то поделится опытом использования того или иного инструмента, перечислит набитые шишки и т.д.
  • Вопрос задан
  • 567 просмотров
Пригласить эксперта
Ответы на вопрос 1
@dmshar
Ух какой общеабстрактный вопрос. И странно, что после "достаточно долгого углубления" так и не решить, на чем лучше обучать сеть на 20 нейронов.
Сравнение различных фреймворков (языков программирования, операционных систем, систем управления базами данных и пр....) - сродни религиозным войнам: есть адепты каждой из религий, которые по-сути только ее и знают. Есть те кто свято верит в то, что написано во всяких катехизисах, обзорах, сравнениях. Есть свои последователи, проповедники, энтузиасты, отступники. Есть тихие верующие и разработчики, спокойно пишущие на том, что им велели свыше. Только вот правых и неправых в таких войнах нет. Ибо нет "лучшего фреймоврка" и поиск его - бессмысленен. А опыт одних в условиях работы других может оказаться мягко говоря - неприменим.
Ну, если очень надо - можно легко найти сравнения разных инструментов, например
https://www.netguru.co/blog/deep-learning-framewor...
https://medium.com/the-mission/8-best-deep-learnin...
https://www.datanyze.com/market-share/machine-lear...
Только вот слава Богу инженерия - не религия. Тут за то, что ты меняешь один инструмент на другой - на костре не жгут. Можно потратить уйму энергии, выбирая "лучший фреймоворк" и все равно где-то не угадать. А можно начать делать свой проект на том, что знаешь, понимаешь, владеешь. Гордится тем, что ты научился молотком гвозди забивать и не отбивать себе при этом пальцы, а не тем, что держишь в руке что молоток фирмы Steanly, а не молоток фирмы Тоptul. А потом уже конкретно выяснять, в чем-же твой инструмент оказался слаб именно для твоей задачи, и уже целенаправленно, а не абстрактно искать лучший по конкретному показателю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы