در دنیای امروز، تحلیل خودکار بازخورد مشتریان یکی از کاربردهای کلیدی هوش مصنوعی است. تصور کنید یک سرویس Discord دارید و میخواهید نظرات مثبت و منفی کاربران را بهصورت خودکار تشخیص دهید تا بتوانید پاسخ مناسبی به آنها بدهید. این دقیقاً همان چالشی است که «ماکسنس دومینیچی»، توسعهدهنده و عضو جامعه Hugging Face، در مقاله خود به آن پرداخته است. او با استفاده از کتابخانه Transformers و سرویسهای Google Cloud، یک پایپلاین تحلیل احساسات را بدون نیاز به مدیریت سرور مستقر کرد.
هدف: تشخیص هوشمند احساسات در نظرات مشتریان
هدف اصلی ایجاد یک میکروسرویس بود که بتواند نظرات کاربران Discord را به دو دسته مثبت و منفی تقسیم کند. چنین سیستمی به کسبوکار اجازه میدهد تا با نظرات منفی سریعتر برخورد کند؛ مثلاً بهطور خودکار از کاربر عذرخواهی کرده و به او اطلاع دهد که تیم پشتیبانی بهزودی برای کمک تماس خواهد گرفت. این کار تجربه مشتری را بهبود میدهد و باعث افزایش رضایت میشود.
مراحل استقرار پایپلاین در Google Cloud
نویسنده برای رسیدن به این هدف، چهار سرویس مختلف ابری را بررسی کرد و در نهایت راهکاری مقیاسپذیر و مقرونبهصرفه را انتخاب نمود. مراحل اصلی این سفر به شرح زیر است:
- تحقیق اولیه: بررسی سرویسهای مختلف Google Cloud از جمله AI-Platform Prediction، App Engine و Cloud Run.
- آزمایش با AI-Platform: ارزیابی قابلیتهای این سرویس برای میزبانی مدلهای ترنسفورمرز و بررسی محدودیتهای آن.
- آزمایش با App Engine: تست امکان اجرای برنامه در محیط استاندارد App Engine و سازگاری آن با کتابخانه Transformers.
- پیادهسازی نهایی با Cloud Run: انتخاب Cloud Run بهعنوان سرویس نهایی به دلیل پشتیبانی از کانتینر، مقیاسپذیری خودکار و هزینه منصفانه.
چرا Cloud Run انتخاب شد؟
سرویس Cloud Run به توسعهدهندگان اجازه میدهد کانتینرهای بدون وضعیت (stateless) را بهصورت بدون سرور اجرا کنند. این سرویس با کتابخانه Transformers سازگاری عالی دارد و میتواند درخواستها را بهصورت خودکار مقیاسپذیر مدیریت کند. نکته مهم این است که فقط زمانی که درخواستی وجود دارد، هزینه پرداخت میکنید و این برای سرویسهایی که ترافیک متغیر دارند، ایدهآل است. نویسنده پس از آزمایش سرویسهای دیگر، به این نتیجه رسید که Cloud Run بهترین تعادل را میان سادگی استقرار، انعطافپذیری و هزینه فراهم میکند.
عملکرد و هزینهها
در مقاله بهرهوری و هزینه اجرای پایپلاین مورد بررسی قرار گرفته است. با استفاده از Cloud Run، زمان پاسخگویی و مصرف منابع بهینه شد. هزینه نهایی به عواملی مانند تعداد درخواستها، زمان اجرا و میزان حافظه تخصیصیافته بستگی دارد. از آنجا که Cloud Run در حالت غیرفعال هیچ هزینهای ندارد، این راهکار برای پروژههای کوچک و متوسط بسیار اقتصادی است. نکته دیگر این است که میتوان با تنظیم حداقل و حداکثر نمونهها (instances)، رفتار سرویس را با بودجه و ترافیک مورد انتظار هماهنگ کرد.
نتیجهگیری
استقرار یک پایپلاین ترنسفورمرز بهصورت بدون سرور روی Google Cloud، با وجود چالشهای اولیه، کاملاً شدنی است. تجربه نویسنده نشان میدهد که با کمی تحقیق و آزمایش، میتوان راهکاری مقیاسپذیر و مقرونبهصرفه برای پردازش زبان طبیعی ایجاد کرد. این کار گام بزرگی در دموکراتیزه کردن هوش مصنوعی است؛ چرا که هر توسعهدهندهای میتواند بدون نگرانی از زیرساخت، مدلهای پیشرفته را در اختیار کاربران خود قرار دهد. اگر شما هم قصد دارید سرویس مشابهی راهاندازی کنید، مسیر تجربهشده در این مقاله میتواند نقطه شروع بسیار خوبی باشد.
پرسشهای پرتکرار
برای اجرای پایپلاین ترنسفورمرز روی Google Cloud چه سرویسی بهتر است؟
در این مقاله Cloud Run بهترین گزینه معرفی شده است؛ زیرا از کانتینر پشتیبانی میکند، مقیاسپذیری خودکار دارد و هزینه آن بر اساس تعداد درخواستها محاسبه میشود. در حالت بیکار هزینهای پرداخت نمیکنید.
چطور میتوان هزینه استقرار مدل ترنسفورمرز را در Google Cloud کاهش داد؟
استفاده از Cloud Run باعث میشود هزینه فقط هنگام پردازش درخواست محاسبه شود. همچنین با تنظیم حداقل نمونهها روی صفر و بهینهسازی حافظه و زمان اجرا، میتوان هزینه را برای ترافیک متغیر به حداقل رساند.