3 pontos por GN⁺ 2024-04-13 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Transformers.js é uma biblioteca de machine learning de ponta para web que permite executar 🤗 Transformers diretamente no navegador, sem servidor
  • Foi projetada para ser funcionalmente equivalente à biblioteca transformers de Python, permitindo executar os mesmos modelos pré-treinados com uma API semelhante
  • Suporta tarefas comuns em diversos formatos, como processamento de linguagem natural, visão computacional, áudio e multimodal
  • Usa o ONNX Runtime para executar modelos no navegador, e com 🤗 Optimum é possível converter facilmente modelos pré-treinados em PyTorch, TensorFlow ou JAX para ONNX

Principais recursos

  • Suporte à mesma API pipeline da biblioteca Python, facilitando a migração de código existente
  • Suporte a várias tarefas e arquiteturas (incluindo status de suporte e links para documentação/modelos)
    • Processamento de linguagem natural: Fill-Mask, Question Answering, Sentence Similarity, Summarization, Text Classification, Text Generation, Text-to-text Generation, Token Classification, Translation, Zero-Shot Classification, Feature Extraction etc.
    • Visão: Depth Estimation, Image Classification, Image Segmentation, Image-to-Image, Object Detection, Image Feature Extraction etc.
    • Áudio: Audio Classification, Automatic Speech Recognition, Text-to-Speech
    • Multimodal: Document Question Answering, Image-to-Text, Zero-Shot Audio/Image Classification, Zero-Shot Object Detection etc.
  • Usa por padrão modelos pré-treinados hospedados e binários WASM pré-compilados, com possibilidade de personalização

Instalação e como usar

  • Pode ser instalado via NPM: npm i @xenova/transformers
  • Pode ser usado em JavaScript vanilla sem bundler por meio de CDN ou hospedagem estática
  • Fornece vários aplicativos de exemplo/templates: Whisper Web, Doodle Dash, Code Playground, Semantic Image Search, Vanilla JavaScript, React, Text to speech, Browser extension, Electron, Next.js, Node.js etc.
  • Por meio de configuração de ambiente, é possível personalizar o caminho dos modelos, se modelos remotos serão carregados, a localização dos arquivos WASM etc.
  • É possível converter modelos PyTorch, TensorFlow e JAX para ONNX usando o script de conversão fornecido

Modelos suportados

  • Suporta diversos modelos, incluindo ALBERT, Audio Spectrogram Transformer, BART, BEiT, BERT, Blenderbot, BLOOM, CamemBERT, Chinese-CLIP, CLAP, CLIP, CLIPSeg, CodeGen, ConvBERT, ConvNeXT, DeBERTa, DeiT, Depth Anything, DETR, DINOv2, DistilBERT, DiT, Donut, DPT, EfficientNet, ELECTRA, ESM, Falcon, FLAN-T5, GLPN, GPT Neo, GPT NeoX, GPT-2, GPT-J, GPTBigCode, HerBERT, Hubert, LongT5, LLaMA, MPNet, MPT, MT5, NLLB, Nougat, OPT etc.

Opinião do GN⁺

  • Transformers.js é uma biblioteca útil que permite executar vários modelos Transformer modernos diretamente no navegador, sem servidor. Ela é especialmente versátil por oferecer suporte a tarefas em áreas como processamento de linguagem natural, visão computacional e áudio
  • Como oferece uma API semelhante à da biblioteca Python, é fácil migrar código existente, e o suporte a muitos modelos pré-treinados permite uso imediato sem treinamento adicional
  • Como fornece aplicativos de exemplo e templates, é fácil aproveitá-la para vários usos, e os recursos de personalização também garantem alta flexibilidade
  • No entanto, por rodar no navegador, pode haver limitações de recursos, e a necessidade de continuar adicionando/suportando modelos mais recentes pode representar um peso de manutenção no desenvolvimento
  • Frameworks de ML baseados em navegador semelhantes incluem TensorFlow.js, ONNX.js e WebDNN. Em especial, o TensorFlow.js oferece suporte tanto para navegador quanto para Node.js, além de fornecer mais recursos como transfer learning e visualização

Ainda não há comentários.

Ainda não há comentários.