BlockBeats tin tức, ngày 3 tháng 3, nhà phát triển Manjeet Singh (GitHub: maderix) hợp tác với Claude Opus, thông qua việc reverse engineering API riêng của Apple, đã lần đầu tiên thực hiện đào tạo mạng nơ-ron có chứa lan truyền ngược trên Apple Neural Engine (ANE) dùng chip M4. ANE là bộ tăng tốc được Apple thiết kế riêng cho suy luận, chính thức chưa bao giờ mở chức năng đào tạo, các nhà phát triển chỉ có thể gọi gián tiếp chức năng suy luận của nó thông qua khung CoreML.
Dự án này bỏ qua CoreML, trực tiếp ánh xạ toàn bộ stack phần mềm từ hơn 40 lớp riêng lẻ như _ANEClient`, `_ANECompiler` đến trình điều khiển nhân IOKit, đồng thời phát hiện ra giao diện _ANEInMemoryModelDescriptor cho phép biên dịch mô hình trực tiếp trong bộ nhớ — đây là chìa khóa để thực hiện huấn luyện, vì mỗi lần cập nhật trọng số đều cần biên dịch lại. Hiện tại đã triển khai huấn luyện một lớp transformer duy nhất (dim=768, seq=512), thời gian mỗi bước trên M4 là 9,3 ms, tỷ lệ sử dụng ANE là 11,2% (1,78 TFLOPS, đỉnh lý thuyết 15,8 TFLOPS), gradient đầu vào cho tiến và lùi được tính toán trên ANE, trong khi gradient trọng số và bộ tối ưu Adam được thực hiện trên CPU.
Dự án còn phát hiện rằng nguyên tử tính toán cốt lõi của ANE là phép tích chập, chứ không phải phép nhân ma trận; sử dụng tích chập 1x1 để biểu diễn phép nhân ma trận có thể tăng gấp khoảng 3 lần thông lượng, và việc gọi trực tiếp mà không qua CoreML mang lại thêm lợi ích 2-4 lần, khiến con số “38 TOPS” mà Apple quảng bá mang tính gây hiểu lầm. Hiện tại, dự án vẫn ở giai đoạn đầu: chỉ hỗ trợ huấn luyện một lớp, sử dụng dữ liệu tổng hợp, và tồn tại khoảng 119 sự rò rỉ tài nguyên sau biên dịch cần khởi động lại tiến trình để tránh, việc hỗ trợ huấn luyện nhiều lớp và dữ liệu thực đang được phát triển. Dự án đã được mở nguồn theo giấy phép MIT và sau 5 ngày ra mắt đã nhận được khoảng 2.800 sao.
