پرش به محتوای اصلی
پرش به محتوای مقاله

LocalAI در برابر vLLM و CoderAI؛ رقابت مدیریت استنتاج محلی

·۲۹ شهریور ۱۴۰۵۷ دقیقه مطالعه۳ بازدید
راهنما
مقایسه ابزارهای هماهنگ‌سازی استنتاج خودمیزبان: LocalAI، exo، GPUStack، Xinference، Ollama، vLLM و CoderAI (سپتامبر ۲۰۲۶)
مقایسه ابزارهای هماهنگ‌سازی استنتاج خودمیزبان: LocalAI، exo، GPUStack، Xinference، Ollama، vLLM و CoderAI (سپتامبر ۲۰۲۶)
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

ظهور مدل‌های ارتقای سه‌مرحله‌ای (Local $\rightarrow$ Owned $\rightarrow$ Cloud) در ابزارهایی مثل CoderAI، مرز بین میزبانی شخصی و ابری را از بین برده است.

اگر امروز برای استقرار مدل‌های هوش مصنوعی روی سخت‌افزار خودتان برنامه‌ریزی می‌کنید، باید بدانید که عصر «یک ابزار برای همه» به پایان رسیده است. انتخاب اشتباه ارکستراتور استنتاج می‌تواند هزاران دلار از حافظه VRAM شما را بلااستفاده کند یا تأخیری ایجاد کند که کاربرد برنامه را از بین ببرد. طبق داده‌های استخراج‌شده از API گیت‌هاب در ۲۰ سپتامبر ۲۰۲۶، بازار ابزارهای میزبانی شخصی (Self-hosting) به شدت قطبی شده است و به ابزارهای تخصصی برای سخت‌افزارها و مقیاس‌های خاص تقسیم شده است.

هدف اکثر توسعه‌دهندگان اکنون ایجاد یک نقطه اتصال (Endpoint) سازگار با OpenAI است که بتواند بدون تغییر در منطق برنامه، از یک لپ‌تاپ ساده به یک خوشه GPU اجاره‌ای مقیاس شود. همان‌طور که در تحلیل‌های قبلی ما درباره‌ی مدل‌های زبانی بزرگ اشاره کردیم، تمرکز صنعت از «مدل‌ها چگونه کار می‌کنند» به «چگونه آن‌ها را روی سخت‌افزارهای پراکنده مستقر کنیم» تغییر کرده است.

استاندارد سطح ورود

اولاما (Ollama) با ۱۸۱ هزار ستاره، همچنان انتخاب پیش‌فرض برای استقرار روی یک ماشین است. این ابزار یک فایل باینری ساده، دستور ollama pull و کتابخانه‌ای از مدل‌ها با تنظیمات پیش‌فرض بهینه را ارائه می‌دهد. اولاما از فرمت Modelfile برای تعریف پیکربندی‌های مدل استفاده می‌کند و همین موضوع آن را به ابزار اصلی برای غیرمهندسان تبدیل کرده است که از Open WebUI استفاده می‌کنند.

با این حال، اولاما فاقد یک استراتژی بومی برای خوشه‌بندی (Cluster) است؛ این ابزار برای یک ماشین و در هر لحظه برای یک مدل طراحی شده است. هیچ پشتیبانی از چند ماشین یا قابلیت شناسایی خودکار (Auto-discovery) در آن وجود ندارد. اگر نیازهای شما محدود به یک دسکتاپ یا لپ‌تاپ است، این ابزار پاسخ درست شماست.

موتورهای خام

در پایین‌ترین لایه از این پشته، لاماسی‌پلاس‌پلاس (llama.cpp) با ۱۲۹ هزار ستاره و vLLM با ۹۲ هزار ستاره قرار دارند. این‌ها پلتفرم‌های مدیریتی کامل نیستند، بلکه موتورهای اجرای مدل با کارایی بسیار بالا هستند.

  • vLLM: از Ray برای موازی‌سازی تانسور (TP) و خط لوله (PP) استفاده می‌کند تا توان عملیاتی (Throughput) را برای تعداد کاربران زیاد به حداکثر برساند. این موتور دارای قابلیت Prefix Caching برای هر نمونه است و متریک‌های Prometheus را برای نظارت فراهم می‌کند. هدف اصلی آن سیستم‌عامل لینوکس با درایورهای CUDA یا ROCm است.
  • llama.cpp: از یک لایه RPC برای سرویس‌دهی توزیع‌شده بهره می‌برد. با اجرای rpc-server روی هر ماشین و استفاده از پرچم --rpc روی سرور، این موتور می‌تواند به صورت پیش‌فرض تقسیم لایه‌ها (Layer Splitting) یا تقسیم ردیف‌ها برای موازی‌سازی تانسور روی لینک‌های سریع را انجام دهد.

