Este aplicativo React demonstra a inferência de ML no navegador usando
Demonstração ao vivo em https://aiserv.cloud/.

Veja também o meu blog post movendo a inferência do ML da nuvem para a borda e implante modelos de transformadores no navegador com #onnxRuntime no YouTube.
O modelo de previsão de emoção é uma versão ajustada do modelo de idioma pré-treinado Microsoft/Xtremedistil-L6-H384-ANS. O modelo foi ajustado no conjunto de dados do Goemotions, que é um problema de categorização de texto com vários rótulos.
A Goemotions, um conjunto de dados de anotamento humano de 58 mil comentários do Reddit extraído de subreddits populares em inglês e rotulado com 27 categorias de emoções. Como o maior conjunto de dados emoções de grão fino em inglês totalmente anotado até o momento. Em contraste com as seis emoções básicas, que incluem apenas uma emoção positiva (alegria), a taxonomia inclui 12 categorias de emoções positivas, 11 negativas e 4 ambíguas e 1 "neutro", tornando -o amplamente adequado para tarefas de compreensão de conversas que exigem uma diferenciação sutil entre expressões emocionais.
Goemotions de papel: um conjunto de dados de emoções de grão fino
go_emotions está disponível no HUGGINGFACE DATASET HUB.Consulte Traingoemotions.ipynb para como treinar um modelo no conjunto de dados e exportar o modelo ajustado para o ONNX.
O modelo é quantizado para pesos int8 e possui 22m parâmetros treináveis.
A inferência é multithread. Para usar vários threads de inferência, os cabeçalhos HTTP específicos devem ser apresentados pelo CDN, consulte o seu site "isolado de origem cruzada" usando Coop e Coep.
Três tópicos são usados para inferência. Devido a esse bug, os cabeçalhos multi-threading e cooperativa tiveram que ser desativados, pois o modelo silenciosamente falharia em inicializar nos dispositivos iOS.
Para desenvolvimento, o SRC/SetupProxy.js adiciona os cabeçalhos necessários. Veja React Edição 10210
O modelo de idioma pré-treinado foi treinado em texto com vieses, veja os perigos dos papagaios estocásticos: os modelos de idiomas podem ser muito grandes? Para um estudo sobre os perigos dos modelos de idiomas pré-treinados e o aprendizado de transferência.
A partir de doces de conjunto de dados: um conjunto de dados de emoções de granulação fina:
Isenção de responsabilidade de dados: estamos cientes de que o conjunto de dados contém vieses e não é representativo da diversidade global. Estamos cientes de que o conjunto de dados contém conteúdo potencialmente problemático. Os vieses potenciais nos dados incluem: vieses inerentes nos vieses do Reddit e da base de usuários, as listas de palavras ofensivas/vulgares usadas para filtragem de dados, viés inerente ou inconsciente na avaliação de rótulos de identidade ofensiva, todos os falantes nativos de inglês da Índia. Tudo isso provavelmente afeta a rotulagem, a precisão e o recall de um modelo treinado. O modelo piloto de emoção usado para rotulagem de sentimentos, foi treinado em exemplos revisados pela equipe de pesquisa. Qualquer pessoa que use esse conjunto de dados deve estar ciente dessas limitações do conjunto de dados.
Instale o Node.js/NPM, consulte a instalação do Node.js
No diretório do projeto, você pode executar:
npm start Executa o aplicativo no modo de desenvolvimento.
Abra http: // localhost: 3000 para visualizá -lo no seu navegador.
A página será recarregada quando você fizer alterações.
Você também pode ver quaisquer erros de fiapos no console.
npm run build Construa o aplicativo para produção na pasta build .
Os pacotes corretamente reagem no modo de produção e otimiza a construção para obter o melhor desempenho.
Clone este repositório e use as páginas do CloudFlare.