آمازون TorchNeuron را معرفی کرده است، یک Backend بومی PyTorch منبع باز برای خانواده تراشه های هوش مصنوعی Trainium خود، در اقدامی که یکی از بزرگترین موانع عملی برای پذیرش سیلیکون سفارشی برای بارهای کاری یادگیری ماشین را از بین می برد. بر اساس یک پست رسمی در وبلاگ PyTorch که قبل از کنفرانس PyTorch در آمریکای شمالی در 20 اکتبر منتشر شد، توسعه دهندگان اکنون می توانند کد مدل PyTorch موجود را در Trainium با یک تغییر تک خطی اجرا کنند، نه اینکه گردش کار خود را حول ابزارهای اختصاصی بازنویسی کنند.
این اعلامیه توجه فوری را به خود جلب کرد زیرا آن چیزی را هدف قرار می دهد که تحلیلگران مدت ها آن را به عنوان بادوام ترین مزیت انویدیا توصیف می کردند: نه عملکرد تراشه خام، بلکه اکوسیستم نرم افزار CUDA که توسعه دهندگان را به GPU های خود متصل می کند. رویترز این انتشار را اینگونه توصیف کرد که آمازون اعلام کرد تراشههای هوش مصنوعی آن با محبوبترین چارچوب توسعه در هوش مصنوعی کار میکنند، در حالی که TechCrunch TorchNeuron را بزرگترین ضربه این شرکت به انویدیا میداند. برای دید وسیعتری از نحوه تغییر بازار شتابدهندهها، پوشش اخبار سختافزاری هوش مصنوعی این پیشرفتها را در حین آشکار شدن دنبال میکند.
TorchNeuron در واقع چه چیزی را تغییر می دهد
وعده اصلی TorchNeuron سادگی است. در مثال منتشر شده در وبلاگ PyTorch، یک حلقه آموزشی موجود پس از انتقال مدل به دستگاه جدید با «.to('neuron')» روی Trainium اجرا می شود. بر اساس این پست، کد نوشته شده در برابر «torch.accelerator»، API توصیهشده PyTorch برای دستگاهها، بدون تغییر اجرا میشود. برای بارهای کاری کامپایل شده، توسعه دهندگان یک بار باطن پیش فرض را با «torch.compiler.set_default_backend("neuron")" تنظیم می کنند و سپس "model.compile()" را بدون تغییر بیشتر فراخوانی می کنند.
TorchNeuron در زیر هود، Trainium را از طریق PrivateUse1، نقطه توسعه رسمی PyTorch برای پشتیبانهای سختافزاری سفارشی، ثبت میکند، که به این معنی است که تراشه بهعنوان یک دستگاه استاندارد PyTorch عمل میکند نه یک زائده پیچشده روی چارچوب. AWS ادغام را به عنوان چندین حالت اجرا توصیف می کند:
- اجرای مشتاق برای تحقیق و اشکال زدایی، با "حالت مشتاق تطبیقی" آزمایشی که سربار راه اندازی را کاهش می دهد
- torch.compile برای عملکرد تولید، گرفتن مدل ها در نمودارهایی که کامپایلر Neuron بهینه سازی می کند، با پشتیبانی بومی از FlexAttention
- رابط هسته نورون (NKI) برای محققانی که به هسته های سفارشی و سطح پایین نیاز دارند
طبق اعلامیه، این باطن هم بر روی تراشههای Trainium2 و هم تراشههای جدیدتر Trainium3 کار میکند.
حمله مستقیم به خندق نرم افزاری انویدیا
تسلط انویدیا بر محاسبات هوش مصنوعی هرگز صرفاً بر روی سخت افزار سریعتر نبوده است. CUDA، پلتفرم نرمافزاری دو دههای این شرکت، جایی است که بیشتر کدهای تحقیقاتی هوش مصنوعی نوشته، تنظیم و به کار گرفته میشود، و هر تراشه چالشی – از خط AMD Instinct گرفته تا TPUهای گوگل و آمازون Trainium – باید با هزینه درخواست از توسعهدهندگان برای ترک آن مقابله کند. پوشش پرتاب TorchNeuron در GeekWire، Benzinga و GuruFocus به طور یکسان این اعلامیه را به عنوان حمله به آن خندق در نظر گرفت.
آمازون سعی نمی کند توسعه دهندگان را از PyTorch بیرون بکشد تا آنها را به دست آورد. در عوض، Trainium را به PyTorch وارد میکند، بنابراین پایگاه کاربر عظیم این فریم ورک میتواند تراشه را بدون تغییر عادت بپذیرد. جانا ون گرونن، مدیر مهندسی PyTorch در Meta، در این پست گفت: پست وبلاگ PyTorch شامل تاییدیه ای از متا بود که چارچوب را حفظ می کند: "پشتیبانی بومی برای AWS Trainium این انتخاب را گسترش می دهد و محققان و مهندسان را قادر می سازد تا با استفاده از اجرای مشتاقانه و API های توزیع شده ای که از قبل می شناسند، آزمایش و تکرار کنند."
این چارچوب برای تجارت ابری AWS اهمیت دارد. نمونههای Trainium بهعنوان جایگزین ارزانتری برای GPUهای Nvidia برای آموزش و استنباط به بازار عرضه شدهاند، و تراشهها قبلاً مشتریان AI marquee را جذب کردهاند. ایجاد حس بومی بودن تراشهها در PyTorch به طور مستقیم به اعتراضی میپردازد که پذیرش گستردهتر را کندتر کرده است: تلاش انتقال.
حوزه فنی، از نوت بوک تا آموزش در مقیاس خوشه ای
قابلیتهای فهرست شده در وبلاگ PyTorch نشان میدهد که آمازون بسیار فراتر از آزمایشهای سرگرمی است. TorchNeuron مجموعههای اپراتورهایی را که در مدلهای متنی، چندوجهی و زبان بینایی و همچنین تولید تصویر و ویدئو، مدلهای فضای حالت، و مدلهای جهانی مشاهده میشوند، با دقت BF16، FP32 و FP16 پوشش میدهد. پشتیبانی TorchAO و FP8 قبل از در دسترس بودن عمومی در نسخه بعدی، در نسخه بتا خصوصی هستند.
آموزش توزیعشده، رشتهای که کدهای تک GPU را به اجراهایی در مقیاس خوشهای تبدیل میکند، از طریق APIهای استاندارد PyTorch - DDP، FSDP2، SimpleFSDP، موازیسازی تانسور و خط لوله، و اشتراکگذاری به سبک ZeRO، همراه با DTensor و DeviceMesh برای گروههای فرآیند چند بعدی پشتیبانی میشود. در این پست آمده است که جریانها و رویدادها معنای PyTorch را در صفهای سختافزاری Trainium ترسیم میکنند.
برای استنتاج، پشتههای نورون آمازون بر اساس یک پایه ساخته میشوند: vLLM Neuron مدلهای زبان بزرگ را ارائه میکند، در حالی که vLLM Omni Neuron مدلهای انتشار را برای تولید تصویر و ویدیو ارائه میکند. Neuron Kernel Interface به محققان اجازه می دهد تا عملگرهای سفارشی را برای اجرای مشتاق و کامپایل بنویسند، و AWS منبع باز NKI-lib است، مجموعه ای از هسته های بهینه سازی شده توسط Trainium که محاسبات بلوکی FlashAttention و MoE را برای سناریوهای جریان اصلی LLM و چندوجهی پوشش می دهد.
ابزار عملکرد نیز گنجانده شده است. Neuron Explorer استاندارد «torch.profiler» را برای ردیابی اجرا از چارچوب به سختافزار گسترش میدهد، هر رویداد را به خط منبع آن مرتبط میکند و میتواند معیارهای قالببندی پارکت را صادر کند که یادداشتهای پست میتوانند توسط نمایندگان برای تجزیه و تحلیل خودکار تنگنا مصرف شوند.
در دسترس بودن و آنچه بعدا می آید
TorchNeuron برای راه اندازی منبع باز خود در کنفرانس PyTorch آمریکای شمالی در تاریخ 20 اکتبر، طبق پست وبلاگ، با سازگاری با Hugging Face Transformers نسخه 5 تنظیم شده است. AWS Trainium را به عنوان مجموعهای از تراشهها توصیف میکند که از ابتدا برای آموزش و استنتاج هوش مصنوعی در مقیاس ابری طراحی شدهاند.
زمینه استراتژیک بازاری است که در آن هر ارائه دهنده بزرگ ابری به طور همزمان بزرگترین خریدار شتاب دهنده های Nvidia و یک رقیب احتمالی است. مایکروسافت، گوگل و متا همگی سیلیکون سفارشی را توسعه میدهند و شرکتهای چینی از جمله هواوی در حال ساختن پشتههای نرمافزاری خود هستند تا از گرانش CUDA فرار کنند. آمازون با ملاقات با توسعه دهندگان داخل PyTorch به جای درخواست از آنها برای مهاجرت، کمترین مشکل را برای ورود به آن مسابقه انتخاب کرده است – و به احتمال زیاد، اگر تجربه توسعه دهندگان ادامه داشته باشد، بارهای آموزشی واقعی را از سخت افزار Nvidia خارج کند.
اینکه TorchNeuron واقعاً مزیت CUDA را از بین میبرد یا نه به عملکرد در مقیاس و دم بلند مدلهای دنیای واقعی بستگی دارد، سؤالاتی که مواد پرتاب پاسخی ندارند. اما مانعی که اکثر توسعه دهندگان PyTorch را حتی از امتحان Trainium باز می داشت - یک بازنویسی - اکنون به یک خط کد کاهش یافته است.
---
از هوش مصنوعی جلوتر بمانیدآخرین اخبار، تحلیل ها و پیشرفت های هوش مصنوعی را دریافت کنید - همه در یک مکان.
بیشتر بخوانید اخبار هوش مصنوعی →