[自動駕駛技術]-6 Tesla自動駕駛方案之硬件(AI Day 2021)

1 硬件集成

特斯拉自動駕駛數據標注過程中,跨250萬個clips超過100億的標注數據,無論是自動標注還是模型訓練都要求具備強大的計算能力的硬件。下圖是特斯拉FSD計算平臺硬件電路圖。

1)神經網絡編譯器

特斯拉AI編譯器主要針對PyTorch框架,結合之前介紹過的編譯器內容,特斯拉的自動駕駛算法模型需要通過編譯器,生成硬件可執行的機器指令,才能在CPU、GPU或者AI芯片上運行。上圖主要展示了AI編譯器的計算圖優化(算子融合:將CONV 2D和RELU算子融合為1個CONV 2D_RELU算子,這基本是常規標配做法),調度。

2)FSD計算平臺

特斯拉FSD硬件計算平臺集成了2顆SoC芯片,SOC-1輸出最終的控制指令,SOC-2作為擴展計算。

3)AI模型評估中心

特斯拉的AI模型評估基礎設施中心,可支持每周超過百萬的評估計算,運行在超過3000個FSD計算平臺上。

特斯拉的訓練網絡計算中心,2021年具備3個集群1組用于自動標注,2組用于模型訓練。

2 DOJO項目 ?

Ganesh說:“計算能力容易擴展,但帶寬擴展較為困難,而降低延遲則極其困難。”

現代CPU、GPU和AI加速器通過不斷優化架構(如增加核心數、提高時鐘速度、優化指令集)來提升性能。特別是GPU和AI加速器,天然適合大規模并行計算,通過增加更多的計算單元,可以顯著提升計算能力。

然而無論哪種處理器都很容易受到內存帶寬限制: CPU、GPU和AI加速器需要高速訪問內存,而內存帶寬的提升速度往往跟不上計算能力的提升速度,造成帶寬瓶頸,也就是我們常說的內存墻問題。此外,芯片內部的總線架構(如PCIe、NVLink)需要支持高帶寬傳輸,擴展這些總線的帶寬需要對芯片封裝、功耗管理和信號完整性進行優化,難度較大。在多芯片系統中,不同芯片之間的數據傳輸也受到帶寬限制,需要高速互連技術(如Infinity Fabric、NVLink)來解決,但這些技術實現復雜且成本較高。

降低延遲極其困難:從CPU到GPU或AI加速器的數據傳輸路徑中,每一步都可能增加延遲,例如內存訪問延遲、緩存命中率、總線傳輸延遲等都是難以完全消除的因素。在多任務環境中,任務調度和切換會帶來上下文切換延遲和資源爭用問題,這些問題在實時性要求高的應用中尤為突出。若想硬件和軟件協同優化來減少延遲,涉及復雜的設計流程和大量的調優工作,需要深入理解整個系統的工作機制。

特斯拉的Dojo架構由計算單元和Network Fabric(指芯片上用于連接和通信的網絡架構,是一種高性能的互連系統,負責在芯片內部不同計算單元之間傳輸數據)組成,采用了多種技術例如采用2D網格網絡進行數據傳輸、對神經網絡分割、調用本地存儲方式等解決帶寬和延遲的限制。

(一句話,特斯拉極大程度提高了帶寬降低了延遲,遠超業內)

1)芯片

如上圖所示是特斯拉SoC芯片上一個高性能的訓練節點結構圖:底部是機器學習陣列,左側是SRAM存儲陣列,再加上頂部的多線程可編程核。支持FP32、BFP16、CFP8。

  • 1024 GFLOPS(BF16/CFP8)
  • 64GFLOPS(FP32)
  • 512GB/S帶寬

如上圖所示,這是個超標量處理器核,四個寬標量核兩個寬標量數據管線;支持四個線程;針對機器學習支持自定義指令集ISA,例如轉置、鏈接遍歷、廣播等。(這部分工作原理會在處理器專欄做詳細介紹)

特斯拉D1芯片由354個訓練節點組成計算陣列,可謂針對機器學習的機器,GPU級別的芯片同時擁有CPU的靈活性核兩倍NPU級別的I/O帶寬,提供了超高性能的計算能力。

2)計算系統Computer Plane

特斯拉的計算系統上,1個Training Tile集成了25個D1芯片,四周使用高速連接器支持9TB/S帶寬,支持9PFLOPS(BF16/CFP8)

