- Suporte a WebGPU (até 100x mais rápido que WASM)
- Novos formatos de quantização
dtypes
- Suporte a 120 arquiteturas
- 25 novos projetos de exemplo e templates
- Mais de 1200 modelos pré-convertidos
- Compatibilidade com Node.js (ESM + CJS), Deno e Bun
Suporte a WebGPU
- WebGPU é o novo padrão da web para gráficos acelerados e computação
- Permite que desenvolvedores usem diretamente a GPU do sistema no navegador para realizar cálculos de alto desempenho
- Como sucessor do WebGL, permite uma interação mais direta com GPUs modernas, melhorando bastante o desempenho
- Também oferece suporte a computação de propósito geral em GPU, o que a torna adequada para machine learning
- Em outubro de 2024, a taxa global de suporte ao WebGPU está em cerca de 70%
- Dependendo do navegador, pode ser necessário usar flags de recursos para ativar o WebGPU
- Uso do WebGPU no Transformers.js v3
- Graças à colaboração com o ONNX Runtime Web, é possível ativar a aceleração por WebGPU ao carregar o modelo apenas definindo
device: 'webgpu'
- É possível usar WebGPU para cálculo de embeddings de texto, reconhecimento de fala, classificação de imagens e mais
Novos formatos de quantização (dtypes)
- Antes do Transformers.js v3, era possível escolher entre variantes de modelo quantizadas com a opção
quantized, como quantized (q8) ou full-precision (fp32)
- Agora, é possível escolher entre uma lista muito maior usando o parâmetro
dtype
- A lista de quantizações disponíveis varia de acordo com o modelo, mas em geral inclui full-precision ("fp32"), half-precision ("fp16"), 8-bit ("q8", "int8", "uint8"), 4-bit ("q4", "bnb4", "q4f16") e outros
dtypes por módulo
- Alguns modelos encoder-decoder, como Whisper e Florence-2, são especialmente sensíveis às configurações de quantização, principalmente no encoder
- Por isso, foi adicionada a capacidade de selecionar
dtypes por módulo ao fornecer um mapeamento do nome do módulo para dtype
120 arquiteturas suportadas
- Nesta versão, o número total de arquiteturas suportadas subiu para 120, cobrindo diversos formatos de entrada e tarefas
- Novas arquiteturas de destaque incluem: Phi-3, Gemma & Gemma 2, LLaVa, Moondream, Florence-2, MusicGen, Sapiens, Depth Pro, PyAnnote, RT-DETR e outras
25 projetos de exemplo e templates
- Como parte deste lançamento, foram disponibilizados 25 novos projetos de exemplo e templates com foco em demonstrar o suporte a WebGPU
- Inclui demos como Phi-3.5 WebGPU, Whisper WebGPU e outras
Mais de 1200 modelos pré-convertidos
- No momento do lançamento, a comunidade já havia convertido mais de 1200 modelos para serem compatíveis com o Transformers.js
- Para converter seu próprio modelo ou fine-tuning, é possível usar o script de conversão fornecido
- Depois de enviar os arquivos gerados para o Hugging Face Hub, basta adicionar a tag
transformers.js para que outras pessoas possam encontrá-los e usá-los facilmente
Compatibilidade com Node.js (ESM + CJS), Deno e Bun
- O Transformers.js v3 agora é compatível com os três runtimes JavaScript server-side mais populares
- Node.js: runtime JavaScript amplamente usado, baseado no V8 do Chrome, com amplo suporte a bibliotecas e frameworks
- Deno: runtime moderno para JavaScript e TypeScript com segurança reforçada por padrão, que usa módulos ES e também oferece suporte experimental a WebGPU
- Bun: runtime JavaScript rápido, otimizado para desempenho, com bundler, transpiler e gerenciador de pacotes integrados
Novo lar no NPM e no GitHub
- O Transformers.js agora será publicado como
@huggingface/transformers na organização oficial da Hugging Face no NPM (em vez de @xenova/transformers, usado nas versões v1 e v2)
- O repositório também foi movido para a organização oficial da Hugging Face no GitHub (https://github.com/huggingface/transformers.js), que será sua nova casa
1 comentários
Transformers.js - executando transformers no navegador
Transformers.js que pode ser executado diretamente no navegador