Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Definições de cookies
Ao clicar em “Aceitar todos os cookies”, concorda com o armazenamento de cookies no seu dispositivo para melhorar a navegação no site, analisar a utilização do site e ajudar nos nossos esforços de marketing. Mais informações
Junte-se a nós enquanto revisitamos uma palestra principal da YOLO Vision 2024 que se concentra em explorar como as ferramentas de código aberto do Hugging Face estão promovendo o desenvolvimento de IA.
Escolher os algoritmos certos é apenas uma parte da construção de soluções de visão computacional impactantes. Os engenheiros de IA geralmente trabalham com grandes conjuntos de dados, ajustam modelos para tarefas específicas e otimizam sistemas de IA para desempenho no mundo real. À medida que as aplicações de IA são adotadas mais rapidamente, a necessidade de ferramentas que simplifiquem esses processos também está crescendo.
Na YOLO Vision 2024 (YV24), o evento híbrido anual promovido pela Ultralytics, especialistas em IA e entusiastas de tecnologia se reuniram para explorar as últimas inovações em visão computacional. O evento gerou discussões sobre vários tópicos, como maneiras de acelerar o desenvolvimento de aplicações de IA.
Um destaque importante do evento foi uma palestra sobre o Hugging Face, uma plataforma de IA de código aberto que simplifica o treinamento, a otimização e a implantação de modelos. Pavel Lakubovskii, um engenheiro de aprendizado de máquina do Hugging Face, compartilhou como suas ferramentas melhoram os fluxos de trabalho para tarefas de visão computacional, como detectar objetos em imagens, categorizar imagens em diferentes grupos e fazer previsões sem treinamento prévio em exemplos específicos (aprendizado zero-shot).
O Hugging Face Hub hospeda e fornece acesso a vários modelos de IA e visão computacional, como o Ultralytics YOLOv8. Neste artigo, recapitularemos os principais pontos da palestra de Pavel e veremos como os desenvolvedores podem usar as ferramentas de código aberto do Hugging Face para construir e implementar modelos de IA rapidamente.
Fig 1. Pavel no palco no YV24.
O Hugging Face Hub oferece suporte ao desenvolvimento mais rápido de IA
Pavel começou sua palestra apresentando o Hugging Face como uma plataforma de IA de código aberto que oferece modelos pré-treinados para uma variedade de aplicações. Esses modelos são projetados para vários ramos da IA, incluindo processamento de linguagem natural (PNL), visão computacional e IA multimodal, permitindo que os sistemas processem diferentes tipos de dados, como texto, imagens e áudio.
Pavel mencionou que o Hugging Face Hub agora hospeda mais de 1 milhão de modelos, e os desenvolvedores podem encontrar facilmente modelos adequados para seus projetos específicos. O Hugging Face tem como objetivo simplificar o desenvolvimento de IA, oferecendo ferramentas para treinamento, ajuste fino e implementação de modelos. Quando os desenvolvedores podem experimentar diferentes modelos, isso simplifica o processo de integração da IA em aplicações do mundo real.
Embora o Hugging Face tenha sido inicialmente conhecido por PNL, ele se expandiu para visão computacional e IA multimodal, permitindo que os desenvolvedores abordem uma gama mais ampla de tarefas de IA. Ele também tem uma comunidade forte onde os desenvolvedores podem colaborar, compartilhar insights e obter suporte por meio de fóruns, Discord e GitHub.
Explorando modelos do Hugging Face para aplicações de visão computacional
Entrando em mais detalhes, Pavel explicou como as ferramentas do Hugging Face facilitam a criação de aplicações de visão computacional. Os desenvolvedores podem usá-las para tarefas como classificação de imagens, detecção de objetos e aplicações de visão-linguagem.
Ele também salientou que muitas dessas tarefas de visão computacional podem ser tratadas com modelos pré-treinados disponíveis no Hugging Face Hub, economizando tempo ao reduzir a necessidade de treinamento do zero. Na verdade, o Hugging Face oferece mais de 13.000 modelos pré-treinados para tarefas de classificação de imagens, incluindo modelos para classificação de alimentos, classificação de animais de estimação e detecção de emoções.
Enfatizando a acessibilidade desses modelos, ele disse: "Você provavelmente nem precisa treinar um modelo para o seu projeto - você pode encontrar um no Hub que já foi treinado por alguém da comunidade."
Modelos do Hugging Face para detecção de objetos
Dando outro exemplo, Pavel explicou como o Hugging Face pode ajudar na detecção de objetos, uma função fundamental na visão computacional que é usada para identificar e localizar objetos dentro de imagens. Mesmo com dados rotulados limitados, os modelos pré-treinados disponíveis no Hugging Face Hub podem tornar a detecção de objetos mais eficiente.
Ele também deu uma visão geral rápida de vários modelos construídos para esta tarefa que você pode encontrar no Hugging Face:
Modelos de detecção de objetos em tempo real: Para ambientes dinâmicos onde a velocidade é crucial, modelos como o Detection Transformer (DETR) oferecem recursos de detecção de objetos em tempo real. O DETR é treinado no conjunto de dados COCO e foi projetado para processar recursos multiescala de forma eficiente, tornando-o adequado para aplicações sensíveis ao tempo.
Modelos de visão-linguagem: Esses modelos combinam processamento de imagem e texto, possibilitando que os sistemas de IA correspondam imagens com descrições ou reconheçam objetos além de seus dados de treinamento. Os exemplos incluem CLIP e SigLIP, que melhoram a pesquisa de imagens, vinculando texto a elementos visuais e permitindo que as soluções de IA identifiquem novos objetos, compreendendo seu contexto.
Modelos de detecção de objetos zero-shot: Eles podem identificar objetos que nunca viram antes, compreendendo a relação entre imagens e texto. Os exemplos incluem OwlVit, GroundingDINO e OmDet, que usam aprendizado zero-shot para detectar novos objetos sem a necessidade de dados de treinamento rotulados.
Como usar os modelos do Hugging Face
Pavel então mudou o foco para a prática com os modelos do Hugging Face, explicando três maneiras pelas quais os desenvolvedores podem aproveitá-los: explorar modelos, testá-los rapidamente e personalizá-los ainda mais.
Ele demonstrou como os desenvolvedores podem navegar pelos modelos diretamente no Hugging Face Hub sem escrever nenhum código, facilitando o teste de modelos instantaneamente por meio de uma interface interativa. "Você pode experimentar sem escrever uma única linha de código ou baixar o modelo no seu computador", acrescentou Pavel. Como alguns modelos são grandes, executá-los no Hub ajuda a evitar limitações de armazenamento e processamento.
Fig 2. Como usar os modelos do Hugging Face.
Além disso, a API de Inferência do Hugging Face permite que os desenvolvedores executem modelos de IA com chamadas de API simples. É ótima para testes rápidos, projetos de prova de conceito e prototipagem rápida sem a necessidade de uma configuração complexa.
Para casos de uso mais avançados, os desenvolvedores podem usar o framework Transformers do Hugging Face, uma ferramenta de código aberto que fornece modelos pré-treinados para tarefas de texto, visão e áudio, enquanto oferece suporte a PyTorch e TensorFlow. Pavel explicou que, com apenas duas linhas de código, os desenvolvedores podem recuperar um modelo do Hugging Face Hub e vinculá-lo a uma ferramenta de pré-processamento, como um processador de imagem, para analisar dados de imagem para aplicações de Visão de IA.
Otimizando fluxos de trabalho de IA com o Hugging Face
Em seguida, Pavel explicou como o Hugging Face pode otimizar os fluxos de trabalho de IA. Um tópico chave que ele abordou foi a otimização do mecanismo de atenção nos Transformers, uma característica central dos modelos de deep learning que ajuda a focar nas partes mais relevantes dos dados de entrada. Isso melhora a precisão de tarefas que envolvem processamento de linguagem e visão computacional. No entanto, pode ser intensivo em recursos.
Otimizar o mecanismo de atenção pode reduzir significativamente o uso de memória, ao mesmo tempo que melhora a velocidade. Pavel salientou: "Por exemplo, ao mudar para uma implementação de atenção mais eficiente, pode observar um desempenho até 1,8 vezes mais rápido."
O Hugging Face oferece suporte integrado para implementações de atenção mais eficientes dentro da estrutura Transformers. Os desenvolvedores podem ativar essas otimizações simplesmente especificando uma implementação de atenção alternativa ao carregar um modelo.
Optimum e Torch Compile
Ele também falou sobre quantização, uma técnica que torna os modelos de IA menores, reduzindo a precisão dos números que usam sem afetar muito o desempenho. Isso ajuda os modelos a usar menos memória e a serem executados mais rapidamente, tornando-os mais adequados para dispositivos com poder de processamento limitado, como smartphones e sistemas embarcados.
Para melhorar ainda mais a eficiência, Pavel apresentou a biblioteca Hugging Face Optimum, um conjunto de ferramentas projetadas para otimizar e implementar modelos. Com apenas algumas linhas de código, os desenvolvedores podem aplicar técnicas de quantização e converter modelos em formatos eficientes como ONNX (Open Neural Network Exchange), permitindo que sejam executados sem problemas em diferentes tipos de hardware, incluindo servidores em nuvem e dispositivos de borda.
Fig 3. Pavel falou sobre a biblioteca Optimum e suas funcionalidades.
Finalmente, Pavel mencionou os benefícios do Torch Compile, um recurso no PyTorch que otimiza a forma como os modelos de IA processam dados, tornando-os mais rápidos e eficientes. O Hugging Face integra o Torch Compile nas suas bibliotecas Transformers e Optimum, permitindo que os desenvolvedores aproveitem essas melhorias de desempenho com o mínimo de alterações no código.
Ao otimizar a estrutura de computação do modelo, o Torch Compile pode acelerar os tempos de inferência e aumentar as taxas de quadros de 29 para 150 quadros por segundo sem comprometer a precisão ou a qualidade.
Implementação de modelos com ferramentas Hugging Face
Avançando, Pavel abordou brevemente como os desenvolvedores podem estender e implementar modelos de Vision AI usando as ferramentas Hugging Face após selecionar o modelo certo e escolher a melhor abordagem para o desenvolvimento.
Por exemplo, os desenvolvedores podem implementar aplicações interativas de IA usando Gradio e Streamlit. O Gradio permite que os desenvolvedores criem interfaces baseadas na web para modelos de machine learning, enquanto o Streamlit ajuda a construir aplicações de dados interativas com scripts Python simples.
Pavel também salientou: "Não precisa de começar a escrever tudo do zero", referindo-se aos guias, notebooks de treino e scripts de exemplo que o Hugging Face fornece. Estes recursos ajudam os desenvolvedores a começar rapidamente sem terem de construir tudo de raiz.
Fig 4. Pavel discutindo as capacidades do Hugging Face na YV24.
Benefícios do Hugging Face Hub
Concluindo a sua apresentação, Pavel resumiu as vantagens de usar o Hugging Face Hub. Ele enfatizou como simplifica a gestão e a colaboração de modelos. Ele também chamou a atenção para a disponibilidade de guias, notebooks e tutoriais, que podem ajudar tanto iniciantes quanto especialistas a entender e implementar modelos de IA.
"Já existem muitos espaços interessantes no Hub. Pode encontrar semelhantes, clonar o código partilhado, modificar algumas linhas, substituir o modelo pelo seu e enviá-lo de volta", explicou, incentivando os desenvolvedores a aproveitar a flexibilidade da plataforma.
Principais conclusões
Durante a sua palestra na YV24, Pavel partilhou como o Hugging Face fornece ferramentas que suportam o treino, a otimização e a implementação de modelos de IA. Por exemplo, inovações como Transformers, Optimum e Torch Compile podem ajudar os desenvolvedores a melhorar o desempenho do modelo.
À medida que os modelos de IA se tornam mais eficientes, os avanços na quantização e na implementação de ponta estão facilitando a execução em dispositivos com recursos limitados. Essas melhorias, combinadas com ferramentas como o Hugging Face e modelos avançados de visão computacional como o Ultralytics YOLO11, são essenciais para construir aplicações de Visão Computacional escaláveis e de alto desempenho.