3)計算集群

4)AI編譯器

特斯拉Dojo編譯器引擎,使用多種細顆粒度的并行化技術:數據并行、模型并行、計算圖并行技術,還支持高層次的環路管理,例如循環等。

特斯拉的軟件棧有兩個重點:用戶編程接口,基于PyTorch做了擴展;使用LLVM作為底層處理生成硬件所需的二進制代碼。

LLVM(Low Level Virtual Machine)是一套用于構建編譯器和相關工具的開源項目,提供了一種模塊化和可重用的編譯器基礎架構。LLVM的架構主要包括:前端負責將源代碼轉換為LLVM中間表示IR;中端對LLVM IR進行各種優化處理,提高代碼執行效率;后端將優化后的LLVM IR轉換為目標機器碼,具體包括代碼生成和目標特定優化。

(以下為筆者猜測內容)

特斯拉的Dojo AI編譯器使用LLVM作為后端處理的基礎架構,通過LLVM的模塊化設計和強大的優化能力,實現高效的AI模型編譯和執行:

  • 自定義目標支持:特斯拉可以通過LLVM的目標描述文件,定義Dojo芯片的特性,并擴展LLVM的指令選擇和代碼生成模塊,以支持特斯拉可能有的特定的硬件加速單元和自定義指令集自定義指令。
  • 高效的寄存器分配:Dojo AI編譯器可以利用LLVM的寄存器分配算法,優化寄存器使用,減少內存訪問,提高模型執行效率。
  • 目標特定優化:通過LLVM的目標特定優化能力,Dojo AI編譯器可以實現針對Dojo硬件的深度優化,包括利用硬件加速單元和并行計算資源,提高模型推理速度。
  • 模塊化和可擴展性:LLVM的模塊化設計允許特斯拉根據需要擴展和定制編譯器后端,以適應不同的AI模型和硬件需求。可以在LLVM的基礎上添加新的優化通道和代碼生成策略,提升整體性能。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16357.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16357.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16357.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AI數據面臨枯竭

Alexandr Wang:前沿研究領域需要大量當前不存在的數據,未來會受到這個限制 Alexandr Wang 強調了 AI 領域面臨的數據問題。 他指出,前沿研究領域(如多模態、多語言、專家鏈式思維和企業工作流)需要大量當前不存在的數…

壓縮能力登頂 小丸工具箱 V1.0 綠色便攜版

平常錄制視頻或下載保存的視頻時長往往都很長,很多時候都想要裁剪、 截取出一些“精華片段”保留下來,而不必保存一整個大型視頻那么浪費硬盤空間… 但如今手機或電腦上大多數的視頻剪輯軟件,切割視頻一般都要等待很長時間導出或轉換&#…

【C語言回顧】編譯和鏈接

前言1. 編譯2. 鏈接結語 上期回顧: 【C語言回顧】文件操作 個人主頁:C_GUIQU 歸屬專欄:【C語言學習】 前言 各位小伙伴大家好!上期小編給大家講解了C語言中的文件操作,接下來我們講解一下編譯和鏈接! 1. 編譯 預處理…

H5掃描二維碼相關實現

H5 Web網頁實現掃一掃識別解析二維碼,就現在方法的npm包就能實現,在這個過程中使用過html5-qrcode 和 vue3-qr-reader。 1、html5-qrcode的使用 感覺html5-qrcode有點小坑,在使用的時候識別不成功還總是進入到錯誤回調中出現類似NotFoundExc…

Python怎樣將PDF拆分成多個文件

在 Python 中,你可以使用 PyPDF2 庫來拆分 PDF 文件。以下是一個簡單的示例,演示如何將一個 PDF 文件拆分為多個單頁 PDF 文件。 首先,你需要安裝 PyPDF2 庫。如果尚未安裝,可以使用以下命令進行安裝: pip install P…

天干物燥小心火燭-智慧消防可視化大屏,隱患防治于未然。

智慧消防可視化大屏通常包括以下內容: 1.實時監控: 顯示消防設備、傳感器、監控攝像頭等設備的實時狀態和數據,包括火災報警、煙霧報警、溫度報警等。 2.建筑結構: 顯示建筑物的結構圖和平面圖,包括樓層分布、消防通…

VLC播放器(全稱VideoLAN Client)