هیچ‌کدام از این دو ابزار، مدل‌ها، کاربران یا جایگذاری مدل‌ها را فراتر از «یک مدل در هر پروسه» مدیریت نمی‌کنند. آن‌ها در واقع محیط‌های اجرای زیربنایی هستند که ابزارهایی مثل LocalAI، GPUStack، Xinference و CoderAI آن‌ها را در یک پوسته مدیریتی می‌بندند.

لایه مسیریابی (Routing)

LiteLLM با ۵۹ هزار ستاره جایگاه منحصربه‌فردی به عنوان یک پروکسی دارد، نه یک محیط اجرا. این ابزار در مقابل صدها ارائه‌دهنده و نقاط اتصال شخصی شما قرار می‌گیرد، اما هرگز خودش مدلی را اجرا نمی‌کند.

این ابزار مدیریت کلیدها، بودجه‌ها و ردیابی هزینه‌ها را بر عهده دارد و درخواست‌ها را بین نقاط اتصال توزیع می‌کند یا در صورت نیاز، آن‌ها را به ابر (Cloud) منتقل می‌کند. LiteLLM قطعه‌ای ضروری برای تیم‌هایی است که چندین بک‌اند خود-میزبانی شده یا ابری را به اشتراک می‌گذارند تا از هزینه‌های پیش‌بینی نشده جلوگیری کرده و دسترسی‌ها را مدیریت کنند.

پلتفرم‌های جامع و توزیع‌شده

LocalAI با ۴۹ هزار ستاره به انتخابی گسترده و جامعه‌محور تبدیل شده است. این ابزار یک API سازگار با OpenAI را برای متن، تصویر، ویدیو، صوت و Embeddingها فراهم می‌کند. هر بک‌اند در LocalAI یک سرویس gRPC در تصویر OCI مخصوص به خود است و تصاویر بک‌اند با استفاده از cosign امضا شده‌اند.

از ژوئن ۲۰۲۶، این پروژه یک حالت توزیع‌شده واقعی را پیاده کرده است. با استفاده از پرچم --p2p، یک توکن مشترک ایجاد می‌شود و نمونه‌ها اجازه می‌یابند از طریق libp2p یا EdgeVPN یکدیگر را شناسایی کنند. درخواست‌ها به گره‌ای که کمترین بار را دارد هدایت می‌شوند یا یک مدل llama.cpp بین کارگران (Workers) تقسیم می‌شود. روتر «v3» آن که بر پایه NATS است، از میزان VRAM و Prefix Cacheها آگاه است. اگرچه از Helm پشتیبانی می‌کند و روی لینوکس، مک و داکر اجرا می‌شود، اما توان عملیاتی خام آن در LLMها به دلیل همین جامعیت، چند ده درصد کمتر از موتورهای تخصصی است.

exo با ۴۷ هزار ستاره روی یک نیچ خاص تمرکز کرده است: اپل سیلیکون. این ابزار دارای قابلیت شناسایی بدون پیکربندی (Zero-config discovery) است و از تقسیم‌بندی حلقوی، خط لوله‌ای یا تانسوری متناسب با حافظه هر دستگاه استفاده می‌کند. با بهره‌گیری از MLX و RDMA روی تاندربولت ۵ در نسخه‌های جدید macOS، اجازه می‌دهد مجموعه‌ای از مک‌ها مانند یک کامپیوتر واحد عمل کنند.

طبق داده‌های آن‌ها، این ساختار روی چهار دستگاه به ضریب مقیاس‌پذیری ۳.۲ برابر رسیده است. تا سپتامبر ۲۰۲۶، این ابزار در لینوکس فقط از CPU پشتیبانی می‌کند و پشتیبانی از NVIDIA و AMD در دست توسعه است. تمرکز اصلی آن روی مدل‌های زبانی است، هرچند تولید تصویر پشت یک Feature Flag در دسترس است.

مقیاس سازمانی و مرکز داده

برای خوشه‌های GPU دپارتمانی، GPUStack (۵.۷ هزار ستاره) و Xinference (۹.۶ هزار ستاره) کنسول‌های عملیاتی لازم را فراهم می‌کنند. هر دو از معماری «ناظر-کارگر» (Supervisor-plus-workers) همراه با یک کنسول وب استفاده می‌کنند.

