PyTorch
PyTorch — известный змеиный фреймворк для ИИ от компании Meta.
История[править]
Разработка PyTorch началась в 2016 году как внутренний проект Meta AI на основе более ранней библиотеки Torch на языке Lua. Было решено, что хорошо бы восрать более так скажем привычный вариант для современных питонных кодеров, которым подавай питон, а если язык не шипит и не извивается, то он какой-то негодный.
Первый публичный релиз состоялся в январе 2017 года. С самого начала PyTorch разрабатывался как инструмент для исследований и предлагал режим исполнения, позволяющий отлаживать модели как обычный код на языке змей. Таким образом стало возможно им пользоваться довольно потужно, из-за чего им пользоваться и стали.
Машинное обучение тогда жужжало в чисто исследовательских целях, до выхода ChatGPT оставалось ещё 5 лет.
В 2020-х годах управление проектом перешло под Linux Foundation. Впрочем, разницы особой нетути. Интересно, что сей Торк оказался очень популярным среди профессиональных исследователей, и две трети всех исследований по машинному обучению было воцарено посредством того самого PyTorch.
Суть[править]
Основная структура данных — тензоры, многомерные массивы, аналогичные NumPy ndarray, но с поддержкой ускорения на GPU и автоматического дифференцирования. Тензоры поддерживают операции на CPU, CUDA (NVIDIA), ROCm (AMD), Metal (Apple) и других бэкендах.
Механизм autograd отслеживает операции над тензорами с атрибутом requires_grad=True и автоматически вычисляет градиенты. Это позволяет быстро и очень престолько вдалбливать информацию в нейронные сети методом обратного распространения ошибки.
Есть и бибилотеки для одновременного обучения на множестве GPU, что для больших и толстых нейросетей является важной особенностью.