色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

介紹

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

張量處理單元于 2016 年 5 月在Google I/O上宣布:當時該公司表示 TPU 已經在其數據中心內使用了一年多。該芯片專為 Google 的TensorFlow框架設計,用于神經網絡等機器學習應用。

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

經過幾年的發展,TPU已經發布了四個版本,下面是其發展歷程:

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

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

接下來介紹一些TPU項目。

tinyTPU

?

https://github.com/jofrfu/tinyTPU

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

該項目的目的是創建一個與谷歌的張量處理單元具有相似架構的機器學習協處理器。該實現的資源可定制,可以以不同的尺寸使用以適應每種類型的 FPGA。這允許在嵌入式系統物聯網設備中部署該協處理器,但也可以擴大規模以用于數據中心和高性能機器。AXI 接口允許以多種組合方式使用。對 Xilinx Zynq 7020 SoC 進行了評估。下面的鏈接中是使用vivado進行使用的一個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 數據集訓練的樣本模型在不同大小的 MXU 上進行了評估,頻率為 177.77 MHz,理論性能高達 72.18 GOPS。然后將實際時序測量與傳統處理器進行比較:

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

下面是其他處理器的對比結果:

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和引腳沒關聯,所以可以直接進行使用驗證。

?

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

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

描述

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

系統結構

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

對比

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

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

在用戶看來,Free-TPU和EEP-TPU功能相同,但推理時間不同。

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

?

https://www.embedeep.com

SimpleTPU

?

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

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

張量處理單元旨在加速矩陣乘法,特別是對于多層感知器和卷積神經網絡。

此實現主要遵循 Google TPU Version 1,該架構在

?

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

中有介紹。

主要特點

Simple TPU 的主要特性包括

Int8 乘法和 Int32 累加器

基于 VLIW 的并行指令

基于向量架構的數據并行

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

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

資源占用情況

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

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

?

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

tiny-tpu

?

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

谷歌的TPU架構:

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

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

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

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

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

更多詳細信息:

?

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(選擇權重矩陣)與矩陣B(選擇矩陣)相,每一個一個都是 32x32。最后他們開始做每個矩陣的乘法,每個矩陣的因素將首先轉換成一個順序輸入 TPU 中,輸入其特定的矩陣,然后再將這些單元最多向連接的方向輸入。在下一個周期中,每個單元將其權重和數據方向賦予下一個格。從左到右。

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

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

?

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(命名權重矩陣)與矩陣B(命名數據矩陣)相乘,每個矩陣為8x8。一旦他們開始做矩陣乘法,兩個矩陣的這些系數將首先轉換成一個順序輸入到 TPU 中,然后輸入到每個特定的隊列中。然后這些隊列將最多向其連接的單元輸出 8 個數據,這些單元將根據它接收到的權重和數據進行乘法和加法。并且在下一個周期中,每個單元格將其權重和數據轉發給下一個單元格。權重從上到下,數據從左到右。

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

該項目雖然完成了相關的目的,但是只是完成了相關工作,實際使用時需要進行一些優化。

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比較復雜,那么這個就可以用“精簡”來形容了。

整個代碼非常精簡,適合入門想研究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,類似的項目有很多,都是理論研究的項目,和上面的項目一樣都是非常非常適合入門研究的人員,里面的理論都是極其詳細的。

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

systolic-array

?

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

verilog實現TPU中的脈動陣列計算卷積的module

data為實驗數據

source為源碼

testbench 測試各個模塊用的testbench

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

tpu_v2

?

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

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

項目沒有多余的介紹,整個項目是基于Altera-DE3設計,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 開發板的一部分)的基板的開放硬件設計文件。該板提供標準 I/O 接口,并允許用戶通過統一的柔性扁平電纜 (FFC) 連接器與兩個兼容 MIPI CSI-2 的視頻設備連接。

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

PCB 項目文件是在 Altium Designer 14.1 中準備的。

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

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

neural-engine

?

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

大多數新的 iPhone 和 iPad 都有神經引擎,這是一種特殊的處理器,可以讓機器學習模型變得非???,但對于這種處理器的實際工作原理,公眾知之甚少。

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

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

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

