موردی برای محاسبات توزیع شده برای LLMs در فین تک

موردی برای محاسبات توزیع شده برای LLMs در فین تک

موردی برای محاسبات توزیع شده برای LLM ها در هوش داده پلاتوبلاک چین فین تک. جستجوی عمودی Ai.

سال گذشته یعنی سال 2023 به وضوح سال برجسته ای از نظر پیشرفت در زمینه حوزه هوش مصنوعی بوده است. به طور سنتی همیشه احساس می‌شد که برای بهره‌گیری از هوش مصنوعی به سرمایه‌گذاری قوی در زیرساخت و پشتیبانی نیاز است. به دلیل ظهور Generative AI، هرگز به اندازه سال گذشته واضح نبوده است. بسیاری از فناوری‌های سنتی هوش مصنوعی قبل از Gen AI در تعداد معدودی از پردازنده‌های گرافیکی و رم عملکرد خوبی داشتند. همه اینها پس از انتشار GPT-3 توسط Open AI و انتشار بیشتر تعداد زیادی مدل منبع باز تغییر کرد. این مدل های زبان بزرگ به تمام معنا بزرگ بودند، آنها به منابع محاسباتی عظیم به شکل پردازنده های گرافیکی با کارایی بالا و حافظه بزرگ از نظر رم نیاز داشتند. بخش خدمات مالی به طور خاص به عنوان برترین ذینفع این فناوری شناخته می شود. تعداد منابع مورد استفاده در این بخش در تجزیه و تحلیل و پردازش داده ها به ویژه داده های متنی را می توان تا حد زیادی با استفاده از LLM بهینه کرد. در واقع این LLM های منبع باز است که بیشترین کاربرد خود را در این بخش پیدا کرده است. دلایل متعددی برای این وجود دارد

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

(ب) سفارشی سازی LLM: بیشتر موارد استفاده در این بخش به سفارشی سازی مدل های LLM با مجموعه داده های بسیار خاص که از شرکتی به شرکت دیگر متفاوت است نیاز دارند تا پاسخ صحیح ارائه شود.

کاملاً مشهود است که کاربرد LLM منبع باز در بخش مالی در حال افزایش است، اما در عین حال چالش های زیادی در پیاده سازی اساسی راه حل LLM وجود دارد. تعداد زیادی از منابع مورد نیاز از نظر قابلیت محاسبات و حافظه پرهزینه و همچنین پشتیبانی آن دشوار است. نمونه‌ای از نقطه عطف اخیر پروژه Big Science رونمایی از BLOOM را در نظر بگیرید، مدلی با 176 میلیارد پارامتر که قادر به پشتیبانی از 46 زبان طبیعی و 13 زبان برنامه‌نویسی است. در حالی که دسترسی عمومی به این مدل‌های پارامتر 100B+ استفاده از آنها را تسهیل کرده است، چالش‌های مرتبط با حافظه بالا و هزینه‌های محاسباتی همچنان ادامه دارد. قابل ذکر است که مدل هایی مانند OPT-175B و BLOOM-176B بیش از 350 گیگابایت حافظه شتاب دهنده برای استنتاج و حتی بیشتر برای تنظیم دقیق نیاز دارند. در نتیجه، استفاده عملی از چنین LLM ها اغلب نیازمند چندین پردازنده گرافیکی پیشرفته یا خوشه های چند گره ای است که به دلیل هزینه های بالای آنها، دسترسی بسیاری از محققان و متخصصان را محدود می کند.

این امر باعث می شود که همان طور که می گویند، چشم انداز کاملاً متفاوتی را با هم آزمایش کنیم
فکر کردن خارج از جعبه.

رویکرد مشتری – سرور 

این موضوع را برای راه اندازی محاسبات توزیع شده برای LLM ها به عنوان یکی از راه حل های ممکن می سازد. همچنین منطقی است زیرا ما در حال حاضر از سیستم های محاسباتی توزیع شده معمولی مانند محاسبات ابری و لبه استفاده می کنیم. این کار همکاری بین چندین کاربر را به منظور استنتاج و تنظیم دقیق مدل‌های زبان بزرگ در اینترنت تسهیل می‌کند. شرکت کنندگان در شبکه توزیع شده می توانند نقش یک سرور، یک مشتری یا هر دو را بر عهده بگیرند. سرور مسئول میزبانی زیرمجموعه ای از لایه های مدل، معمولا بلوک های ترانسفورماتور، و مدیریت درخواست های مشتریان است. کلاینت ها به نوبه خود می توانند زنجیره ای از سرورهای متوالی موازی خط لوله را برای اجرای استنتاج کل مدل تشکیل دهند. فراتر از استنتاج، می‌توان با استفاده از روش‌های آموزشی کارآمد از نظر پارامتر مانند آداپتورها یا با آموزش کل لایه‌ها، در فعالیت‌های تنظیم دقیق شرکت کرد. زیر ماژول های آموزش دیده را می توان در یک مرکز مدل به اشتراک گذاشت، جایی که دیگران می توانند از آنها برای استنباط یا آموزش بیشتر استفاده کنند. این نشان‌دهنده اجرای کارآمد مدل‌های 100B+ موجود در این تنظیمات مشترک است که به کمک چندین بهینه‌سازی مانند کوانتیزه‌سازی پویا، اولویت‌بندی اتصالات با تأخیر کم، و متعادل‌سازی بار بین سرورها انجام می‌شود. اجازه دهید در این مورد با جزئیات بیشتر بحث کنیم.

