Cómo disfrutar de un marco de aprendizaje profundo?

Hecho por: Yuan Jinhui

https://zhuanlan.zhihu.com/p/117269565

Este artículo autorizada por el autor original y no puede ser reproducido sin secundaria

De marzo, China tenía framework de código abierto de aprendizaje más profundo, OneFlow también está haciendo los preparativos finales para el framework de código abierto para el año 2020 es la profundidad de campo de estudio es año muy ocupado. Un marco de bueno y malo, hay muchas dimensiones a la vista, y centradas en el usuario y los desarrolladores marco puede no ser la misma.

Para la mayoría de los usuarios, el marco, no la profundidad en el marco interno de lograr, pero la experiencia es el primero, y documentos de casos están completos, ya sea en el README puede ser muy fácil de completar la primera experiencia.

El marco para los desarrolladores, es otro tipo de mentalidad. Si él es el marco de la investigación y el desarrollo, vemos un nuevo marco, sobre todo, a ver, sus propias ofertas únicas y tramposos en este nuevo marco es la forma de resolver, si logra, realizadas inteligente, y luego ir inmediatamente al otro lado hay ninguna es ejercicios separados de su propio aprendizaje.

Por supuesto, el éxito del marco, la mirada desde la perspectiva del usuario es sin duda el más importante, cuando el desarrollador marco para hacer una elección, las necesidades de los usuarios deben ser mayores que estética tecnológica. En este artículo, me centro en el punto de vista de los desarrolladores marco para compartir algunos de mis puntos personales de interés en la tecnología. En primer lugar discutir la forma de evaluar un marco en su conjunto, y luego apunta a temas específicos en profundidad los detalles de la estructura interna.

marco para el aprendizaje de hoy profundidad, algunas características se han convertido en una demanda regular, como la facilidad de uso, eficiencia, completo (operador, modelo, una cadena de soporte de herramientas, documentos, caso), un nuevo marco en estas áreas deben corto sin aparente bordo. Después de la aparición de un marco para la búsqueda del éxito, no sólo tabla corta no es suficiente, tiene que haber una tabla larga, ejercicios separados, tiene que ir más allá del marco de otros lugares, u otros marcos simplemente imposible, o muy difícil de hacer, la única manera de es posible empezar con el segmento de mercado hizo una pequeña incisión, y luego de pie guión.

La innovación es una pregunta que la primera preocupación. desarrolladores de marco a sí mismos como fanáticos de la tecnología, esta innovación es muy valorado, si no hay ideas innovadoras, simplemente presione para volver a crear las ruedas viejas, que no es causado por los expertos técnicos de interés, lo cual es de gran preocupación para los pequeños pares hay un problema: este nuevo marco a marco de lo que los productos para llevar la innovación incremental es parte de. Al mismo tiempo, la innovación también es crucial para el éxito del marco. Caffe y Teano es el originador de la trama, respectivamente, hemos aportado algunas de las ideas más originales. TensorFlow y MXNet tienen una mayor calidad del proyecto (grado técnico) a la abstracción gráfica calcular a una nueva altura, tanto con respecto a Caffe principalmente en términos de la introducción de la informática abstracción gráfica, en contraposición a Teano, sobre todo de alta calidad C ++ realización lleva la eficiencia y escalabilidad. PyTorch la introducción exitosa del modelo Deseoso de realizar, sino también para lograr un fisuras de Python (Chainer en sentido estricto es la primera aplicación del marco de esta idea se llevó a PyTorch adelante). la profundidad interna de aprendizaje marco de Deus Ex, la idea de la innovación es sin duda un factor primario grande. Micro La innovación no es suficiente para cambiar el patrón, pero también es fácil de aprender y plagio.

