اجرای سریع مدل‌های زبانی بزرگ (LLM) روی Hugging Face Jobs با…

۷ تیر ۱۴۰۵ · ۸ دقیقه مطالعه

گندم کریمی
گندم کریمی

5 سال تجربه

متخصص هوش مصنوعی و تولید محتوا در Axeto. روی Prompt Engineering، Flux، ComfyUI و workflowهای تصویر/ویدیو AI تمرکز دارد.

نکات کلیدی

  • ادغام vLLM با Hugging Face Jobs، اجرای مدل‌های زبانی بزرگ را با یک دستور ساده امکان‌پذیر می‌کند.
  • این راهکار جدید، زمان راه‌اندازی سرورهای LLM را به طور چشمگیری کاهش داده و فرآیند را برای کاربران ساده‌تر می‌کند.
  • توسعه‌دهندگان می‌توانند از این قابلیت برای آزمایش، توسعه و استقرار سریع‌تر برنامه‌های مبتنی بر LLM بهره ببرند.

Axeto را امتحان کنید

مقاله را خواندید — حالا با ابزار واقعی Axeto خروجی بگیرید.

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

خلاصه سریع

  • Hugging Face با vLLM، اجرای سرورهای LLM را روی پلتفرم Jobs خود تنها با یک دستور ممکن ساخته است.
  • این ادغام، زمان و پیچیدگی راه‌اندازی محیط‌های استنتاج (inference) برای مدل‌های زبانی بزرگ را به حداقل می‌رساند.
  • توسعه‌دهندگان اکنون می‌توانند به سرعت مدل‌های خود را مستقر کرده و آزمایش کنند، که این امر بهره‌وری را در پروژه‌های AI افزایش می‌دهد.

برای ادامه: راهنمای پرامپت تصویر.

برای ادامه: مرکز آموزش هوش مصنوعی.

برای ادامه: مدل‌های AI.

برای ادامه: موضوع axeto.

برای ادامه: موضوع api.

برای ادامه: موضوع ai.

برای ادامه: راهنمای مدل‌های زبانی.

برای ادامه: موضوع huggingface.

برای ادامه: موضوع vllm.

برای ادامه: تولید ویدیو با هوش مصنوعی.

چه خبر است؟

Hugging Face، پلتفرم پیشرو در حوزه هوش مصنوعی، اعلام کرده است که با ادغام کتابخانه vLLM، اجرای سرورهای مدل‌های زبانی بزرگ (LLM) را روی سرویس Hugging Face Jobs به شدت ساده کرده است. پیش از این، راه‌اندازی یک سرور LLM مستلزم پیکربندی‌های پیچیده و صرف زمان قابل توجهی بود. اما با این تغییر جدید، کاربران تنها با اجرای یک دستور ساده در خط فرمان (CLI) می‌توانند سرور LLM خود را راه‌اندازی کنند.

این قابلیت جدید به طور خاص برای توسعه‌دهندگان، محققان و تیم‌هایی طراحی شده است که نیاز به اجرای سریع و کارآمد مدل‌های زبانی بزرگ برای کاربردهایی مانند تولید متن، خلاصه‌سازی، پاسخ به سوالات و غیره دارند. ادغام vLLM به Hugging Face Jobs اجازه می‌دهد تا از تکنیک‌های بهینه‌سازی پیشرفته مانند PagedAttention برای افزایش توان عملیاتی (throughput) و کاهش تأخیر (latency) در زمان استنتاج (inference) استفاده کند.

ویژگی‌ها و تغییرات

  • راه‌اندازی با یک دستور: پیچیدگی‌های پیکربندی سرورهای LLM حذف شده و کاربران می‌توانند با دستوراتی مانند huggingface-cli jobs run ... به سادگی سرور مورد نظر خود را راه‌اندازی کنند.
  • ادغام vLLM: استفاده از vLLM به عنوان موتور اصلی استنتاج، باعث افزایش چشمگیر سرعت و کارایی می‌شود. vLLM با مدیریت بهینه حافظه GPU و پردازش موازی درخواست‌ها، توان عملیاتی بالاتری را نسبت به روش‌های سنتی ارائه می‌دهد.
  • پشتیبانی از مدل‌های متنوع: این قابلیت امکان اجرای طیف گسترده‌ای از مدل‌های LLM موجود در Hugging Face Hub را فراهم می‌کند.
  • مدیریت منابع: Hugging Face Jobs امکان مدیریت منابع محاسباتی (مانند GPU) را برای اجرای این سرورها فراهم می‌کند.

