Introdução geral
Transformers.js é uma biblioteca JavaScript fornecida pela Hugging Face projetada para executar modelos de aprendizado de máquina de última geração diretamente no navegador sem suporte do servidor. A biblioteca é funcionalmente equivalente à biblioteca de transformadores da Hugging Face para Python e oferece suporte a uma ampla variedade de modelos e tarefas pré-treinados, incluindo processamento de linguagem natural, visão computacional e processamento de áudio. O exemplo "llama-3.2-reasoning-webgpu" deste projeto foi desenvolvido para demonstrar os recursos de raciocínio do modelo LLama-3.2 na WebGPU, permitindo que os usuários experimentem o raciocínio eficiente do modelo de linguagem diretamente no navegador. Esse exemplo não apenas demonstra o estado da arte da tecnologia, mas também fornece insights sobre como o poder computacional dos navegadores modernos pode ser aproveitado para lidar com tarefas complexas de IA.
Lista de funções
- Execução do modelo LLama-3.2 em um navegador: Aproveitamento da tecnologia WebGPU para inferência eficiente de modelos.
- Demonstração do desempenho da WebGPUDestaque a superioridade das WebGPUs comparando o desempenho em diferentes dispositivos.
- Proporcionar uma experiência interativa ao usuárioOs usuários podem interagir com o modelo por meio de uma interface simples, inserindo texto e obtendo os resultados de inferência do modelo.
- Amostras de código e tutoriaisInclui exemplos completos de código e instruções sobre como configurar e executar o modelo LLama-3.2.
Usando a Ajuda
Ambiente de instalação e configuração
Como este exemplo é executado em um ambiente de navegador, não são necessárias etapas especiais de instalação, mas você precisa se certificar de que o navegador é compatível com WebGPU:
- Verificação do suporte do navegador::
- Quando você abre a página de amostra, o navegador verifica automaticamente se o WebGPU é compatível e, se não for, a página exibe um prompt apropriado.
- Atualmente, a WebGPU é compatível com as versões mais recentes do Chrome, Edge e Firefox. Para usuários do Safari, talvez seja necessário ativar recursos experimentais específicos.
- Visite a página de amostra::
- Acessado diretamente por meio de um link no GitHub
llama-3.2-reasoning-webgpu
A página de exemplo do
- Acessado diretamente por meio de um link no GitHub
exemplo de uso
- Modelos de carregamento::
- Quando a página for carregada, ela começará a carregar automaticamente o modelo LLama-3.2. O processo de carregamento pode levar alguns minutos, dependendo da velocidade da Internet e do desempenho do dispositivo.
- texto de entrada::
- Depois que a página for carregada, você verá uma caixa de entrada de texto. Digite o texto sobre o qual você deseja argumentar nessa caixa.
- processo de raciocínio::
- Clique no botão "Reasoning" (Raciocínio) e o modelo começará a processar sua entrada. Observe que o processo de raciocínio pode levar algum tempo, dependendo do tamanho e da complexidade do texto.
- Exibir resultados::
- Os resultados são exibidos em outra caixa de texto na página. O modelo LLama-3.2 gera resultados de inferência com base em sua entrada, que pode ser uma resposta a uma pergunta, uma tradução ou alguma forma de processamento do texto.
- Depuração e monitoramento de desempenho::
- Durante o raciocínio, a página pode exibir estatísticas de desempenho, como a velocidade do raciocínio (tokens por segundo, TPS). Isso ajuda você a entender os recursos da WebGPU e o desempenho do dispositivo atual.
Estudo e exploração adicionais
- Estudo do código-fonteVocê pode ter uma boa ideia do que está acontecendo examinando o código-fonte no GitHub (especialmente o
worker.js
) para ter uma ideia de como o modelo funciona no navegador. - Modificações e contribuiçõesSe estiver interessado, você pode clonar este projeto para fazer alterações ou contribuir com novos recursos. O projeto usa o Reagir e Vite, e se você estiver familiarizado com essas ferramentas, poderá desenvolver com relativa facilidade.
advertência
- Compatibilidade do navegadorVerifique se seu navegador está atualizado para obter a melhor experiência.
- dependência de desempenhoComo a inferência ocorre no lado do cliente, o desempenho é afetado pelo hardware do dispositivo (especialmente a GPU).
- negócios privadosProcessamento de dados: Todo o processamento de dados é feito localmente e não é carregado em um servidor, protegendo assim a privacidade dos dados do usuário.
Com essas etapas e instruções, você pode explorar e utilizar totalmente esse projeto de amostra para experimentar o avanço da tecnologia de IA em seu navegador.