PyTorch против TensorFlow: у кого больше предварительно обученных моделей глубокого обучения?

PyTorch против TensorFlow: у кого больше предварительно обученных моделей глубокого обучения?

21 марта 2022 г.

Ни для кого не секрет, что доступ к предварительно обученным моделям глубокого обучения имеет решающее значение для современных приложений глубокого обучения. Поскольку современные модели становятся все больше и больше и включают триллионы параметров, больше нет смысла обучать продвинутые модели с нуля в большом количестве областей, особенно в таких областях, как [Автоматическое распознавание речи] (https:// www.assemblyai.com/blog/what-is-asr/).


Учитывая важность предварительно обученных моделей глубокого обучения, важный вопрос, на который нужно ответить, какой фреймворк глубокого обучения — PyTorch или TensorFlow — имеет больше этих моделей, доступных пользователям.


В этой статье мы изучим эту тему количественно, чтобы вы могли быть в курсе текущего состояния ландшафта глубокого обучения.


Почему так важны предварительно обученные модели глубокого обучения?


Особенно для сложных приложений, таких как обработка естественного языка, где размер и сложность моделей затрудняют процесс проектирования и оптимизации, возможность создания современных моделей (SOTA) с нуля является невыполнимой задачей для всех, кроме самых больших бюджетов. и организаций.


Изменившая парадигму OpenAI GPT-3 имеет более 175 миллиардов параметров; и, если этого было недостаточно, его преемник должен быть на порядки больше. Ожидается, что GPT-4 будет иметь более 100 триллионов параметров.


Из-за этого роста моделей небольшие предприятия полагаются на предварительно обученные модели глубокого обучения в своем рабочем процессе либо для прямого готового вывода, точной настройки или передачи обучения.


В области доступности моделей PyTorch и TensorFlow резко расходятся. И PyTorch, и TensorFlow имеют свои собственные официальные репозитории моделей, как мы рассмотрим ниже в разделах «Официальные ресурсы», но специалисты-практики могут захотеть использовать модели из других источников. Давайте количественно рассмотрим доступность моделей для обеих сред глубокого обучения, чтобы понять, как они сравниваются.


HuggingFace


О спросе на доступ к предварительно обученным моделям глубокого обучения свидетельствует стремительный рост [HuggingFace] (https://huggingface.co/), который недавно привлек [40 миллионов долларов] (https://techcrunch.com/2021/). 03/11 / обниматься-FACE-рейза-40 млн в обмен на его Природно-языковой обработки-библиотеки /? guccounter = 1 & guce_referrer = aHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS8 & guce_referrer_sig = AQAAAFwAmJq3Tgqs_F3w5QotKAr69r58UJhLFBI_lycsqj4qHI-ws61QD4ejSTrQheBJtvbIz0tCtxo23g-A7qM5HELU7Z3_i8m6TXiZX7eDXM5TBZVWQWLwa2UC-CloBBhH_RAfuV9pMyA2Vl2pG5JK45y1ibVKuG3fz_ut_mxMQ5q_) в последнее время в финансировании тура серии B. Популярность и быстрый рост HuggingFace можно объяснить простотой его использования, предоставляя доступ к моделям SOTA всего за несколько строк кода.


Когда мы сегментируем общее количество и лучшие модели глубокого обучения на HuggingFace по фреймворкам (PyTorch или TensorFlow), мы начинаем видеть тенденцию, которая сохранится на протяжении всего нашего обсуждения.


Всего моделей


Ниже вы можете увидеть график сравнения общего количества моделей на HuggingFace по фреймворкам. Беглый осмотр этого графика позволит вам легко определить превосходную структуру в этом направлении.



Основные выводы:


1. Почти 85% моделей глубокого обучения являются эксклюзивными для PyTorch.


2. Напротив, только около 8% моделей являются эксклюзивными для TensorFlow.


3. Только 16% всех моделей доступны в TensorFlow.


4. Из примерно 16% моделей, не являющихся эксклюзивными для PyTorch, примерно половина по-прежнему доступна в PyTorch.


Лучшие модели


Играя в Devil's Advocate, можно сказать, что, хотя в PyTorch доступно астрономически больше моделей, лучшие модели, безусловно, по-прежнему доступны в обеих средах — что цифры PyTorch дополняются тысячами загрузок низкокачественных моделей глубокого обучения, учитывая, что многие новички выбирают PyTorch.


Справедливое замечание — давайте углубимся в цифры, чтобы увидеть, подтверждается ли этот аргумент, рассмотрев только 30 самых популярных моделей на HuggingFace:



Мы находим, что приведенный выше аргумент не выдерживает критики.


Основные выводы из графика таковы:


1. Все 30 лучших моделей доступны в PyTorch


2. Даже две трети из 30 лучших моделей не доступны в TensorFlow.


3. Нет топ-30 моделей, которые являются эксклюзивными для TensorFlow.


Заключение


PyTorch доминирует в ландшафте предварительно обученных моделей глубокого обучения на HuggingFace.


Документы с кодом


Еще одним популярным источником моделей глубокого обучения является [Papers with Code] (https://paperswithcode.com/) — веб-сайт, задачей которого является создание бесплатного и открытого ресурса с документами по машинному обучению, кодом, наборами данных и т. д.


Статьи со временем


Если мы посмотрим на график процента статей со связанными репозиториями, которые используют PyTorch, TensorFlow или другую структуру с течением времени, мы увидим неуклонно растущую долю статей, использующих PyTorch:



Источник данных — данные агрегированы ежеквартально, с 4 квартала 2017 года по 4 квартал 2021 года


И наоборот, мы наблюдаем продолжающееся почти монотонное снижение TensorFlow даже после выпуска TensorFlow 2 в 2019 году.


Доля статей за последний квартал


Если мы рассмотрим данные только за последний квартал, четвертый квартал 2021 года, когда было создано 4500 репозиториев, мы обнаружим, что 60% из них реализованы в PyTorch, и только 11% реализованы в TensorFlow.



Заключение


Рассматривая доступность моделей глубокого обучения в Papers with Code, мы снова видим еще одну явную победу PyTorch. Следует отметить, что не все эти документы предлагают предварительно обученные модели, мы просто используем совокупность, чтобы отметить общую тенденцию.


Официальные ресурсы PyTorch


Помимо HuggingFace и Papers with Code, у PyTorch есть несколько официальных источников предварительно обученных моделей глубокого обучения.


Центр


[PyTorch Hub] (https://pytorch.org/docs/stable/hub.html) — это ориентированная на исследования платформа для обмена репозиториями с предварительно обученными моделями, которые охватывают широкий спектр приложений.


ТорчВижн


TorchVision — это официальная библиотека PyTorch Computer Vision, включающая набор [предварительно обученных инструментов глубокого обучения] (https://www.assemblyai.com/blog). /p/cf5d4a00-a802-4eec-803b-d55ff97b861d/#:\~:text=a%20selection%20of-,pre%2Dtrained%20Deep%20Learning%20models,-.%20It%20включает%20все) моделей. Он включает в себя все, что вам нужно для ваших проектов Computer Vision, в том числе [архитектуры моделей] (https://pytorch.org/vision/stable/models.html) и популярные [наборы данных] (https://pytorch.org/vision/stable). /наборы данных.html).


Для получения дополнительных предварительно обученных моделей зрения вы можете проверить [TIMM] (https://github.com/rwightman/pytorch-image-models) (модели pyTorch IMage).


TorchText


Если вы специализируетесь на обработке естественного языка, а не на компьютерном зрении, вы можете проверить [TorchText] (https://pytorch.org/text/stable/index.html). Он содержит несколько [предварительно обученных моделей глубокого обучения] (https://pytorch.org/text/stable/models.html), включая экземпляр RoBERTa. Он также содержит наборы данных, часто встречающиеся в области НЛП, а также утилиты обработки данных для работы с этими и другими наборами данных.


Речевой мозг


[SpeechBrain] (https://speechbrain.github.io/) — это набор инструментов для обработки речи с открытым исходным кодом для PyTorch. Он поддерживает ASR, [диаризацию динамиков] (https://www.assemblyai.com/blog/top-speaker-diarization-libraries-and-apis-in-2022/) и многое другое, а также поставляется с некоторыми [предварительно обученными Модели глубокого обучения] (https://speechbrain.readthedocs.io/en/latest/API/speechbrain.pretrained.interfaces.html?highlight=pre%20trained#speechbrain.pretrained.interfaces.EncoderASR).


Официальные ресурсы TensorFlow


TensorFlow, как и PyTorch, имеет несколько официальных источников предварительно обученных моделей глубокого обучения.


Центр


[TensorFlow Hub] (https://www.tensorflow.org/hub) — это хранилище обученных моделей машинного обучения, готовых к тонкой настройке. Этот ресурс позволяет вам использовать большую модель глубокого обучения, такую ​​​​как BERT, всего с несколькими строками кода.


Модели в Hub охватывают широкий спектр вариантов использования, причем модели доступны для предметных областей изображений, видео, аудио и текста. Существуют модели, доступные в моделях TensorFlow, TensorFlow Lite и TensorFlow.js. Вы можете увидеть список доступных моделей [здесь] (https://tfhub.dev/s?subtype=module,placeholder).


Медиаканал


MediaPipe — это фреймворк для построения мультимодальных кроссплатформенных прикладных пайплайнов машинного обучения. MediaPipe предлагает предварительно обученные модели, которые можно использовать для распознавания лиц, отслеживания нескольких рук, обнаружения объектов и многого другого.


Заключительные слова


Хотя обе платформы имеют свои официальные инструменты для распространения предварительно обученных моделей глубокого обучения, из приведенного выше анализа очевидно, что PyTorch доминирует в большинстве, если не во всех, неаффилированных источниках моделей. Учитывая постоянно растущую популярность PyTorch и его Pythonic, простого в использовании подхода к глубокому обучению, мы ожидаем, что эта тенденция сохранится, по крайней мере, в ближайшем будущем.


В то время как PyTorch превосходит TensorFlow на этом фронте, разговор о том, какой фреймворк лучше в целом, довольно нюансирован, и большая часть информации по этому вопросу устарела. Вы можете ознакомиться с этим анализом, сравнивающим [Pytorch и Tensorflow] (https://www.assemblyai.com/blog/pytorch-vs-tensorflow-in-2022/), чтобы получить актуальную и подробную информацию о том, когда каждый фреймворк должен использоваться.



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE