吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是張量處理單元(TPU)

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-04-27 09:27 ? 次閱讀

介紹

張量處理單元( Tensor Processing Unit, TPU ) 是谷歌專門為神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)開發(fā)的人工智能加速器 專用集成電路(ASIC) ,特別是使用谷歌自己的TensorFlow軟件。谷歌于 2015 年開始在內(nèi)部使用 TPU,并于 2018 年將它們作為其云基礎(chǔ)設(shè)施的一部分并通過提供較小版本的芯片出售給第三方使用。

張量處理單元于 2016 年 5 月在Google I/O上宣布:當(dāng)時該公司表示 TPU 已經(jīng)在其數(shù)據(jù)中心內(nèi)使用了一年多。該芯片專為 Google 的TensorFlow框架設(shè)計,用于神經(jīng)網(wǎng)絡(luò)等機(jī)器學(xué)習(xí)應(yīng)用。

與圖形處理單元相比,它設(shè)計用于大量低精度計算(例如低至8 位精度) ,每焦耳有更多的輸入/輸出操作,無需用于光柵化/紋理映射的硬件。根據(jù)Norman Jouppi的說法, TPU ASIC安裝在散熱器組件中,該組件可以安裝在數(shù)據(jù)中心機(jī)架內(nèi)的硬盤驅(qū)動器插槽中。不同類型的處理器適合不同類型的機(jī)器學(xué)習(xí)模型,TPU 非常適合CNN而 GPU 對一些全連接的神經(jīng)網(wǎng)絡(luò)有長處,而 CPU 對RNN有長處。

經(jīng)過幾年的發(fā)展,TPU已經(jīng)發(fā)布了四個版本,下面是其發(fā)展歷程:

1a874066-c5c2-11ec-bce3-dac502259ad0.png

詳細(xì)介紹:<【科普】什么是TPU?>

接下來介紹一些TPU項目。

tinyTPU

?

https://github.com/jofrfu/tinyTPU

1a9b6992-c5c2-11ec-bce3-dac502259ad0.png

該項目的目的是創(chuàng)建一個與谷歌的張量處理單元具有相似架構(gòu)的機(jī)器學(xué)習(xí)協(xié)處理器。該實現(xiàn)的資源可定制,可以以不同的尺寸使用以適應(yīng)每種類型的 FPGA。這允許在嵌入式系統(tǒng)物聯(lián)網(wǎng)設(shè)備中部署該協(xié)處理器,但也可以擴(kuò)大規(guī)模以用于數(shù)據(jù)中心和高性能機(jī)器。AXI 接口允許以多種組合方式使用。對 Xilinx Zynq 7020 SoC 進(jìn)行了評估。下面的鏈接中是使用vivado進(jìn)行使用的一個DEMO:

?

https://github.com/jofrfu/tinyTPU/blob/master/getting_started.pdf

同時,該項目也是一片論文的驗證項目,論文地址:

?

https://reposit.haw-hamburg.de/bitstream/20.500.12738/8527/1/thesis.pdf

性能

使用 MNIST 數(shù)據(jù)集訓(xùn)練的樣本模型在不同大小的 MXU 上進(jìn)行了評估,頻率為 177.77 MHz,理論性能高達(dá) 72.18 GOPS。然后將實際時序測量與傳統(tǒng)處理器進(jìn)行比較:

177.77 MHz 的張量處理單元:

Matrix Width N 6 8 10 12 14
Instruction Count 431 326 261 216 186
Duration in us (N input vectors) 383 289 234 194 165
Duration per input vector in us 63 36 23 16 11

下面是其他處理器的對比結(jié)果:

Processor Intel Core i5-5287U at 2.9 GHz BCM2837 4x ARM Cortex-A53 at 1.2 GHz
Duration per input vector in us 62 763

Free-TPU

?

https://github.com/embedeep/Free-TPU

1abae484-c5c2-11ec-bce3-dac502259ad0.png

編譯好的BOOTbin,因為TPU和引腳沒關(guān)聯(lián),所以可以直接進(jìn)行使用驗證。

?

https://github.com/embedeep/Free-TPU-OS

1acce22e-c5c2-11ec-bce3-dac502259ad0.png

描述

Free TPU是用于深度學(xué)習(xí) EDGE 推理的商業(yè) TPU 設(shè)計的免費版本,可以部署在任何 FPGA 設(shè)備上,包括 Xilinx Zynq-7020 或 Kintex7-160T(這兩個都是生產(chǎn)的好選擇)。實際上,不僅是 TPU 邏輯設(shè)計, Free TPU還包括支持所有 caffe 層的 EEP 加速框架,可以在任何 CPU 上運行(如 Zynq-7020 的 ARM A9 或 INTEL/AMD)。TPU 和 CPU 在深度學(xué)習(xí)推理框架的計劃下相互協(xié)作(任何交替順序)。

系統(tǒng)結(jié)構(gòu)

1adf7498-c5c2-11ec-bce3-dac502259ad0.png

對比

1b007d0a-c5c2-11ec-bce3-dac502259ad0.png

1b27e32c-c5c2-11ec-bce3-dac502259ad0.png

在用戶看來,F(xiàn)ree-TPU和EEP-TPU功能相同,但推理時間不同。

這是一個極其完整的項目,關(guān)于怎么運行,怎么調(diào)用都有很詳細(xì)的步驟,這里就不再贅述了,更多詳情,請訪問:

?

https://www.embedeep.com

SimpleTPU

?

https://github.com/cea-wind/SimpleTPU

1b4946a2-c5c2-11ec-bce3-dac502259ad0.png

張量處理單元旨在加速矩陣乘法,特別是對于多層感知器和卷積神經(jīng)網(wǎng)絡(luò)。

此實現(xiàn)主要遵循 Google TPU Version 1,該架構(gòu)在

?

https://arxiv.org/ftp/arxiv/papers/1704/1704.04760.pdf

中有介紹。

主要特點

Simple TPU 的主要特性包括

Int8 乘法和 Int32 累加器

基于 VLIW 的并行指令

基于向量架構(gòu)的數(shù)據(jù)并行

以下是 Simple TPU 可以支持的一些操作。

1b7133ce-c5c2-11ec-bce3-dac502259ad0.png

資源占用情況

1b8fa2b4-c5c2-11ec-bce3-dac502259ad0.png

雖然該工程比較完整,后續(xù)也有DEMO演示,但是該工程使用HLS制作的,詳細(xì)信息可以查看下面的網(wǎng)址

?

https://www.cnblogs.com/sea-wind/p/10993958.html

tiny-tpu

?

https://github.com/cameronshinn/tiny-tpu

谷歌的TPU架構(gòu):

1bab16d4-c5c2-11ec-bce3-dac502259ad0.jpg

1bc0e216-c5c2-11ec-bce3-dac502259ad0.png

Tiny TPU是基于 FPGA 的 Google張量處理單元的小規(guī)模實現(xiàn)。該項目的目標(biāo)是了解加速器設(shè)計從硬件到軟件的端到端技術(shù),同時破譯谷歌專有技術(shù)的低層次復(fù)雜性。在此過程中,我們探索了小規(guī)模、低功耗 TPU 的可能性。

該項目在 Quartus 15.0 上綜合并編程Altera DE1-SoC FPGA 上。

1bde5094-c5c2-11ec-bce3-dac502259ad0.png

更多詳細(xì)信息:

?

https://github.com/cameronshinn/tiny-tpu/blob/master/docs/report/report.pdf

TPU-Tensor-Processing-Unit

?

https://github.com/leo47007/TPU-Tensor-Processing-Unit

介紹

在有兩個矩陣需要做矩陣乘法的場景下,矩陣A(選擇權(quán)重矩陣)與矩陣B(選擇矩陣)相,每一個一個都是 32x32。最后他們開始做每個矩陣的乘法,每個矩陣的因素將首先轉(zhuǎn)換成一個順序輸入 TPU 中,輸入其特定的矩陣,然后再將這些單元最多向連接的方向輸入。在下一個周期中,每個單元將其權(quán)重和數(shù)據(jù)方向賦予下一個格。從左到右。

