IPU AI應用 Graphcore CPC

智慧處理單元引巨頭注資 創新IPU殺入AI處理器市場

2021-04-24
2018年全球人工智慧(AI)晶片市場整體價值66.4億美元,預計到2025年將大幅成長達到912億美元,年複合成長率為45.2%。

 

許多公司都在致力於開發AI晶片,目前尚不清楚誰最終將主導AI晶片市場,但可以確信的是,以專利為主的智慧財產權很可能在人工智慧晶片領域扮演著重要角色,決定誰將勝出、誰將長期生存方面發揮重要作用而成為AI晶片新創公司最終能否成功的關鍵。

總部位於英國布里斯托(Bristol)的英商葛夫科有限公司(Graphcore Limited),是由技術長Simon Knowles和首席執行長Nigel Toon於2016年創立的AI晶片新創公司,致力於開發採用整體同步並行(Bulk Synchronous Parallel, BSP)運算模型的「智慧處理單元」(Intelligence Processing Unit, IPU),該單元在處理器內部擁有完整的機器學習模型(圖1),為新型AI加速器。

圖1  Graphcore研發的人工智慧晶片
資料來源:Graphcore官網

如果Graphcore沒有在人工智慧晶片領域建立強大專利組合,它也不太可能獲得如戴爾(Dell)、博世(Bosch)、寶馬(BMW)、微軟(Microsoft)以及三星(Samsung)等巨擘的投資,足見投資者非常看重AI新創業者在智慧財產權方面是否有健全的策略。毫無疑問,專利權的保護對新創公司發明的重要性,特別是在公司早期階段的專利布局。

Graphcore核心技術介紹

圖2顯示Graphcore所開發的單晶片處理器2的架構,為了表示其對機器智慧應用的適應性,而將該處理器命名為「智慧處理單元」。在一計算機中,單晶片處理器可使用晶片上之鏈路連接在一起以形成一計算機。該處理器(或稱晶片)2可被視為具有東區域、西區域、北區域以及南區域,並且包括稱之為圖磚(Tiles)的複數個處理單元。

如圖2所示,該處理器2具有陣列6a、6b、6c以及6d的1,216個圖磚,其中6a可稱為「東北陣列」、6b可稱為「東南陣列」、6c稱為「西南陣列」、6d稱為「西北陣列」,各陣列例如可具有4行76個圖磚。晶片2自一主機以待由晶片2處理之輸入資料的形式接收工作,該主機經由卡片至主機鏈路之一者連接至該晶片。例如晶片2具有配置於晶片2之「西」邊緣上之兩個晶片至主機鏈路8a、8b以及四個晶片至晶片鏈路30a、30b,以及晶片2可進一步藉由沿晶片之「東」側配置的六個晶片至晶片鏈路30a、30b一起連接至卡片中。一主機可存取一計算機,該計算機取決於來自主機應用程式之工作負載而構造為一單晶片處理器2或多個互連單晶片處理器2之一群組。

圖2  Graphcore開發的智慧處理單元架構

再者,晶片2包括具有控制晶片活動之時序的時脈3,以及包括所有圖磚及鏈路藉由連接線組連接至一時間確定性的切換構體34,其中各連接線組係端對端固定且線為管線。例如一組包括三十二個資料線加上控制線(例如一有效位元),各組可攜帶一32位元資料封包,其中封包表示輸入至一圖磚或自一圖磚輸出之數值或邏輯值,可包含指示透過切換構體34行進之至少一個方向的標頭。各圖磚具有其自身本端記憶體(不共用記憶體)且圖磚之間的資料交換,係基於時間確定性而進行。

切換構體34構成僅連接至多工器及圖磚之交叉連接線組,且不保存任何程式可見狀態,而被視為無狀態及不使用任何記憶體。一管線連接線包括在將資料釋放至下一儲存器之前保存資料達時脈循環的一系列暫時性儲存器,沿線行進之時間係由此等暫時性儲存器判定,各暫時性儲存器在任何兩點之間的路徑中耗盡一時脈循環的時間。

Graphcore專利布局概述