جزئیات GPUStack:

  • تمرکز عملیاتی: شامل مدیریت کاربران، نقش‌ها، کلیدهای API با سیستم اندازه‌گیری (Metering) و یکپارچگی با Prometheus/Grafana است.
  • پایداری: دارای قابلیت بازیابی خودکار مدل‌های شکست‌خورده و نمایش مستقیم لاگ‌های Ray Worker در رابط کاربری است.
  • بک‌اندها: از llama-box (همان llama.cpp RPC) و vLLM/SGLang/TensorRT-LLM با قابلیت TP+PP پشتیبانی می‌کند.
  • سخت‌افزار: از ۹ فروشنده شتاب‌دهنده از جمله Ascend، Hygon و MThreads پشتیبانی می‌کند. کارگران آن فقط روی لینوکس اجرا می‌شوند.

جزئیات Xinference:

  • تنوع مدل‌ها: مودالیته‌های بیشتری از جمله گفتار، تصویر و Rerank را با یک رجیستری داخلی پوشش می‌دهد.
  • کارایی: حافظه KV Cache مشترک را بین نسخه‌های vLLM پیاده‌سازی کرده است.
  • بخش سازمانی: یک نسخه اختصاصی با قابلیت‌های چند-مستاجری (Multi-tenant)، مدیریت کاربران و کلیدها ارائه می‌دهد.

در بالاترین سطح، NVIDIA Dynamo (۸.۱ هزار ستاره) و llm-d (۴.۶ هزار ستاره) زیرساخت‌های مرکز داده را مدیریت می‌کنند. این ابزارها قابلیت‌های پیشرفته‌ای مثل تفکیک پیش‌پُرکردن (Prefill) و رمزگشایی (Decode)، ذخیره‌سازی KV چند لایه و مسیریابی آگاه از KV-cache را روی کوبرنتیز پیاده می‌کنند. آن‌ها مشکلاتی را حل می‌کنند که فقط در سطح رک (Rack) روی سخت‌افزارهای NVIDIA ظاهر می‌شوند.

انتقال ظرفیت و ابر ترکیبی (Hybrid Cloud)

SkyPilot (۱۰.۶ هزار ستاره) و dstack (۲.۳ هزار ستاره) مشکل ظرفیت را حل می‌کنند. آن‌ها سرور استنتاج نیستند، بلکه زمان‌بندهایی (Schedulers) هستند که وقتی خوشه‌های داخلی پر می‌شوند، کارهای سنگین را به ارزان‌ترین GPUهای ابری موجود منتقل می‌کنند. آن‌ها جایگذاری موتورهایی مثل vLLM را مدیریت می‌کنند، نه خودِ درخواست‌ها را. این ابزارها برای اجرای مدل‌های آموزشی (Trainers) یا کارهای مقیاس بزرگ روی هر ابر یا خوشه کوبرنتیز داخلی عالی هستند.

مدل ارتقای همه‌کاره (All-in-One)

CoderAI یک مکانیسم ارتقای سه‌مرحله‌ای معرفی کرده است. یک مدل می‌تواند ابتدا روی یک کارت گرافیک محلی اجرا شود، سپس به ماشینی که مالک آن هستید منتقل شود و در نهایت بر اساس سقف قیمت و بودجه، به یک GPU اجاره‌ای در RunPod منتقل شود. این تنظیم برای هر مدل به صورت جداگانه انتخاب می‌شود و می‌تواند روی حالت «فقط هنگام شلوغ بودن» قرار گیرد.

این ابزار یک نقطه اتصال سازگار با OpenAI را برای متن، تصویر، ویدیو، TTS، STT، تفکیک گوینده (Diarization)، Embeddingها، Rerank و OCR فراهم می‌کند. CoderAI موتور را بر اساس هر مدل انتخاب می‌کند و از llama.cpp (CUDA/Vulkan)، transformers، vLLM، ktransformers و سه موتور خالص C استفاده می‌کند.

لایه چند-ماشینی آن، رویکرد «گره-به-عنوان-موتور» در GPUStack (شامل llama.cpp RPC، vLLM روی Ray و SGLang) را با شناسایی بدون پیکربندی LocalAI (شامل mDNS، توکن‌های مشترک و مسیریابی Prefix-cache) ترکیب می‌کند. همچنین شامل Prometheus، میزان استفاده به ازای هر کلید، لاگ‌های گره و تصاویر امضا شده با cosign است.

به طور قابل توجهی، این تنها ارکستراتوری است که از موارد زیر پشتیبانی می‌کند:

  • توزیع غیر-LLM (Fan-out): تقسیم درخواست‌های تصویر، ویدیو، Embedding، گفتار، ترنسکریپشن و OCR بین تمام ماشین‌هایی که مدل مربوطه را دارند.
  • خط لوله‌های ویدئویی: انتقال پردازش ویدیو به صورت بخش‌به‌بخش.
  • آموزش توزیع‌شده: آموزش LoRA/QLoRA به صورت موازی-داده (Data-parallel) روی گره‌ها از طریق همان سرور.

