Các nhà phát triển đã phân tích ngược các API sở hữu tư nhân của Apple Neural Engine, lần đầu tiên thực hiện được việc huấn luyện mạng nơ-ron trên ANE.
Bài viết này được dịch máy
Xem bản gốc
Theo ME News, vào ngày 3 tháng 3 (UTC+8), nhà phát triển Manjeet Singh (GitHub: maderix) đã hợp tác với Claude Opus để đảo ngược kỹ thuật các API sở hữu tư nhân không được công bố của Apple, lần đầu tiên đạt được việc triển khai huấn luyện mạng nơ-ron bao gồm cả lan truyền ngược trên Apple Neural Engine (ANE) của chip M4. ANE là accelerator được Apple thiết kế đặc biệt cho suy luận; Chính thức chưa bao giờ chính thức phát hành khả năng huấn luyện của nó, và các nhà phát triển chỉ có thể truy cập 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, ánh xạ trực tiếp từ hơn 40 sở hữu tư nhân như `_ANEClient` và `_ANECompiler` đến toàn bộ ngăn xếp phần mềm của trình điều khiển kernel IOKit. Họ cũng 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ớ — một bước quan trọng cho việc huấn luyện, vì cần phải biên dịch lại lần cập nhật tỷ trọng. Hiện tại, việc huấn luyện một lớp Transformer đơn (dim=768, seq=512) đã được thực hiện, với thời gian mỗi bước là 9,3ms trên bộ xử lý M4. Tỷ lệ sử dụng ANE là 11,2% (1,78 TFLOPS, đỉnh lý thuyết 15,8 TFLOPS). Độ dốc đầu vào cho lan truyền tiến và lan truyền ngược được tính toán trên ANE, trong khi độ dốc tỷ trọng và thuật toán tối ưu Adam được thực hiện trên CPU. Dự án cũng phát hiện ra rằng phép toán cơ bản 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 phép tích chập 1x1 để biểu diễn phép nhân ma trận có thể đạt được hiệu suất cải thiện khoảng 3 lần, và việc bỏ qua CoreML để gọi trực tiếp mang lại lợi ích bổ sung từ 2-4 lần. Tuyên bố chính thức của Apple về "38 TOPS" là gây hiểu nhầm. Dự án vẫn đang trong giai đoạn đầu: nó chỉ hỗ trợ huấn luyện một lớp, sử dụng dữ liệu tổng hợp và có khoảng lần lỗi rò rỉ tài nguyên sau khi biên dịch, yêu cầu phải khởi động lại quy trình để tránh. Việc huấn luyện đa lớp và hỗ trợ dữ liệu thực vẫn đang được phát triển. Dự án này mã nguồn mở theo giấy phép MIT và đã nhận được khoảng 2800 lượt đánh dấu sao trong 5 ngày. (Nguồn: ME)
Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận
Chia sẻ
Nội dung liên quan





