TPU یک فناوری تحت کلود ابداعی گوگل است که عرضهٔ آن به بازار حاکی از نیاز روز افزون فناوریهای مبتنی بر ماشین لرنینگ به محاسبات زیاد، پیچیده و دشوار را نشان میدهد.
Tensor Processing Unit یا به اختصار TPU به عنوان پردازندههای پرسرعت تحت کلود برای شرکتی همچون گوگل که دیتاسنترهای عظیمی دارا است، پیش از اینکه مایهٔ فخرش باشد، نیازی حیاتی محسوب میشود و این دلیلی قانعکننده است که گوگل را به ساخت این دست پردازندهها که مبتنی بر Machine Learning هستند ترغیب کرده است به طوری که نسل پردازندههای TPU گوگل در کنار لایبرری TensorFlow، این امکان را در اختیار کسبوکارهایی که نیاز به فرایندهای مبتنی بر یادگیری ماشینی دارند قرار میدهد تا پردازشهای پیچیدهٔ خود را تسهیل کرده و سرعت بخشند (برای آشنایی بیشتر با این فریمورک، به مقالهٔ TensorFlow: لایبرری اپنسورس یادگیری ماشینی گوگل مراجعه نمایید.)
سروکلهٔ TPU اولین بار در سال 2006 پیدا شد؛ وقتی که گوگل شروع به استفاده از GPU ،FPGA و ASIC اختصاصی در دیتاسنترهای خود کرد (در اصل، اینها چیزی است که TPU را تشکیل داده است.) در آن زمان، بیشتر اپلیکیشنها به سختافزار خاص و قدرتمندی نیازمند نبودند، اگر هم استثنایی وجود داشت، دیتاسنترها مقداری بسیار بیشتر از آنچه مورد نیاز بود در اختیار داشتند. در ادامه، سال 2013 سالی بود که Deep Neural Net (شبکههای عصبی عمیق) رواج یافتند. در مقالهای Norman P. Jouppi، محقق گوگل، در همین راستا اظهار داشته است که:
سال 2013 فهمیدیم اگه DNN به محبوبیت بیشتری برسه، احتمالاً تعداد درخواستهای محاسباتی روی دیتاسنترهای ما رو تا دو برابر افزایش میدن که برآوردن این میزان محاسبات با استفاده از یکسری CPU معمولی خیلی گرونتر تموم میشد!
آشنایی با برخی از بارزترین قابلیتهای TPU
گوگل اعلام کرد که از سال 2015 به بعد، از TPU در سرورهای خود استفاده کرده است و این قضیه کمک کرده تا هزینهٔ محاسباتی آنها نسبت به مدلهای یادگیری ژرف (Deep Learning) که پیش از این استفاده میکردند، کاهش یابد. هر TPU توان ایجاد ۱۸۰ ترافلاپ را داراست (هر Teraflop برابر است با 1/000/000/000/000 عملیات در هر ثانیه) و این در حالی است که چنین توان پردازشی بالایی زیرساخت لازم برای آموزش مدلهای یادگیری ماشینی را در اختیار سیستم قرار میدهد. به طور کلی، برخی از شاخصترین قابلیتهای TPU عبارت است از:
- پرفورمنسی تا ۱۸۰ ترافلاپ
- قابلیت ادغام با دیگر سرویسهای Google Cloud Platform
- قابلیت استفاده از مدلهایی همچون RetinaNet
- قابلیت کانکت شدن به TPU از طریق انواع مختلف VM