專利件數分析主要係分析特定專利申請人或專利權人歷年專利申請的趨勢,圖3顯示英國AI晶片新創公司Graphcore歷年來在AI晶片的專利產出數量上的變化,由於是新創公司,專利活動年期僅近3~4年。發現Graphcore自2017年起申請AI晶片相關專利,開始布局涉及其核心技術「智慧處理單元」的綿密專利網。專利主要申請國別如圖4所示,以其公司設立所屬國英國(GB)最多,其次分別為美國、台灣、日本和韓國,Graphcore也積極布局台灣專利係歸因於台灣擁有全球最完整的半導體產業聚落及專業分工。

圖3  Graphcore公司歷年專利申請趨勢圖
圖4  Graphcore公司專利主要申請國別統計圖

圖5顯示Graphcore專利組合中五階的國際專利分類碼分析,其中以G06F 9/30(執行機器指令之裝置,如指令解碼)最多,其次為G06F 9/52(程序同步或互斥),G06F 9/38(指令並行執行者,如指令管線或進位超前處理)以及G06F 15/173(使用如矩陣等方式之互連網路)。再者,若以合作專利分類(Cooperative Patent Classification, CPC)[2]來統計分析,有可能將國際專利分類碼(IPC)又進一步細分或擴展,如圖6顯示五碼的CPC合作專利分類分析圖,其中以G06F 9/522的屏障同步(Barrier Synchronization)最多,其次為G06F15/17325的同步及其硬體支持相關(Synchronisation; Hardware support therefor)以及G06F09/30087的同步或序列化指令(Synchronisation or serialisation instructions),足見Graphcore主要係採用整體同步並行(BSP)的技術方案以發展其智慧處理單元的核心技術。

圖5  IPC專利分類分析圖
圖6  CPC專利分類分析圖

Graphcore專利技術解析

關於Graphcore專利技術解析,以下分成四部分來加以說明。

用於同步多個不同圖磚之工作負載的處理系統

美國專利公開號US20190121679A1係涉及一種用於處理器圖磚中之同步化的處理器系統及方法;這些用於同步多個不同圖磚之工作負載(Workloads)的處理系統具有同步邏輯,用於將同步確認返回到群組中的圖磚,並允許在群組中的每個圖磚上恢復指令發布(Instruction Issue)。各圖磚包括其自身處理單元及記憶體。具體而言,係關於同步化多圖磚處理配置之處理器中之複數個不同圖磚的工作負載,例如可用於整體同步並行(BSP)通訊方案,藉此群組中每個圖磚必須在該群組中之該等圖磚之任一者進行至交換階段之前完成運算階段。

圖7繪示根據美國公開專利號US20190121679A1之一處理器模組的一個實施例示意性方塊圖。該處理器模組可為一相同晶片上之類處理器圖磚陣列中的一個圖磚,或可為其自身晶片上之一獨立處理器,處理器模組包括一多執行緒處理單元(Multi-threaded Processing Unit)10及一本端記憶體(Local Memory)11。其中記憶體11包括一指令記憶體(Instruction Memory)12及一資料記憶體(Data Memory)22,指令記憶體12儲存待藉由處理單元10執行之機器碼,而資料記憶體22儲存待藉由該經執行程式碼操作之資料,以及藉由該經執行程式碼輸出之資料。

圖7  多執行緒處理單元之一示意性方塊圖

在處理單元10內,來自指令記憶體12之執行緒之多個不同者可透過一單個執行管線13交錯。多執行緒處理單元10包括複數個內文暫存器檔案(Context Register Files)26,其等各經配置以表示將同時執行之執行緒之一不同各自者之狀態;一共用執行管線13,其為該等同時執行之執行緒所共有;及一排程器(Scheduler)24,其用於排程該等並行執行緒以依一交錯方式透過該共用管線執行。

處理單元10連接至為複數個執行緒所共有之一共用指令記憶體(Instruction Memory)12及亦為複數個執行緒所共有之一共用資料記憶體(Data Memory)22。執行管線(Execution Pipeline)13包括一提取級(Fetch Stage)14、一解碼級(Decode Stage)16及一執行級(Execution Stage)18,其中執行級18包括可執行如藉由指令集架構定義之算術及邏輯運算、位址運算、載入和儲存操作及其他操作之一執行單元。內文暫存器檔案(Context Register Files)26之各者,包括用於表示一各自執行緒之程式狀態之一組各自暫存器。

