Rodar IA no navegador sempre travava no mesmo ponto
kernels WebGPU eram o elo fraco que ninguém queria admitir. Todo demo de IA local no browser parecia mágico por dez segundos, depois vinha o travamento, o aquecimento do notebook, a latência absurda na primeira resposta. O problema nunca foi o modelo em si, foi a camada abaixo dele. Transformar um transformer em uma sequência de operações de GPU portáveis e rápidas é um trabalho ingrato, e é exatamente aí que a Hugging Face decidiu mexer com o lançamento da lib @huggingface/kernels.
A proposta é simples na superfície e bem espinhosa na prática. Em vez de cada framework reinventar seus próprios shaders WGSL mal otimizados, teremos uma base comum, versionada e testável de operações de baixo nível que rodam direto via WebGPU. Se funcionar, isso tira o gargalo da prototipagem rápida e coloca a disputa no lugar certo, que é performance real em hardware real, não em benchmark de laboratório com uma GPU topo de linha.
O fato: 207 kernels prontos para usar via Hub
O que foi lançado é objetivo. Uma coleção inicial com 207 kernels WebGPU publicados como repositórios individuais na organização webgpu-kernels, todos com licença Apache-2.0, mais um loader em JavaScript chamado @huggingface/kernels que baixa, prepara e executa esses kernels direto do Hugging Face Hub. Não é um runtime completo, não é um concorrente do Transformers.js ou do ONNX Runtime Web. É a camada de fundação, uma peça abaixo deles.
Cada kernel não é só um arquivo .wgsl jogado no repositório. É um pacote completo com contrato explícito. Tem manifest.json como fonte da verdade para inputs, outputs, atributos e regras de shape, tem metadata.json com identificador e digests, tem test.json com casos de corretude e bench.json com casos de benchmark, além dos templates de shader e um exemplo pronto para rodar. O exemplo citado, o ai.onnx.Add, mostra bem o nível de detalhe. Soma elementwise com broadcasting multidirecional parece trivial, mas documenta tipos suportados, variantes por shape e comportamento esperado. Quando você escala isso para matmul, normalização, atenção, quantização e transformações de layout, entende o tamanho do esforço.



Comentários
0 comentáriosNenhum comentário ainda. Seja o primeiro a comentar.