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 para revermos uma palestra do YOLO Vision 2024 que se centra na exploração da forma como as ferramentas de código aberto do Hugging Face estão a fazer avançar o desenvolvimento da IA.
A escolha dos algoritmos corretos é apenas uma parte da construção de soluções de visão computacional com impacto. Os engenheiros de IA trabalham frequentemente com grandes conjuntos de dados, afinam modelos para tarefas específicas e optimizam os sistemas de IA para um desempenho no mundo real. À medida que as aplicações de IA são adoptadas mais rapidamente, a necessidade de ferramentas que simplifiquem estes processos também está a crescer.
No YOLO Vision 2024 (YV24), o evento híbrido anual promovido pela Ultralytics, especialistas em IA e entusiastas da tecnologia reuniram-se para explorar as mais recentes inovações em visão computacional. O evento suscitou debates sobre vários tópicos, tais como formas de acelerar o desenvolvimento de aplicações de IA.
Um dos principais destaques do evento foi uma palestra sobre a Hugging Face, uma plataforma de IA de código aberto que simplifica a formação, otimização e implementação de modelos. Pavel Lakubovskii, engenheiro de aprendizagem automática da Hugging Face, partilhou a forma como as suas ferramentas melhoram os fluxos de trabalho para tarefas de visão computacional, como a deteção de objectos em imagens, a categorização de imagens em diferentes grupos e a realização de previsões sem formação prévia em exemplos específicos (aprendizagem zero-shot).
O Hugging Face Hub aloja e fornece acesso a vários modelos de IA e de visão por computador, como o Ultralytics YOLO11. Neste artigo, vamos recapitular as principais conclusões da palestra de Pavel e ver como os programadores podem utilizar as ferramentas de código aberto da Hugging Face para criar e implementar modelos de IA rapidamente.
Fig. 1. Pavel no palco do YV24.
O Hugging Face Hub permite um desenvolvimento mais rápido da IA
Pavel começou a sua intervenção apresentando a Hugging Face como uma plataforma de IA de código aberto que oferece modelos pré-treinados para uma variedade de aplicações. Estes modelos foram concebidos para vários ramos da IA, incluindo o processamento de linguagem natural (PNL), a visão por computador e a IA multimodal, permitindo que os sistemas processem diferentes tipos de dados, como texto, imagens e áudio.
Pavel mencionou que o Hugging Face Hub já alojou mais de 1 milhão de modelos e que os programadores podem facilmente encontrar modelos adequados aos seus projectos específicos. O objetivo da Hugging Face é simplificar o desenvolvimento da IA, oferecendo ferramentas para a formação, afinação e implementação de modelos. Quando os programadores podem experimentar diferentes modelos, simplifica-se o processo de integração da IA em aplicações do mundo real.
Embora o Hugging Face tenha sido inicialmente conhecido pela PNL, desde então expandiu-se para a visão computacional e a IA multimodal, permitindo aos programadores lidar com uma gama mais ampla de tarefas de IA. Também tem uma forte comunidade onde os programadores podem colaborar, partilhar conhecimentos e obter apoio através de fóruns, Discord e GitHub.
Exploração de modelos de rostos abraçados para aplicações de visão por computador
Mais pormenorizadamente, Pavel explicou como as ferramentas da Hugging Face facilitam a criação de aplicações de visão computacional. Os programadores podem utilizá-las para tarefas como classificação de imagens, deteção de objectos e aplicações de linguagem de visão.
Salientou também que muitas destas tarefas de visão computacional podem ser tratadas com modelos pré-treinados disponíveis no Hub da Hugging Face, poupando tempo ao reduzir a necessidade de formação de raiz. De facto, a 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 deteção de emoções.
Sublinhando a acessibilidade destes modelos, disse: "Provavelmente nem precisa de treinar um modelo para o seu projeto - pode encontrar um no Hub que já tenha sido treinado por alguém da comunidade."
Modelos de rostos abraçados para deteção de objectos
Dando outro exemplo, Pavel explicou como o Hugging Face pode ajudar na deteção de objectos, uma função essencial na visão por computador que é utilizada para identificar e localizar objectos nas imagens. Mesmo com dados rotulados limitados, os modelos pré-treinados disponíveis no Hugging Face Hub podem tornar a deteção de objectos mais eficiente.
Também apresentou uma panorâmica rápida de vários modelos construídos para esta tarefa que pode encontrar no Hugging Face:
Modelos de deteção de objectos em tempo real: Para ambientes dinâmicos em que a velocidade é crucial, modelos como o Detection Transformer (DETR) oferecem capacidades de deteção de objectos em tempo real. O DETR é treinado no conjunto de dados COCO e foi concebido para processar caraterísticas multiescala de forma eficiente, tornando-o adequado para aplicações sensíveis ao tempo.
Modelos de visão-linguagem: Estes modelos combinam o processamento de imagens e de texto, permitindo aos sistemas de IA fazer corresponder imagens a descrições ou reconhecer objectos para além dos seus dados de treino. Os exemplos incluem o CLIP e o SigLIP, que melhoram a pesquisa de imagens ligando texto a imagens e permitem que as soluções de IA identifiquem novos objectos compreendendo o seu contexto.
Modelos de deteção de objectos de disparo zero: Podem identificar objectos que não tenham sido vistos antes, compreendendo a relação entre imagens e texto. Os exemplos incluem o OwlVit, o GroundingDINO e o OmDet, que utilizam a aprendizagem zero para detetar novos objectos sem necessitar de dados de treino rotulados.
Como utilizar os modelos de rostos abraçados
Em seguida, Pavel mudou o foco para a utilização prática dos modelos do Hugging Face, explicando três maneiras pelas quais os desenvolvedores podem aproveitá-los: explorando modelos, testando-os rapidamente e personalizando-os ainda mais.
Demonstrou como os programadores podem procurar modelos diretamente no Hugging Face Hub sem escrever qualquer código, facilitando o teste instantâneo de modelos através de uma interface interactiva. "Pode experimentá-lo sem escrever uma linha de código sequer ou descarregar o modelo para o seu computador", acrescentou Pavel. Uma vez que alguns modelos são grandes, a sua execução no Hub ajuda a evitar limitações de armazenamento e processamento.
Figura 2. Como utilizar os modelos de rostos abraçados.
Além disso, a API Hugging Face Inference permite que os programadores executem modelos de IA com chamadas de API simples. É excelente para testes rápidos, projectos de prova de conceito e prototipagem rápida sem a necessidade de uma configuração complexa.
Para casos de utilização mais avançados, os programadores podem utilizar a estrutura Hugging Face Transformers, uma ferramenta de código aberto que fornece modelos pré-treinados para tarefas de texto, visão e áudio, suportando PyTorch e TensorFlow. Pavel explicou que, com apenas duas linhas de código, os programadores podem recuperar um modelo do Hugging Face Hub e ligá-lo a uma ferramenta de pré-processamento, como um processador de imagem, para analisar dados de imagem para aplicações de IA de visão.
Otimizar os fluxos de trabalho de IA com o Hugging Face
Em seguida, Pavel explicou como o Hugging Face pode simplificar os fluxos de trabalho de IA. Um dos principais tópicos abordados foi a otimização do mecanismo de atenção nos Transformers, uma caraterística essencial dos modelos de aprendizagem profunda que ajuda a concentrar-se nas partes mais relevantes dos dados de entrada. Isso melhora a precisão das tarefas que envolvem processamento de linguagem e visão computacional. No entanto, pode exigir muitos recursos.
A otimização do mecanismo de atenção pode reduzir significativamente o uso de memória e melhorar a velocidade. Pavel apontou: "Por exemplo, ao mudar para uma implementação de atenção mais eficiente, você pode ver um desempenho até 1,8 vezes mais rápido."
Hugging Face fornece 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.
Compilação Optimum e Torch
Também falou sobre quantização, uma técnica que torna os modelos de IA mais pequenos, reduzindo a precisão dos números que utilizam sem afetar demasiado o desempenho. Isto ajuda os modelos a utilizar menos memória e a funcionar mais rapidamente, tornando-os mais adequados para dispositivos com poder de processamento limitado, como smartphones e sistemas incorporados.
Para melhorar ainda mais a eficiência, Pavel introduziu a biblioteca Hugging Face Optimum, um conjunto de ferramentas concebidas para otimizar e implementar modelos. Com apenas algumas linhas de código, os programadores podem aplicar técnicas de quantização e converter modelos em formatos eficientes como ONNX (Open Neural Network Exchange), permitindo-lhes funcionar sem problemas em diferentes tipos de hardware, incluindo servidores na nuvem e dispositivos de ponta.
Figura 3. Pavel falou sobre a biblioteca Optimum e as suas caraterísticas.
Por fim, Pavel mencionou os benefícios do Torch Compile, um recurso do PyTorch que otimiza a forma como os modelos de IA processam dados, tornando-os mais rápidos e eficientes. A Hugging Face integra o Torch Compile nas suas bibliotecas Transformers e Optimum, permitindo que os programadores tirem partido destas melhorias de desempenho com alterações mínimas no código.
Ao otimizar a estrutura de cálculo do modelo, o Torch Compile pode acelerar os tempos de inferência e aumentar as taxas de fotogramas de 29 para 150 fotogramas por segundo sem comprometer a precisão ou a qualidade.
Implementação de modelos com ferramentas Hugging Face
Continuando, Pavel abordou brevemente a forma como os programadores podem alargar e implementar modelos Vision AI utilizando as ferramentas Hugging Face depois de seleccionarem o modelo certo e escolherem a melhor abordagem para o desenvolvimento.
Por exemplo, os programadores podem implementar aplicações de IA interactivas utilizando o Gradio e o Streamlit. O Gradio permite que os programadores criem interfaces baseadas na Web para modelos de aprendizagem automática, enquanto o Streamlit ajuda a criar aplicações de dados interactivas com scripts Python simples.
Pavel também destacou: "Não é necessário começar a escrever tudo do zero", referindo-se aos guias, cadernos de treinamento e exemplos de scripts que a Hugging Face fornece. Estes recursos ajudam os programadores a começar rapidamente sem terem de construir tudo a partir do zero.
Fig. 4. Pavel a discutir as capacidades do Hugging Face no YV24.
Benefícios do Hugging Face Hub
A terminar a sua apresentação, Pavel resumiu as vantagens de utilizar o Hugging Face Hub. Ele enfatizou como ele simplifica o gerenciamento de modelos e a colaboração. 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 espaços semelhantes, clonar o código partilhado, modificar algumas linhas, substituir o modelo pelo seu próprio e enviá-lo de volta", explicou, encorajando os programadores a tirar partido da flexibilidade da plataforma.
Principais conclusões
Durante a sua palestra no YV24, Pavel partilhou como a Hugging Face fornece ferramentas que suportam a formação, otimização e implementação de modelos de IA. Por exemplo, inovações como Transformers, Optimum e Torch Compile podem ajudar os programadores 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 bordas estão a facilitar a sua execução em dispositivos com recursos limitados. Estas melhorias, combinadas com ferramentas como o Hugging Face e modelos avançados de visão por computador como o Ultralytics YOLO11, são fundamentais para criar aplicações de IA de visão escaláveis e de elevado desempenho.