Según noticias de BlockBeats, el 3 de marzo, el desarrollador Manjeet Singh (GitHub: maderix) colaboró con Claude Opus para hacer ingeniería inversa de las APIs privadas no reveladas de Apple para implementar por primera vez entrenamiento en redes neuronales que contenía retropropagación en el Apple Neural Engine (ANE) del chip M4. ANE es el acelerador de diseño de inferencia de Apple, y la capacidad oficial de entrenamiento nunca ha estado abierta, y los desarrolladores solo pueden llamar indirectamente a su función de inferencia a través del framework CoreML.
El proyecto evitó CoreML y se mapeó directamente a toda la pila de software desde más de 40 clases privadas como _ANEClient y _ANECompiler al núcleo de IOKit, y descubrió la interfaz _ANEInMemoryModelDescriptor que compila el modelo directamente en memoria, la clave para lograr el entrenamiento, ya que cada actualización de peso necesita ser recompilada. Actualmente, se entrena una única capa transformadora (dim=768, seq=512), con 9,3 ms por paso en M4, utilización del 11,2% de ANE (1,78 TFLOPS, pico teórico 15,8 TFLOPS), se calculan gradientes de entrada de propagación hacia adelante y hacia atrás en ANE, y los gradientes de peso y optimizadores Adam se realizan en CPU.
El proyecto también encontró que las primitivas computacionales centrales de ANE son convoluciones en lugar de multiplicación matricial, y que expresar multiplicación de matrices con convoluciones 1x1 puede lograr un aumento de rendimiento aproximadamente 3 veces superior, y saltarse las llamadas directas CoreML supone una ganancia adicional de 2-4 veces, y la promoción oficial de Apple de “38 TOPS” es engañosa. El proyecto aún está en sus primeras fases: solo se utiliza entrenamiento en una sola capa y datos sintéticos, hay unas 119 fugas de recursos compiladas que deben reiniciarse para evitar el proceso, y el entrenamiento multicapa y el soporte de datos del mundo real aún están en desarrollo. El proyecto es de código abierto bajo el protocolo MIT y recibió unas 2800 estrellas en 5 días tras su lanzamiento.