شرکت اپل برای بهبود دسترسی کارکنان خود به منابع پردازشی GPU جهت اجرای وظایف استنتاج (Inference)، سیستم توزیعشدهای به نام Minions را توسعه داده است. این سیستم، GPUهای بلااستفاده در دستگاههای مختلف macOS را تجمیع کرده و آنها را برای پردازش بارهای کاری هوش مصنوعی به کار میگیرد.
معماری و عملکرد Minions
پژوهشگران اپل این سیستم را به عنوان یک «ابر GPU مجازی، پویا و توزیعشده» توصیف میکنند که GPUهای مبتنی بر Apple Silicon را در دستگاههای macOS تجمیع میکند تا بارهای کاری استنتاج یادگیری ماشین در مقیاس بزرگ را اجرا کند. هدف اصلی از این رویکرد، کاهش زمان انتظار برای دسترسی به منابع پردازشی است؛ بهطوری که پیش از بهکارگیری Minions، برخی از درخواستهای استنتاج به دلیل محدودیت منابع متمرکز، بیش از ده ساعت در صف انتظار میماندند، اما اکنون این زمان به چند دقیقه کاهش یافته است.
در سختافزارهای جدیدتر مانند Mac mini و Mac Studio، قابلیت خوشهبندی (Clustering) از طریق RDMA (دسترسی مستقیم به حافظه از راه دور) روی Thunderbolt 5 پشتیبانی میشود. این ویژگی اجازه میدهد تا توان پردازشی و حافظه چندین دستگاه برای پشتیبانی از یک بار کاری واحد AI ترکیب شوند؛ برای مثال، مدلهایی که ابعاد آنها فراتر از ظرفیت یک دستگاه واحد است، میتوانند به این صورت بارگذاری و اجرا شوند.
اجزای اصلی سیستم
سیستم Minions از چهار مؤلفه کلیدی تشکیل شده است:
- Minion Server: لایه هماهنگی که درخواستهای کاربر را دریافت و آنها را به زیر-وظایف (Subtasks) تبدیل میکند.
- PostgreSQL Metadata Store: ذخیرهساز متادیتای وظایف که توسط سرور مدیریت میشود.
- Minion Executor: بخشی که وظایف استنتاج را روی GPU دستگاه Mac اجرا کرده، نتایج را در S3 آپلود میکند و وضعیت اجرا را به سرور گزارش میدهد.
- Minion Watchdog: نظارت بر فرآیندها برای شناسایی خرابیها (مانند عدم پاسخگویی یکی از دستگاههای شبکه) و بازتخصیص وظایف در صورت نیاز.
برای نظارت لحظهای بر وضعیت سیستم، آمارهای دیتابیس به داشبوردهای مبتنی بر Grafana ارسال میشود.
تفاوت با خوشههای صنعتی
رویکرد اپل که بر در دسترس بودن و بهرهوری سختافزارهای موجود تمرکز دارد، با خوشههای Nvidia متفاوت است. در حالی که سیستمهای Nvidia بر روی نرخ انتقال داده (Throughput)، تأخیر (Latency) و بهرهوری حداکثری GPU برای مدلهای عظیم متمرکز هستند، Minions بیشتر ابزاری برای بازتوزیع منابع بلااستفاده در یک شبکه داخلی است تا دسترسی به سختافزار تسهیل شود.