انتخاب زبان

اسپلیت‌وایز: استنتاج کارآمد مدل‌های زبانی بزرگ مبتنی بر تولید با استفاده از تقسیم‌بندی فازی

اسپلیت‌وایز با تقسیم محاسبات پرامپت و فازهای تولید توکن روی ماشین‌های مجزا، استنتاج مدل‌های زبانی بزرگ را بهینه کرده و به توان عملیاتی بالاتر و هزینه/مصرف برق کمتری دست می‌یابد.
computingpowercoin.org | PDF Size: 2.6 MB
امتیاز: 4.5/5
امتیاز شما
شما قبلاً به این سند امتیاز داده اید
جلد سند PDF - اسپلیت‌وایز: استنتاج کارآمد مدل‌های زبانی بزرگ مبتنی بر تولید با استفاده از تقسیم‌بندی فازی

فهرست مطالب

1. مقدمه

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

2. پیشینه و انگیزه

2.1 فازهای استنتاج مدل زبانی بزرگ

استنتاج مدل زبانی بزرگ شامل دو فاز متمایز است:

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

2.2 محدودیت‌های سخت‌افزاری

مقایسه مشخصات پردازنده گرافیکی

A100 در مقابل H100: افزایش ۳.۴۳ برابری محاسبات اما بهبود تنها ۱.۶۴ برابری پهنای باند حافظه

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

3. طراحی اسپلیت‌وایز

3.1 نمای کلی معماری

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

3.2 مدیریت منابع ویژه فاز

پردازنده‌های گرافیکی با قدرت محاسباتی بالا (H100) برای فاز پرامپت، پردازنده‌های گرافیکی مقرون‌به‌صرفه برای فاز تولید توکن.

4. پیاده‌سازی فنی

4.1 مبانی ریاضی

مکانیزم توجه در ترنسفورمرها را می‌توان به صورت زیر نمایش داد:

$Attention(Q, K, V) = softmax(\\frac{QK^T}{\\sqrt{d_k}})V$

که در آن $Q$، $K$، $V$ به ترتیب نشان‌دهنده کوئری‌ها، کلیدها و مقادیر هستند، و $d_k$ بعد کلیدها است.

4.2 پیاده‌سازی کد

class SplitwiseScheduler:
    def schedule_request(self, request):
        if request.phase == "prompt":
            return self.assign_to_prompt_machine(request)
        else:
            return self.assign_to_token_machine(request)
    
    def transfer_state(self, prompt_output, token_machine):
        # انتقال حالت کارآمد با استفاده از RDMA
        return token_machine.load_state(prompt_output)

5. نتایج آزمایشی

اسپلیت‌وایز به دست می‌آورد:

  • ۱.۴ برابر توان عملیاتی بالاتر با ۲۰٪ هزینه کمتر
  • ۲.۳۵ برابر توان عملیاتی بیشتر تحت بودجه‌های یکسان قدرت و هزینه
  • بهبود ثبات تأخیر و بهره‌وری منابع

6. تحلیل و بحث

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

این کار بر اساس اصول ثابت‌شده در معماری کامپیوتر، به ویژه مسئله دیوار حافظه که توسط وولف و مک‌کی در سال ۱۹۹۵ شناسایی شد، بنا شده است که بر شکاف فزاینده بین سرعت پردازنده و عملکرد حافظه تأکید داشت. مکانیزم توجه معماری ترنسفورمر که اولین بار در مقاله ۲۰۱۷ واسوانی و همکاران با عنوان "توجه تنها چیزی است که نیاز دارید" معرفی شد، ذاتاً این دو فاز محاسباتی متمایز را ایجاد می‌کند، اما تلاش‌های بهینه‌سازی قبلی عمدتاً بر فشرده‌سازی و کوانتیزاسیون مدل متمرکز بودند تا جداسازی معماری.

در مقایسه با استقرار یکپارچه سنتی، رویکرد جداسازی فازی اسپلیت‌وایز نشان می‌دهد که چگونه می‌توان از سخت‌افزار تخصصی به طور مؤثرتری استفاده کرد، مشابه نحوه بهینه‌سازی پادهای TPU گوگل برای بارهای کاری خاص یادگیری ماشین. بهبود ۱.۴ برابری توان عملیاتی و کاهش ۲۰٪ هزینه به ویژه با توجه به مقیاس عظیم استقرارهای مدرن مدل‌های زبانی بزرگ قابل توجه است، جایی که حتی بهبودهای درصدی کوچک نیز به صرفه‌جویی‌های عملیاتی قابل توجهی تبدیل می‌شوند.

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

7. کاربردهای آینده

جهت‌گیری‌های آینده شامل موارد زیر است:

  • بهینه‌سازی استنتاج مدل‌های چندوجهی
  • استقرارهای رایانش لبه
  • تخصیص منابع تطبیقی بلادرنگ
  • ادغام با معماری‌های سخت‌افزاری نوظهور

8. مراجع

  1. Vaswani, A., et al. "Attention is All You Need." NeurIPS 2017.
  2. Brown, T., et al. "Language Models are Few-Shot Learners." NeurIPS 2020.
  3. Wulf, W. A., & McKee, S. A. "Hitting the memory wall: implications of the obvious." ACM SIGARCH Computer Architecture News, 1995.
  4. NVIDIA Corporation. "NVIDIA H100 Tensor Core GPU Architecture." 2022.
  5. Dean, J., & Ghemawat, S. "MapReduce: Simplified data processing on large clusters." OSDI 2004.