- Google का पहला TPU(Tensor Processing Unit) v1, deep learning का उपयोग करने वाली नई सेवाओं के अवसरों और आवश्यक hardware के scale तथा cost को ध्यान में रखते हुए, 10x cost-performance लाभ देने वाला ASIC(Application Specific Integrated Circuit) विकसित करने के लक्ष्य के साथ बनाया गया था.
- TPU को tensor operations को accelerate करने के लिए डिज़ाइन किया गया था, और tensor का अर्थ उन operations से है जो vectors, scalars और अन्य tensors के बीच multi-dimensional array संबंधों को map करते हैं.
- Matrix multiplication neural networks का core operation है, जिसका उपयोग input vector और weight matrix को गुणा करने के बाद activation function लागू करके hidden layer और output layer की गणना करने में होता है.
Google का पहला Tensor Processing Unit: उत्पत्ति
- TPU v1 प्रोजेक्ट 2013 के अंत में शुरू हुआ और 15 महीनों में विकसित किया गया, जो neural network accelerators में रुचि रखने वालों के लिए एक दिलचस्प विषय है.
- TPU v1 के development background और goals को पिछले पोस्ट में कवर किया गया था, और इस पोस्ट में TPU v1 की structure और performance को और विस्तार से देखा गया है.
संरचना और प्रदर्शन
- TPU v1 का डिज़ाइन 1978 में H.T Kung और Charles E. Leiserson के पेपर "Systolic Arrays (for VLSI)" में प्रस्तुत architecture पर आधारित है.
- Systolic array processors के एक network से बना होता है, जो समय-समय पर data की गणना करता है और उसे system के माध्यम से आगे बढ़ाता है, जिससे efficient matrix multiplication संभव होता है.
- TPU v1 का systolic array 256x256 multiply/accumulate units से बना है, और यह intermediate results को main memory में store और fetch किए बिना अपने-आप आवश्यक परिणाम उत्पन्न करता है.
Multiply/Accumulate Units (MACs)
- TPU v1 8-bit x 8-bit integer multiplication करता है और quantization का उपयोग करता है, जिसके लिए floating-point computation की तुलना में कम die area की आवश्यकता होती है.
निर्देश सेट
- TPU v1 लगभग 20 complex instruction set (CISC) निर्देशों का उपयोग करता है, और ये निर्देश host computer से PCIe interface के माध्यम से भेजे जाते हैं.
- मुख्य निर्देशों में host memory read, weight read, matrix multiply/accumulate, activation, और host memory write शामिल हैं.
सॉफ़्टवेयर
- TPU v1 का hardware Tensorflow जैसे software stack को support करता है, जिससे CPU और GPU पर विकसित applications को जल्दी TPU पर port किया जा सकता है.
निर्माण और die
- TPU v1 को TSMC की 28nm process पर बनाया गया था, और इसका die area Google के data center में उपयोग किए जा रहे Intel Haswell CPU और Nvidia K80 GPU chips के आधे से भी कम था.
प्रदर्शन
- TPU v1 को inference को अधिक efficient बनाने के लिए डिज़ाइन किया गया था, और यह Nvidia K80 GPU तथा Haswell CPU की तुलना में लगभग 15x से 30x तेज inference speed और energy efficiency प्रदान करता था.
सीख
- TPU v1 का custom architecture आधुनिक CPU और GPU की तुलना में कहीं बेहतर performance और energy usage को संभव बनाता है.
- TPU v1 को inference को तेज और power-efficient बनाने के लक्ष्य से डिज़ाइन किया गया था, और यह training के लिए डिज़ाइन नहीं किया गया था.
GN⁺ की राय
- TPU v1 का development, Google के लिए बड़े data centers में inference workloads को optimize करने हेतु special-purpose hardware की ओर एक महत्वपूर्ण turning point को दर्शाता है.
- Systolic array architecture data flow को optimize करके memory access को न्यूनतम करता है, जो energy efficiency और performance improvement में योगदान देता है.
- TPU v1 की सफलता ने बाद में TPU के विभिन्न versions के development का मार्ग प्रशस्त किया और AI inference hardware की प्रगति में महत्वपूर्ण भूमिका निभाई.
- TPU जैसी क्षमता देने वाले अन्य products में Nvidia के Tensor Core वाले GPU, Intel का Nervana NNP, और Amazon का Inferentia शामिल हैं.
- TPU technology अपनाते समय existing infrastructure के साथ compatibility, software stack, और specific applications के लिए optimization level पर विचार करना चाहिए. TPU चुनने से inference workloads की speed और energy efficiency में लाभ मिल सकता है, लेकिन कुछ खास models या data types के लिए optimization की आवश्यकता हो सकती है.
1 टिप्पणियां
Hacker News की राय