زیرساخت و توسعه

راهنمای Hugging Face برای تحلیل گلوگاه‌های استنتاج روی AWS Trainium

بخش نخست این مجموعه، روش استفاده از TorchNeuron و ابزارهای Neuron برای سنجش زمان اجرا و بررسی ردپاهای سیستم و سخت‌افزار را توضیح می‌دهد.

۲ دقیقه مطالعه
File:West Lighthouse, Rathlin hugging the cliff face 01.jpg
تصویر آرشیوی واقعی؛ لزوماً متعلق به زمان این خبر نیست. — Mainlymazza · پرونده اصلی · CC BY-SA 4.0

Hugging Face در بخش نخست راهنمایی دربارهٔ پروفایل‌گیری از TorchNeuron، بک‌اند متن‌باز PyTorch برای تراشهٔ AWS Trainium، منتشر کرده است. هدف، نشان‌دادن روشی نظام‌مند برای تشخیص این است که زمان اجرای استنتاج مدل کجا صرف می‌شود؛ راهنما از مقدمات شروع می‌کند و به تجربهٔ قبلی در پروفایل‌گیری نیاز ندارد.

TorchNeuron با تغییرات اندک در کد، گردش‌کارهای متداول PyTorch را روی Trainium پشتیبانی می‌کند؛ از جمله اجرای eager،‏ `torch.compile` و APIهای استاندارد PyTorch. این بک‌اند از نقطهٔ توسعهٔ `PrivateUse1` در PyTorch استفاده می‌کند تا Neuron بدون افزودن کلید dispatch اختصاصی، مانند `cuda`، به‌عنوان بک‌اند بومی ثبت شود. همچنین ادغام با Neuron Kernel Interface امکان ساخت عملگرهای سفارشی و بهینه‌سازی برای سخت‌افزار Trainium را فراهم می‌کند.

برای پروفایل‌گیری، تنظیمات معرفی‌شده تعیین می‌کنند چه داده‌هایی ثبت شوند: پارامتر `modes` جریان‌هایی مانند دستورهای دستگاه و ردپاهای زمان اجرا را انتخاب می‌کند و `capture_enabled_for_nc` مشخص می‌کند کدام NeuronCoreها ردیابی شوند. با فعال‌کردن `correlate_device_time=True`، زمان دستگاه به جدول `key_averages()` منتقل می‌شود تا بتوان آن را با زمان CPU مقایسه کرد.

راهنما همچنین استفاده از Neuron Explorer را شرح می‌دهد؛ نمایشگری در مرورگر برای مشاهدهٔ ردپای سیستم، خط زمانی دستگاه و تفکیک فعالیت موتورهای پردازشی. این ابزار از راه تونل SSH یا افزونهٔ Visual Studio Code در دسترس است و برای بررسی آنچه میان dispatchها رخ می‌دهد به کار می‌رود. خروجی پروفایل شامل ردپای سیستم است و در صورت ثبت داده‌های دستگاه، فایل‌های جفت‌شدهٔ `.neff` و `.ntff` نیز تولید می‌شوند: NEFF فایل اجرایی کامپایل‌شدهٔ Neuron است و NTFF متناظر با آن، دستورهای سخت‌افزاری را در بر می‌گیرد.

این گزارش به کمک هوش مصنوعی تهیه شده است. مطالب براساس منابع درج‌شده تنظیم شده‌اند؛ صحت مستقل همه ادعاها تضمین نمی‌شود.

منبع: Hugging Face — مشاهده منبع اصلی ↗