Hugging Face и Intel OpenVINO: ускорение инференса моделей на процессорах до 40%
Интеграция Hugging Face с Intel OpenVINO через библиотеку Optimum Intel позволяет разработчикам значительно ускорить выполнение моделей машинного обучения на процессорах Intel. Благодаря этой коллаборации, инференс популярных моделей, таких как BERT, GPT-2 и ResNet, может стать быстрее до 40% без не

Интеграция Hugging Face с Intel OpenVINO через библиотеку Optimum Intel позволяет разработчикам значительно ускорить выполнение моделей машинного обучения на процессорах Intel. Благодаря этой коллаборации, инференс популярных моделей, таких как BERT, GPT-2 и ResNet, может стать быстрее до 40% без необходимости использования GPU. Это открывает новые возможности для развертывания AI-решений на серверах и устройствах с процессорами Intel, делая высокопроизводительный инференс доступным для более широкого круга разработчиков.
Что произошло
Hugging Face объявил о поддержке OpenVINO в библиотеке Optimum Intel. Теперь разработчики могут оптимизировать и запускать модели из Hugging Face Hub на оборудовании Intel с использованием OpenVINO, что значительно ускоряет инференс. OpenVINO (Open Visual Inference and Neural Network Optimization) — это бесплатный набор инструментов от Intel, предназначенный для оптимизации и развертывания моделей глубокого обучения на устройствах Intel, включая CPU, GPU, VPU и FPGA. Интеграция с Optimum Intel упрощает процесс: модели автоматически конвертируются в формат OpenVINO и запускаются через Inference Engine, что позволяет разработчикам сосредоточиться на разработке, а не на ручной настройке оптимизаций.
Почему это важно
OpenVINO — это набор инструментов Intel для оптимизации и развертывания моделей глубокого обучения. Интеграция с Optimum Intel упрощает процесс оптимизации моделей для разработчиков, позволяя им легко ускорять инференс на процессорах Intel без необходимости вручную настраивать OpenVINO. Ранее для использования OpenVINO требовались глубокие знания в области оптимизации моделей и ручная конвертация. Теперь же разработчики могут получить прирост производительности буквально в несколько строк кода. Это особенно важно для тех, кто работает с ограниченными ресурсами или не имеет доступа к дорогим GPU. Ускорение инференса на CPU позволяет развертывать сложные модели на существующем оборудовании, снижая затраты на инфраструктуру.
Детали интеграции
Optimum Intel — это расширение библиотеки Hugging Face Transformers, которое предоставляет интерфейс для использования аппаратных оптимизаций Intel. С новой интеграцией модели могут быть экспортированы в формат OpenVINO и запущены с помощью Inference Engine. Это обеспечивает ускорение до 40% на задачах NLP и компьютерного зрения по сравнению с обычным выполнением на CPU. Поддерживаются модели BERT, GPT-2, ResNet и другие. Процесс оптимизации включает квантизацию (снижение точности вычислений до INT8) и другие методы, которые уменьшают задержку и увеличивают пропускную способность. Важно отметить, что ускорение достигается без существенной потери точности: современные методы квантизации позволяют сохранить качество предсказаний на уровне, близком к исходному.
Какие модели можно ускорить с помощью OpenVINO?
Практически любые модели из Hugging Face Hub, поддерживаемые библиотекой Transformers, могут быть оптимизированы с помощью OpenVINO. В первую очередь это модели для обработки естественного языка (NLP), такие как BERT, RoBERTa, DistilBERT, GPT-2, и модели компьютерного зрения, например ResNet, EfficientNet, MobileNet. Однако интеграция не ограничивается только этими архитектурами: разработчики могут экспериментировать с любыми моделями, которые совместимы с Optimum Intel. Для начала работы достаточно установить библиотеку optimum[intel] и использовать класс OVModelForXXX, где XXX — тип задачи (например, OVModelForSequenceClassification).
Кого затронет это обновление
Разработчиков, использующих Hugging Face и желающих запускать модели на CPU с максимальной производительностью. Особенно актуально для тех, кто не имеет доступа к GPU и использует серверы на базе Intel. Это также полезно для компаний, которые хотят снизить затраты на облачные вычисления, используя существующие CPU-серверы. Кроме того, интеграция упрощает развертывание моделей на периферийных устройствах (edge devices), где GPU часто недоступны. Например, в системах видеонаблюдения, умных камерах или промышленных контроллерах, где важна низкая задержка и энергоэффективность.
Что пока неизвестно
Точные бенчмарки для всех поддерживаемых моделей и сравнение с другими оптимизациями, такими как ONNX Runtime. Хотя заявлено ускорение до 40%, реальный прирост может варьироваться в зависимости от модели, размера батча и аппаратной платформы. Также не раскрыты подробности о поддержке новых архитектур, таких как LLaMA или Stable Diffusion, но можно ожидать, что список будет расширяться. Кроме того, пока нет информации о совместимости с Intel Arc GPU и другими ускорителями, хотя OpenVINO поддерживает их в общем случае.
Как начать использовать
Для начала работы с Optimum Intel и OpenVINO достаточно установить библиотеку: pip install optimum[intel]. Затем загрузить модель из Hugging Face Hub и экспортировать её в формат OpenVINO с помощью класса OVModelFromPretrained. После этого модель можно запускать с помощью стандартного API Hugging Face, но с ускорением на процессорах Intel. Пример кода доступен в документации Optimum Intel. Разработчики могут также использовать инструмент Neural Network Compression Framework (NNCF) для дополнительной оптимизации.
Будущее интеграции
Ожидается, что Hugging Face и Intel продолжат совместную работу, расширяя поддержку моделей и улучшая производительность. В планах — интеграция с Intel Extension for PyTorch (IPEX) и дальнейшая оптимизация для новых поколений процессоров Intel, таких как Xeon Scalable и Core Ultra. Это позволит ещё больше ускорить инференс и сделать AI более доступным на широком спектре устройств.