El desarrollador logra el primer entrenamiento de una red neuronal en el Neural Engine de Apple mediante ingeniería inversa

iconKuCoinFlash
Compartir
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconResumen

expand icon
Un desarrollador ha ejecutado el primer entrenamiento de una red neuronal con retropropagación en el Neural Engine del chip M4 de Apple mediante ingeniería inversa. El proyecto evitó CoreML, mapeando más de 40 clases privadas al controlador del kernel IOKit para la compilación del modelo en memoria. El rendimiento alcanzó 1,78 TFLOPS, con soporte para una sola capa de transformer. Esta noticia en cadena marca una actualización de la red en la utilización del hardware. El código es de código abierto bajo licencia MIT.

Mensaje de BlockBeats, 3 de marzo: el desarrollador Manjeet Singh (GitHub: maderix), en colaboración con Claude Opus, logró por primera vez entrenar una red neuronal con retropropagación en el Apple Neural Engine (ANE) de la chip M4 mediante ingeniería inversa de las API privadas no publicadas de Apple. El ANE es un acelerador diseñado por Apple exclusivamente para inferencia, y oficialmente nunca ha permitido capacidades de entrenamiento; los desarrolladores solo pueden invocar indirectamente sus funciones de inferencia a través del marco CoreML.


Este proyecto omite CoreML y mapea directamente una pila de software completa desde más de 40 clases privadas como _ANEClient` y `_ANECompiler hasta el controlador del kernel IOKit, descubriendo la interfaz _ANEInMemoryModelDescriptor, que permite compilar modelos directamente en memoria: esto es clave para el entrenamiento, ya que cada actualización de pesos requiere una recompilación. Actualmente se ha implementado el entrenamiento de una sola capa transformer (dim=768, seq=512), con un tiempo de 9.3 ms por paso en M4, una utilización del ANE del 11.2% (1.78 TFLOPS, pico teórico de 15.8 TFLOPS); los gradientes de entrada para la propagación hacia adelante y hacia atrás se calculan en el ANE, mientras que los gradientes de peso y el optimizador Adam se ejecutan en la CPU.


El proyecto también descubrió que la primitiva de cálculo central de ANE es la convolución, no la multiplicación de matrices; expresar la multiplicación de matrices mediante convoluciones 1x1 logra un aumento de rendimiento de aproximadamente 3 veces, y llamar directamente a ANE ignorando CoreML aporta un beneficio adicional de 2 a 4 veces, lo que indica que la afirmación oficial de Apple de "38 TOPS" es engañosa. Actualmente, el proyecto aún se encuentra en una etapa temprana: solo admite entrenamiento de una sola capa, utiliza datos sintéticos y presenta aproximadamente 119 fugas de recursos tras la compilación que requieren reiniciar el proceso para evitarlas; el soporte para entrenamiento de múltiples capas y datos reales aún está en desarrollo. El proyecto está disponible bajo licencia MIT y ha recibido aproximadamente 2800 estrellas en cinco días.


Descargo de responsabilidad: La información contenida en esta página puede proceder de terceros y no refleja necesariamente los puntos de vista u opiniones de KuCoin. Este contenido se proporciona solo con fines informativos generales, sin ninguna representación o garantía de ningún tipo, y tampoco debe interpretarse como asesoramiento financiero o de inversión. KuCoin no es responsable de ningún error u omisión, ni de ningún resultado derivado del uso de esta información. Las inversiones en activos digitales pueden ser arriesgadas. Evalúa con cuidado los riesgos de un producto y tu tolerancia al riesgo en función de tus propias circunstancias financieras. Para más información, consulta nuestras Condiciones de uso y la Declaración de riesgos.