¿Qué significa la implementación del algoritmo de aprendizaje automático distribuido?

Los algoritmos de aprendizaje automático definitivamente funcionan con algún tipo de datos. Aunque las computadoras modernas tienen memoria virtual, a veces el paso de aprendizaje de datos y algoritmos puede tomar demasiado tiempo.

Puedes hacerlo más rápido al

  1. Reducción de la complejidad del algoritmo u optimización de la implementación.
  2. Reduciendo la cantidad de datos
  3. Haga que su algoritmo se ejecute en diferentes máquinas y reduzca el resultado

Si no puede hacer nada con los dos primeros pasos, debe implementar una versión distribuida de su algoritmo. Significa que necesita rociar cálculos de alto costo entre máquinas separadas, realizar esos cálculos de forma independiente y reducir el resultado.

Veamos un ejemplo: tenemos un bosque aleatorio con 100 árboles. El aprendizaje de 1 árbol lleva 1 hora. Por lo tanto, necesita `\ gt` 100 horas para aprender que el bosque al azar usa 1 computadora.
Suponga que tiene 100 computadoras. Puede hacer que cada uno aprenda un árbol, ya que esta operación no depende de otros árboles. Aquí su bosque aleatorio se vuelve ‘distribuido’: 100 computadoras aprendieron 100 árboles por usted y lo devolvieron a la computadora maestra que ahora ha completado el modelo de bosque aleatorio solo en 1 hora en lugar de 100.

Ese es un ejemplo tonto, pero presenta la idea de algo distribuido . Creo que eso es lo que le pidieron en una entrevista: dar una explicación básica de los algoritmos de aprendizaje automático distribuidos. De hecho, en un mundo moderno, los científicos de datos usan hadoop y spark, pero no es importante para una entrevista interna.

Un algoritmo de ML distribuido se ejecuta en paralelo en varias máquinas. No necesariamente significa Spark o Hadoop.

La entrevista prueba si comprende cómo dividir los algoritmos de ML en tareas paralelas y recombina sus resultados para generar una salida correcta para el algoritmo de ML (corrección en un sentido de ML, como la convergencia a un óptimo local).

Lo más probable es que obtenga puntos de bonificación al mostrar su comprensión de los problemas de programación distribuida, como la colocación de variables y datos en máquinas, la comunicación entre máquinas y el paralelismo multiproceso versus multiproceso.

More Interesting

¿Qué papel juegan las redes neuronales y el aprendizaje automático en la atención médica?

¿Qué tan útil es el aprendizaje profundo para problemas P> N?

Algunas cosas "fueron modeladas como procesos de Poisson". ¿Qué quieren decir con eso?

¿Cuál es la mejor extracción de características de un conjunto de datos de imágenes?

¿Cuánto aprendizaje automático aprendería al completar el curso Andrew Ng (el de Coursera), en una escala de 100?

¿Qué significa el término de procesamiento del lenguaje natural 'modelo de lenguaje' en términos simples?

¿Cuáles son algunos documentos similares al trabajo realizado para el Proyecto Tango de Google?

¿Qué es la mente profunda de Google?

Si el error de una red neuronal obtiene un buen rendimiento, pero si el entrenamiento aumenta por más tiempo, ¿cuál podría ser el problema con el entrenamiento?

¿Cuál es la diferencia entre el análisis factorial y las técnicas de selección de características, como el análisis de componentes principales y la asignación de dirichlet latente?

¿Por qué la regresión logística se considera un modelo lineal?

Cómo comenzar con el aprendizaje profundo (cosas matemáticas) en Python

¿Cuántos tipos de técnicas utilizan los limpiadores profesionales?

¿Las GPU seguirán dominando la inteligencia artificial y el aprendizaje automático, aumentando el valor de compañías como Nvidia y AMD, o los chips especializados como los de Graphcore se harán cargo?

¿Cómo es la aplicación K-Means de maximización de expectativas en Naive Bayes?