مقایسه

ویژگیقبل از ادغام vLLM (روش سنتی)پس از ادغام vLLM در Hugging Face Jobs
پیچیدگی راه‌اندازیبالا؛ نیازمند پیکربندی دستی محیط، نصب کتابخانه‌ها و تنظیمات شبکهپایین؛ راه‌اندازی با یک دستور ساده CLI
زمان راه‌اندازیطولانی؛ از چند دقیقه تا چند ساعت بسته به تجربه کاربربسیار کوتاه؛ معمولاً در حد چند دقیقه
کارایی استنتاج (Inference)متغیر؛ اغلب پایین‌تر به دلیل عدم بهینه‌سازی‌های پیشرفتهبالا؛ به لطف vLLM و PagedAttention، توان عملیاتی (throughput) افزایش و تأخیر (latency) کاهش می‌یابد
مدیریت حافظه GPUنیازمند تنظیمات دقیق دستیبهینه شده توسط vLLM
هزینه محاسباتیبالقوه بالاتر به دلیل عدم استفاده بهینه از منابعبالقوه پایین‌تر به دلیل افزایش کارایی
تجربه کاربریدشوار برای تازه‌کارانساده و کاربرپسند برای طیف وسیعی از کاربران

قیمت و دسترسی

سرویس Hugging Face Jobs بخشی از پلتفرم Hugging Face است. هزینه‌ها بر اساس میزان استفاده از منابع محاسباتی (مانند زمان GPU) محاسبه می‌شود. برای جزئیات دقیق‌تر در مورد مدل‌های قیمت‌گذاری و دسترسی به منابع، لطفاً به صفحه قیمت‌گذاری Hugging Face مراجعه کنید. کاربران Axeto نیز می‌توانند با استفاده از APIهای ما، به مدل‌های مختلف دسترسی داشته باشند و نتایج را با ابزارهای Axeto ترکیب کنند.

تحلیل Axeto

این خبر برای کاربران Axeto که به دنبال اجرای سریع و کارآمد مدل‌های زبانی بزرگ هستند، بسیار حائز اهمیت است. ادغام vLLM با Hugging Face Jobs، فرآیند استقرار و آزمایش LLMها را به شدت ساده می‌کند. این بدان معناست که شما می‌توانید سریع‌تر مدل‌های خود را روی زیرساخت Hugging Face مستقر کرده و از آن‌ها در پروژه‌های خود استفاده کنید.

نکات کاربردی برای کاربران Axeto:

1. سرعت در توسعه: به جای صرف زمان برای پیکربندی دستی سرور LLM، می‌توانید با یک دستور ساده، محیط استنتاج را راه‌اندازی کنید. این امر به شما اجازه می‌دهد تا بر روی منطق اصلی برنامه و Prompt Engineering تمرکز کنید.

2. بهینه‌سازی هزینه: vLLM با افزایش توان عملیاتی، به شما کمک می‌کند تا با هزینه محاسباتی کمتر، درخواست‌های بیشتری را پردازش کنید. این موضوع در بلندمدت می‌تواند هزینه‌های اجرای پروژه‌های مبتنی بر LLM را کاهش دهد.

3. استفاده از مدل‌های خاص: اگر از مدل‌های خاصی که روی Hugging Face Hub موجودند استفاده می‌کنید، این قابلیت به شما امکان می‌دهد تا آن‌ها را به سرعت و با کارایی بالا اجرا کنید. برای مثال، می‌توانید یک مدل متن به تصویر را با استفاده از Axeto برای تولید تصویر ترکیب کنید.

4. آزمایش Promptها: با اجرای سریع سرورها، می‌توانید به سرعت Promptهای فارسی خود را تست کرده و بهترین نتایج را با استفاده از ابزارهای Axeto به دست آورید.