圖8為陣列中之圖磚群組4i、4ii、4iii實施整體同步並行(BSP)模型的示意性圖解以顯示其批量同步並行模型,包括自運算階段52至交換階段50之一屏障同步化。根據其整體同步並行原理,各圖磚4在一交替循環中執行藉由圖磚之間彼此分離之運算階段52及交換階段50的屏障同步化30。

如圖8所示,一屏障同步化係放置於各運算階段52與隨後交換階段50之間,在此配置中,容許一些圖磚4開始運算52而一些其他圖磚4仍在交換。換言之,利用此整體同步並行機制,將一屏障同步化30放置於自運算階段52過渡至交換階段50之接點,或自交換階段50過渡至運算階段52之接點,或兩者處。即以下任一者:(a)需要所有圖磚4在容許群組中之任一者進行至下一交換階段50之前完成其等各自運算階段52;(b)需要群組中之所有圖磚4在容許群組中之任何圖磚進行至下一運算階段52之前完成其等各自交換階段50;(c)強制執行此等條件之兩者。在全部三個變體中,個別處理器在階段之間交替且整個同步化。

圖8  陣列中圖磚群組實施BSP模型的示意性圖解

該專利權利請求項包括二個獨立請求項,分別主張一種圖磚配置以及介於該等圖磚之間的一互連件處理系統,以及用於操作該處理系統的方法。這種用於同步多個不同圖磚之工作負載的處理系統,以最小的程式碼密度(Code Density)為編譯器提供靈活性,並在物理層提供了重新傳輸,從而減少了等待時間和程式碼密度。

方向指示器

美國專利公開號US10360175B2揭示了具有智慧處理單元處理器架構的實例應用,主要是關於一種知識模型如何用於學習、推理等演算法資訊的機器智慧模型,該機器智慧模型可由圖9所示之多個互連節點102及鏈路104表示,節點及鏈路可稱為頂點和邊緣。圖9中之各節點102具有一或多個輸入邊緣及一或多個輸出邊緣,其中一些節點102之一些輸入邊緣係一些其他節點之輸出邊緣。

圖9  由多個互連節點與鏈路形成的機器智慧模型示意圖

此外,一或多個節點102之一或多個輸入邊緣作為整體形成至該圖的輸入,且一或多個節點102之一或多個輸出邊緣作為整體形成該圖的輸出。各邊緣104通常以一張量(n維矩陣)的形式傳達一值,此等分別形成在其輸入及輸出邊緣上形成提供給節點102及自節點102提供的輸入與輸出。各節點102表示如在其輸入邊緣或若干輸入邊緣上接收之輸入的功能,其中該功能之結果係在輸出邊緣或若干輸出邊緣上提供之輸出。各功能係由一或多個各自參數(或稱權重)參數化。通常,由不同節點102表示之功能可為不同形式之功能且可藉由不同參數來參數化。

在該專利的實施例中,各工作程式線程經程式化以執行與機器智慧模型中之節點102相關聯的計算。在此情況下,節點102之間的邊緣104對應於線程之間的資料交換,也就是這些資料涉及在圖磚之間的交換。然而,若在該切換構體34上不存在沿一特定方向之接受者圖磚,則將存在透過構體之彼部分傳輸之資料封包的功率浪費。

為了在一交換階段期間節省功率,此專利的技術特徵係透過切換構體34傳輸之其中一個方向指示插入至自一圖磚傳輸的資料封包中,該方向指示可指示自存在所欲接受圖磚傳輸之圖磚的方向,例如該切換構體34可藉由鎖存器阻擋該資料封包以防止在該資料封包中未指示之方向上傳輸。因此,可藉由防止透過該切換構體之不必要資料封包傳輸來達成功率節省。

該專利權利請求項包括三個獨立請求項,分別主張一種計算機、一種計算一計算機中之一功能的方法,以及一種包括記錄於非可傳輸媒體上之指令之計算機程式。該計算機具有複數個處理單元及一切換構體,該切換構體藉由各自輸出線組連接至該等處理單元之各者,且可藉由各自輸入線經由可由各處理單元控制之切換電路連接至該等處理單元之各者。