總結

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

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

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21729

    瀏覽量

    603013
  • Verilog
    +關注

    關注

    28

    文章

    1351

    瀏覽量

    110077
  • 機器學習
    +關注

    關注

    66

    文章

    8406

    瀏覽量

    132567

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

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

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

    RK3568國產處理器 + TensorFlow框架的張量創建實驗案例分享

    一、實驗目的 本節視頻的目的是了解張量定義、了解張量的表示形式、并學習基于TensorFlow框架的張量創建方法。 二、實驗原理. 張量定義 1、
    發表于 12-03 14:43

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

    昇騰采用達芬奇架構,在AI Core中集成了標量/向量/張量處理單元。我注意到書中對TPU v4光學芯片互聯的分析特別深入,這種創新或將重塑未來AI集群的架構范式。中國古語云\"大道至
    發表于 11-24 17:12

    pcie在深度學習中的應用

    深度學習模型通常需要大量的數據和強大的計算能力來訓練。傳統的CPU計算資源有限,難以滿足深度學習的需求。因此,GPU(圖形處理單元)和TPU張量
    的頭像 發表于 11-13 10:39 ?380次閱讀

    處理器的執行單元是什么

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

    使用邏輯和轉換優化數字駕駛艙處理單元

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

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

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

    谷歌將推出第六代數據中心AI芯片Trillium TPU

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

    谷歌自主研發:Google Axion處理器亮相

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

    三星電子最新消息 成立AI芯片開發團隊 出售所持ASML剩余股份

    團隊的領導者是前谷歌張量處理單元TPU)平臺的初始設計師之一Woo Dong-hyuk。 三星電子已出售所持 158萬股 ASML剩余股份,ASML股份估值約65億元 據韓聯社報道的
    的頭像 發表于 02-22 18:34 ?1246次閱讀

    三星電子在硅谷成立AI芯片開發團隊

    三星電子近日在硅谷成立了一支全新的AI芯片開發團隊,以加速在人工智能領域的布局。這支團隊由前谷歌研究員Woo Dong-hyuk領導,他在谷歌期間曾是設計張量處理單元TPU)平臺的核
    的頭像 發表于 02-22 14:43 ?641次閱讀

    如何高效處理LMEM中的數據?這篇文章帶你學會!

    WeightReorder是TPU-MLIR的一個pass(參考TPU-MLIR編譯流程圖),其完成了對部分常量數據的Layout變化和合并。本文介紹其中ConvlotionKernel
    的頭像 發表于 01-19 08:33 ?813次閱讀
    如何高效<b class='flag-5'>處理</b>LMEM中的數據?這篇文章帶你學會!

    tpu材料的用途和特點

    TPU材料,即熱塑性聚氨酯(Thermoplastic Polyurethane),是一種聚合物材料,具有廣泛的應用領域和獨特的特點。 TPU材料的主要用途如下: 鞋類行業:TPU材料常用于鞋類
    的頭像 發表于 01-16 10:17 ?3220次閱讀

    TPU是什么材料做的

    TPU(Thermoplastic Polyurethane)是熱塑性聚氨酯的簡稱,屬于一種高強度、高彈性、高耐磨的特種塑料材料。它是由聚醚或聚酯兩元醇與三元異氰酸酯或四元稀土異氰酸酯通過共聚反應
    的頭像 發表于 01-12 13:40 ?3379次閱讀

    TPU-MLIR開發環境配置時出現的各種問題求解

    按照 TPU-MLIR 開發指南進行環境配置: 2.1. 代碼下載? 代碼路徑: https://github.com/sophgo/tpu-mlir 克隆該代碼后, 需要在Docker中編譯
    發表于 01-10 08:02
    主站蜘蛛池模板: 伊人久久伊人| 看黄色片子| 亚洲精品美女久久久久99| 国产精品久AAAAA片| 丝袜诱惑qvod| 国产欧美一区二区精品仙草咪| 我的漂亮朋友在线观看全集免费 | 暖暖直播免费观看韩国| 69人体阴展网| 嫩草影院未满十八岁禁止入内| 99久久99久久久精品久久| 欧美精品XXXXBBBB| 啊灬啊灬啊灬快高潮视频| 日韩精品免费一区二区| 国产AV一区二区三区传媒| 午夜深情在线观看免费| 国产午夜精品理论片免费观看| 亚洲蜜桃AV永久无码精品放毛片| 精品视频在线播放| 最近免费视频中文2019完整版 | 顶级欧美不卡一区二区三区| 无码乱人伦一区二区亚洲一| 灰原哀被啪漫画禁漫| 挺进绝色老师的紧窄小肉六| 国产午夜精品一区理论片飘花| 亚洲精品成人a| 久草精品视频| 91精品国产入口| 琪琪色在线播放| 国产成人精品精品欧美| 欧美.亚洲.日韩.天堂| 久久亚洲高清观看| 国产福利一区二区精品| 色99蜜臀AV无码| 国产欧美精品一区二区三区-老狼| 亚洲看片网站| 久久资源365| 边做边爱免费视频| 小小水蜜桃免费影院| 俄罗斯女人与马Z00Z视频| 亚洲偷自拍精品视频在线观看 |