¿Cuál es una buena herramienta de prueba para productos de aprendizaje automático?

tldr: querrás un humano en el circuito.

Mientras la clasificación sea utilizada por un humano, creo que debería usar humanos para verificar la clasificación al menos parcialmente. Por ejemplo, a menos que arregle el estado de su modelo y las pruebas, literalmente no tendrá más opción que involucrar a un ser humano, a menos que haya un mejor modelo para probar su modelo (pero … ¿por qué no usar eso?).

Cómo probamos nuestros modelos:

  1. Pruebas de unidad e integración con datos conocidos y sembrados: esto nos muestra cuándo cambian las cosas inesperadamente y dónde cambian las cosas cuando actualizamos el modelo
  2. Con nuestro propio producto, Rainforest QA. Usamos esto para probar el resultado final, la clasificación real, pero de manera rápida y escalable. Entonces, el control de calidad manual con alimentación humana es bueno aquí; obtienes las ventajas del cerebro humano. Hacer eso de manera escalable y rápida ha sido tradicionalmente un problema hasta Rainforest QA: hemos resuelto esto combinando aprendizaje automático, crowdsourcing y garantía de calidad.

Espero que esto tenga sentido. Si está clasificando cosas no utilizadas por un humano, entonces probar con código y estados conocidos es prácticamente su única opción; excepto construir un sistema donde un humano también revisa manualmente la salida.

Russ

Los siguientes pasos son importantes para probar productos de aprendizaje automático,

Inicial:

  1. Antes de crear el producto, sepa la cantidad de error que usted y sus usuarios estarían dispuestos a aceptar.

Construir:

  1. Prueba con nuevos datos una vez que haya entrenado el modelo durante el proceso de construcción

Fase de prueba:

  1. Realización de pruebas a / b en tiempo real con nuevos modelos implementados en producción. Esto se puede hacer teniendo los modelos como API REST o basados ​​en su aplicación.
  2. Durante este proceso de prueba en tiempo real, debe existir humano en el bucle para obtener el etiquetado correcto de los datos.
  3. Use los nuevos datos combinados con los datos anteriores para construir modelos.

El producto aún necesita comunicar la confianza de los sistemas de aprendizaje automático a sus usuarios. Esto también ayuda en la fase de prueba a comprender el motivo de la falla y también permite al usuario tomar decisiones acertadas.

En Zuci, inicialmente probamos varias herramientas y aprendimos que las herramientas se centraban solo en el aprendizaje automático. Luego desarrollamos un Framework (ZUJYA) construido para ambos

a. Big Data (Eliminar en conjuntos de datos apropiados con la ayuda de Validadores MapReduce) que actúa como fuente de análisis
si. Aprendizaje automático (identifique si los algoritmos ofrecen el grado correcto de precisión utilizando Validadores de predicción)

Las pruebas se realizan en el lado de Aprendizaje automático utilizando conjuntos de datos de prueba y entrenamiento. Se forman varias combinaciones de conjuntos de datos y se calcula la precisión de los grados para garantizar que el algoritmo tenga desviaciones menores.

ZUJYA ayuda en

a. Análisis de datos: analice datos estructurados y no estructurados

si. Tecnología agnóstica: compatible con toda la tecnología

C. Valida la calidad de los datos

re. Pruebas en el proceso MapReduce

mi. Soporte para pruebas unitarias usando MRUnit, RUnit, PyUnit

Por favor, háganos saber en caso de cualquier pregunta.

¡Gracias!

Añil