پرش به محتوای اصلی

Maxwell به کدهای زیر بهینه یک روشن شدن زمان اجرا می دهد

دِ رجیستر۱۴۰۵ مهر ۲۷, دوشنبه، ساعت ۲۳:۲۷حدود 4 دقیقه مطالعه

در نهایت، سخت افزار شما نماینده خاص خود را دارد

ممکن است استفاده از LLM برای نوشتن کد کافی نباشد، در حالی که می توانید از آنها برای تنظیم آن در حین اجرای برنامه نیز استفاده کنید. DoubleAI، یک استارت آپ مستقر در تل آویو در اسرائیل که در سال 2023 تأسیس شد، روز دوشنبه Maxwell، یک مدل اجرای کد (CEM) را معرفی کرد که کدهای باینری را در حین اجرا ارزیابی، بهینه سازی و بازنویسی می کند. Maxwell CEM که به نام شیطان ماکسول، موجودی که فیزیکدان و ریاضیدان جیمز کلرک ماکسول در سال 1867 به عنوان بخشی از یک آزمایش فکری در مورد آنتروپی تصور کرد، الگوریتم ها و دستورالعمل های ماشین را برای به حداکثر رساندن عملکرد در سخت افزار موجود پیش پردازش می کند.

Maxwell از نظر مفهوم شبیه به یک کامپایلر به موقع است، اما انعطاف پذیری بیشتری را ارائه می دهد و به طور رسمی معادل بودن کد جایگزین را تأیید می کند. کد منبع لمس نشده است. گال بنیامینی، یکی از بنیانگذاران doubleAI، که دارای مدرک دکترای علوم کامپیوتر نظری است، در ایمیلی به The Register گفت: "هم Maxwell و هم یک کامپایلر JIT در حین اجرای برنامه کار می کنند و هر دو کد ماشین جدید تولید می کنند." "تفاوت این است که یک کامپایلر نمی تواند استدلال سطح بالا را انجام دهد. برای مثال نمی تواند الگوریتم را تغییر دهد. Maxwell می تواند و انجام می دهد.

یکی از دلایلی که کامپایلرهای JIT بسیار باریک هستند این است که، حتی اگر می‌توانند به داده‌ها وابسته باشند، تغییراتی که ایجاد می‌کنند باید قطعی و درست باشند، زیرا کامپایلرهای JIT الگوریتم‌های کلاسیک «بی فکر» هستند. علاوه بر این، ماکسول برای نوشتن شواهد واقعی و سخت که نشان می‌دهد بهینه‌سازی‌هایش صحیح هستند، بر تأیید رسمی تکیه می‌کند. این دامنه بهینه سازی مجاز خود را بسیار فراتر از هر الگوریتم یا کامپایلری گسترش می دهد." بنیامینی به عنوان مثال به مرتب سازی اشاره کرد.

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

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

به گفته doubleAI، Maxwell خطوط لوله داده را بیش از 38 برابر سریع‌تر و هسته‌های استنتاج هوش مصنوعی را بیش از 4.5 برابر سریع‌تر کرده است. LTX-2.5، یک مدل جهان باز که ویدیوهای 4K تولید می کند، با کمک Maxwell توانست این کار را تقریبا دو برابر سریعتر انجام دهد. بهینه‌سازی‌های ماکسول، داده‌های رد و بدل شده بین پردازنده‌های گرافیکی را کاهش داد و انتخاب هسته را برای حذف توکن‌های غیرضروری بهینه کرد. قابلیت بهینه سازی Maxwell بسته به کد منبع و سخت افزار متفاوت است. بنیامینی می‌گوید: «مکسول بهترین کار را روی کدهایی انجام می‌دهد که الگوریتمی هستند و می‌توان آن‌ها را به شیوه‌ای غیرمعمول برای سخت‌افزار تنظیم کرد.

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

او گفت: «به طور حکایتی، ما با استفاده از Maxwell چنین مسائلی را در خود پایتون پیدا کرده‌ایم - به عنوان مثال مواردی که پایتون در آن حافظه ایمن نبود و ماکسول ثابت کرد که این مورد است. و از آن بهتر، ردیابی و پروفایل مکسول در صورت وجود هزینه زیاد بر روی CPU یا GPU هزینه زیادی ندارد. بنیامینی گفت: "حداکثر سربار ردیابی و پروفایل ماکسول 2 درصد است (البته وقتی ردیابی نباشد، به صفر می رسد) و بهینه سازی هایی که ماکسول ارائه می دهد بسیار بیشتر از آن است.

ما همچنین Maxwell را روی زمان اجرا اعمال می‌کنیم، به طوری که سرعت بسیار بیشتر از 2 درصد «مسطح» را در سراسر صفحه به دست می‌آوریم. بنابراین به طور خلاصه: هرگز کندتر نیست. فرآیند نصب نیز به همین صورت ساده است: توسعه دهندگان زمان اجرا را نصب کرده و کد خود را اجرا می کنند، با مدل Maxwell که توسط doubleAI میزبانی می شود. با این حال، این ترتیب به مقداری اعتماد نیاز دارد.

Amnon Shashua، یکی از بنیانگذاران و مدیرعامل doubleAI، بنیانگذار و مدیر عامل در حال خروج Mobileye و استاد علوم کامپیوتر در دانشگاه عبری اورشلیم، در بیانیه ای گفت که هوش مصنوعی نحوه نگارش نرم افزار را تغییر داده و اکنون نحوه اجرای آن را تغییر داده است. او گفت: «CEMها، و به‌ویژه ماکسول، عامل‌هایی از جانب سخت‌افزار هستند در مقابل عوامل کدی که از طرف کاربر انسانی هستند. به عبارت دیگر، آنها اولین هوش مصنوعی هستند که برای دستگاه کار می کنند، نه برنامه نویس. ®

خواندن متن کامل در دِ رجیستربه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Maxwell gives sub-optimal code a runtime glow-up

Finally, your hardware has its own agent

همه‌ی اخبار فناوری