A Mozilla reconheceu que seu Firefox AI Runtime, o mecanismo no dispositivo que alimenta recursos como o Smart Tab Groups e a geração de texto alternativo, "não estava exatamente na velocidade que queríamos".
Essa lógica de que foi lento e os usuários notaram levou à adoção de uma nova abordagem. Nos últimos meses, os engenheiros substituíram a versão WebAssembly (WASM) do ONNX Runtime da Microsoft, que alimenta os recursos baseados em Transformers.js\ do Firefox, por uma versão nativa C++ que é incorporada à base de código do navegador.
Os primeiros benchmarks mostram "de 2 a 10× inferência mais rápida" com o novo back-end nativo e perde a sobrecarga de aquecimento WASM que fazia com que as primeiras execuções de muitos recursos de IA parecessem especialmente lentas, de acordo com uma nova postagem no blog dos engenheiros da Mozilla Tarek Ziadé, Paul Adenot e Serge Guelton.
Por que abandonar o WebAssembly?
De acordo com a postagem no blog, o pipeline de inferência era ineficiente por design: pré-processamento de JavaScript, execução de WASM e, em seguida, de volta ao JavaScript para pós-processamento. Mesmo com "caches quentes" (dados já carregados na memória), o vai e vem estava atrasando as coisas.
As traduções no navegador da Mozilla usam uma abordagem nativa C++ para suas tarefas baseadas em ML\, então a equipe de IA do Firefox decidiu seguir o exemplo – e parece que valeu a pena.
O recurso de geração de texto alternativo PDF.js "passou de 3.5s para 350ms" no mesmo hardware, o que representa uma aceleração de 10x. Enquanto isso, o (chamado) Smart Tab Grouping "que pode ser lento na primeira execução, agora é bastante rápido".
A equipe acrescenta que as coisas ainda não estão perfeitas e "muitas melhorias podem e acontecerão no futuro" para melhorar os recursos baseados em ML no Firefox.
Um grande aumento de velocidade virá do uso de aceleração de GPU para tarefas, então um esforço está em andamento para adicionar suporte para isso. Outros ajustes, incluindo operações multi-threaded e cache gráfico compilado para aumentar os tempos de inicialização do modelo, também estão em andamento.
Até então, os recursos de "IA" do Firefox continuam a ser executados na CPU (é por isso que alguns usuários do Firefox notaram o uso descontrolado da CPU recentemente).
Quando? Ora, já está aqui...
Se você atualizou para o Firefox 142, está se beneficiando da nova abordagem, já que o recurso Smart Tab Grouping do Firefox está usando o plano de fundo nativo.
Além disso, a Mozilla está "lançando gradualmente este novo back-end para recursos adicionais durante o verão, para que todos os recursos construídos em Transformers.js possam aproveitá-lo."
Se você deseja recursos de "IA" em seu navegador é uma questão separada, mas se eles estiverem presentes, as ferramentas no dispositivo oferecem benefícios de privacidade, e garantir que funcionem da maneira mais eficiente possível é, na verdade, uma boa notícia.