اگر می خواهید سرعت آموزش هوش مصنوعی خود را افزایش دهید، ممکن است به شتاب دهنده های هوش مصنوعی مانند TPU گوگل علاقه مند باشید.
پلتفرم TensorFlow گوگل به کاربران خود اجازه می دهد تا با ارائه ابزارها و منابعی برای یادگیری ماشین، هوش مصنوعی را آموزش دهند. برای مدت طولانی، مهندسان هوش مصنوعی از CPU و GPU های سنتی برای آموزش هوش مصنوعی استفاده می کردند. اگرچه این پردازندهها میتوانند فرآیندهای یادگیری ماشینی مختلفی را مدیریت کنند، اما همچنان سختافزاری همه منظوره هستند که برای کارهای مختلف روزمره استفاده میشوند.
برای سرعت بخشیدن به آموزش هوش مصنوعی، گوگل یک مدار مجتمع ویژه برنامه (ASIC) معروف به واحد پردازش تانسور (TPU) را توسعه داد. اما، واحد پردازش تنسور چیست و چگونه برنامهنویسی هوش مصنوعی را سرعت میبخشد؟
واحدهای پردازش تانسور (TPU) چیست؟
واحدهای پردازش تنسور ASIC گوگل برای یادگیری ماشین هستند. TPU ها به طور خاص برای یادگیری عمیق برای حل عملیات پیچیده ماتریس و برداری استفاده می شوند. TPU ها برای حل عملیات ماتریس و برداری با سرعت های فوق العاده ساده هستند، اما باید با یک CPU جفت شوند تا دستورالعمل ها را ارائه و اجرا کنند. TPUها فقط با پلتفرم TensorFlow یا TensorFlow Lite Google قابل استفاده هستند، چه از طریق محاسبات ابری یا نسخه Lite آن بر روی سخت افزار محلی.
برنامه های کاربردی برای TPU
گوگل از سال 2015 از TPU ها استفاده کرده است. آنها همچنین استفاده از این پردازنده های جدید را برای پردازش متن Google Street View، Google Photos و نتایج جستجوی گوگل (Rank Brain) و همچنین ایجاد یک هوش مصنوعی به نام AlphaGo تایید کرده اند که شکست خورده است. بازیکنان برتر Go و سیستم AlphaZero که در برابر برنامه های پیشرو در Chess، Go و Shogi پیروز شد.
TPU ها را می توان در برنامه های یادگیری عمیق مختلف مانند تشخیص تقلب، بینایی کامپیوتری، پردازش زبان طبیعی، ماشین های خودران، هوش مصنوعی صوتی، کشاورزی، دستیاران مجازی، تجارت سهام، تجارت الکترونیک و پیش بینی های اجتماعی مختلف استفاده کرد.
زمان استفاده از TPU ها
از آنجایی که TPU ها سخت افزارهای تخصصی بالایی برای یادگیری عمیق هستند، بسیاری از عملکردهای دیگر که معمولاً از یک پردازنده همه منظوره مانند CPU انتظار دارید را از دست می دهند. با در نظر گرفتن این موضوع، سناریوهای خاصی وجود دارد که در آن استفاده از TPU ها بهترین نتیجه را هنگام آموزش هوش مصنوعی به همراه خواهد داشت.
بهترین زمان برای استفاده از TPU برای عملیاتی است که در آن مدل ها به شدت به محاسبات ماتریسی متکی هستند، مانند سیستم های توصیه برای موتورهای جستجو. TPUها همچنین برای مدلهایی که هوش مصنوعی مقادیر انبوهی از نقاط داده را تجزیه و تحلیل میکند که چندین هفته یا چند ماه طول میکشد، نتایج بسیار خوبی به همراه دارد. مهندسان هوش مصنوعی برای نمونه هایی بدون مدل های سفارشی TensorFlow از TPU استفاده می کنند و باید از ابتدا شروع کنند.
زمان عدم استفاده از TPU
همانطور که قبلا گفته شد، بهینه سازی TPU ها باعث می شود که این نوع پردازنده ها فقط بر روی عملیات حجم کاری خاص کار کنند. بنابراین، مواردی وجود دارد که انتخاب استفاده از CPU و GPU سنتی نتایج سریعتری به همراه خواهد داشت. این موارد عبارتند از:
- نمونه سازی سریع با حداکثر انعطاف پذیری
- مدلها با نقاط داده موجود محدود شدهاند
- مدل هایی که ساده هستند و به سرعت قابل آموزش هستند
- مدلها برای تغییر خیلی سخت هستند
- مدلهای متکی به عملیات سفارشی TensorFlow که در C++ نوشته شدهاند
نسخه ها و مشخصات TPU
از زمانی که گوگل TPU های خود را معرفی کرد، عموم مردم به طور مداوم در مورد آخرین نسخه های TPU و مشخصات آنها به روز می شوند. در زیر لیستی از تمام نسخه های TPU با مشخصات آمده است:
همانطور که می بینید، سرعت ساعت TPU چندان چشمگیر به نظر نمی رسد، به خصوص زمانی که کامپیوترهای رومیزی مدرن امروزی می توانند سرعت ساعت 3 تا 5 برابر بیشتر داشته باشند. اما اگر به دو ردیف پایین جدول نگاه کنید، می بینید که TPU ها می توانند 23-90 عملیات ترا در ثانیه را با استفاده از تنها 0.16-0.3 وات پردازش کنند. تخمین زده می شود که TPU ها 15 تا 30 برابر سریعتر از CPU ها و GPU های مدرن در هنگام استفاده از یک رابط شبکه عصبی هستند.
با هر نسخه منتشر شده، TPU های جدیدتر پیشرفت ها و قابلیت های قابل توجهی را نشان می دهند. در اینجا چند نکته برجسته برای هر نسخه آورده شده است.
- TPUv1: اولین TPU اعلام شده عمومی. به عنوان یک موتور ضرب ماتریس 8 بیتی طراحی شده و فقط به حل اعداد صحیح محدود می شود.
- TPUv2: از آنجایی که مهندسان خاطرنشان کردند که TPUv1 از نظر پهنای باند محدود است. این نسخه اکنون دو برابر پهنای باند حافظه با 16 گیگابایت رم دارد. این نسخه اکنون می تواند نقاط شناور را حل کند و برای آموزش و استنباط مفید باشد.
- TPUv3: در سال 2018 عرضه شد، TPUv3 دو برابر پردازنده دارد و چهار برابر بیشتر از TPUv2 چیپ دارد. بهروزرسانیها به این نسخه اجازه میدهد که عملکردی هشت برابری نسبت به نسخههای قبلی داشته باشد.
- TPUv4: این آخرین نسخه TPU اعلام شده در 18 می 2021 است. مدیر عامل گوگل اعلام کرد که این نسخه بیش از دو برابر عملکرد TPU v3 خواهد داشت.
- Edge TPU: این نسخه TPU برای عملیات های کوچکتر بهینه سازی شده برای مصرف انرژی کمتر نسبت به سایر نسخه های TPU در عملکرد کلی طراحی شده است. اگرچه تنها با استفاده از دو وات توان، Edge TPU می تواند تا چهار عملیات زمینی را در هر ثانیه حل کند. Edge TPU فقط در دستگاه های کوچک دستی مانند گوشی هوشمند پیکسل 4 گوگل یافت می شود.
چگونه به TPU ها دسترسی پیدا می کنید؟ چه کسی می تواند از آنها استفاده کند؟
TPUها واحدهای پردازش اختصاصی هستند که توسط Google طراحی شده اند تا با پلتفرم TensorFlow خود استفاده شوند. دسترسی شخص ثالث به این پردازندهها از سال 2018 مجاز است. امروزه، TPUها (به استثنای Edge TPU) فقط از طریق سرویسهای محاسباتی Google از طریق ابر قابل دسترسی هستند. در حالی که سخت افزار Edge TPU را می توان از طریق گوشی هوشمند پیکسل 4 گوگل و کیت نمونه سازی آن معروف به Coral خریداری کرد.
کورال یک شتاب دهنده USB است که از USB 3.0 نوع C برای داده و برق استفاده می کند. این دستگاه شما را با محاسبات Edge TPU با قابلیت 4 TOPS برای هر 2 وات توان فراهم می کند. این کیت میتواند روی ماشینهایی که از Windows 10، macOS و Debian Linux استفاده میکنند اجرا شود (همچنین میتواند با Raspberry Pi کار کند).
سایر شتاب دهنده های تخصصی هوش مصنوعی
با توجه به اینکه هوش مصنوعی در دهه گذشته بسیار مورد توجه قرار گرفته است، Big Tech دائماً به دنبال راه هایی است که یادگیری ماشین را تا حد امکان سریع و کارآمد کند. اگرچه TPU های گوگل مسلماً محبوب ترین ASIC توسعه یافته برای یادگیری عمیق هستند، سایر شرکت های فناوری مانند اینتل، مایکروسافت، علی بابا و کوالکام نیز شتاب دهنده های هوش مصنوعی خود را توسعه داده اند. اینها شامل مایکروسافت Brainwave، Intel Neural Compute Stick و IPU (واحد پردازش هوشمند) Graphicore است.
اما در حالی که سختافزارهای هوش مصنوعی بیشتری در حال توسعه هستند، متأسفانه، هنوز اکثر آنها در بازار در دسترس نیستند و بسیاری هرگز این کار را نخواهند کرد. در حال حاضر، اگر واقعاً میخواهید سختافزار شتابدهنده هوش مصنوعی بخرید، محبوبترین گزینهها خرید یک کیت نمونهسازی Coral، یک Intel NCS، یک Graphicore Bow Pod یا یک Accelerator IoT AI Asus است. اگر فقط میخواهید به سختافزار تخصصی هوش مصنوعی دسترسی داشته باشید، میتوانید از سرویسهای رایانش ابری Google یا جایگزینهای دیگر مانند Microsoft Brainwave استفاده کنید.