طرح و بررسی اجمالی فنی

کاربردهای عملی مدل‌های زبان بزرگ را می‌توان به طور کلی به دو سناریو اصلی طبقه‌بندی کرد: استنتاج و انطباق کارآمد از نظر پارامتر با وظایف پایین دستی. من سعی می‌کنم طرح شبکه توزیع‌شده را تشریح کنم و توضیح دهم که چگونه به‌طور مؤثر هر دو سناریو را مدیریت می‌کند و اشتراک‌گذاری یکپارچه آداپتورهای آموزش‌دیده را در میان کاربران سیستم تسهیل می‌کند.

  • استنتاج مدل های میلیاردی: در فرآیند تولید توکن، یک کلاینت به صورت محلی جاسازی‌های توکن مدل را ذخیره می‌کند، که معمولاً بخش کوچکی از کل پارامترها را تشکیل می‌دهند و به راحتی در RAM اکثر لپ‌تاپ‌ها، سرورها و ایستگاه‌های کاری مدرن جای می‌گیرند. کلاینت برای اجرای بلوک های ترانسفورماتور به سرورها متکی است، هر سرور میزبان چندین بلوک متوالی است که تعداد آنها توسط حافظه GPU موجود تعیین می شود. قبل از هر جلسه استنتاج، کلاینت زنجیره ای از سرورها را ایجاد می کند که در مجموع تمام لایه های مدل را در بر می گیرد. در طول جلسه فعال، مشتری از لایه جاسازی محلی برای بازیابی بردارهای تعبیه شده برای توکن های پیشوندی، انتقال این بردارها به سرورها و دریافت نمایش های به روز استفاده می کند. پس از به دست آوردن خروجی های بلوک نهایی، مشتری احتمالات توکن بعدی را محاسبه کرده و از طریق این فرآیند تکرار می کند. سرورها کلیدهای توجه و مقادیر ورودی های مشتری قبلی را برای مراحل استنتاج بعدی حفظ می کنند و کلاینت ها ورودی های گذشته را در هر سرور ذخیره می کنند تا در صورت خرابی یا آفلاین شدن سرور، جایگزینی سریع را تسهیل کنند.
  • آموزش وظایف پایین دستی: در حالی که مدل های زبان بزرگ (LLM) در بسیاری از مشکلات با مهندسی سریع ساده برتری دارند، دستیابی به نتایج بهینه اغلب نیاز به آموزش دارد. استراتژی‌های تنظیم دقیق سنتی، که شامل به‌روزرسانی تمام پارامترهای مدل برای کار پایین‌دستی است، به دلیل نیازهای سخت‌افزاری گسترده، برای مدل‌های بسیار بزرگ غیرعملی می‌شوند. به عنوان مثال، تنظیم دقیق BLOOM-176B تقریباً به 3 ترابایت حافظه GPU نیاز دارد تا مدل، گرادیان و حالت های بهینه ساز را تطبیق دهد. برای مقابله با این چالش، جامعه NLP روش های تنظیم دقیق پارامتر کارآمد را ابداع کرده است که اکثر پارامترهای مدل از پیش آموزش دیده را حفظ می کند. برخی از رویکردها زیرمجموعه‌ای از پارامترهای موجود را انتخاب می‌کنند، در حالی که برخی دیگر مدل را با وزن‌های قابل آموزش اضافی تقویت می‌کنند. علی‌رغم نیازهای کمتر حافظه، این رویکردهای کارآمد از نظر پارامتر اغلب به خوبی با تنظیم دقیق مدل کامل رقابت می‌کنند و می‌توانند در سناریوهای کم داده از آن بهتر عمل کنند.
  • تنظیم دقیق توزیع شده: ایده اساسی پشت تنظیم دقیق در یک شبکه توزیع شده این است که مشتریان دارای پارامترهای آموزش دیده هستند، در حالی که سرورها میزبان لایه های اولیه از پیش آموزش دیده هستند. سرورها می توانند پس انتشار را در لایه های خود اجرا کنند و گرادیان های مربوط به فعال سازی ها را برگردانند، اما پارامترهای سمت سرور را به روز نمی کنند. این به مشتریان اجازه می دهد تا به طور همزمان وظایف آموزشی مختلف را در مجموعه ای از سرورها بدون تداخل انجام دهند.