1bf48576-c5c2-11ec-bce3-dac502259ad0.png

因為這個項目有中文的詳細(xì)介紹,所以就不過多贅述了。

?

https://zhuanlan.zhihu.com/p/26522315

Systolic-array-implementation-in-RTL-for-TPU

?

https://github.com/abdelazeem201/Systolic-array-implementation-in-RTL-for-TPU

1c176726-c5c2-11ec-bce3-dac502259ad0.png

如下圖所示,在有兩個矩陣需要做矩陣乘法的場景下,矩陣A(命名權(quán)重矩陣)與矩陣B(命名數(shù)據(jù)矩陣)相乘,每個矩陣為8x8。一旦他們開始做矩陣乘法,兩個矩陣的這些系數(shù)將首先轉(zhuǎn)換成一個順序輸入到 TPU 中,然后輸入到每個特定的隊列中。然后這些隊列將最多向其連接的單元輸出 8 個數(shù)據(jù),這些單元將根據(jù)它接收到的權(quán)重和數(shù)據(jù)進(jìn)行乘法和加法。并且在下一個周期中,每個單元格將其權(quán)重和數(shù)據(jù)轉(zhuǎn)發(fā)給下一個單元格。權(quán)重從上到下,數(shù)據(jù)從左到右。

1bf48576-c5c2-11ec-bce3-dac502259ad0.png

該項目雖然完成了相關(guān)的目的,但是只是完成了相關(guān)工作,實際使用時需要進(jìn)行一些優(yōu)化。

1c41695e-c5c2-11ec-bce3-dac502259ad0.png

super_small_toy_tpu

?

https://github.com/dldldlfma/super_small_toy_tpu

1c7098be-c5c2-11ec-bce3-dac502259ad0.png

如果說上面幾個TPU比較復(fù)雜,那么這個就可以用“精簡”來形容了。

整個代碼非常精簡,適合入門想研究TPU的人。

1c8f61cc-c5c2-11ec-bce3-dac502259ad0.png

AIC2021-TPU

?

https://github.com/charley871103/TPU

?

https://github.com/Oscarkai9139/AIC2021-TPU

?

https://github.com/hsiehong/tpu

1ca9c4b8-c5c2-11ec-bce3-dac502259ad0.png

這個項目是AIC2021-TPU,類似的項目有很多,都是理論研究的項目,和上面的項目一樣都是非常非常適合入門研究的人員,里面的理論都是極其詳細(xì)的。

1cd94e72-c5c2-11ec-bce3-dac502259ad0.png

systolic-array

?

https://github.com/Dazhuzhu-github/systolic-array

verilog實現(xiàn)TPU中的脈動陣列計算卷積的module

data為實驗數(shù)據(jù)

source為源碼

testbench 測試各個模塊用的testbench

data-preprocessing 原本是要寫將卷積操作用python預(yù)先imtocol操作的,但后來直接使用matlab生成數(shù)據(jù)進(jìn)行測試了

tpu_v2

?

https://github.com/UT-LCA/tpu_v2

1cf57534-c5c2-11ec-bce3-dac502259ad0.png

項目沒有多余的介紹,整個項目是基于Altera-DE3設(shè)計,EDA工具是Quartus II。

1d09d60a-c5c2-11ec-bce3-dac502259ad0.png

google-coral-baseboard

?

https://github.com/antmicro/google-coral-baseboard

1d28fe7c-c5c2-11ec-bce3-dac502259ad0.png

NXP i.MX8X 和 Google 的 Edge TPU ML 推理 ASIC(也可作為Coral Edge TPU 開發(fā)板的一部分)的基板的開放硬件設(shè)計文件。該板提供標(biāo)準(zhǔn) I/O 接口,并允許用戶通過統(tǒng)一的柔性扁平電纜 (FFC) 連接器與兩個兼容 MIPI CSI-2 的視頻設(shè)備連接。

