В этом курсе по NLP Cloud мы объясняем, почему для ускорения обработки рабочих нагрузок машинного обучения часто требуется специальное оборудование. Мы также рассмотрим, какие лучшие ускорители будут доступны на рынке в 2023 году: GPU, TPU, IPU, Inferentia, Habana Gaudi...
Вот структура курса:
Привет всем, это Джулиен Салинас из NLP Cloud.
В этом курсе мы рассмотрим, какие аппаратные ускорители мы можем использовать сегодня для ускорения вычислительных нагрузок.
Для понимания аппаратного ускорения важно помнить, что в настоящее время приложения ИИ в основном основаны на нейронных сетях, также известных как глубокое обучение.
Умножение матриц является важнейшей операцией в нейронных сетях, поскольку позволяет им обучаться сложным данным и сложным представлениям этих данных.
В нейронной сети входные данные представлены матрицей, а веса связей между нейронами также представлены матрицей.
При перемножении этих двух матриц получается новая матрица, представляющая собой выход нейронов.
Этот процесс повторяется через несколько слоев нейронов, что позволяет сети усваивать все более абстрактные и сложные характеристики входных данных.
Матрицы являются основными компонентами моделей искусственного интеллекта, поэтому важно использовать аппаратные средства, хорошо справляющиеся с операциями над матрицами.
Другим важным аспектом являются числа с плавающей запятой.
Плавающие точки важны для нейронных сетей, поскольку они позволяют представлять дробные значения.
Как мы только что сказали, нейронные сети включают в себя большие матрицы с большим количеством записей.
Использование только целочисленных значений быстро привело бы к ошибкам переполнения.
Используя значения с плавающей запятой, нейронные сети могут представлять значения с большим количеством десятичных знаков, что позволяет производить более точные вычисления и повышать точность выходных данных.
Таким образом, для эффективной обработки рабочих нагрузок, в том числе нагрузок искусственного интеллекта, нам необходимо оборудование, которое хорошо справляется с матричными умножениями и вычислениями с плавающей запятой.
На сегодняшний день можно выделить два основных варианта использования процессоров и графических процессоров для решения задач машинного обучения.
Центральный процессор (ЦП) - это процессор общего назначения, выполняющий широкий спектр задач в компьютерной системе, включая запуск приложений, управление операционной системой и выполнение математических вычислений.
Процессоры разработаны как универсальные и могут решать множество задач, но они не оптимизированы для какого-либо конкретного типа нагрузки.
GPU, или графический процессор, - это специализированный процессор, предназначенный для выполнения сложных параллельных рабочих нагрузок, таких как рендеринг графики и машинное обучение.
Графические процессоры состоят из тысяч небольших ядер, которые совместно обрабатывают большие объемы данных одновременно, что позволяет им работать гораздо быстрее центральных процессоров при определенных видах нагрузок.
Матричные операции легко распараллеливаются на нескольких небольших ядрах, поэтому графические процессоры превосходят их в этой области.
Кроме того, в графических процессорах, как правило, гораздо больше блоков с плавающей запятой, чем в центральных процессорах, что позволяет им выполнять операции с плавающей запятой гораздо быстрее.
Теперь вы знаете, почему для современных ИИ-нагрузок часто недостаточно одного процессора и почему часто очень важны специальные аппаратные средства.
Теперь давайте рассмотрим возможности выбора конкретных аппаратных ускорителей.
Графические процессоры NVIDIA - это мощный инструмент для обработки графики, обладающий рядом возможностей, которые делают их идеальными для игр, машинного обучения, видеомонтажа, дизайнерских и инженерных приложений.
Как инженеру-программисту в области искусственного интеллекта, вам, несомненно, придется работать с графическими процессорами NVIDIA, поскольку они занимают сегодня центральное место на рынке GPU.
Самыми мощными картами для ИИ в 2023 году станут A100 и H100.
AMD также предлагает широкий спектр графических процессоров, в том числе для машинного обучения.
Их линейка продуктов RockM очень интересна, и я рекомендую вам взглянуть на нее.
Google также создает собственные чипы искусственного интеллекта, называемые TPU (TensorFlow Processing Unit).
Они используют эти чипы внутри компании, а также предлагают их в своем облачном предложении Google Cloud.
Однако приобрести TPU для себя невозможно.
Работа TPU несколько отличается от работы GPU, но это тема для другого специального видео.
Graphcore - британская компания, производящая специальное аппаратное обеспечение ИИ под названием IPU, эквивалентное TPU от Google.
Вы можете как приобрести IPU, так и использовать их в облаке через одного из своих партнеров.
AWS создает собственные чипы искусственного интеллекта.
У них есть чип, предназначенный для выводов, который называется Inferentia, и другой, предназначенный для обучения, который называется Tranium.
Эти чипы относительно дешевы.
Вы не можете приобрести такие чипы для себя, но можете использовать их на AWS EC2 или Sage Maker.
Intel также создает свой собственный чип ИИ под названием Habana Gaudi, который является очень мощной, но очень дорогой альтернативой.
Аппаратные ускорители являются мощными, но при этом очень дорогими и их нелегко приобрести из-за глобального дефицита полупроводников.
Поэтому целесообразно максимально оптимизировать рабочую нагрузку ИИ, чтобы она могла работать на более компактном оборудовании.
В действительности процессоры могут быть даже достойным вариантом для многих рабочих нагрузок машинного обучения во многих ситуациях.
Как видите, в 2023 году NVIDIA является решением де-факто, когда речь идет об аппаратном ускорении в области ИИ и машинного обучения.
Но, что интересно, появляются и альтернативные варианты.
Так что, возможно, через пару лет для своих следующих ИИ-проектов вы будете использовать другие типы акселераторов.
Я надеюсь, что этот курс был полезен, и желаю Вам приятного дня.