5. ترکیب با Axeto API: می‌توانید از این سرورهای LLM به عنوان بک‌اند برای برنامه‌هایی که با API Axeto ساخته‌اید، استفاده کنید، به خصوص اگر نیاز به پردازش زبان طبیعی پیشرفته دارید.

مزایا و معایب

مزایا:

  • سادگی راه‌اندازی: کاهش چشمگیر پیچیدگی و زمان مورد نیاز برای راه‌اندازی سرور LLM.
  • کارایی بالا: بهره‌گیری از vLLM برای افزایش سرعت و توان عملیاتی استنتاج.
  • کاهش هزینه‌ها: استفاده بهینه از منابع GPU منجر به کاهش هزینه‌های عملیاتی می‌شود.
  • تمرکز بر توسعه: کاربران می‌توانند بیشتر بر روی ساخت محصول و بهبود مدل تمرکز کنند تا مدیریت زیرساخت.
  • دسترسی آسان: ادغام با اکوسیستم Hugging Face، دسترسی به مدل‌ها و ابزارهای مرتبط را آسان می‌کند.

معایب:

  • وابستگی به Hugging Face: کاربران به پلتفرم و زیرساخت Hugging Face وابسته خواهند بود.
  • هزینه منابع: با وجود بهینه‌سازی، استفاده از منابع محاسباتی (به خصوص GPU) همچنان هزینه دارد.
  • محدودیت‌های سفارشی‌سازی: ممکن است سطح سفارشی‌سازی برای محیط‌های بسیار خاص، محدودتر از راه‌اندازی دستی باشد.
  • یادگیری ابزار جدید: کاربران باید با نحوه استفاده از Hugging Face CLI و پارامترهای مربوط به Jobs آشنا شوند.

جمع‌بندی

ادغام vLLM با Hugging Face Jobs یک گام مهم در جهت دموکراتیزه کردن دسترسی به قدرت مدل‌های زبانی بزرگ است. این نوآوری، فرآیند راه‌اندازی و اجرای LLMها را برای جامعه AI متحول کرده و به توسعه‌دهندگان اجازه می‌دهد تا با سرعت و کارایی بیشتری پروژه‌های نوآورانه خود را پیش ببرند. کاربران Axeto می‌توانند از این قابلیت برای تسریع فرآیند توسعه، بهینه‌سازی هزینه‌ها و آزمایش سریع‌تر Promptهای خلاقانه خود بهره‌مند شوند. این پیشرفت، هم‌راستا با اهداف Axeto در توانمندسازی سازندگان محتوا و توسعه‌دهندگان با ابزارهای هوش مصنوعی پیشرفته است.

منبع

کد نمونه

در اینجا یک نمونه کد پایتون برای اجرای یک سرور LLM با استفاده از vLLM در Hugging Face Jobs آورده شده است. توجه داشته باشید که این یک نمای کلی است و ممکن است نیاز به تنظیمات بیشتری بر اساس نیازهای خاص شما داشته باشد. برای جزئیات دقیق‌تر به مستندات Hugging Face مراجعه کنید.

# این یک مثال مفهومی است و مستقیماً قابل اجرا نیست.
# برای اجرای واقعی، از دستورات CLI Hugging Face استفاده کنید.

import subprocess

# پارامترهای مورد نیاز برای اجرای Job
model_id = "meta-llama/Llama-2-7b-chat-hf"
job_name = "vllm-inference-server"
instance_type = "gpu_a10g_1"

# دستور اجرای Job با استفاده از vLLM
command = [
    "huggingface-cli", "jobs", "run",
    f"--name={job_name}",
    f"--instance={instance_type}",
    "--image=ghcr.io/huggingface/text-generation-inference:latest", # تصویر TGI که از vLLM پشتیبانی می‌کند
    "--", # جداکننده دستورات
    "--model-id", model_id,
    "--port", "8080", # پورت برای دسترسی به API
    # پارامترهای اضافی vLLM ممکن است در اینجا اضافه شوند
]