1d63cbb0-c5c2-11ec-bce3-dac502259ad0.png

PCB 項目文件是在 Altium Designer 14.1 中準(zhǔn)備的。

1d76fe74-c5c2-11ec-bce3-dac502259ad0.png

該項目是一個硬件方案,谷歌Coral Edge TPU的硬件驗證方案。

neural-engine

?

https://github.com/hollance/neural-engine

大多數(shù)新的 iPhone 和 iPad 都有神經(jīng)引擎,這是一種特殊的處理器,可以讓機(jī)器學(xué)習(xí)模型變得非常快,但對于這種處理器的實際工作原理,公眾知之甚少。

Apple 神經(jīng)引擎(或 ANE)是NPU的一種,代表神經(jīng)處理單元。它就像 GPU,但 NPU 不是加速圖形,而是加速卷積和矩陣乘法等神經(jīng)網(wǎng)絡(luò)操作。

ANE 并不是唯一的 NPU——除了 Apple 之外,許多公司都在開發(fā)自己的 AI 加速器芯片。除了神經(jīng)引擎,最著名的 NPU 是谷歌的 TPU(或 Tensor Processing Unit)。

這個項目并不是一個實現(xiàn)TPU的項目,但是是一個關(guān)于Apple 神經(jīng)引擎(或 ANE)介紹及相關(guān)文檔的集合的項目。

總結(jié)

今天介紹了幾個TPU的項目,因為在國內(nèi)TPU可能很多人都沒有聽說過,所以接下來我會出幾篇文章介紹一下。同時這些項目前面幾個非常完整,完全可以優(yōu)化后進(jìn)行商業(yè)推廣(注意開源協(xié)議),最后幾個項目是一些補(bǔ)充的知識,想要了解相關(guān)的知識的朋友可以查看一下。

最后,還是感謝各個大佬開源的項目,讓我們受益匪淺。后面有什么感興趣方面的項目,大家可以在后臺留言或者加微信留言,今天就到這,我是爆肝的碎碎思,期待下期文章與你相見。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21798

    瀏覽量

    606065
  • Verilog
    +關(guān)注

    關(guān)注

    28

    文章

    1351

    瀏覽量

    110400
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8441

    瀏覽量

    133094

