مقیاس‌بندی و ارائه مدل‌های JAX روی پردازنده‌های گرافیکی NVIDIA

  1. بهترین بررسی اولیه قبل از اشکال‌زدایی عملکرد JAX GPU چیست؟

  2. اگر jax.default_backend() cpu را چاپ کند و jax.devices() فقط CpuDevice نشان دهد، محتمل‌ترین علت چیست؟

  3. چرا اولین فراخوانی یک تابع jax.jit می‌تواند بسیار کندتر از فراخوانی‌های بعدی باشد؟

  4. علت رایج کامپایل مجدد تصادفی در JAX چیست؟

  5. چرا درون یک تابع @jax.jit ، if x > 0: روی یک آرایه ردیابی شده باشد، خطایی رخ می‌دهد؟

  6. چرا باید قبل از متوقف کردن تایمر در حین کار GPU، تابع block_until_ready() را فراخوانی کنید؟

  7. فراخوانی تابع float(loss) در هر مرحله از حلقه‌ی آموزشی می‌تواند آن را کند کند، زیرا:

  8. چرا حلقه آموزش، داده‌ها را به دسته‌هایی با اندازه ثابت تغییر شکل می‌دهد و دسته نهایی جزئی را حذف می‌کند؟

  9. در یک مرحله آموزش JAX، پارامترها چگونه به‌روزرسانی می‌شوند؟

  10. تنظیم implementation="cudnn" در jax.nn.dot_product_attention چه چیزی را می‌طلبد؟

  11. چرا توجه ساده‌لوحانه در توالی‌های طولانی از حافظه بیشتری نسبت به هسته cuDNN ادغام‌شده استفاده می‌کند؟

  12. در آموزش موازی داده‌ها با JAX، چه چیزی در واقع موازی‌سازی را ایجاد می‌کند؟

  13. PartitionSpec('data', None) برای یک آرایه دوبعدی روی یک مش با محور 'data' به چه معناست؟

  14. چگونه مبدل درس ۷ توجه علّی (فقط رو به عقب) را دریافت می‌کند؟

  15. هنگام ذخیره یک مدل NNX با Orbax StandardCheckpointer ، چه چیزی ذخیره می‌شود و چه چیزی ذخیره نمی‌شود؟

  16. کامپایل AOT ( lower()compile() ) چه مشکلی را برای سرویس‌دهی حل می‌کند؟

  17. کدام مسیر سرویس‌دهی، یک مصنوع قابل حمل تولید می‌کند که در هر زمان اجرای JAX و بدون کد مدل اصلی اجرا می‌شود؟