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

«پرداخت به‌ازای مصرف»؛ استراتژی جدید Cloudflare برای میزبانی Llama 3

·۱۳ مهر ۱۴۰۵۹ دقیقه مطالعه
راهنما
استقرار Llama 3 در لبه شبکه با Cloudflare Workers AI
استقرار Llama 3 در لبه شبکه با Cloudflare Workers AI
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی مدیریت سرورهای GPU با مدل Binding در محیط Serverless؛ اکنون استقرار Llama 3 تنها با افزودن چند خط به فایل تنظیمات و بدون درگیری با زیرساخت ممکن است.

تصور کنید مدل‌های زبانی بزرگ به‌جای یک مرکز داده در آمریکا، روی صدها گره کوچک در سراسر جهان اجرا شوند و پاسخ‌ها را در کسری از ثانیه به کاربر برسانند. با استفاده از Cloudflare Workers AI، توسعه‌دهندگان اکنون می‌توانند مدل‌های هوش مصنوعی را در محیطی بدون سرور (Serverless) اجرا کنند که تمام زیرساخت آن توسط ارائه‌دهنده مدیریت می‌شود.

این پلتفرم امکان اجرای Llama 3، ترجمه متن، تولید تصویر و تبدیل گفتار به متن را در نزدیک‌ترین نقطه به کاربر نهایی فراهم می‌کند. این تحول در حالی رخ می‌دهد که توسعه‌دهندگان برای برقراری تعادل میان حریم خصوصی و سرعتِ میزبانی محلی از یک سو، و مقیاس‌پذیری ابری از سوی دیگر، در تکاپو هستند. به‌طور سنتی، افزودن قابلیت‌های هوش مصنوعی مستلزم فراخوانی APIهای خارجی مثل OpenAI یا میزبانی مدل‌های متن‌باز روی سرورهای گران‌قیمت ابری بود؛ روش اول با تأخیر و نگرانی‌های حریم خصوصی همراه است و روش دوم، چالش‌های نگهداری و مقیاس‌پذیری دشواری دارد. در همین راستا، استفاده از مدل‌های وزن‌باز برای بازبینی خصوصی کد راهکاری برای حذف نگرانی‌های مربوط به نشت داده‌ها در محیط‌های توسعه است.

همان‌طور که در تحلیل قبلی ما درباره‌ی بهینه‌سازی مدل‌های Qwen برای پنجره‌های متنی بزرگ اشاره کردیم، صنعت اکنون به سمت استقرار «بومی لبه» (Edge-native) حرکت می‌کند. در این مدل، نزدیکی به کاربر بر کنترل مطلق محلی اولویت دارد. در واقع، هوش مصنوعی شما دیگر در یک نقطه متمرکز نیست، بلکه در صدها گره کوچک جهانی پخش شده است تا تأخیر را به نزدیک‌ترین حالت ممکن به صفر برساند.

معماری فنی

به نقل از راهنمای منتشر شده در ۵ اکتبر ۲۰۲۶ در وب‌سایت dev.to، هسته این فرآیند مکانیزمی به نام «اتصالات هوش مصنوعی» (AI bindings) است. توسعه‌دهندگان به‌جای مدیریت کلیدهای پیچیده API، تنها یک بلوک [ai] به فایل تنظیمات wrangler.toml اضافه می‌کنند:

[ai]
binding = "AI"

این اتصال باعث می‌شود سرویس هوش مصنوعی از طریق آرگومان env.AI در کد ورکر در دسترس باشد. به این ترتیب، احراز هویت به‌طور خودکار توسط رابط خط فرمان Wrangler در هنگام استقرار مدیریت می‌شود و احتمال نشت امنیتی کلیدها به‌شدت کاهش می‌یابد.

پیش‌نیازها و راه‌اندازی

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

  • Node.js: نسخه ۱۸ یا جدیدتر برای اجرای ابزارها.
  • Wrangler: رابط خط فرمان Workers که با دستور npm install -g wrangler نصب می‌شود.
  • دانش JavaScript: آشنایی با مدل درخواست/پاسخ fetch.

توسعه‌دهندگان می‌توانند از ابزار create-cloudflare (C3) برای ساخت سریع پروژه استفاده کنند. انتخاب قالب «Hello World» ساده‌ترین نقطه شروع برای افزودن اتصال هوش مصنوعی است.

جزئیات پیکربندی

