Рабочие нагрузки scikit с AOCL Data Analytics

Источник: AMD•

Рабочие нагрузки scikit с AOCL Data Analytics

Ускоряйте поддерживаемые рабочие нагрузки scikit-learn с помощью AOCL-Data Analytics, сохраняя при этом существующий код на Python и привычные API scikit-learn.

Если вы используете scikit-learn для классического машинного обучения, производительность может стать «узким местом» задолго до того, как это произойдет со сложностью модели. Перебор гиперпараметров, кросс-валидация и многократное переобучение могут превратить простые рабочие процессы в трудоемкие задачи для процессора.

Оптимизация самого алгоритма может помочь, но это также может означать переписывание кода, добавление зависимостей или нарушение уже работающего рабочего процесса. Что, если бы вы могли ускорить свои рабочие нагрузки scikit-learn, не меняя код на Python?

AOCL-Data Analytics предоставляет оптимизированные реализации для широкого набора алгоритмов scikit-learn, позволяя разработчикам ускорять поддерживаемые рабочие нагрузки, продолжая использовать привычные API scikit-learn.

Ускорение без усилий: никаких изменений в коде

Рассмотрим стандартный классификатор опорных векторов (SVC) из scikit-learn, использующий стандартный API:

На процессоре AMD EPYC™ 9755 (Turin) обучение этой модели занимает примерно 13,8 секунды.

Теперь давайте сравним два способа запуска одного и того же скрипта:

против

Во втором вызове был применен патч AOCL-Data Analytics для scikit-learn, и те же вычисления занимают 1,8 секунды. Это ускорение в 7,5 раз без каких-либо изменений в коде Python, конфигурации модели или предварительной обработке данных.

Откуда берется производительность

По сути, патч AOCL-Data Analytics для scikit-learn перенаправляет поддерживаемые операции scikit-learn на оптимизированные нативные реализации, разработанные для архитектур серверных процессоров AMD EPYC. Вы продолжаете использовать привычные API scikit-learn, в то время как AOCL-Data Analytics берет на себя выполнение вычислений.

AOCL-Data Analytics предоставляет оптимизированные реализации для многих алгоритмов scikit-learn, включая кластеризацию (k-means, DBSCAN), деревья решений, линейные модели, машины опорных векторов, PCA и методы ближайших соседей.

Приведенные ниже показатели производительности суммируют достижимые ускорения для различных рабочих нагрузок.

Результаты производительности основаны на тестировании AMD по состоянию на 10 июля 2026 года. Детали конфигурации: 128-ядерный процессор AMD EPYC 9755 Turin, тесты проводились с двойной и одинарной точностью, обучение и инференс, с использованием наборов данных с открытым исходным кодом. Тесты выполнялись на 1, 8, 16 и 32 потоках. Указано среднее геометрическое ускорение по сравнению со стандартным scikit-learn.

В среднем по всем нашим тестам AOCL-Data Analytics работает в 2,5 раза быстрее, чем scikit-learn.

Почему это важно для реальных рабочих процессов

Если вы уже привыкли к scikit-learn, AOCL-Data Analytics может многое предложить.

  • Более быстрый перебор гиперпараметров: сеточный поиск, который занимал часы, теперь может занимать минуты.
  • Кросс-валидация становится достаточно дешевой для интенсивного использования.
  • Вам больше не нужно жертвовать качеством модели ради скорости выполнения.
  • Циклы экспериментов проходят быстрее.
  • Использование процессора становится более эффективным не только на системах AMD EPYC, но и на процессорах x86 в целом.

За пределами scikit-learn

Хотя уровень scikit-learn является самой простой точкой входа, это не единственный способ получить доступ к AOCL-Data Analytics.

Для рабочих процессов, сочетающих прототипирование на Python с развертыванием на C++ — или требующих функциональности, недоступной в scikit-learn — библиотека также предоставляет:

  • Нативные API Python,
  • API C и C++,
  • Обертки для R.

Это дает вам доступ к алгоритмам, которые в настоящее время выходят за рамки scikit-learn, таким как аппроксимация ближайших соседей, интерполяция и нелинейная оптимизация методом наименьших квадратов.

Установка и использование

Самый простой способ получить AOCL-Data Analytics — через Python Package Index:

Чтобы использовать патч, вы можете просто добавить -m aoclda.sklearn к вашему вызову Python или добавить следующие строки в начало вашего скрипта Python перед импортом scikit-learn:

Так почему бы не включить патч для одного из ваших самых медленных конвейеров и не измерить разницу?

Полезные ресурсы

Следующие ссылки укажут вам на наши предварительно скомпилированные бинарные файлы (для пользователей C/C++), наш исходный код и документацию по API.

Обратите внимание, что AOCL-Data Analytics является частью более широкого набора библиотек AOCL, предоставляющих оптимизированные численные библиотеки для процессоров EPYC. Пользователи Python также могут быть заинтересованы в использовании библиотек NumPy и SciPy для Python вместе с AOCL.

Сноски

Сноска

Данные измерены 10 июля 2026 года.

Конфигурация системы

  • Модель системы AMD EPYC Turin: Supermicro AS-2126HS-TN
  • Процессор: 2x AMD EPYC 9755 128-Core (256 ядер, 512 потоков; SMT включен)
  • NUMA: 2 узла NUMA, по одному на сокет. Автоматическая балансировка NUMA включена
  • Память: 1536 ГБ (24x 64 ГБ двухранговых x4 DDR5 RDIMM; 1510,76 ГБ доступно ОС)
  • Диск: 2x 1,92 ТБ Samsung NVMe SSD (3,84 ТБ / 3,49 ТиБ «сырой» емкости)
  • ОС хоста: Red Hat Enterprise Linux 8.10 (Ootpa)
  • Ядро: 4.18.0-553.125.1.el8_10.x86_64
  • BIOS системы: 1.5, от 2025-05-12
  • Поставщик BIOS системы: American Megatrends International, LLC.

О чём эта статья

Ещё в разделе «Hardware и электроника»

Все →

Ещё от AMD