TPU واحد پردازش تنسور چیست و چه کاربردی دارد؟

150
0
واحد پردازش تنسور چیست

اگر شما هم می خواهید سرعت آموزش هوش مصنوعی خود را افزایش دهید، ممکن است به شتاب دهنده های هوش مصنوعی مانند TPU گوگل علاقه مند باشید. واحد پردازش تنسور چیست؟

پلتفرم TensorFlow گوگل به کاربران خود اجازه می دهد تا با ارائه ابزارها و منابعی برای یادگیری ماشین، هوش مصنوعی را آموزش دهند. برای مدت طولانی، مهندسان هوش مصنوعی از CPU و GPU های سنتی برای آموزش هوش مصنوعی استفاده می کردند. اگرچه این پردازنده‌ ها می‌توانند فرآیند های مختلف یادگیری ماشین را مدیریت کنند، اما همچنان سخت‌افزاری همه منظوره هستند که برای کارهای مختلف روزمره استفاده می‌شوند.

برای سرعت بخشیدن به آموزش هوش مصنوعی، گوگل یک مدار مجتمع ویژه برنامه (ASIC) که به عنوان واحد پردازش تنسور (TPU) شناخته می شود، توسعه داد. اما، واحد پردازش تنسور چیست و چگونه سرعت برنامه ‌نویسی هوش مصنوعی را افزایش می‌دهد؟

واحدهای پردازش تنسور (TPU) چیست؟

واحدهای پردازش تنسور ASIC گوگل برای یادگیری ماشین هستند. TPU ها به طور خاص برای یادگیری عمیق برای حل عملیات پیچیده ماتریس و برداری استفاده می شوند. TPU ها برای حل عملیات ماتریس و برداری با سرعت های فوق العاده ساده هستند، اما باید با یک CPU جفت شوند تا دستور العمل ها را ارائه و اجرا کنند. TPU ها فقط با پلتفرم TensorFlow یا TensorFlow Lite Google قابل استفاده هستند، چه از طریق محاسبات ابری یا نسخه Lite آن بر روی سخت افزار محلی.

برنامه های کاربردی برای TPU

برنامه های کاربردی برای TPU
برنامه های کاربردی برای 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 ها واحد های پردازش اختصاصی هستند که توسط گوگل برای استفاده با پلتفرم TensorFlow طراحی شده اند. دسترسی شخص ثالث به این پردازنده ‌ها از سال 2018 مجاز بوده است. امروزه، TPUها (به استثنای TPUهای Edge) فقط از طریق سرویس ‌های محاسباتی Google از طریق ابر قابل دسترسی هستند. در حالی که سخت افزار Edge TPU را می توان از طریق تلفن هوشمند پیکسل 4 گوگل و کیت نمونه سازی آن معروف به Coral خریداری کرد.

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 و Graphicore’s IPU (Intelligence Processing Unit).

اما در حالی که سخت افزار های هوش مصنوعی بیشتری در حال توسعه هستند، متأسفانه، هنوز اکثر آنها در بازار در دسترس قرار نگرفته اند و بسیاری هرگز این کار را نخواهند کرد. در حال حاضر، اگر واقعاً می‌خواهید سخت ‌افزار شتاب ‌دهنده هوش مصنوعی بخرید، محبوب ‌ترین گزینه ‌های خرید شامل یک کیت نمونه‌ سازی Coral، یک Intel NCS، یک Graphicore Bow Pod یا یک Accelerator IoT AI Asus است. اگر فقط می‌خواهید به سخت ‌افزار تخصصی هوش مصنوعی دسترسی داشته باشید، می‌ توانید از سرویس ‌های رایانش ابری Google یا جایگزین ‌های دیگر مانند Microsoft Brainwave استفاده کنید.

امتیاز این مطلب

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

گوگل فارکس آموزش تخصصی آمارکتس