چرا BERT می‌تواند کند باشد؟

مدل‌های مبتنی بر ترنسفورمر، به‌خصوص BERT، تبدیل میلیون‌ها پارامتر شناسایی دقیق متن را ممکن می‌سازند. ولی همین حجم پارامتر و عملیات متوالی متمم (self‑attention) باعث می‌شود که زمان اجرای آن‌ها در مقایسه با الگوریتم‌های سنتی، بیشتر باشد. این باعث می‌شود شرکت‌ها برای استفاده‌ی گسترده از این مدل‌ها به راه‌حل‌های سرعت‌بخش نیاز پیدا کنند.

نحوه‌ی سرعت‌بخشی با AWS Inferentia

Amazon Inferentia یک تراشه‌ مخصوص آپلود‌ی روی حسابتیا در AWS است که برای عملیات فراوانی که در ترنسفورمرها رخ می‌دهد، بهینه شده است. این تراشه می‌تواند از بارهای کم تا متوسط را در یک نقطه‌ی حریف به سادگی تسخیر کند و در نتیجه زمان اختتام معدن را به 10‑30 درصد کاهش دهد. با تبدیل مدل BERT به فرمت Neuron و استقرار آن در Amazon SageMaker، شرکت‌ها می‌توانند به سرعت عملیاتی جمعی برای پردازش متن را اجرا کنند.

خطوات عملی برای توسعه‌ی سرویس

در ادامه گام‌های روشنی که لازم است برای آماده‌سازی سرویس BERT روی AWS Inferentia طی کنید، توضیح می‌دهیم:

  • ۱. تبدیل مدل به فرمت Neuron با استفاده از torch2neuron
  • ۲. نوشتن inference.py برای دسته‌بندی متن
  • ۳. آپلود مدل و اسکریپت به Amazon S3
  • ۴. ایجاد نقطه انتهایی SageMaker برای پیش‌بینی زمان واقعی
  • ۵. اجرای تست و ارزیابی عملکرد و مقایسه با نسخه‌ی توزیع شده در سرورهای سنتی

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

پرسش‌های پرتکرار

چرا BERT در مقایسه با الگوریتم‌های سنتی کند است؟

BERT با میلیون‌ها پارامتر و عملیات self‑attention در هر لایه، حجم زیادی را در حافظه بارگذاری می‌کند و هر بار پردازش الگوریتم‌های کندی را ایجاد می‌کند. این بارگذاری مکرر در دقت پایین سرعت را مختل می‌کند.

مزایای استفاده از AWS Inferentia برای مدل‌های BERT چیست؟

AWS Inferentia برای پردازش تراشه مخصوص ترنسفورمر طراحی شده و بار پارامترهای BERT را به‌صورت موازی و با حدود ۱۰-۳۰٪ سریع‌تر از ماشین‌های سنتی پردازش می‌کند. این باعث کاهش هزینه، افزایش سرعت و قابلیت مقیاس‌پذیری می‌شود.