کامپیوتر و سخت افزار

الگوریتم فشرده سازی NTC راه حل انویدیا برای جبران کمبود حافظه

انویدیا در مقاله‌ای با عنوان Random-Access Neural Compression of Material Textures یا به اختصار NTC به معنی «فشرده سازی عصبی بافت‌های مواد با دسترسی تصادفی» الگوریتم جدیدی را برای فشرده‌سازی بافت را معرفی کرده است. هدف از این کار پاسخ به نیازهای روزافزون حافظه در کامپیوترها است، که اکنون بافت‌های با وضوح بالا و همچنین بسیاری از ویژگی‌های متصل به آنها را ذخیره می‌کند تا بتواند اجسام موجود در محیط را با وفاداری به ظاهر طبیعی آن نمایش بدهد. ضمن اینکه انتشار این مقاله را می‌توان پاسخ انویدیا به انتقاد AMD در مورد کمبود حافظه گرافیکی در محصولات این شرکت دانست.

با NTC تا چهار برابر وضوح بالاتر نسبت به الگوریتم‌ BC خواهیم داشت

گفته می‌شود که NTC چهار برابر وضوح بالاتر (16 تکسل بیشتر) نسبت به BC (فشرده‌سازی بلوک) ارائه می‌دهد که یک فشرده‌سازی بافت استاندارد مبتنی بر پردازنده گرافیکی است که در بسیاری از فرمت‌ها موجود است. الگوریتم انویدیا بافت‌ها را به صورت تانسور (سه بعدی) اما بدون هیچ‌گونه فرضی مانند حالت فشرده‌سازی بلوک (تعداد کانال) نشان می‌دهد. تنها چیزی که NTC در نظر می‌گیرد این است که اندازه هر بافت یکسان است.

وجود دسترسی تصادفی و محلی یکی از ویژگی‌های مهم الگوریتم NTC است. برای فشرده‌سازی بافت به وسیله پردازنده گرافیکی، دسترسی به بافت‌ها با کم‌ترین فشار و بدون تأخیر بسیار مهم است، حتی زمانی که نرخ فشرده‌سازی بالا اعمال می‌شود. این تحقیق بر فشرده‌سازی بسیاری از کانال‌ها و mipmaps (بافت‌هایی با اندازه‌های مختلف) با هم تمرکز دارد. انویدیا در این مقاله ادعا کرده که با انجام این کار، کیفیت و میزان بیت از فرمت‌های JPEG XL یا AVIF بهتر است.

الگوریتم فشرده سازی NTC انویدیا

در بخشی از مقاله انویدیا آمده است:

پیشرفت مداوم فوتورئالیسم در رندر با رشد داده‌های بافت و در نتیجه افزایش تقاضای {حجم} ذخیره‌سازی و حافظه همراه است. برای پرداختن به این موضوع، ما یک تکنیک فشرده‌سازی عصبی جدید را پیشنهاد می‌کنیم که به طور خاص برای بافت‌های مواد طراحی شده است. ما دو سطح دیگر از جزئیات را باز می‌کنیم، یعنی 16 برابر تکسل بیشتر، با استفاده از فشرده‌سازی کم بیت ریت، با کیفیت تصویر بهتر از تکنیک‌های فشرده‌سازی تصویر پیشرفته، مانند AVIF و JPEG XL. در عین حال، روش ما امکان فشرده‌سازی در زمان واقعی و درخواستی را با دسترسی تصادفی مشابه فشرده‌سازی بافت بلوک در پردازنده‌های گرافیکی فراهم می‌کند. این مزیت‌های فشرده‌سازی ما را از ذخیره‌سازی دیسک تا حافظه گسترش می‌دهد. ایده کلیدی پشت رویکرد ما فشرده‌سازی چندین بافت مواد و زنجیره‌های mipmap آنها با هم و استفاده از یک شبکه عصبی کوچک است که برای هر ماده بهینه شده است تا آنها را از حالت فشرده خارج کنیم. در نهایت، ما از یک پیاده‌سازی آموزشی سفارشی برای دستیابی به سرعت‌های فشرده‌سازی عملی استفاده می‌کنیم که عملکرد آن از چارچوب‌های عمومی، مانند PyTorch، به ترتیبی بزرگتر است.

— Random-Access Neural Compression of Material Textures, NVIDIA

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

الگوریتم فشرده سازی NTC انویدیا

طبق این مقاله، بافت‌های عصبی را می‌توان در زمان واقعی با 16 برابر بیشتر از رویکرد موجود در الگوریتم BC ارائه کرد. در این حالت زمان رندر در وضوح 4K معادل 1.15 میلی‌ثانیه است که بالاتر از 0.49 میلی‌ثانیه است (اندازه‌گیری شده در RTX 4090).

مطالب مرتبط:

بدون امتیاز