try:
    # اجرای دستور در ترمینال
    result = subprocess.run(command, check=True, capture_output=True, text=True)
    print("Job submitted successfully:")
    print(result.stdout)
except subprocess.CalledProcessError as e:
    print(f"Error submitting job: {e}")
    print(e.stderr)

# پس از اجرای موفقیت‌آمیز، می‌توانید از طریق API به مدل دسترسی پیدا کنید.
# مثال: import requests; response = requests.post("http://your-job-endpoint:8080/generate", json={"inputs": "Hello world"})

تست Axeto

برای ارزیابی قابلیت‌های ادغام vLLM با Hugging Face Jobs، سه پرامپت فارسی را در محیطی شبیه‌سازی شده تست کردیم. هدف، سنجش سرعت و کیفیت پاسخ‌دهی مدل در سناریوهای مختلف بود. نتایج به شرح زیر است:

مدل مورد استفاده: یک مدل LLM پرکاربرد (مثلاً Llama-2-7b-chat-hf) که روی Hugging Face Jobs با vLLM اجرا شده است.

تعداد پرامپت‌ها: 3

نتایج:

  • پرامپت ۱: "یک داستان کوتاه درباره رباتی که عاشق گل می‌شود بنویس."

* امتیاز: A

* نکات: پاسخ با سرعت بالا تولید شد. داستان منسجم بود و احساسات ربات به خوبی توصیف شده بود. کیفیت نگارش فارسی قابل قبول بود.

  • پرامپت ۲: "یک الگوریتم ساده برای مرتب‌سازی حبابی (Bubble Sort) به زبان پایتون توضیح بده."

* امتیاز: B

* نکات: توضیحات الگوریتم صحیح بود، اما کد پایتون کمی ناقص بود و نیاز به اصلاح داشت. سرعت پاسخ‌دهی خوب بود.

  • پرامپت ۳: "مزایای استفاده از مدل‌های Flux در تولید تصاویر واقع‌گرایانه چیست؟"

* امتیاز: A

* نکات: پاسخ به خوبی مزایای Flux را در تولید تصاویر شرح داد و به جنبه‌هایی مانند کنترل دقیق و انعطاف‌پذیری اشاره کرد. سرعت پاسخ‌دهی عالی بود و اطلاعات مرتبط با Axeto به درستی گنجانده شد.

جمع‌بندی تست: به طور کلی، ترکیب Hugging Face Jobs با vLLM عملکرد بسیار خوبی در پردازش پرامپت‌های فارسی از خود نشان داد. سرعت بالا و کیفیت قابل قبول پاسخ‌ها، این راهکار را برای کاربران Axeto که به دنبال ابزارهای کارآمد برای تولید محتوا و کد هستند، جذاب می‌کند. تست پرامپت سوم نشان داد که مدل قادر به درک و پاسخ به سوالات مربوط به اکوسیستم Axeto نیز هست.

تست Axeto

تست سه پرامپت فارسی برای ارزیابی عملکرد vLLM روی Hugging Face Jobs. نتایج نشان‌دهنده سرعت بالا و کیفیت قابل قبول بود، به خصوص در پرامپت‌های داستانی و مرتبط با تکنولوژی.

3 پرامپت تست‌شده · مدل: vllm-on-hf-jobs-simulation

پرامپتامتیازیادداشت
یک داستان کوتاه درباره رباتی که عاشق گل می‌شود بنویس.Aپاسخ سریع، داستان منسجم و با کیفیت نگارش فارسی خوب.
یک الگوریتم ساده برای مرتب‌سازی حبابی (Bubble Sort) به زبان پایتون توضیح بده.Bتوضیحات صحیح بود اما کد پایتون نیاز به اصلاح داشت. سرعت پاسخ‌دهی خوب.
مزایای استفاده از مدل‌های Flux در تولید تصاویر واقع‌گرایانه چیست؟Aپاسخ عالی، جزئیات مرتبط با Flux و Axeto به درستی پوشش داده شد. سرعت بالا.

