یک گردشکار هوش مصنوعی به منابعی برای ابزارهای واقعی و همزمانی خود نیاز دارد، و به مجوزهایی که بیرون از مدل قابل اجرا باقی بمانند. استنتاج راهدور و استنتاج محلی به تصمیمهای متفاوتی درباره CPU، حافظه، ذخیرهسازی و GPU منجر میشوند.
پیش از انتخاب ماشین، کار را نامگذاری کنید
یک کارگر هوش مصنوعی مدل را با نرمافزاری ترکیب میکند که وظایف را دریافت میکند، زمینه را جمعآوری میکند و ابزارها را فراخوانی میکند. یک دستهبند اسناد زمانبندیشده، یک دستیار جستجوی داخلی و یک گردشکار مبتنی بر مرورگر نیازهای عملیاتی متفاوتی دارند. ورودی، خروجی مورد انتظار، سیستمهایی که ممکن است با آنها تماس بگیرد و نقطهای که یک شخص یک اقدام پرعارضه را تأیید میکند را بنویسید. این مشخصات کوچک بیش از برچسب agent درباره میزبان به شما میگوید.
با یک کار تکرارپذیر و یک حساب محدود شروع کنید. کارگری که پیشنویس پاسخ را تهیه میکند به اختیار کمتری از کارگری نیاز دارد که آن را ارسال میکند. این مراحل را در برنامه جدا نگه دارید. سرور باید از گردشکار تأییدشده پشتیبانی کند بدون اینکه هر دستور تولیدشده را به یک عملیات اجرایی تبدیل کند. تکمیل یعنی یک نتیجه تأییدشده یا یک وضعیت شکست واضح، نه یک حلقه در حال اجرای نامحدود.
مدل راهدور را از مدل محلی جدا کنید
وقتی مدل پشت یک API خارجی اجرا میشود، VPS عمدتاً میزبان صف، برنامه، ابزارها و وضعیت پایدار است. تقاضای حافظه آن از همان فرایندها میآید، از جمله هر مرورگر یا تجزیهکننده سند. یک GPU روی این ماشین مدلی را که جای دیگری اجرا میشود تسریع نمیکند. ثبت کنید که کدام محتوا از مرز API عبور میکند و آن ارائهدهنده را مستقل از مکان کارگر ارزیابی کنید.
استنتاج محلی ذخیرهسازی مدل، حافظه مدل و سازگاری زمان اجرا را به بودجه اضافه میکند. ابزارهای استنتاج مانند Ollama اطلاعاتی درباره جایگذاری CPU یا GPU و درخواستهای همزمان ارائه میدهند. مدل انتخابشده، طول زمینه و همزمانی را با هم آزمایش کنید. زمینه بزرگتر یا کارهای همزمان بیشتر میتواند تقاضای حافظه را بالا ببرد؛ اندازه فایل مدل بهتنهایی یک روش اندازهبندی ناقص است. پیش از انتخاب یک پیکربندی GPU، سختافزار پشتیبانیشده زمان اجرا را بررسی کنید.
| الگوی کارگر | پرسش اصلی منابع | مرز برای بازبینی |
|---|---|---|
| مدل راهدور API | حافظه برنامه و ابزار | محتوای ارسالشده به ارائهدهنده مدل |
| مدل محلی | مدل، زمینه و حافظه کاری | سازگاری زمان اجرا و دستگاه |
| گردشکار مرورگر | فرایندهای اوج مرورگر و فایلهای موقت | محتوای وب و اقدامات مجاز |
یک صف نماینده را اندازهگیری کنید
مجموعه کوچکی از وظایف را با ورودیهای عادی و بهطور غیرعادی بزرگ آماده کنید. اوج حافظه، زمان پردازش سپریشده، ذخیرهسازی موقت و تعداد فراخوانیهای خارجی را اندازهگیری کنید. موارد شکست را هم بگنجانید: یک API در دسترس نباشد، یک سند بدشکل و یک مهلت زمانی ابزار. این اندازهگیریها یک تمرین برنامهریزی برای نرمافزار شماست، نه یک بنچمارک یا وعده عملکرد برای یک طرح SwissOctet.
حداکثر تعداد کارهای فعال و حداکثر زمان اجرا را تعیین کنید. کاری را که نمیتواند بهطور ایمن شروع شود در صف بگذارید و اضافهبار را به شکلی قابل پیشبینی رد کنید. تلاش مجدد فوری برای هر شکست میتواند هم فشار سرور و هم هزینه API را چند برابر کند. از یک سیاست تلاش مجدد محدود و یک شناسه استفاده کنید که مانع اعمال دوباره همان اقدام تکمیلشده شود. هنگام فعال بودن کارها، ظرفیتی برای سیستمعامل، پایش و نگهداری رزرو کنید.
به ابزارها اختیاری کمتر از جاهطلبی کارگر بدهید
اسناد و صفحات وبی که به یک مدل داده میشوند میتوانند حاوی دستوراتی باشند که قصد دارند آن را منحرف کنند. محتوای بازیابیشده را بهعنوان ورودی در نظر بگیرید، نه بهعنوان منبع مجوز عملیاتی. راهنمای OWASP درباره تزریق پرامپت چند لایه کنترل را توصیه میکند، از جمله ابزارهای محدود و بررسیهایی پیرامون اقدامات حساس. مجوزها را در پیادهسازی ابزار و محیط عملیاتی قرار دهید، جایی که مدل نمیتواند آنها را از طریق یک پاسخ بازنویسی کند.
برای کارهای جداگانه از اعتبارنامههای جداگانه استفاده کنید، با دسترسی فقط به رکوردها یا پوشههایی که هر کدام نیاز دارند. پارامترهای ساختاریافته را به دستورات شل تولیدشده توسط مدل ترجیح دهید. مقصدهای فایل و اهداف خروجی را اعتبارسنجی کنید. برای ارسال پیام، انتشار تغییرات یا تغییر رکوردهای مهم، یک مرز تأیید آگاهانه لازم کنید. یک کارگر پژوهشی فقطخواندنی و یک مدیر تولید هرگز نباید صرفاً به این دلیل که هر دو روی یک میزبان اجرا میشوند، همان اعتبارنامهها را به ارث ببرند.
کنترلهای منابع و بازیابی را صریح نگه دارید
کانتینرها میتوانند وابستگیها و مرزهای فرایند را سازمان دهند، اما به پیکربندی آگاهانه نیاز دارند. Docker مستند میکند که کانتینرها بهطور پیشفرض محدودیت منابع ندارند. محدودیتهای مناسب حافظه و CPU را تعیین کنید، در جایی که پشتیبانی میشود از یک فرایند بدون امتیاز استفاده کنید و فقط دادههای لازم را mount کنید. نقاط پایانی مدل و رابطهای مدیریتی را محدود نگه دارید، نه اینکه صرفاً برای راحت کردن آزمون اولیه آنها را افشا کنید.
وضعیت کار را جدا از فایلهای کاری موقت پایدار نگه دارید. اطلاعات کافی برای شناسایی کار تکمیلشده پس از راهاندازی مجدد ثبت کنید، بدون اینکه هر پرامپت را برای همیشه ذخیره کنید. اعتبارنامهها را از لاگها و مصنوعات تولیدشده محافظت کنید. نگهداری ورودیها، خروجیها و دادههای تشخیصی را تعریف کنید. یک آزمون بازیابی باید کارگر را دوباره راهاندازی کند و تأیید کند که کارهای ناتمام بهطور ایمن ادامه مییابند، کارهای تکمیلشده تکمیلشده میمانند و شکستها برای اپراتور قابل مشاهده میمانند.
اولین استقرار را به یک آزمون پذیرش تبدیل کنید
گردشکار محدود را با دادههای نمونه مصنوعی یا تأییدشده پیش از اعطای دسترسی گستردهتر اجرا کنید. خروجی مفید، مجوزها، رفتار صف و بازیابی از یک وابستگی ناموفق را بررسی کنید. کل فرایند را مشاهده کنید، از جمله فرزندان مرورگر و دانلودهای داده. اگر مدل محلی است، یک شروع سرد و تعداد درخواستهای همزمان مورد نظر را در آزمون بگنجانید.
از Vector یا Pulse بهعنوان فهرست کوتاه مشخصات برای کارگران معمولی استفاده کنید، و Tensor را فقط زمانی مقایسه کنید که زمان اجرای استنتاج به منابع GPU مناسب نیاز دارد. پیش از سفارش واقعی، سازگاری و دسترسپذیری را تأیید کنید. مجوزهای کارگر را فقط پس از قابل بازبینی بودن رفتارش گسترش دهید. هدف یک سرویس با پوشش عملیاتی روشن، بودجه منابع قابل اندازهگیری و راهی ساده برای توقف و بازیابی کار است.
چکلیست عملی شما.
- یک کار و مرز تأیید آن را توصیف کنید.
- پردازش راهدور API را از استنتاج محلی جدا کنید.
- ابزارها، مرورگرها و اوج همزمانی را اندازهگیری کنید.
- محدودیتهای زمان، منابع و مجوز را اعمال کنید.
- راهاندازیهای مجدد را بدون تکرار اقدامات تکمیلشده آزمایش کنید.
جزئیاتی که اهمیت دارند.
آیا هر کارگر هوش مصنوعی به یک GPU نیاز دارد؟+
خیر. کارگری که یک مدل راهدور API را فراخوانی میکند معمولاً به منابعی برای هماهنگسازی و ابزارها نیاز دارد. استنتاج محلی نیازمندیهای سختافزاری و زمان اجرای جداگانه دارد.
آیا یک کانتینر یک گردشکار خودمختار را ایمن میکند؟+
خیر. مجوزها، mountها، دسترسی شبکه و محدودیتهای منابع آن را پیکربندی کنید و اقدامات پرعارضه ابزار را بیرون از مدل بررسی کنید.
آیا میزبانی کارگر در سوئیس هر پرامپت را همانجا نگه میدارد؟+
خیر. APIهای مدل راهدور و سایر یکپارچهسازیها ممکن است محتوا را جای دیگری پردازش کنند. آن وابستگیها را بهصراحت نقشهبرداری کنید.
به منبع بروید.
این منابع از مفاهیم فنی این راهنما پشتیبانی میکنند. پیش از تغییر یک سیستم تولیدی، مستندات جاری را دنبال کنید.
- Docker: محدودیتهای منابع docs.docker.com
- OWASP: پیشگیری از تزریق پرامپت LLM cheatsheetseries.owasp.org
- Ollama: پرسشهای متداول زمان اجرا و همزمانی docs.ollama.com
راهنمایی تحریریه توسط SwissOctet. مثالها نمایشی هستند. مشخصات خدمات، گزینههای موجود و شرایط قراردادی باید جداگانه تأیید شوند.