پیش‌زمینه پروژه

پلتفرم Hugging Face در اوایل سال ۲۰۲۶ با انتشار یک skill جدید، تلاش کرده تا تولید کِرنل‌های CUDA سفارشی را برای مدل‌های متداول مثل Codex و Claude، ساده‌تر و قابل دسترس‌تر کند. این اقدام بخشی از ماموریت بزرگ‌تر آنها در انتشار علم و فناوری باز است.

گام‌های کلیدی در ایجاد کِرنل‌های سفارشی

کلیه عملیات در سه مرحله اصلی انجام می‌شود:

  • بررسی و تأیید ساختار پروژه – اطمینان از رعایت استانداردهای build.nix و پوشه‌سازی.
  • ساخت انواع نسخه‌ها توسط Nix – ایجاد‌سازی بسته‌های لایف‌سرکت برای هِاردوی‌های مختلف.
  • آپلود روی Hub – ساخت ریپوزیتوری و به اشتراک‌گذاری به‌وسیله‌کد سوپر ویژوال.

تست و مقایسه عملکرد کِرنل‌ها

دو دسته از تست‌های مهم انجام شد؛ یکی روی pipelines Diffusers و دیگری روی مدل‌های Transformers (به‌خصوص Qwen3‑8B). نتایج نشان داد که کِرنل‌های تولیدشده، مشخصاً:

  • کاهش زمان پردازش به میزان قابل‌ملاحظه، حتی در حافظه ۸۰ جی‌بی کارت H100.
  • اتصال صحیح با PyTorch در قالب torch.nn.Module، بدون ایجاد خطای حافظه.
  • استفاده بهینه از vectorization و warp shuffle برای بهبود عملکرد.

چالش‌ها و راهکارها

نوشتن کِرنل‌های CUDA برای مدل‌های هوش مصنوعی نیازمند درک عمیق از الگوی دسترسی حافظه، استفاده از دکومپوز و بهینه‌سازی گردش دادهست. تیم توسعه با ترکیب ساختارهای حافظهی ویژه و طراحی بر پایه معماری خاص GPU، توانست با موفقیت این کار را انجام دهد.

پرسش‌های پرتکرار

کِرنل‌های CUDA سفارشی چیستند؟

کِرنل‌های CUDA سفارشی، کدهای کامپایل‌پذیر مخصوص پردازنده‌های گرافیکی (GPU) هستند که به‌صورت خاص برای تسهیل پردازش داده‌ها در مدل‌های هوش مصنوعی طراحی می‌شوند و از قابلیت‌های نیتیک شارده AI بهره‌مند می‌گردند.

استفاده از کِرنل‌های سفارشی چه مزایایی دارد؟

کِرنل‌های سفارشی می‌توانند سرعت اجرا را به‌جای هارده‌سازی تنظیم کنند، مصرف انرژی را بهینه‌سازی کنند، و از امکانات خاص GPU برای بهبود عملکرد یادگیری و پیش‌بینی در مدل‌های پیچیده بهره‌مند شوند.