Esta aplicación React demuestra una inferencia de ML en el navegador usando
Demo en vivo en https://aiserv.cloud/.

Vea también mi publicación de blog que mueve la inferencia de ML de la nube a los modelos de transformadores de borde e implementa en el navegador con #onnxruntime en YouTube.
El modelo de predicción de emociones es una versión ajustada del modelo de lenguaje previamente capacitado Microsoft/Xtremedistil-L6-H384-Insidio. El modelo ha sido ajustado en el conjunto de datos Goemotions, que es un problema de categorización de texto de múltiples etiquetas.
Goemotions, un conjunto de datos anotado por el ser humano de 58k comentarios Reddit extraídos de subreddits en inglés populares y etiquetado con 27 categorías de emociones. Como el conjunto de datos de emociones de grano fino en inglés más grande anotado hasta la fecha. A diferencia de las seis emociones básicas, que incluyen solo una emoción positiva (Joy), la taxonomía incluye 12 categorías de emociones ambiguas positivas, 11 negativas, 4 y 1 "neutral", lo que lo hace ampliamente adecuado para las tareas de comprensión de conversación que requieren una diferenciación sutil entre expresiones emocionales.
Goemotions de papel: un conjunto de datos de emociones de grano fino
go_emotions está disponible en Huggingface DataSet Hub.Vea traingoemotiones.ipynb sobre cómo entrenar un modelo en el conjunto de datos y exportar el modelo ajustado a ONNX.
El modelo se cuantifica a los pesos int8 y tiene 22 millones de parámetros capacitables.
La inferencia es multiproceso. Para usar múltiples hilos de inferencia, los encabezados HTTP específicos deben ser presentados por el CDN, consulte hacer que su sitio web sea "aislado de origen cruzado" utilizando COOP y COEP.
Se utilizan tres hilos para la inferencia. Debido a este error, los encabezados de múltiples subprocesos y cooperativos tuvieron que deshabilitarse, ya que el modelo no podría inicializarse en los dispositivos iOS.
Para el desarrollo, el src/setupproxy.js agrega los encabezados requeridos. Ver React Problema 10210
El modelo de lenguaje previamente capacitado fue entrenado en texto con sesgos, ver los peligros de los loros estocásticos: ¿pueden los modelos de lenguaje ser demasiado grandes? para un estudio sobre los peligros de los modelos de idiomas previamente capacitados y la transferencia de aprendizaje.
Desde DataSet Paper Goemotions: un conjunto de datos de emociones de grano fino:
Descargo de responsabilidad de datos: somos conscientes de que el conjunto de datos contiene prejuicios y no es representativo de la diversidad global. Somos conscientes de que el conjunto de datos contiene contenido potencialmente problemático. Los sesgos potenciales en los datos incluyen: sesgos inherentes en los sesgos Reddit y de la base de usuarios, las listas de palabras ofensivas/vulgares utilizadas para el filtrado de datos, el sesgo inherente o inconsciente en la evaluación de las etiquetas de identidad ofensiva, todos los anotadores eran todos habladores nativos de inglés de la India. Es probable que todo esto afecte el etiquetado, la precisión y el recuerdo de un modelo entrenado. El modelo piloto de emociones utilizado para el etiquetado de sentimientos fue entrenado en ejemplos revisados por el equipo de investigación. Cualquiera que use este conjunto de datos debe conocer estas limitaciones del conjunto de datos.
Instalar node.js/npm, consulte la instalación de node.js
En el directorio del proyecto, puede ejecutar:
npm start Ejecuta la aplicación en el modo de desarrollo.
Abra http: // localhost: 3000 para verlo en su navegador.
La página se volverá a cargar cuando realice cambios.
También puede ver cualquier error de linta en la consola.
npm run build Construye la aplicación para la producción a la carpeta build .
Se reacciona correctamente en modo de producción y optimiza la compilación para el mejor rendimiento.
Clone este repositorio y use las páginas de CloudFlare.