گوگل عملکرد هوش مصنوعی پایتون را با حذف پایتون بهبود می بخشد
XSE با منبع باز جدید در هر ثانیه شش میلیون پرس و جو را در سراسر سرویس ها از جمله جستجو، تبلیغات و YouTube Shorts رسیدگی می کند.
«آموزش در پایتون، خدمت در سی پلاس پلاس» ممکن است شعار گوگل در مورد بسیاری از کارهای ML آن باشد.
استفاده از پایتون برای دانشمندان داده آسان است، اما نگه داشتن مفسر آن در خط لوله خدمات میتواند باعث ایجاد سردردهای سربار و استقرار شود. پروژه OpenXLA با پشتوانه صنعت ابزارهایی را برای کامپایل محاسبات یادگیری ماشین در کدهای بومی برای پردازنده های مختلف فراهم می کند.
آخرین مؤلفه این راهاندازی که منبع باز است XSE است که مخفف XLA Serving Engine است.
استنتاج تک شات
XSE برای استنتاج LLM در مقیاس بزرگ (که بهتر است توسط vLLM یا SGLang ارائه شود) مناسب نیست، بلکه برای مدلهای کوچکتر و دقیقتر تکلیفگرا مناسب است که در گوگل تعداد زیادی از آنها وجود دارد.
ناتان بیچ، مدیر مدیریت محصول گوگل، روز سه شنبه در پیامی در لینکدین نوشت: "سرویس LLM در حال حاضر بیشتر توجه را به خود جلب می کند، اما مقدار قابل توجهی از استنباط تولید همچنان مدل های رتبه بندی، توصیه، جاسازی و دید است. این درخواست ها معمولا درخواست های کوتاه با بودجه های بسیار بالا [پرسش ها در هر ثانیه] و با تاخیر کم هستند."
در Google، XSE در حال حاضر بیش از شش میلیون پرس و جو در ثانیه را در سراسر سرویسهایی از جمله YouTube Shorts، Google Ads و Search رسیدگی میکند.
این مدلها برای یک چت آرام وجود ندارند. آنها نتایج را رتبهبندی میکنند، ویدیوها را توصیه میکنند، و تصمیمگیریهای دیگری را در حین پرواز، اغلب بدون اینکه کاربران متوجه شوند، میگیرند.
یک مفسر پایتون که هر درخواست را بررسی می کند، اگر نه پایان خود گوگل، یک گلوگاه خواهد بود. در آزمایشهای گوگل روی درخواستهای کوتاه، XSE با استفاده از یک چهارم حافظه، دو تا پنج برابر بهترین سرور پایتون بهینهسازی شده خود، توان عملیاتی را ارائه کرد.
اینجا پایتون وجود ندارد
در این تنظیمات، ML boffin ها کد مدل خود را در پایتون می نویسند و از JAX گوگل برای کمک به مبالغ استفاده می کنند. گوگل همچنین قصد دارد با TorchTPU یکپارچه شود تا کاربران PyTorch بتوانند مدلهایی را برای سرویس C++ در TPU صادر کنند. یک ابزار صادراتی محاسبات مدل را در StableHLO، یک نمایش متوسط قابل حمل، در کنار وزن های آموزش دیده آن در یک "XLA SavedModel" بسته بندی می کند.
زمان اجرای سرویس C++ که آماده است، از XLA برای کامپایل آن محاسبات در کد بومی برای سیلیکون هدف استفاده می کند. هیچ مفسر پایتون برای دیدن اینجا وجود ندارد.
XLA SavedModels میتواند بر روی پردازندههای گرافیکی و پردازندههای مرکزی اجرا شود – گوگل برای توسعه اکوسیستم XLA با Arm و Intel همکاری میکند. اما گوگل بدیهی است که فکر میکند اگر مدلهای خود را روی خط خود از شتابدهندههای TPU اجرا کنید، بسیار جالبتر خواهد بود.
کندی پایتون همچنان یک مشکل برای جامعه ML است. فراتر از XSE، رویکردهای دیگری اتخاذ شده است که بسیاری از آنها شامل حذف کد پایتون در سریع ترین زمان ممکن است. PyTorch یک زمان اجرا بومی C++ به نام LibTorch ارائه می دهد. همچنین، مایکروسافت و همکارانش ONNX Runtime را ارائه می دهند که از فرمت نمودار باز با اتصالات پایتون پشتیبانی می کند.
حتی پیادهسازی مرجع خود پایتون نیز به شدت به C متکی است، و Rust اکنون پایش را باز کرده است. ®
متن اصلی (انگلیسی)
Google gooses Python AI performance by... removing Python
Newly open sourced XSE handles six million queries a second across services including Search, Ads, and YouTube Shorts