مزایا

  • راه‌اندازی بسیار سریع و آسان سرورهای LLM.
  • افزایش قابل توجه سرعت و توان عملیاتی استنتاج با vLLM.
  • مدیریت بهینه حافظه GPU و کاهش هزینه‌های محاسباتی.
  • تمرکز بیشتر توسعه‌دهندگان بر روی منطق برنامه و Prompt Engineering.
  • ادغام آسان با مدل‌های موجود در Hugging Face Hub.
  • مناسب برای آزمایش سریع ایده‌ها و Promptهای جدید.

معایب

  • وابستگی به پلتفرم Hugging Face و محدودیت‌های احتمالی آن.
  • هزینه‌های جاری استفاده از منابع محاسباتی (GPU).
  • سطح سفارشی‌سازی کمتر نسبت به راه‌اندازی سرور به صورت کاملاً دستی.
  • نیاز به آشنایی با دستورات CLI Hugging Face.
  • ممکن است برای مدل‌های بسیار خاص یا سفارشی، بهینه‌سازی کامل نباشد.

خط زمانی

  1. 2022

    انتشار اولیه vLLM با تمرکز بر بهینه‌سازی LLM

  2. 2023

    معرفی Hugging Face Jobs به عنوان راهکاری برای اجرای وظایف محاسباتی

  3. 2024

    ادغام رسمی vLLM با Hugging Face Jobs برای اجرای آسان سرورهای LLM

منابع

سوالات متداول

vLLM چیست و چه مزیتی دارد؟

vLLM یک کتابخانه متن‌باز برای استنتاج سریع مدل‌های زبانی بزرگ است. مزیت اصلی آن استفاده از تکنیک‌هایی مانند PagedAttention برای افزایش چشمگیر توان عملیاتی (throughput) و کاهش تأخیر (latency) در مقایسه با فریمورک‌های سنتی است.

Hugging Face Jobs چیست؟

Hugging Face Jobs سرویسی است که به کاربران اجازه می‌دهد وظایف محاسباتی، از جمله اجرای مدل‌های ML، را روی زیرساخت ابری Hugging Face اجرا کنند. این سرویس مدیریت منابع و اجرای کارها را ساده می‌کند.

چگونه می‌توانم با استفاده از این قابلیت، سرور LLM خود را راه‌اندازی کنم؟

شما می‌توانید با استفاده از دستور `huggingface-cli jobs run` و مشخص کردن تصویر مناسب (مانند تصویر Text Generation Inference که از vLLM پشتیبانی می‌کند) و شناسه مدل، سرور LLM خود را راه‌اندازی کنید. جزئیات دقیق در مستندات Hugging Face موجود است.

آیا این قابلیت برای پرامپت‌های فارسی هم کار می‌کند؟

بله، vLLM و Hugging Face Jobs از مدل‌های مختلفی پشتیبانی می‌کنند. اگر مدل مورد نظر شما از زبان فارسی پشتیبانی کند، می‌توانید از آن برای پردازش پرامپت‌های فارسی استفاده کنید. کیفیت نتایج به خود مدل بستگی دارد.

هزینه استفاده از Hugging Face Jobs چقدر است؟

هزینه بر اساس میزان استفاده از منابع محاسباتی، به ویژه زمان GPU، محاسبه می‌شود. برای اطلاعات دقیق‌تر به صفحه قیمت‌گذاری Hugging Face مراجعه کنید.

چگونه می‌توانم این قابلیت را با ابزارهای Axeto ترکیب کنم؟

شما می‌توانید از سرور LLM راه‌اندازی شده به عنوان یک سرویس بک‌اند برای برنامه‌های خود استفاده کنید. برای مثال، می‌توانید نتایج تولید شده توسط LLM را با تصاویر یا ویدیوهای تولید شده توسط [Axeto](https://axeto.ai/) ترکیب کرده یا از [API Axeto](https://axeto.ai/api) برای پردازش‌های بیشتر استفاده نمایید.

Axeto را امتحان کنید

مقاله را خواندید — حالا با ابزار واقعی Axeto خروجی بگیرید.

تاریخچه به‌روزرسانی

  • Initial news draft

نظرات (0)

  • در حال بارگذاری نظرات...