شرکتهای فعال در زمینهی هوش مصنوعی معمولا یک معیار مشترک به عنوان هدف دارند که آن TOPS (Tera Operations Per Second) یا تعداد ترا (۱۰۱۲) عمیات انجام شده در ثانیه میباشد. متاسفانه هنگامی که تولیدکنندگان سختافزار معیار TOPS سختافزار خود را ارائه میدهند، مقدار ارائه شده اصلا راهنمای مناسبی از ویژگی آن سختافزار نیست. در بیشتر موارد، این مقدار اغراق شده و گمراه کننده است و نشان دهندهی مقدار حقیقی و عملی TOPS نبوده بلکه حداکثر مقدار آن است. به عبارت دیگر، مقدار TOPS ای که فکر میکنید از یک سختافزار میگیرید، در حقیقت مقدار آن در بهترین شرایط و در یک حالت فراتر از ایدهآل است.
برای مثال ممکن است شما برای یک کاربرد خاص و اجرای یک شبکه عصبی U-Net به ۳۰ TOPS محاسبات احتیاج داشته باشید بنابراین فکر کنید که با خرید یک کارت سختافزار که ادعا میکند عملکرد ۴۰ یا ۵۰ TOPS یا حتی ۳۰ TOPS دارد برای اجرای پروژه شما به حد کافی باشد اما به سرعت میفهمید که این کارت به ندرت به این مقدار کارایی میرسد و افت عملکرد در حد چند TOPS نیست بلکه ممکن است کارایی آن بسیار پایینتر و در حد ۱۰ درصد مقدار ادعا شده باشد.
برای فهمیدن مقدار حقیقی TOPS، لازم است تا میزان کارایی محاسبات آن کارت سخت افزاری را بررسی کنید. به صورت ایده آل این کار را میتوان به سادگی با اجرای شبکه عصبی مورد نظر خود بر روی کارت مورد نظر انجام داد. اما در صورتی که سختافزار را نداشته باشید میتوان با گشتن به دنبال جزئیات بیشتر ارائه شده از سختافزار که معمولا توسط سازندهی آن ارائه میشود آن را تخمین زد. برای مثال نتایج عملکرد یک شبکه عصبی مانند ResNet50 (یا شبیه به آن) معمولا در دسترس هستند. فرض کنید یک پیادهسازی معمول ResNet50 دارید که مقدار GOPS (Giga Operation Per Second) آن را برای محاسبهی یک عکس داریم. سپس با ضرب آن در تعداد IPS (Image Per Second) یا تعداد تصاویر در یک ثانیه میتوانید تقریب واقع گرایانهتری از مقدار حقیقی TOPS داشته باشید.
Peak TOPS x Compute Efficiency = Real TOPS
برای اطلاعات بیشتر می توانید به لینک زیر که مرجع اصلی این خبر است مراجعه نمایید:
https://www.eetimes.com/tops-the-truth-behind-a-deep-learning-lie/#
مرجع تصویر: