Нажав кнопку "Принять все файлы cookie", вы соглашаетесь с сохранением файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа его использования и помощи в наших маркетинговых усилиях. Дополнительная информация
Настройки файлов cookie
Нажав кнопку "Принять все файлы cookie", вы соглашаетесь с сохранением файлов cookie на вашем устройстве для улучшения навигации по сайту, анализа его использования и помощи в наших маркетинговых усилиях. Дополнительная информация
Присоединяйтесь к нам, так как мы пересматриваем ключевой доклад YOLO Vision 2024, посвященный изучению того, как инструменты Hugging Face с открытым исходным кодом способствуют развитию ИИ.
Выбор правильных алгоритмов - это лишь одна часть создания эффективных решений в области компьютерного зрения. Инженеры по ИИ часто работают с большими массивами данных, настраивают модели для конкретных задач и оптимизируют системы ИИ для работы в реальных условиях. По мере быстрого внедрения приложений ИИ растет и потребность в инструментах, упрощающих эти процессы.
На YOLO Vision 2024 (YV24), ежегодном гибридном мероприятии, организованном компанией Ultralytics, эксперты в области ИИ и любители технологий собрались вместе, чтобы изучить последние инновации в области компьютерного зрения. Мероприятие вызвало дискуссии на различные темы, такие как способы ускорения разработки приложений ИИ.
Ключевым моментом мероприятия стал доклад о Hugging Face, платформе ИИ с открытым исходным кодом, которая упрощает обучение, оптимизацию и развертывание моделей. Павел Лакубовский, инженер по машинному обучению в Hugging Face, рассказал о том, как его инструменты улучшают рабочие процессы для задач компьютерного зрения, таких как обнаружение объектов на изображениях, классификация изображений по различным группам и составление прогнозов без предварительного обучения на конкретных примерах (обучение с нулевого выстрела).
Hugging Face Hub размещает и предоставляет доступ к различным моделям ИИ и компьютерного зрения, таким как Ultralytics YOLO11. В этой статье мы расскажем о ключевых моментах выступления Павла и о том, как разработчики могут использовать инструменты Hugging Face с открытым исходным кодом для быстрого создания и развертывания моделей ИИ.
Рис. 1. Павел на сцене YV24.
Hugging Face Hub помогает ускорить разработку искусственного интеллекта
Павел начал свое выступление с представления Hugging Face как платформы ИИ с открытым исходным кодом, предлагающей предварительно обученные модели для различных приложений. Эти модели предназначены для различных отраслей ИИ, включая обработку естественного языка (NLP), компьютерное зрение и мультимодальный ИИ, позволяя системам обрабатывать различные типы данных, такие как текст, изображения и аудио.
Павел отметил, что на Hugging Face Hub уже размещено более 1 миллиона моделей, и разработчики могут легко найти модели, подходящие для их конкретных проектов. Hugging Face стремится упростить разработку ИИ, предлагая инструменты для обучения, тонкой настройки и развертывания моделей. Когда разработчики могут экспериментировать с различными моделями, это упрощает процесс интеграции ИИ в реальные приложения.
Изначально Hugging Face был известен благодаря NLP, но впоследствии он расширил сферу применения компьютерного зрения и мультимодального ИИ, позволяя разработчикам решать более широкий спектр задач ИИ. Кроме того, у него есть сильное сообщество, в котором разработчики могут сотрудничать, делиться идеями и получать поддержку через форумы, Discord и GitHub.
Исследование моделей обнимающихся лиц для приложений компьютерного зрения
Более подробно Павел рассказал о том, как инструменты Hugging Face упрощают создание приложений для компьютерного зрения. Разработчики могут использовать их для таких задач, как классификация изображений, обнаружение объектов и приложения на языке зрения.
Он также отметил, что многие из этих задач компьютерного зрения могут быть решены с помощью предварительно обученных моделей, доступных на Hugging Face Hub, что позволяет сэкономить время за счет сокращения необходимости обучения с нуля. На самом деле Hugging Face предлагает более 13 000 предварительно обученных моделей для задач классификации изображений, включая модели для классификации продуктов питания, домашних животных и распознавания эмоций.
Подчеркивая доступность этих моделей, он сказал: "Возможно, вам даже не придется готовить модель для своего проекта - вы можете найти на Hub модель, уже подготовленную кем-то из сообщества".
Модели обнимающихся лиц для обнаружения объектов
Приводя другой пример, Павел рассказал о том, как Hugging Face может помочь в обнаружении объектов- ключевой функции компьютерного зрения, которая используется для идентификации и определения местоположения объектов на изображениях. Даже при ограниченном количестве помеченных данных предварительно обученные модели, доступные на Hugging Face Hub, могут сделать обнаружение объектов более эффективным.
Он также сделал краткий обзор нескольких моделей, созданных для этой задачи, которые вы можете найти на Hugging Face:
Модели обнаружения объектов в реальном времени: Для динамичных сред, где важна скорость, такие модели, как Detection Transformer (DETR), позволяют обнаруживать объекты в режиме реального времени. DETR обучен на наборе данных COCO и предназначен для эффективной обработки многомасштабных признаков, что делает его подходящим для приложений, чувствительных ко времени.
Модели языка зрения: Эти модели объединяют обработку изображений и текстов, позволяя системам ИИ сопоставлять изображения с описаниями или распознавать объекты за пределами обучающих данных. Примерами могут служить CLIP и SigLIP, которые улучшают поиск по изображениям, связывая текст с визуальными образами, и позволяют системам искусственного интеллекта идентифицировать новые объекты, понимая их контекст.
Модели обнаружения объектов с нулевого снимка: Они могут идентифицировать объекты, которых раньше не видели, благодаря пониманию взаимосвязи между изображениями и текстом. В качестве примера можно привести OwlVit, GroundingDINO и OmDet, которые используют нулевое обучение для обнаружения новых объектов, не нуждаясь в маркированных обучающих данных.
Как использовать модели обнимающихся лиц
Затем Павел перешел к практической работе с моделями Hugging Face, рассказав о трех способах их использования разработчиками: изучение моделей, их быстрое тестирование и дальнейшая настройка.
Он продемонстрировал, как разработчики могут просматривать модели непосредственно на Hugging Face Hub без написания какого-либо кода, что позволяет мгновенно тестировать модели с помощью интерактивного интерфейса. "Вы можете попробовать ее, не написав ни строчки кода и не загрузив модель на свой компьютер", - добавил Павел. Поскольку некоторые модели имеют большой размер, их запуск на Hub позволяет избежать ограничений на хранение и обработку данных".
Рис. 2. Как использовать модели обнимающихся лиц.
Кроме того, Hugging Face Inference API позволяет разработчикам запускать модели ИИ с помощью простых вызовов API. Он отлично подходит для быстрого тестирования, пробных проектов и быстрого создания прототипов без необходимости сложной настройки.
Для более сложных задач разработчики могут использовать фреймворк Hugging Face Transformers - инструмент с открытым исходным кодом, который предоставляет предварительно обученные модели для текстовых, зрительных и аудиозадач, поддерживая PyTorch и TensorFlow. Павел объяснил, что с помощью всего двух строк кода разработчики могут получить модель из Hugging Face Hub и связать ее с инструментом предварительной обработки, таким как процессор изображений, для анализа данных изображений в приложениях Vision AI.
Оптимизация рабочих процессов ИИ с помощью Hugging Face
Далее Павел рассказал о том, как Hugging Face может оптимизировать рабочие процессы ИИ. Одной из ключевых тем стала оптимизация механизма внимания в Transformers - основной функции моделей глубокого обучения, которая помогает им фокусироваться на наиболее значимых частях входных данных. Это повышает точность задач, связанных с обработкой языка и компьютерным зрением. Однако это может быть ресурсоемким.
Оптимизация механизма внимания позволяет значительно сократить потребление памяти и одновременно повысить скорость работы. Павел отметил: "Например, переключившись на более эффективную реализацию внимания, можно добиться увеличения производительности в 1,8 раза".
Hugging Face обеспечивает встроенную поддержку более эффективных реализаций внимания в рамках фреймворка Transformers. Разработчики могут включить эти оптимизации, просто указав альтернативную реализацию внимания при загрузке модели.
Optimum и Torch Compile
Он также рассказал о квантовании - технике, позволяющей уменьшить размер моделей ИИ за счет снижения точности используемых в них чисел без сильного влияния на производительность. Это помогает моделям использовать меньше памяти и работать быстрее, что делает их более подходящими для устройств с ограниченной вычислительной мощностью, таких как смартфоны и встраиваемые системы.
Для дальнейшего повышения эффективности Павел представил библиотеку Hugging Face Optimum - набор инструментов, предназначенных для оптимизации и развертывания моделей. С помощью всего нескольких строк кода разработчики могут применять методы квантования и конвертировать модели в эффективные форматы, такие как ONNX (Open Neural Network Exchange), что позволяет им бесперебойно работать на различных типах оборудования, включая облачные серверы и пограничные устройства.
Рис. 3. Павел рассказал о библиотеке Optimum и ее возможностях.
Наконец, Павел рассказал о преимуществах Torch Compile, функции PyTorch, которая оптимизирует обработку данных в моделях ИИ, делая их более быстрыми и эффективными. Hugging Face интегрирует Torch Compile в свои библиотеки Transformers и Optimum, позволяя разработчикам воспользоваться преимуществами повышения производительности с минимальными изменениями кода.
Оптимизируя структуру вычислений модели, Torch Compile позволяет ускорить время вывода и увеличить частоту кадров с 29 до 150 кадров в секунду без ущерба для точности и качества.
Развертывание моделей с помощью инструментов Hugging Face
Далее Павел кратко рассказал о том, как разработчики могут расширять и развертывать модели Vision AI с помощью инструментов Hugging Face после выбора подходящей модели и оптимального подхода к разработке.
Например, разработчики могут развернуть интерактивные приложения ИИ с помощью Gradio и Streamlit. Gradio позволяет разработчикам создавать веб-интерфейсы для моделей машинного обучения, а Streamlit помогает создавать интерактивные приложения для работы с данными с помощью простых сценариев на Python.
Павел также отметил: "Вам не нужно начинать писать все с нуля", имея в виду руководства, учебные тетради и примеры скриптов, которые предоставляет Hugging Face. Эти ресурсы помогают разработчикам быстро приступить к работе без необходимости создавать все с нуля.
Рис. 4. Павел обсуждает возможности Hugging Face на YV24.
Преимущества обнимающихся лиц
Завершая свой доклад, Павел рассказал о преимуществах использования Hugging Face Hub. Он подчеркнул, как он упрощает управление моделями и совместную работу. Он также обратил внимание на наличие руководств, блокнотов и учебников, которые могут помочь как новичкам, так и экспертам понять и реализовать модели ИИ.
"На Hub уже есть множество классных проектов. Вы можете найти похожие, клонировать общий код, изменить несколько строк, заменить модель на свою и выложить ее обратно", - объяснил он, призывая разработчиков воспользоваться гибкостью платформы.
Основные выводы
Во время своего выступления на YV24 Павел рассказал о том, как Hugging Face предоставляет инструменты, поддерживающие обучение, оптимизацию и развертывание моделей ИИ. Например, такие инновации, как Transformers, Optimum и Torch Compile, помогают разработчикам повысить производительность моделей.
По мере того как модели искусственного интеллекта становятся все более эффективными, усовершенствования в области квантования и пограничного развертывания облегчают их запуск на устройствах с ограниченными ресурсами. Эти усовершенствования в сочетании с такими инструментами, как Hugging Face, и передовыми моделями компьютерного зрения, такими как Ultralytics YOLO11, являются ключом к созданию масштабируемых и высокопроизводительных приложений Vision AI.