ব্লকবিটস সংবাদ, 3 মার্চ, ডেভেলপার মঞ্জীত সিং (GitHub: maderix) Claude Opus-এর সাথে সহযোগিতা করে, অ্যাপলের অপ্রকাশিত প্রাইভেট API-এর রিভার্স ইঞ্জিনিয়ারিং করে প্রথমবারের মতো M4 চিপের অ্যাপল নিউরাল এনজিন (ANE)-এ ব্যাকওয়ার্ড প্রোপাগেশন সহ নিউরাল নেটওয়ার্ক ট্রেনিং বাস্তবায়িত করেছেন। ANE হল অ্যাপলের একটি ইনফারেন্সের জন্য ডিজাইন করা অ্যাক্সেলারেটর, যার ট্রেনিং সক্ষমতা অফিসিয়ালি কখনও খোলা হয়নি, এবং ডেভেলপারদের শুধুমাত্র CoreML ফ্রেমওয়ার্কের মাধ্যমে এর ইনফারেন্স ফাংশনগুলির অপসারণ করা যায়।
এই প্রকল্পটি CoreML কে বাইপাস করে _ANEClient`, `_ANECompiler` ইত্যাদি 40টিরও বেশি প্রাইভেট ক্লাসকে IOKit কার্নেল ড্রাইভারের সম্পূর্ণ সফটওয়্যার স্ট্যাকের সাথে ম্যাপ করেছে এবং মেমোরিতে সরাসরি মডেল কম্পাইল করার জন্য _ANEInMemoryModelDescriptor ইন্টারফেসটি আবিষ্কার করেছে—এটি ট্রেনিংয়ের জন্য কী, কারণ প্রতিবার ওয়েট আপডেটের জন্য পুনরায় কম্পাইল করা প্রয়োজন। বর্তমানে একটি একক transformer লেয়ার (dim=768, seq=512) ট্রেনিং বাস্তবায়িত হয়েছে, M4-এ প্রতিটি ধাপ 9.3ms সময় নেয়, ANE-এর ব্যবহার 11.2% (1.78 TFLOPS, থিওরেটিক্যাল পিক 15.8 TFLOPS), ANE-এ ফরওয়ার্ড এবং ব্যাকওয়ার্ড প্রোপাগেশনের ইনপুট গ্রেডিয়েন্টগুলি গণনা করা হয়, এবংওয়েট গ্রেডিয়েন্ট এবং Adam অপটিমাইজার CPU-তে সম্পন্ন হয়।
প্রকল্পটি আবিষ্কার করেছে যে ANE-এর কোর কম্পিউটেশনাল প্রিমিটিভগুলি ম্যাট্রিক্স গুণন নয়, বরং কনভলুশন, যা 1x1 কনভলুশন ব্যবহার করে ম্যাট্রিক্স গুণন প্রকাশ করলে প্রায় 3 গুণ থ্রুপুট বৃদ্ধি পায়, এবং CoreML-এর বাইরে সরাসরি কল করলে 2-4 গুণ অতিরিক্ত বৃদ্ধি পায়, যা Apple-এর "38 TOPS" দাবিকে বিভ্রান্তিকরভাবে উপস্থাপন করে। বর্তমানে প্রকল্পটি এখনও প্রাথমিক পর্যায়ে: এটি শুধুমাত্র একক-স্তরের ট্রেনিংকে সমর্থন করে, সিনথেটিক ডেটা ব্যবহার করে, এবং 119টি কম্পাইল-সময়কারী রিসোর্স লিকের কারণে প্রক্রিয়াটি পুনরায় শুরু করতে হয়; মাল্টি-স্তরের ট্রেনিং এবং বাস্তব-বিশিষ্ট ডেটা সমর্থন এখনও বিকাশাধীন। প্রকল্পটি MIT লাইসেন্সে ওপেন-সোর্সড, 5 দিনের মধ্যে 2800টি ⭐-এর সংখ্যা অর্জন করেছে।