經由外部互連件自處理器發送資料至晶片外之機制

美國專利公開號US10558595B2揭示一種處理器,其包括相同晶片上之多個圖磚,及用於將資料以封包之形式傳達至晶片外之一外部互連件。該外部互連件包括經組態以提供流控制及該等封包之佇列化之一外部交換區塊。

該等圖磚之一者係藉由編譯器指定以代表具有在外部發送之資料之其他圖磚將一外部交換請求訊息發送至該交換區塊。該交換發送一交換開啟訊息至此等圖磚之一第一者,以引起該第一圖磚開始經由該外部互連件發送封包。接著,一旦此圖磚已發送其最後資料封包,該交換區塊便可發送一交換關閉控制封包至此圖磚以引起該圖磚停止發送封包,且發送另一交換開啟訊息至具有待發送之資料的下一圖磚。

此專利發明主要用於經由一外部互連件自一處理器發送資料至晶片外之機制,該處理器包括相同晶片(晶粒)上之多個圖磚配置,各圖磚包括其自身記憶體及處理單元。圖10繪示用於在晶片外通訊(外部交換)之一例示性機制。此機制係非時間確定性的。該機制係實施於外部互連件72中之專用硬體邏輯中。資料係經由外部互連件72以封包之形式發送。在實施例中,外部互連件72採用一網路之形式且因此需要用於路由目的之額外資訊。

如圖10所示,外部互連件72包括一外部交換區塊(XB) 78。編譯器指定圖磚4之一者以將一外部交換請求(XREQ)發送至交換區塊78 (操作S1)。該XREQ係包括一或多個控制封包之一訊息,其指示哪些圖磚4具有發送至另一圖磚或另一晶片2上之圖磚4之資料封包。此係藉由勾號及叉號在圖10中示意性地繪示:藉由一例示性案例,以一勾號標記之圖磚具有在外部發送之資料封包且用叉號標記之圖磚不具有在外部發送之資料封包。

圖10  用於在晶片外通訊(外部交換)之控制機制示意圖

在操作S2,交換區塊78將一交換開啟(XON)控制封包發送至具有在外部發送之資料之圖磚4之一第一者。此引起該第一圖磚開始經由外部互連件78將其封包發送至相關目的地(操作S3)。若在任何時間XB不能繼續將封包發送至互連件(例如歸因於互連件中之一先前封包丟失及重新傳輸,或歸因於外部互連件藉由許多其他XB及圖磚之過度訂用),則XB將在XB佇列溢出之前將一交換關閉(XOFF)發送至該圖磚。 一旦清除擁塞且XB再次在其佇列中具有足夠空間,則其將一XON發送至圖磚以容許該圖磚繼續傳輸其內容。一旦此圖磚已發送其最後資料封包,則在操作S4,交換區塊78將一交換關閉(XOFF)控制封包發送至此圖磚,接著在操作S5將另一XON發送至具有待發送之資料封包之下一圖磚4等等。XON及XOFF之傳訊係實施為在呈外部交換區塊78之形式之專用硬體邏輯中之一硬體機制。

此機制之優點在於,交換機制經組態以依序服務多個I/O之各者以確保在圖磚之間很好地利用外部鏈路(例如PCI或乙太網路)之頻寬(較佳地使其飽和)。又,全部資料移動可藉由編譯器判定,此有助於確定性。

類神經網路中之資料處理

美國專利公開號US20190121639A1涉及處理類神經網路中之資料。具體而言,該專利係關於一種用於執行一指令序列之電腦程式的執行單元,該序列包含一遮罩指令。該執行單元經組態以執行該遮罩指令,該遮罩指令在由該執行單元執行時遮罩來自n個值之一來源運算元之隨機選擇值,且保留來自該來源運算元之其他原始值以產生一結果,該結果包含來自該來源運算元之原始值及其等各自原始位置中之該等遮罩值。

