Conhecendo o Hugging Face

Thiago da Silva Adriano - Jul 14 - - Dev Community

O Hugging Face é uma plataforma que oferece uma vasta gama de modelos de inteligência artificial, datasets e aplicativos publicados na plataforma.

Desde a sua criação em 2017, a empresa tem desenvolvido bibliotecas que facilitam o uso desses modelos, democratizando o acesso à IA.

Para acessar esses recursos é bem simples, basta acessar a plataforma no link: Hugging Face e criar a sua conta.

O foco deste artigo será fazer um overview desta plataforma.

Bom, podemos dividir o Hugging Face em três partes grandes, "existem outros recursos", mas na minha opnião esses são os que mais se destacam.

Seriam eles: Modelos, Datasets e Spaces. A seguir você tem um resumo de cada um deles:

Modelos

Na plataforma nós temos muitos modelos de IA disponíveis para que possamos utilizar nos nossos projetos.

Caso você não saiba o que seria um modelo de IA, eu recomendo a leitura do seguinte artigo onde demonstro o básico sobre este assunto: Você sabe o que seria um modelo de IA?

Para facilitar na nossa busca por um modelo, nós contamos com alguns filtros:

  • tasks: que filtra basicamente pela finalidade dos modelos;
  • librarys: onde podemos filtrar por bibliotecas como o PyTorch, Transformers...etc;
  • datasets: modelos de dados utilizados;
  • language: onde podemos filtrar pelo idioma do modelo;
  • license: esse falando como um arquiteto de software é um que é muito negligenciado no momento da escolha de um pacote, pois se escolhermos um que não permita comercialização, em caso de auditoria podemos ter problemas

Acessando um dos modelo aleatoriamente nós temos:

  • Model card: Com as informações básicas do modelo selecionado e a quantidade de downloads;
  • Files and Versions: Arquivos utilizados para criar o modelo;

Ainda na aba de modelo, nós temos um botão demonstrando como utilizar o modelo selecionado. Ao clicar nele, temos um exemplo de como implementá-lo:

Image description

A seguir você tem um exemplo de código demonstrando como implementar o modelo da imagem acima:

import { pipeline } from '@xenova/transformers';

async function main() {
    try {
        const pipe = await pipeline('text-classification', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english');

        let out = await pipe('I love my daughter Agnes');

        console.log(out);
    } catch (error) {
        console.error('Erro ao analisar o sentimento:', error);
    }
}

main();
Enter fullscreen mode Exit fullscreen mode

Neste exemplo estamos utiizando um modelo de classificação de textos simples.

Resultado:

Image description

Datasets

Os datasets ou conjunto de dados, podem ser utilizados para varias tarefas de IA como: completar frases, traduzir textos, classificar sentimentos em textos e muito mais.

Eles são uma base de dados de alta qualidade que nos permitem pesquisar e treinar modelos de IA de forma eficaz.

Como nos modelos, nos datasets nos também temos alguns filtros que podem nos ajudar no momento de pesquisar por um conjunto de dados.

Em Datasets nós temos um filtro por modalidade, tamanho e formato. Que nos possibilitam filtar por tipo de documento como por exemplo o JSON.

Bom, da mesma forma que nós temos nos modelos, em Datasets nós também temos um botão demonstrando como utilizar um dataset.

Image description

A seguir você tem um exemplo de código demonstrando como utilizar o dataset imdb, que podemos utilizar para a geração e análise de texto.

import pandas as pd

splits = {'train': 'plain_text/train-00000-of-00001.parquet', 'test': 'plain_text/test-00000-of-00001.parquet', 'unsupervised': 'plain_text/unsupervised-00000-of-00001.parquet'}
df = pd.read_parquet("hf://datasets/stanfordnlp/imdb/" + splits["train"])

print(df.head())
Enter fullscreen mode Exit fullscreen mode

Nesse exemplo, estamos criando um código para importar a biblioteca pandas e carregar os dados de treino do dataset da imagem anterior, por fim estamos exibindo as primeiras linhas do DataFrame carregado.

Resultado:

Image description

Space

Aqui nós temos modelos publicados na plataforma, onde podemos testar eles.

A imagem a seguir demonstra alguns dos aplicativos que estão publicados na plataforma:

Image description

Para finalizar este artigo, vamos abrir um aplicativo e testar ele. Para o meu exemplo eu utilizarei o AuraFlow

Hugging Face AuraFlow

Bom, com isso finalizo mais este artigo, até mais pessoal.

. . . . . . . . . . . . . . .
Terabox Video Player