Desenvolvedor alcança o primeiro treinamento de rede neural no Apple Neural Engine por meio de engenharia reversa

iconKuCoinFlash
Compartilhar
Share IconShare IconShare IconShare IconShare IconShare IconCopy
AI summary iconResumo

expand icon
Um desenvolvedor executou o primeiro treinamento de rede neural com retropropagação no Neural Engine do chip M4 da Apple por meio de engenharia reversa. O projeto contornou o CoreML, mapeando mais de 40 classes privadas para o driver de kernel IOKit para compilação de modelo em memória. O desempenho atingiu 1,78 TFLOPS, com suporte a uma única camada transformer. Esta notícia on-chain marca uma atualização da rede na utilização de hardware. O código é de código aberto sob licença MIT.

Mensagem do BlockBeats, 3 de março: o desenvolvedor Manjeet Singh (GitHub: maderix), em colaboração com o Claude Opus, realizou pela primeira vez o treinamento de uma rede neural com retropropagação no Apple Neural Engine (ANE) do chip M4, por meio da engenharia reversa da API privada não documentada da Apple. O ANE é um acelerador projetado pela Apple exclusivamente para inferência, e oficialmente nunca ofereceu suporte a treinamento; os desenvolvedores só podiam acessar suas funções de inferência indiretamente por meio do framework CoreML.


Este projeto contorna o CoreML, mapeando diretamente mais de 40 classes privadas, como _ANEClient e _ANECompiler, para a pilha de software completa com o driver de kernel IOKit, e descobriu a interface _ANEInMemoryModelDescriptor, que permite compilar modelos diretamente na memória — essencial para o treinamento, pois cada atualização de peso exige recompilação. Atualmente, implementou-se o treinamento de uma única camada transformer (dim=768, seq=512), com tempo de 9,3 ms por passo no M4, utilização da ANE de 11,2% (1,78 TFLOPS, pico teórico de 15,8 TFLOPS); os gradientes de entrada para a propagação direta e reversa são calculados na ANE, enquanto os gradientes dos pesos e o otimizador Adam são executados na CPU.


O projeto também descobriu que a primitiva de cálculo central do ANE é a convolução, e não a multiplicação de matrizes; expressar a multiplicação de matrizes com convoluções 1x1 proporciona um aumento de aproximadamente 3 vezes no throughput, e chamar diretamente, contornando o CoreML, oferece um ganho adicional de 2 a 4 vezes, o que torna a afirmação oficial da Apple de "38 TOPS" enganosa. Atualmente, o projeto ainda está em estágio inicial: suporta apenas treinamento de uma única camada, utiliza dados sintéticos e apresenta cerca de 119 vazamentos de recursos após compilação, exigindo reinício do processo para contorná-los; o suporte a treinamento de múltiplas camadas e dados reais ainda está em desenvolvimento. O projeto foi lançado como código aberto sob a licença MIT e recebeu cerca de 2.800 estrelas em cinco dias.


Aviso legal: as informações nesta página podem ter sido obtidas de terceiros e não refletem necessariamente os pontos de vista ou opiniões da KuCoin. Este conteúdo é fornecido apenas para fins informativos gerais, sem qualquer representação ou garantia de qualquer tipo, nem deve ser interpretado como aconselhamento financeiro ou de investimento. A KuCoin não é responsável por quaisquer erros ou omissões, ou por quaisquer resultados do uso destas informações. Os investimentos em ativos digitais podem ser arriscados. Avalie cuidadosamente os riscos de um produto e a sua tolerância ao risco com base nas suas próprias circunstâncias financeiras. Para mais informações, consulte nossos termos de uso e divulgação de risco.