原文標(biāo)題:優(yōu)秀的 Verilog/FPGA開源項目介紹(二十)- 張量處理單元(TPU)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    OpenAI與博通洽談合作!定制化ASIC芯片走向臺前,英偉達(dá)GPU迎來“勁敵”?

    設(shè)計公司就開發(fā)新芯片進(jìn)行洽談,以減輕對英偉達(dá)的依賴并加強(qiáng)供應(yīng)鏈。 ? 此外,據(jù)稱OpenAI還聘請了曾參與谷歌張量處理單元TPU)開發(fā)和生產(chǎn)的谷歌前員工,以幫助其進(jìn)行AI芯片的設(shè)計工
    的頭像 發(fā)表于 07-20 00:02 ?5091次閱讀
    OpenAI與博通洽談合作!定制化ASIC芯片走向臺前,英偉達(dá)GPU迎來“勁敵”?

    TPU編程競賽系列|第九屆集創(chuàng)賽“算能杯”火熱報名中!

    第九屆全國大學(xué)生集成電路創(chuàng)新創(chuàng)業(yè)大賽(以下簡稱“集創(chuàng)賽”)正式開始報名。算能在處理器應(yīng)用方向特別設(shè)立了“TPU賦能的邊緣計算架構(gòu)優(yōu)化與創(chuàng)新應(yīng)用設(shè)計”賽題,誠邀各校參賽隊伍充分發(fā)揮TPU的算力優(yōu)勢
    的頭像 發(fā)表于 02-06 13:41 ?52次閱讀
    <b class='flag-5'>TPU</b>編程競賽系列|第九屆集創(chuàng)賽“算能杯”火熱報名中!

    光纜用tpu外護(hù)套用在哪些型號光纜上

    光纜用TPU(熱塑性聚氨酯)外護(hù)套因其耐磨、抗拉、柔性好以及優(yōu)良的防潮和阻燃性能,被廣泛應(yīng)用于多種型號的光纜上,特別是需要較高機(jī)械保護(hù)和惡劣環(huán)境適應(yīng)性的光纜。以下是一些可能使用TPU外護(hù)套的光纜
    的頭像 發(fā)表于 01-10 10:05 ?136次閱讀

    半導(dǎo)體所在光學(xué)張量處理領(lǐng)域取得新進(jìn)展

    ,面對龐大的張量計算需求,傳統(tǒng)的存儲和處理分立的電子計算硬件面臨計算延遲大、功耗高等問題,從而成為了制約人工智能領(lǐng)域快速進(jìn)步的一大瓶頸。 光計算作為一種新興的計算技術(shù),具有大帶寬、低延遲、低功耗等獨特優(yōu)勢,
    的頭像 發(fā)表于 01-08 11:38 ?114次閱讀

    RK3568國產(chǎn)處理器 + TensorFlow框架的張量創(chuàng)建實驗案例分享

    一、實驗?zāi)康?本節(jié)視頻的目的是了解張量定義、了解張量的表示形式、并學(xué)習(xí)基于TensorFlow框架的張量創(chuàng)建方法。 二、實驗原理. 張量定義 1、
    發(fā)表于 12-03 14:43

    《算力芯片 高性能 CPUGPUNPU 微架構(gòu)分析》第3篇閱讀心得:GPU革命:從圖形引擎到AI加速器的蛻變

    昇騰采用達(dá)芬奇架構(gòu),在AI Core中集成了標(biāo)量/向量/張量處理單元。我注意到書中對TPU v4光學(xué)芯片互聯(lián)的分析特別深入,這種創(chuàng)新或?qū)⒅厮芪磥鞟I集群的架構(gòu)范式。中國古語云\"大道至
    發(fā)表于 11-24 17:12

    pcie在深度學(xué)習(xí)中的應(yīng)用

    深度學(xué)習(xí)模型通常需要大量的數(shù)據(jù)和強(qiáng)大的計算能力來訓(xùn)練。傳統(tǒng)的CPU計算資源有限,難以滿足深度學(xué)習(xí)的需求。因此,GPU(圖形處理單元)和TPU張量
    的頭像 發(fā)表于 11-13 10:39 ?534次閱讀

    處理器的執(zhí)行單元是什么

    處理器的執(zhí)行單元(Execution Unit,簡稱EU)是微處理器中負(fù)責(zé)執(zhí)行指令的核心部分,它集成了多種功能單元,共同協(xié)作完成算術(shù)運算、邏輯運算以及指令的譯碼和執(zhí)行等任務(wù)。
    的頭像 發(fā)表于 10-05 15:19 ?591次閱讀

    使用邏輯和轉(zhuǎn)換優(yōu)化數(shù)字駕駛艙處理單元

    電子發(fā)燒友網(wǎng)站提供《使用邏輯和轉(zhuǎn)換優(yōu)化數(shù)字駕駛艙處理單元.pdf》資料免費下載
    發(fā)表于 09-05 11:08 ?0次下載
    使用邏輯和轉(zhuǎn)換優(yōu)化數(shù)字駕駛艙<b class='flag-5'>處理</b><b class='flag-5'>單元</b>

    TPU v1到Trillium TPU,蘋果等科技公司使用谷歌TPU進(jìn)行AI計算

    ,在訓(xùn)練尖端人工智能方面,大型科技公司正在尋找英偉達(dá)以外的替代品。 ? 不斷迭代的谷歌TPU 芯片 ? 隨著機(jī)器學(xué)習(xí)算法,特別是深度學(xué)習(xí)算法在各個領(lǐng)域的廣泛應(yīng)用,對于高效、低功耗的AI計算硬件需求日益增長。傳統(tǒng)的CPU和GPU在處理這些算法時存在效率較低的問
    的頭像 發(fā)表于 07-31 01:08 ?3442次閱讀

    谷歌將推出第六代數(shù)據(jù)中心AI芯片Trillium TPU

    在今日舉行的I/O 2024開發(fā)者大會上,谷歌公司震撼發(fā)布了其第六代數(shù)據(jù)中心AI芯片——Trillium Tensor處理單元TPU)。據(jù)谷歌首席執(zhí)行官皮查伊透露,這款新型TPU預(yù)
    的頭像 發(fā)表于 05-15 11:18 ?674次閱讀

    谷歌發(fā)布第六代數(shù)據(jù)中心AI芯片Tensor處理單元Trilliu?

    谷歌CEO桑達(dá)爾·皮查伊表示,“谷歌自創(chuàng)立以來,始終引領(lǐng)GPU技術(shù)發(fā)展。”他進(jìn)一步指出,新款TPU的計算性能較第五代提升4.7倍,主要得益于擴(kuò)大了芯片的矩陣乘法單元(MXU)以及提高了整體時鐘速度。
    的頭像 發(fā)表于 05-15 10:22 ?544次閱讀

    谷歌自主研發(fā):Google Axion處理器亮相

    谷歌 Axion 處理器不僅是谷歌對定制芯片投資的最新成果,也是眾多定制芯片中的一環(huán)。自2015年以來,谷歌已經(jīng)陸續(xù)推出了五代張量處理單元TPU
    發(fā)表于 04-20 09:52 ?464次閱讀

    三星電子最新消息 成立AI芯片開發(fā)團(tuán)隊 出售所持ASML剩余股份

    團(tuán)隊的領(lǐng)導(dǎo)者是前谷歌張量處理單元TPU)平臺的初始設(shè)計師之一Woo Dong-hyuk。 三星電子已出售所持 158萬股 ASML剩余股份,ASML股份估值約65億元 據(jù)韓聯(lián)社報道的
    的頭像 發(fā)表于 02-22 18:34 ?1294次閱讀

    三星電子在硅谷成立AI芯片開發(fā)團(tuán)隊

    三星電子近日在硅谷成立了一支全新的AI芯片開發(fā)團(tuán)隊,以加速在人工智能領(lǐng)域的布局。這支團(tuán)隊由前谷歌研究員Woo Dong-hyuk領(lǐng)導(dǎo),他在谷歌期間曾是設(shè)計張量處理單元TPU)平臺的核
    的頭像 發(fā)表于 02-22 14:43 ?722次閱讀
    网上百家乐官网赌| 赌百家乐官网赢的奥妙| 致胜百家乐下载| 南京百家乐官网赌博现场被| 云鼎娱乐城| 百家乐微笑打法| 万龙百家乐官网的玩法技巧和规则| 平原县| 威尼斯人娱乐城首存| 百家乐官网双龙出| 武陟县| 大发888备用网址大发娱乐城| 百家乐游戏机出千| 广州百家乐官网娱乐场| 娱乐城注册| 荷规则百家乐的玩法技巧和规则 | 做生意门口怎么摆放| 至尊百家乐官网2012| 皇冠投注网址| 博彩百家乐字谜总汇二丹东| 百家乐类游戏平台| 棋牌百家乐官网赢钱经验技巧评测网| 太阳城小区| 金沙城百家乐大赛规则| 娱乐网百家乐官网补丁| 百家乐官网真人大头贴| 云鼎娱乐城怎么存钱| 香港百家乐的玩法技巧和规则| 迪威百家乐官网娱乐| 德州扑克大盲注| 真人百家乐官网好不好玩| 大发888官方下载168| 百家乐娱乐网77scs| 繁体子24画的有| 百家乐官网园36bol在线| 金满堂百家乐官网的玩法技巧和规则 | 金榜百家乐官网现金网| 博盈娱乐| 大发888真人娱乐场| 名仕百家乐的玩法技巧和规则 | 百家乐官网技巧运气|