یک فایل wrangler.toml کامل برای پروژه‌های هوش مصنوعی لبه معمولاً شامل موارد زیر است:

  • name: شناسه پروژه (مثلاً "my-edge-ai").
  • main: فایل نقطه ورود (مثلاً "src/index.js").
  • compatibility_date: تاریخ سازگاری (مثلاً "۲۰۲۵-۰۱-۰۱") که رفتار محیط اجرا را تثبیت می‌کند.

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

انتخاب مدل و موازنه

Cloudflare فهرستی از مدل‌های متن‌باز را برای ایجاد تعادل بین سرعت و دقت ارائه می‌دهد. انتخاب مدل در واقع موازنه‌ای بین کیفیت استدلال و مصرف منابع است:

  • Llama 3 8B Instruct: برای چت‌های عمومی و خلاصه‌سازی؛ سریع و کم‌هزینه است.
  • Llama 3.1 70B Instruct: برای استدلال‌های پیچیده و پاسخ‌های طولانی؛ کندتر و گران‌تر است.
  • Mistral 7B Instruct v0.2: جایگزینی سبک برای پیش‌نویس‌ها با پاسخ‌دهی سریع.
  • Llama Guard 3 8B: مخصوص نظارت و طبقه‌بندی محتوا.

قاعده کلی این است که ابتدا با مدل 8B شروع کنید و تنها در صورتی به مدل 70B بروید که ارزیابی‌ها نشان دهد نسخه کوچک‌تر واقعاً ناتوان است.

پیاده‌سازی هندلر Fetch

برای فعال کردن مدل، توسعه‌دهندگان یک هندلر fetch می‌نویسند که داده‌های JSON را دریافت می‌کند. یک پیاده‌سازی ساده از env.AI.run برای فراخوانی شناسه مدل استفاده می‌کند. برای مثال، یک درخواست POST می‌تواند پرامپت را دریافت کرده و پاسخی با محدودیت ۲۵۶ توکن (Token) — که شبیه برش‌های یک کیک طولانی است که مدل تکه‌تکه می‌خورد — برگرداند.

در رابط‌های گفتگو، پلتفرم از آرایه پیام‌های ساختاریافته پشتیبانی می‌کند. این امکان اجازه می‌دهد نقش «سیستمی» را برای تعیین لحن مدل، جدا از ورودی «کاربر» تعریف کنید:

  • نقش سیستمی: "تو یک دستیار فنی موجز هستی."
  • نقش کاربر: پرامپت واقعی کاربر.

نکته مهم این است که مدل‌های تولید متن، خروجی خود را در فیلد response قرار می‌دهند. متن نهایی در response.response قرار دارد، نه در سطح اول شیء بازگشتی؛ جزئیاتی که اغلب کاربران تازه‌کار را غافلگیر می‌کند.

بهینه‌سازی تجربه کاربری با استریم

انتظار برای دریافت کامل پاسخ از یک مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب می‌دهد — می‌تواند تجربه کاربر را کند کند. Cloudflare این مشکل را با فعال کردن stream: true حل می‌کند. این کار یک ReadableStream برمی‌گرداند که می‌تواند به‌صورت Server-Sent Events (SSE) به مرورگر ارسال شود.

برای این کار، هندلر باید هدر "content-type": "text/event-stream" را تنظیم کند. هشدار مهم این است که استریم باید مستقیماً در یک شیء new Response() قرار گیرد؛ استفاده از Response.json() باعث شکست در سریال‌سازی داده‌ها و خالی ماندن بدنه پاسخ می‌شود.

استقرار و تست محلی

تست‌ها از طریق npx wrangler dev انجام می‌شود. چون استنتاج (Inference) — لحظه‌ای که مدل واقعاً جواب تولید می‌کند، شبیه خودِ آشپزی و نه دوره آموزش آشپز — روی GPUهای Cloudflare رخ می‌دهد، حتی در محیط محلی به اتصال اینترنت و ورود به حساب کاربری نیاز است.

پس از تایید با دستورات curl روی http://localhost:8787 و ارسال درخواست‌های POST، دستور npx wrangler deploy ورکر را به شبکه جهانی می‌فرستد. هر درخواست به‌طور خودکار به نزدیک‌ترین مرکز داده هدایت می‌شود تا کمترین زمان رفت‌وبرگشت (Round-trip time) تضمین شود.

اجتناب از خطاهای رایج