در حال حاضر، این ابزار فاقد پشتیبانی از کوبرنتیز، سازگاری با اپل سیلیکون و کاتالوگ مدل است. مسیرهای چند-ماشینی آن در حال حاضر روی localhost و محیط‌های شبیه‌ساز تست شده‌اند.

خلاصه معیارهای انتخاب

  • یک ماشین، می‌خواهید سریعاً کار کند: Ollama + Open WebUI.
  • یک مدل، حداکثر توان عملیاتی، کاربران زیاد: vLLM به صورت مستقیم، و اگر تیم‌ها آن را به اشتراک می‌گذارند، LiteLLM در لایه جلو.
  • مجموعه‌ای از مک‌ها: exo. هیچ ابزار دیگری در اپل سیلیکون به این نزدیک نیست.
  • همه چیز (تصویر، صوت، ویدیو) روی لینوکس، جامعه بزرگ، بدون ابر: LocalAI.
  • GPUهای یک دپارتمان با کاربران، کلیدها و داشبوردها: GPUStack؛ یا Xinference اگر به رجیستری گسترده‌تر مدل‌های آن نیاز دارید.
  • یک رک روی کوبرنتیز: Dynamo یا llm-d، به همراه SkyPilot یا dstack برای انتقال کارهای سنگین به ابر.
  • چند ماشین شخصی به علاوه کارت‌های اجاره‌ای، تمام مودالیته‌ها، یک نقطه اتصال: CoderAI. همچنین تنها گزینه برای آموزش توزیع‌شده LoRA.

این پراکندگی نشان می‌دهد که نقش «ارکستراتور» در حال تبدیل شدن به یک پشته لایه‌بندی شده است. شما دیگر یک ابزار انتخاب نمی‌کنید؛ بلکه یک محیط اجرا (vLLM)، یک روتر (LiteLLM) و یک زمان‌بند (SkyPilot) را انتخاب می‌کنید.

برای توسعه‌دهندگان، تغییر به سمت «مسیریابی آگاه از کش» (Cache-aware routing) — جایی که درخواست‌ها به گره‌ای ارسال می‌شوند که قبلاً KV cache را در اختیار دارد — حیاتی‌ترین روند فنی برای دنبال کردن است. این مکانیسم که از زیرساخت‌های مرکز داده وام گرفته شده، اکنون در پروژه‌های کوچک‌تر برای کاهش تأخیر در گفتگوهای چند-مرحله‌ای ظاهر شده است.

همچنین روی یکپارچگی RDMA روی کابل‌های مصرف‌کننده (مانند آنچه در exo دیده می‌شود) نظارت کنید، زیرا می‌تواند به زودی به سخت‌افزارهای غیرتخصصی اجازه دهد تا عملکرد خوشه‌های AI سطح بالا را شبیه‌سازی کنند.

گام بعدی شما

  • اگر تنها یک مک دارید و می‌خواهید مدل‌ها را به اشتراک بگذارید، exo را نصب کنید.
  • برای مدیریت هزینه‌های تیم و توزیع درخواست بین مدل‌های مختلف، LiteLLM را به عنوان لایه پروکسی قرار دهید.
  • اگر به دنبال آموزش توزیع‌شده LoRA روی سخت‌افزارهای پراکنده هستید، CoderAI تنها گزینه عملی فعلی است.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این تغییرات بر اساس تجربه استقرار در مقیاس بالا رخ داده و نشان می‌دهد که بهینه‌سازی سخت‌افزاری اکنون اهمیت بیشتری نسبت به معماری خود مدل‌ها دارد. اعتبار این ابزارها با توانایی آن‌ها در کاهش هزینه استنتاج و مدیریت بهینه VRAM سنجیده می‌شود.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که با محدودیت بودجه برای خرید GPUهای High-end مواجه‌اند، ابزارهایی مثل exo و LocalAI امکان استفاده بهینه از سخت‌افزارهای موجود و پراکنده را فراهم می‌کند.

·نگاه ما
تحریریه دات‌هوش

تکه‌تکه شدن بازار ارکستراتورها نشان می‌دهد که مدیریت استنتاج از یک ابزار واحد به یک «پشته لایه‌ای» تبدیل شده است. حالا توسعه‌دهنده باید یک موتور (vLLM)، یک مسیریاب (LiteLLM) و یک زمان‌بند (SkyPilot) را ترکیب کند. حیاتی‌ترین روند فنی فعلاً «مسیریابی آگاه از حافظه» است که تأخیر در گفتگوهای طولانی را به شدت کاهش می‌دهد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.