該專利係用於執行計算機程序的執行單元,以確保在處理單元的指令序列中基於單一指令的捨棄(Drop Out)或棄連(Drop Connect)的有效實現。用於該專利發明之一種類型之處理單元係使用桶形執行緒時槽之一處理單元,其中一管理程式執行緒(Supervisor Thread)可將不同工作執行緒分配給不同時槽以便執行。

圖11顯示該專利所述之執行單元的示意方塊圖,該執行單元2經配置以執行用於遮罩一向量中之隨機選擇值之單個指令。該指令在該專利中稱為rmask指令。該執行單元2在一處理單元中形成一管線(Pipeline)4之部分。該處理單元包括一指令提取單元(Instruction Fetch Unit)6,指令提取單元6自一指令記憶體(Instruction Memory)10提取指令。該處理單元亦包括一記憶體存取階8,記憶體存取階(Memory Access Stage)8用以存取一資料記憶體(Data Memory)12以自該記憶體載入資料或將資料儲存至該記憶體中。提供一組暫存器(Registers)14以保存由管線4在任何情況下執行之指令之來源運算元及目的地運算元。管線4可包含用於執行各種不同指令(例如用於執行數學運算)之諸多不同類型的執行單元。在圖11中,展示對四個16位元值或兩個32位元值進行運算之執行單元。

圖11  美國專利US20190121639A1所述實施例之執行單元示意圖

圖11中之執行單元2具有一輸入緩衝器(Input Buffer)20,輸入緩衝器20可保存四個16位元值或兩個32位元值。輸入緩衝器20被展示為保存四個16位元值,各值表示一權重w0...w3。該單元具有一偽隨機數產生器(Pseudo Random Number Generator, PRNG)22,偽隨機數產生器22係以硬體實施以將隨機數提供給rmask模組24。提供一輸入緩衝器位置(Input Buffer Location)26(或稱概率值)以保存一概率,將使用該概率保持向量內之各個別值。此概率值可提供於該指令中或可由一較早指令設定且可利用rmask指令自一暫存器或記憶體位址存取。該rmask模組24使用由PRNG 22產生之隨機數及概率值來隨機遮罩輸入向量之值。輸出向量放入一輸出緩衝器(Output Buffer)28。在圖11中,第一及第三值被展示為已遮罩為0。

值得注意的是,該概率係將利用其保持(即未遮罩)各個別值之概率。例如,若將該概率設定為0.5,則各個別值具有將被遮罩之一概率0.5。因此,所有四個值被遮罩為0之概率係(0.5)4,即1/16。隨機數產生器基於該概率,藉由提供應遮罩哪些值之指示來將所需隨機性引入遮罩。

該專利權利請求項包括三個獨立請求項,分別主張一種用於執行包括一指令序列之一電腦程式之執行單元,一種執行包括一指令序列之電腦程式的方法,以及一種包括儲存於不可傳輸媒體上之電腦可讀指令序列的電腦程式。該序列包含一遮罩指令,該遮罩指令在被執行時自n個值之一來源運算元隨機選擇待遮罩值,且保留來自該來源運算元之其他原始值以產生一結果,該結果包含來自該來源運算元之原始值及其等各自原始位置中之該等遮罩值。

啟動全球合作夥伴\推動機器智慧新發展

Graphcore自2019年以來,與微軟合作開發全新的智慧處理單元,應用於Azure雲端以解決自然語言處理和電腦視覺領域的問題,藉此Azure使用者能使用該晶片在雲端執行人工智慧應用程式[3]。同年Graphcore又與戴爾合作推出一種基於Graphcore IPU構建的伺服器DSS8440以及與Cirrascale合作推出的IPU-Bare Metal Cloud服務[4]。此外,Graphcore於2020年9月23日宣布推出精英合作夥伴計畫,旨在彙集全球知名通路合作夥伴形成全球網路以滿足客戶對Graphcore的解決方案[5]。人工智慧已經滲透到各行各業,Graphcore精英合作夥伴計畫可助創始成員為它們的客戶提供領先的下一代AI計算平台,使Graphcore專門為AI計算而設計的智慧處理單元技術有望成為機器智慧計算的全球標準,以推動機器智慧的新發展。

(本文作者為國立清華大學奈米工程與微系統研究所博士,現為工業技術研究院技術移轉與法律中心研究員)

 

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!