一、簡介 VLC播放器(全稱VideoLAN Client)是一款開源的多媒體播放器,由VideoLAN項目團隊開發。它支持多種音視頻格式,并能夠在多種操作系統上運行,如Windows、Mac OS X、Linux、Android和iOS等。VLC播放器具備播放文件…

特殊變量筆記3

輸入一個錯誤命令, 在輸出$? 特殊變量:$$ 語法 $$含義 用于獲取當前Shell環境的進程ID號 演示 查看當前Shell環境進程編號 ps -aux|grep bash輸出 $$ 顯示當前shell環境進程編號 小結 常用的特殊符號變量如下 特殊變量含義$n獲取輸入參數的$0, 獲取當前She…

hugging face筆記:PEFT

1 介紹 PEFT (Parameter-Efficient Fine Tuning) 方法在微調時凍結預訓練模型參數,并在其上添加少量可訓練的參數(稱為適配器)這些適配器被訓練用來學習特定任務的信息。這種方法已被證明在內存效率和計算使用上非常高效,同時能產…

線性模型--普通最小二乘法

線性模型 一、模型介紹二、用于回歸的線性模型2.1 線性回歸(普通最小二乘法) 一、模型介紹 線性模型是在實踐中廣泛使用的一類模型,該模型利用輸入特征的線性函數進行預測。 二、用于回歸的線性模型 以下代碼可以在一維wave數據集上學習參…

基于51單片機的超聲波液位測量與控制系統

基于51單片機液位控制器 (仿真+程序+原理圖PCB+設計報告) 功能介紹 具體功能: 1.使用HC-SR04測量液位,LCD1602顯示; 2.當水位高于設定上限的時候,對應聲光報警報警&am…

手機卡該地塊

package demo; package demo; public class Phonetest { public static void main(String[] args) { Phone pnew Phone(); p.brand"小米"; p.price1998.98; System.out.println(…

在業務開發中使用ElasticSearch的指導手冊

文章目錄 該業務為什么需要ElasticSearch? / 該業務需要ElasticSearch的核心功能是哪些?正確示例錯誤示例 如何快速驗證分詞是否能夠滿足業務需求?分詞不滿足,如何自定義分詞? 業務數據的字段類型映射是否合理?實踐中…

MySQL設置表自增步長

在MySQL數據庫管理中,自增字段(AUTO_INCREMENT)是一種常見且重要的功能,通常用于生成唯一的標識符(如主鍵)。然而,在多種應用場景下,默認的自增步長(1)可能無…

【InternLM實戰營第二期筆記】02:大模型全鏈路開源體系與趣味demo

文章目錄 00 環境設置01 部署一個 chat 小模型02 Lagent 運行 InternLM2-chat-7B03 浦語靈筆2 第二節課程視頻與文檔: https://www.bilibili.com/video/BV1AH4y1H78d/ https://github.com/InternLM/Tutorial/blob/camp2/helloworld/hello_world.md 視頻和文檔內容基…

003 CentOS 7.9 mysql8.3.0安裝及配置

文章目錄 Windows PowerShell測試端口安裝及配置1. 下載MySQL安裝包2. 解壓安裝包3. 安裝MySQL4. 啟動MySQL服務5. 獲取并設置MySQL root密碼6. 創建數據庫7. 配置遠程連接(可選) 卸載mysql檢查并卸載已有的MySQL或MariaDB: https://download…

云計算和大數據處理

文章目錄 1.云計算基礎知識1.1 基本概念1.2 云計算分類 2.大數據處理基礎知識2.1 基礎知識2.3 大數據處理技術 1.云計算基礎知識 1.1 基本概念 云計算是一種提供資源的網絡,使用者可以隨時獲取“云”上的資源,按需求量使用,并且可以看成是無…

AWS安全性身份和合規性之WAF(Web Application Firewall)

AWS WAF(Web Application Firewall)是一項AWS托管的網絡安全服務,用于保護Web應用程序免受常見的Web攻擊,如SQL注入、跨站腳本(XSS)、跨站請求偽造(CSRF)等。 應用場景:…

STM32應用開發進階--IIC總線(SHT20溫濕度+HAL庫_硬件I2C)

實現目標 1、掌握IIC總線基礎知識; 2、會使用軟件模擬IIC總線和使用STM32硬件IIC總線; 3、 學會STM32CubeMX軟件關于IIC的配置; 4、掌握SHT20溫濕度傳感器的驅動; 5、具體目標:(1)用STM32硬件IIC驅動S…