برخی خطاهای تکراری می‌توانند استقرار را متوقف کنند:

  • اتصالات تعریف‌نشده: نبود بلوک [ai] در تنظیمات باعث خطای "cannot read properties of undefined" می‌شود.
  • حساسیت به حروف: شناسه‌های مدل باید دقیق باشند (مثلاً @cf/meta/llama-3-8b-instruct)؛ هر غلط املایی منجر به خطای ۴۰۰ می‌شود.
  • قطع شدن توکن‌ها: پاسخ‌هایی که وسط جمله قطع می‌شوند، معمولاً به دلیل پایین بودن مقدار max_tokens هستند.
  • محدودیت ظرفیت: خطای ۴۲۹ نشان‌دهنده اشباع مدل یا رسیدن به سقف حساب است که نیاز به مکانیزم تلاش مجدد (Retry) دارد.
  • شکست‌های خاموش: برای عیب‌یابی این موارد می‌توان از npx wrangler tail برای مشاهده لاگ‌های زمان اجرا استفاده کرد.

امنیت تولیدی و کنترل هزینه

اجرای استنتاج در لبه نیازمند حفاظ‌های سخت‌گیرانه برای جلوگیری از هزینه‌های پیش‌بینی‌نشده است:

  • اعمال محدودیت نرخ (Rate Limiting): محدود کردن تعداد درخواست‌های هر کلاینت برای محافظت از بودجه محاسباتی GPU.
  • پاک‌سازی پرامپت‌ها: اعتبارسنجی ورودی‌ها برای جلوگیری از حملات تزریق پرامپت و حفظ استانداردهای برند.
  • محدود کردن اندازه زمینه: کوتاه نگه داشتن تاریخچه گفتگوها؛ ارسال بافرهای متنی حجیم در هر فراخوانی، هزینه پردازش توکن‌ها را افزایش می‌دهد.

این رویکرد بدون سرور، اقتصاد استقرار هوش مصنوعی را تغییر می‌دهد. با حذف نیاز به نگهداری سرورهای GPU بیکار، هزینه از یک هزینه سرمایه‌ای ثابت به یک مدل خدماتی متغیر تبدیل می‌شود که تنها به‌ازای زمان محاسبات فعال یا توکن‌های پردازش‌شده صورت می‌گیرد.

برای کسانی که ابزارهای مقیاس‌پذیر می‌سازند، گام منطقی بعدی، ترکیب این مدل‌های لبه‌ای با پایگاه‌داده‌های بدون سرور مثل Cloudflare D1 است تا برنامه‌های هوشمند حالت‌داری (Stateful) ایجاد کنند که کاملاً در لبه زندگی می‌کنند.

گام بعدی شما

  • اگر از APIهای متمرکز استفاده می‌کنید، یک نمونه کوچک را با Llama 3 8B روی Workers AI پیاده کنید تا کاهش تأخیر را بسنجید.
  • برای بهبود UX، قابلیت Streaming را جایگزین پاسخ‌های تک‌مرحله‌ای کنید.
  • برای کنترل هزینه‌ها، حتماً محدودیت نرخ (Rate Limit) را در لایه ورکر پیاده‌سازی کنید.

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

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

این تغییر معماری، هزینه استقرار مدل‌های متن‌باز را برای استارتاپ‌ها به شدت کاهش می‌دهد و تأخیر پاسخ‌دهی را به حداقل می‌رساند. اعتبار این رویکرد در تکیه بر زیرساخت جهانی Cloudflare است که مدیریت سخت‌افزار GPU را از دوش توسعه‌دهنده برمی‌دارد.

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

دسترسی به این سرویس برای توسعه‌دهندگان ایرانی به دلیل محدودیت‌های Cloudflare و تحریم‌های APIهای مدل‌های Meta، همچنان نیازمند ابزارهای تغییر آی‌پی است، اما مدل پرداخت به‌ازای مصرف، جایگزین اقتصادی‌تری برای خرید GPUهای گران‌قیمت است.

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

انتقال مدل‌های استدلالی به لبه، مفهوم «هوش مصنوعی به عنوان یک سرویس» (AIaaS) را به «هوش مصنوعی به عنوان یک زیرساخت توزیع‌شده» تبدیل می‌کند. این رویکرد وابستگی به چند ابر-شرکت متمرکز را کاهش می‌دهد و اجازه می‌دهد اپلیکیشن‌ها بدون نگرانی از قطعی APIهای مرکزی، به صورت بومی در شبکه توزیع شوند. به نظر ما، برنده واقعی این میدان، توسعه‌دهندگانی هستند که بتوانند مدل‌های کوچک (SLM) را با داده‌های محلی در لبه ترکیب کنند.

منابع

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

گفتگو

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

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

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

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

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

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

دات‌هوش

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

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