Introdução geral
Transformers.js é uma biblioteca JavaScript desenvolvida pela Hugging Face para permitir que os usuários executem modelos de aprendizado de máquina de última geração diretamente no navegador sem suporte de servidor. A biblioteca é funcionalmente equivalente à biblioteca de transformadores da Hugging Face para Python e oferece suporte a uma ampla variedade de modelos pré-treinados que abrangem tarefas como processamento de linguagem natural, visão computacional e reconhecimento de fala. Ele fornece ferramentas eficientes de transformação e quantificação de modelos para converter modelos PyTorch, TensorFlow ou JAX para o formato ONNX e executá-los no navegador.
Lista de funções
- processamento de linguagem natural (NLP)categorização de texto, reconhecimento de entidades nomeadas, sistemas de perguntas e respostas, modelagem de linguagem, geração de resumo, tradução, múltipla escolha e geração de texto.
- visão computacionalClassificação de imagens, detecção de alvos, segmentação de imagens e estimativa de profundidade.
- reconhecimento de falaReconhecimento automático de fala, classificação de áudio e conversão de texto em fala.
- tarefa multimodalA tecnologia de incorporação de áudio é uma das mais importantes: incorporação, classificação de áudio de amostra zero, classificação de imagem de amostra zero e detecção de alvo de amostra zero.
- Transformação e quantificação de modelosSuporte para converter modelos PyTorch, TensorFlow ou JAX para o formato ONNX e quantificá-los para otimizar o desempenho.
- Suporte a WebGPUAumentar a eficiência computacional executando modelos com WebGPUs em navegadores compatíveis.
Usando a Ajuda
montagem
O Transformers.js pode ser instalado via NPM ou usado no navegador via CDN ou hospedagem estática. Veja a seguir as etapas de instalação:
Instalação do NPM
npm i @huggingface/transformers
Uso de CDN
Adicione as seguintes tags de script ao arquivo HTML:
importar { pipeline } de 'https://cdn.jsdelivr.net/npm/@huggingface/transformers@3.1.0';
</script
exemplo de uso
O Transformers.js fornece uma API de pipeline semelhante à versão Python da biblioteca de transformadores, o que facilita muito o uso do modelo. Veja a seguir alguns exemplos de tarefas comuns:
Análise de sentimento
importar { pipeline } de '@huggingface/transformers';
// Atribuir um pipeline para análise de sentimentos
const pipe = await pipeline('sentiment-analysis');
const out = await pipe('I love transformers!'); // atribuir um pipeline de análise de sentimento.
// Saída: [{'label': 'POSITIVE', 'score': 0.999817686}]]
Uso de diferentes modelos
Você pode usar um modelo diferente especificando um ID ou caminho de modelo:
const pipe = await pipeline('sentiment-analysis', 'Xenova/bert-base-multilingual-uncased-sentiment');
Execução de modelos em WebGPUs
const pipe = await pipeline('sentiment-analysis', 'Xenova/distilbert-base-uncased-finetuned-sst-2-english', { device: 'webgpu' });
Transformação e quantificação de modelos
O Transformers.js suporta a conversão de modelos PyTorch, TensorFlow ou JAX para o formato ONNX e a quantificação deles para otimizar o desempenho. Veja abaixo exemplos de conversão e quantificação:
python -m scripts.convert --quantize --model_id bert-base-uncased
O arquivo convertido será salvo na pasta . /models/
diretório, incluindo modelo.onnx
responder cantando model_quantized.onnx
Documentação.
aplicativo de amostra
O Transformers.js fornece vários aplicativos de amostra para ajudar os usuários a começar rapidamente:
- Whisper WebReconhecimento de fala
- Doodle DashJogo de reconhecimento de esboços em tempo real
- Código PlaygroundConclusão de código no navegador
- Pesquisa semântica de imagens: Pesquisa de texto Imagens
- Texto para falaTexto para fala