مسیر بهینه پردازش هوش مصنوعی؛ کاهش هزینهها با انتقال حافظه کش به درایوهای اساسدی
زیرساختهای هوش مصنوعی سازمانی تغییرات بزرگی کردهاند. شرکتها حالا به جای تمرکز روی آموزش مدلها، روی سرویسدهی و پاسخگویی به کاربران تمرکز دارند. این تغییر مسیر، اقتصاد این حوزه را کاملاً دگرگون کرده است. آموزش یک مدل، پروژهای با نقطه پایان مشخص است؛ اما سرویسدهی یک فرایند دائمی است که خروجی آن با واحد «توکن» سنجیده میشود.
مشکل اقتصادی امروز دیتاسنترها این است: وقتی کارتهای گرافیک در رک قرار گرفتند و بودجه برق تعیین شد، درآمد کسبوکار دقیقاً به این بستگی دارد که سختافزارها چقدر توکن تولید میکنند.
- مدیریت هوشمندانه حافظه: حافظه ویدیویی گرافیکها خیلی زود پر میشود. رم سیستم هم ظرفیت محدودی دارد. در اینجا، انتقال اطلاعات به حافظه فلش (SSD) بهترین راهکار است.
- جلوگیری از پردازش دوباره: وقتی اطلاعات روی اساسدی ذخیره شوند، گرافیک مجبور نیست سوالات تکراری کاربران را دوباره پردازش کند.
- سرعت بیشتر برای کاربران: برای کاربری که پس از مدتی به مکالمه برمیگردد، زمان دریافت پاسخ از ۱۳.۹ ثانیه به تنها ۳.۲ ثانیه کاهش مییابد.
- دوام بالا ضروری است: این فرایند به نوشتن مداوم اطلاعات نیاز دارد. بنابراین استفاده از درایوهای بسیار مقاوم سازمانی حیاتی است.
در مکالمات طولانی با هوش مصنوعی، متنهای قبلی بارها و بارها از مدل عبور میکنند. پردازنده گرافیکی یک بار هزینه پردازش این کلمات را پرداخته است. اما وقتی حافظه پنهان (که به آن کش KV میگویند) پر شود، سیستم مجبور است این اطلاعات را پاک کند. در نتیجه، دفعه بعد باید همه چیز را دوباره پردازش کند.
این پردازش مجدد، دشمن اصلی بهرهوری است. این کار باعث هدر رفتن برق، اشغال شدن گرافیک و تاخیر در پاسخگویی میشود.
تولید پاسخ در مدلهای زبانی چگونه کار میکند؟
مدلهای زبانی بزرگ ساختاری جالب دارند. هر کلمه جدیدی که تولید میکنند، به تمام کلماتی که قبل از آن آمدهاند وابسته است. موتور هوش مصنوعی برای درک این وابستگی، محاسبات ریاضی سنگینی انجام میدهد و نتایج را در قالب اطلاعاتی به نام کلید (K) و ارزش (V) ذخیره میکند.
وقتی درخواستی برای هوش مصنوعی میفرستید، موتور ابتدا تمام متن شما را میخواند. سپس اطلاعات K و V آن را محاسبه کرده و در حافظه مینویسد. این مرحله نیاز شدیدی به قدرت گرافیک دارد. پس از آن، هوش مصنوعی شروع به نوشتن جواب میکند. برای هر کلمه جدید، اطلاعات قبلی را از حافظه میخواند. این مرحله دوم، به سرعت حافظه بستگی دارد.
ترافیک کاربران هوش مصنوعی چه شکلی است؟
تعادل بین پردازش اولیه و تولید کلمات جدید، کاملاً به نوع کار کاربر بستگی دارد. یک درخواست کوتاه که مقاله بلندی میخواهد، بیشتر درگیر مرحله تولید جواب است. اما یک درخواست طولانی که فقط یک تغییر کوچک در یک کد برنامهنویسی میخواهد، بیشتر گرافیک را درگیر میکند.
برای درک بهتر این موضوع، ما ترافیک مدل کلود (Claude) را زیر نظر گرفتیم. نتایج بسیار جالب بود. بیش از ۹۸ درصد از کل پردازشها، صرفاً خواندن اطلاعات قبلی از کش حافظه بود. کلمات کاملاً جدید فقط ۰.۰۲ درصد را تشکیل میدادند. بنابراین، اگر حافظه کش پاک شود، سیستم باید تمام کارهایی را که قبلاً انجام داده، دوباره تکرار کند.
حافظه پنهان کجا ذخیره میشود؟
این اطلاعات دقیقاً کجا ذخیره میشوند؟ معمولاً پس از بارگذاری هوش مصنوعی، هر مقدار از حافظه ویدیویی گرافیک (VRAM) که خالی بماند، به این کار اختصاص مییابد.
سرورهای گرافیکی بسیار گران هستند و باید شبانهروزی کار کنند. زیر بار سنگین، حافظه ویدیویی خیلی زود پر میشود. در نتیجه، سیستم برای باز کردن فضا، اطلاعات کاربران قدیمیتر را پاک میکند. اگر کاربری به مکالمه برگردد و کش او پاک شده باشد، موتور هوش مصنوعی تمام مکالمه او را از ابتدا دوباره پردازش میکند. این یک اتلاف منابع واقعی است.
انتقال کش چه چیزی را تغییر میدهد؟
راه حل هوشمندانه، انتقال (Offload) این دادههاست. به جای پاک کردن اطلاعات به محض پر شدن گرافیک، آنها را به صورت لایهلایه جابجا میکنیم. یعنی اطلاعات از گرافیک به رم سیستم میروند و وقتی رم پر شد، به درایوهای ذخیرهسازی فلش (SSD) منتقل میشوند.
وقتی کاربر دوباره سوالی میپرسد، به جای پردازش مجدد هزاران کلمه، اطلاعات او را مستقیماً از اساسدی میخوانیم. خواندن از اساسدی شاید کمی کندتر از رم باشد، اما بسیار سریعتر از این است که گرافیک دوباره همه چیز را محاسبه کند. این یک معامله کاملاً سودآور است.
بررسی عملکرد؛ سیستم مورد آزمایش ما
ما این ایده را در آزمایشگاه خود روی یک سرور قدرتمند دل پاوراج مدل XE7740 بررسی کردیم. این سرور به ۴ کارت گرافیک انویدیا RTX 6000 مجهز بود. همچنین از ۸ درایو اساسدی پرسرعت شرکت سالیدایم (Solidigm PS1030) با ظرفیت ۱۲.۸ ترابایت استفاده کردیم.
در ۱۰ دقیقه اول فشار کاری، سیستم کاملاً عالی کار میکند. اما وقتی حافظه گرافیک پر میشود، مشکل آغاز میگردد. در حالت عادی، سیستم روی سرعت ۱۲ هزار توکن در ثانیه قفل میشود، زیرا مدام در حال پاک کردن و پردازش مجدد است.
اما وقتی انتقال به اساسدی فعال باشد، سیستم با قدرت به رشد خود ادامه میدهد. حافظه فلش با ظرفیت ترابایتی خود، به سیستم اجازه میدهد تا به سرعت ۳۰ هزار توکن در ثانیه برسد. در واقع سیستم مبتنی بر اساسدی توانست تا ۲.۲ برابر خروجی بیشتری ارائه دهد.
تاخیر در پاسخ؛ کاربر چقدر منتظر میماند؟
توان عملیاتی بالا برای مدیر سرور مهم است، اما کاربر فقط به سرعت پاسخدهی اهمیت میدهد. اگر کاربری ۱۵ دقیقه مکالمه را رها کند و دوباره برگردد، چه اتفاقی میافتد؟
در حالت عادی (بدون اساسدی)، چون سیستم اطلاعات او را پاک کرده، زمان انتظار به حدود ۱۴ ثانیه میرسد. این تاخیر برای یک دستیار هوشمند بسیار خستهکننده است. اما با انتقال کش به اساسدی، این زمان به تنها ۳.۲ ثانیه کاهش مییابد.
تحلیل اختصاصی آلفاتک: چرا رم سیستم کافی نیست؟
شاید بپرسید چرا تمام این اطلاعات را روی رم سیستم ذخیره نمیکنیم؟ پاسخ ساده است: هزینه و ظرفیت. خرید چندین ترابایت رم سرور به شدت گران است. از سوی دیگر، اساسدیهای سازمانی (NVMe) قیمت بسیار مناسبتری به ازای هر ترابایت دارند.
با خرید درایوهای فلش پرسرعت و مقاوم، شما عملاً فضایی بینهایت برای ذخیره حافظه پنهان کاربران ایجاد میکنید. این کار باعث میشود سرور شما کمتر درگیر کارهای تکراری شود. در نتیجه، بدون نیاز به خرید گرافیکهای بیشتر، میتوانید به کاربران بیشتری سرویس بدهید و سودآوری دیتاسنتر خود را به حداکثر برسانید.