ساختار داخلی و بهینه سازی ها

ملاحظات عملکرد برای استنتاج توزیع شده بسیار مهم است و شامل سه جنبه کلیدی است: سرعت محاسبات (مقایسه یک GPU بازی 5 ساله با یک GPU جدید مرکز داده)، تاخیر ارتباطی به دلیل فاصله گره (بین قاره ای در مقابل محلی) و پهنای باند ناشی از تاخیر ارتباطی (10 مگابیت بر ثانیه در مقابل 10 گیگابیت بر ثانیه). در حالی که حتی پردازنده‌های گرافیکی درجه یک مصرف‌کننده مانند GeForce RTX 3070 توانایی اجرای یک مرحله استنتاج کامل از BLOOM-176B را در کمتر از یک ثانیه دارند، چالش در محدودیت‌های حافظه GPU نهفته است که نیازمند راه‌حل‌های کارآمد است. یکی از راه‌های رفع این مشکل، استفاده از کوانتیزه‌سازی برای ذخیره‌سازی پارامترهای بهینه و اولویت‌بندی سرور پویا برای افزایش سرعت ارتباط است.

  • استفاده از پردازنده های گرافیکی مصرف کننده: با توجه به این واقعیت که هر سرور دارای حداقل 16 گیگابایت رم CPU و 8 گیگابایت حافظه GPU است، هدف اصلی به حداقل رساندن ردپای حافظه مدل است و هر دستگاه را قادر می سازد تا بلوک های ترانسفورماتور بیشتری را در خود جای دهد. برای BLOOM با پارامترهای 176B، که به 352 گیگابایت حافظه GPU با دقت 16 بیتی نیاز دارد، می‌توانیم این را با فشرده‌سازی حالت‌های پنهان از طریق کمی‌سازی بلوکی پویا و کاهش وزن‌ها به دقت 8 بیتی با استفاده از تجزیه ماتریس مختلط، بهینه کنیم. این منجر به کاهش قابل توجهی در تعداد گره های مورد نیاز می شود که به طور موثر تاخیر را به نصف کاهش می دهد و احتمال شکست را به حداقل می رساند.
  • فشرده سازی ارتباط بافر ها:
    ما می‌توانیم از کوانتیزه‌سازی پویا بلوک در حالت‌های پنهان قبل از ارتباط موازی خط لوله استفاده کنیم و نیاز به پهنای باند را بدون به خطر انداختن کیفیت تولید به نصف کاهش دهیم. 
  • فشرده سازی وزنه های مدل: استفاده از تجزیه ماتریس مختلط 8 بیتی برای ضرب ماتریس، ردپای حافظه را تقریباً به نصف کاهش می دهد بدون اینکه کیفیت را کاهش دهد.
  • همکاری از طریق اینترنت: به منظور اطمینان از استنتاج و آموزش قابل اعتماد علیرغم پیوستن، خروج یا شکست گره ها. ما می توانیم از کتابخانه hivemind برای آموزش غیرمتمرکز و پروتکل های سفارشی تحمل خطا برای سرورها و کلاینت ها استفاده کنیم.

دموکراتیک سازی و نگرانی های حفظ حریم خصوصی

ما می توانیم از بلاک چین الهام بگیریم تا عدم تعادل احتمالی بین همتایان تامین کننده منابع GPU (سرورها) و کسانی که از این سرورها برای استنتاج یا تنظیم دقیق استفاده می کنند را برطرف کنیم. برای رفع این مشکل، می توان یک سیستم تشویقی را اجرا کرد. همتایان در حال اجرا سرورها می‌توانند امتیاز ویژه‌ای کسب کنند که برای استنتاج با اولویت بالا و تنظیم دقیق یا پاداش‌های دیگر قابل بازخرید است. هدف این رویکرد تشویق مشارکت فعال و حفظ یک شبکه متعادل است. یک محدودیت پذیرفته شده در رویکرد فعلی ما نگرانی بالقوه حفظ حریم خصوصی است که در آن همتایان که لایه‌های اولیه مدل را ارائه می‌کنند ممکن است از ورودی‌ها برای بازیابی نشانه‌های ورودی استفاده کنند. یکی از راه‌های رسیدگی به این موضوع این است که به کاربرانی که داده‌های حساس را مدیریت می‌کنند، توصیه می‌شود مشتریان خود را به سرورهای قابل اعتماد محدود کنند یا گروه ایزوله خود را ایجاد کنند. اگرچه می‌توانیم فناوری‌های تقویت‌کننده حریم خصوصی مانند محاسبات چند جانبه ایمن یا سخت‌افزار حفظ حریم خصوصی NVIDIA را بررسی کنیم.

نتیجه

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

 

تمبر زمان:

بیشتر از فینسترا