Calidad del proyecto es la segunda pregunta que a mí respecta. La ingeniería de pruebas de calidad, no va a ir muy lejos. A veces, para ver algún tipo de evaluación del proyecto, "el trabajo del estudiante" o "códigos industriales", que es un cierto fundamento. Puede examinar a partir de múltiples niveles, desde grandes a pequeñas, tales como el diseño, la arquitectura, bloque, modelo, extracto, hasta que un algoritmo microscópico, prestar atención a la derecha, en particular, tenga cuidado de no más de ingeniería, a la mitad son demasiado gordo, menos una sub demasiado delgada; puede ser el código desde el punto de vista estético, tales como el uso google estilo, sonido metálico de formato, cpplint otra herramienta, y una inspección ángulo, si este código es la base para el desarrollo de la colaboración en masa, la cantidad de código Aunque grande, código de alta calidad sigue siendo muy fácil de entender, y si la especificación base de código introduce algunas limitaciones, como la programación defensiva, puede evitar algunos errores de bajo nivel. la implementación del código se refleja programadores pensaron, escribir código es hermosa en la premisa de que debe haber una naturaleza cerebro y el pensamiento profundo del problema claro.

Algunos marco técnicas específicas y el aprendizaje profundo relacionado con la implementación es el tercer tema que a mí respecta. Hay problemas incluyen:

(1) marco de aprendizaje profundo utiliza un flujo de datos abstracto (modo Eager es un flujo de control), que a ver cómo este marco es apoyar la realización de la forma abstracta, operador, gráfico, flujo, etc., la forma de definir operador, cómo Kernel tipo de múltiples datos, multi-dispositivo, calculada es la forma de lograr, etc. FIG.

(2) cálculo carta ejecutado por el motor subyacente, el principio general es que un gráfico de cálculo dado, de acuerdo con datos de la exploración topológica dependiente, que es la implementación más básica, si el dispositivo subyacente es una CPU, entonces el motor de ejecución es el grupo de subprocesos, necesita atención Dispatcher y cómo interactúan con el grupo de subprocesos, si el dispositivo subyacente es una GPU, y el dispositivo subyacente despachador cómo interactúan, debido a la GPU características propias, el uso de la corriente, el evento es la clave.

(3) cómo se gestiona la memoria, la visión estática del motor puede hacer un montón de tecnología de gestión de la memoria, el modelo básico es una visión estática de razonamiento, por lo tanto, el marco de inferencia para la experiencia de gestión de memoria estática es la más profunda, que no requiere una asignación de memoria independiente para cada blob puede ser asignado para todo el diagrama de una memoria, gestión de problemas de memoria dinámica figura cómo hacer la recolección de basura, la gestión del ciclo de vida, etc., es muy complejo; asignación de memoria sub-lineal, así como cero de Microsoft también pertenecen a la lista de la tecnología de optimización de la memoria.

(4) los problemas de usabilidad de interfaz, y el apoyo para el modo de operación de mapa dinámico dibujo estático, de hecho, el problema principal consiste en la interacción de c ++ y Python.

(5) un único dispositivo de problemas de optimización de código del compilador, principalmente relacionadas con vista independiente del dispositivo de optimización, ambas dedicadas a la industria para hacer los compiladores de trabajo, como resplandor, XLA, TVM Relay, marco de aprendizaje profundo también incluye una serie de tal optimización, tales como paddle, MegEngine.

(6) un dispositivo de dependiente de código soluciones de optimización, es decir, la generación de código, TVM, Jittor, PlaidML pertenecen a esta columna.

(7) Solución al distribuido en paralelo, tales como datos en paralelo, el modelo paralelo, soporte de tuberías en paralelo, incluso una simple mirada a los datos en paralelo, hay una variedad de maneras, tales como PS, allreduce anillo, allreduce árbol doble, la implementación de la industria contiene NCCL BytePS de batido bytes, como DeepSpeed ​​de Microsoft.

(8) Otros complementarse.

Si ambas ideas grandes e innovadores, sino también los aspectos anteriores están haciendo un gran trabajo, que está muy cerca de la perfección técnica.

Publicados 482 artículos originales · ganado elogios 789 · Vistas 1,71 millones +

Supongo que te gusta

Origin blog.csdn.net/weixin_42137700/article/details/105251232
Recomendado
Clasificación