Cette application React démontre l'inférence ML dans le navigateur en utilisant
Demo en direct sur https://aiserv.cloud/.

Voir aussi mon article de blog déplace l'inférence ML du cloud vers le bord et déployez des modèles de transformateur dans le navigateur avec #onnxruntime sur YouTube.
Le modèle de prédiction des émotions est une version affinée du modèle de langue pré-formé Microsoft / Xtremedistil-L6-H384-inclus. Le modèle a été affiné sur l'ensemble de données GoMotions qui est un problème de catégorisation de texte multi-étiquettes.
GoMotions, un ensemble de données annoté par l'homme de 58k commentaires Reddit extrait de sous-verddits en anglais populaire et étiqueté avec 27 catégories d'émotions. En tant que plus grand ensemble de données d'émotion à grains d'anglais entièrement annotés à ce jour à ce jour. Contrairement aux six émotions de base, qui ne comprennent qu'une seule émotion positive (joie), la taxonomie comprend 12 catégories d'émotions positives, 11 négatives, 4 ambiguës et 1 «neutre», ce qui le rend largement adapté aux tâches de compréhension de la conversation qui nécessitent une différenciation subtile entre les expressions d'émotion.
Paper Goemotions: un ensemble de données d'émotions à grain fin
go_emotions est disponible sur HuggingFace DataSet Hub.Voir TRINGOEMOTIONS.IPYNB pour former un modèle sur l'ensemble de données et exporter le modèle affiné vers ONNX.
Le modèle est quantifié en poids int8 et dispose de paramètres d'entraînement 22 millions de 22 m.
L'inférence est multi-thread. Pour utiliser plusieurs threads d'inférence, des en-têtes HTTP spécifiques doivent être présentés par le CDN, voir Faire de votre site Web "Cross-Origin isolé" à l'aide de COOP et COEP.
Trois fils sont utilisés pour l'inférence. En raison de ce bogue multi-lancement et en en-têtes de coopérative devait être désactivé car le modèle ne parviendrait pas à initialiser sur les appareils iOS.
Pour le développement, le src / setupproxy.js ajoute les en-têtes requis. Voir React Numéro 10210
Le modèle de langue pré-formé a été formé sur le texte avec des biais, voir les dangers des perroquets stochastiques: les modèles de langue peuvent-ils être trop importants? Pour une étude sur les dangers des modèles de langue pré-formés et de l'apprentissage du transfert.
Depuis le papier de données Goemotions: un ensemble de données d'émotions à grain fin:
Avertissement de données: nous sommes conscients que l'ensemble de données contient des biais et n'est pas représentatif de la diversité mondiale. Nous savons que l'ensemble de données contient un contenu potentiellement problématique. Les biais potentiels dans les données comprennent: les biais inhérents dans les biais de Reddit et de base d'utilisateurs, les listes de mots offensives / vulgaires utilisées pour le filtrage des données, les biais inhérents ou inconscients dans l'évaluation des étiquettes d'identité offensive, les annotateurs étaient tous des anglophones natifs d'Inde. Tout cela affecte probablement l'étiquetage, la précision et le rappel pour un modèle formé. Le modèle pilote d'émotion utilisé pour l'étiquetage des sentiments, a été formé sur des exemples examinés par l'équipe de recherche. Quiconque utilise cet ensemble de données doit être conscient de ces limites de l'ensemble de données.
Installer node.js / npm, voir Installation de node.js
Dans le répertoire du projet, vous pouvez courir:
npm start Exécute l'application en mode développement.
Ouvrez http: // localhost: 3000 pour le voir dans votre navigateur.
La page se rechargera lorsque vous apportez des modifications.
Vous pouvez également voir des erreurs de peluche dans la console.
npm run build Créez l'application pour la production dans le dossier build .
Il réagit correctement en mode de production et optimise la construction pour les meilleures performances.
Clone ce dépôt et utilisez des pages CloudFlare.