IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧 ▶ クンルンシン テクノロジー (ベイジン) カンパニー リミテッドの特許一覧

特許6993472深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体
<>
  • 特許-深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体 図1
  • 特許-深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体 図2
  • 特許-深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体 図3
  • 特許-深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体 図4
  • 特許-深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-13
(45)【発行日】2022-01-13
(54)【発明の名称】深層学習チップを検出する方法、装置、電子機器、およびコンピュータ記憶媒体
(51)【国際特許分類】
   G06F 11/22 20060101AFI20220105BHJP
   G06N 3/063 20060101ALI20220105BHJP
【FI】
G06F11/22 675E
G06F11/22 668
G06N3/063
【請求項の数】 15
(21)【出願番号】P 2020108976
(22)【出願日】2020-06-24
(65)【公開番号】P2021005379
(43)【公開日】2021-01-14
【審査請求日】2020-06-24
(31)【優先権主張番号】201910559182.9
(32)【優先日】2019-06-26
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(73)【特許権者】
【識別番号】521457387
【氏名又は名称】クンルンシン テクノロジー (ベイジン) カンパニー リミテッド
(72)【発明者】
【氏名】ワン,ヨン
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2007/0260823(US,A1)
【文献】特開2019-003588(JP,A)
【文献】特開平11-328133(JP,A)
【文献】特開2011-215853(JP,A)
【文献】米国特許出願公開第2014/0298124(US,A1)
【文献】国際公開第2018/193353(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/22
G06N 3/063
(57)【特許請求の範囲】
【請求項1】
深層学習チップを検出する方法であって、
前記深層学習チップにおける複数の論理ユニットを検出するステップであって、前記複数の論理ユニットは深層学習の推論動作および訓練動作の少なくとも一方を実行するように構成されるステップと、
前記複数の論理ユニットにおける検出に合格しなかったエラーユニットを取得するステップと、
前記複数の論理ユニットの総数に対する前記エラーユニットの数の比率が所定の比率以下であることに応答して、前記深層学習チップを合格チップとして決定するステップと、を含み、
前記複数の論理ユニットは、前記推論動作を実行するための複数の推論論理ユニットおよび前記訓練動作を実行するための複数の訓練論理ユニットを含み、
前記方法は、
前記複数の推論論理ユニットに前記エラーユニットが存在することに応答して、深層学習の前記訓練動作のみを実行するように前記深層学習チップを設定するステップ、または、
前記複数の訓練論理ユニットに前記エラーユニットが存在することに応答して、深層学習の前記推論動作のみを実行するように前記深層学習チップを設定するステップ、をさらに含む、
ことを特徴とする深層学習チップを検出する方法。
【請求項2】
前記複数の論理ユニットは、前記推論動作を実行するための複数の推論論理ユニットを含み、
前記深層学習チップを前記合格チップとして決定するステップは、
前記深層学習チップが前記推論作を実行するときに前記エラーユニットの使用が禁止されるように、前記エラーユニットの情報を前記深層学習チップの記憶ユニットに記録するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記複数の論理ユニットは、前記訓練動作を実行するための複数の訓練論理ユニットを含み、
前記深層学習チップを前記合格チップとして決定するステップは、
前記深層学習チップが前記訓練動作を実行するときに前記エラーユニットの使用が禁止されるように、前記エラーユニットの情報を前記深層学習チップの記憶ユニットに記録するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記方法は、
前記複数の訓練論理ユニットに前記エラーユニットが存在しないことに応答して、深層学習の前記推論作および前記訓練作の少なくとも一方を実行するように前記深層学習チップを設定するステップをさらに含む、
ことを特徴とする請求項に記載の方法。
【請求項5】
前記方法は、
前記複数の論理ユニットの総数に対する前記エラーユニットの数の比率が前記所定の比率より高いことに応答して、前記深層学習チップを故障チップとして決定するステップをさらに含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記記憶ユニットは、オンチップの電気的にプログラム可能なヒューズであり、前記複数の推論論理ユニットは、人工知能コプロセッシングユニットSDCDNNおよび人工知能プロセッサXPUの少なくとも1つを含む、
ことを特徴とする請求項2または3に記載の方法。
【請求項7】
深層学習チップを検出する装置であって、
前記深層学習チップにおける複数の論理ユニットを検出するように構成される論理ユニット検出モジュールであって、前記複数の論理ユニットは深層学習の推論動作および訓練動作の少なくとも一方を実行するように構成される論理ユニット検出モジュールと、
前記複数の論理ユニットにおける検出に合格しなかったエラーユニットを取得するように構成されるエラーユニット取得モジュールと、
前記複数の論理ユニットの総数に対する前記エラーユニットの数の比率が所定の比率以下であることに応答して、前記深層学習チップを合格チップとして決定するように構成される合格チップ決定モジュールと、を含み、
前記複数の論理ユニットは、前記推論動作を実行するための複数の推論論理ユニットおよび前記訓練動作を実行するための複数の訓練論理ユニットを含み、
前記装置は、
前記複数の推論論理ユニットに前記エラーユニットが存在することに応答して、深層学習の前記訓練動作のみを実行するように前記深層学習チップを設定するように構成される訓練動作設定モジュール、または、
前記複数の訓練論理ユニットに前記エラーユニットが存在することに応答して、深層学習の前記推論動作のみを実行するように前記深層学習チップを設定するように構成される推論動作設定モジュール、をさらに含む、
ことを特徴とする深層学習チップを検出する装置。
【請求項8】
前記複数の論理ユニットは、前記推論動作を実行するための複数の推論論理ユニットを含み、
前記合格チップ決定モジュールは、
前記深層学習チップが前記推論作を実行するときに前記エラーユニットの使用が禁止されるように、前記エラーユニットの情報を前記深層学習チップの記憶ユニットに記録するように構成される第1の情報記録モジュールを含む、
ことを特徴とする請求項に記載の装置。
【請求項9】
前記複数の論理ユニットは、前記訓練動作を実行するための複数の訓練論理ユニットを含み、
前記合格チップ決定モジュールは、
前記深層学習チップが前記訓練動作を実行するときに前記エラーユニットの使用が禁止されるように、前記エラーユニットの情報を前記深層学習チップの記憶ユニットに記録するように構成される第2の情報記録モジュールを含む、
ことを特徴とする請求項に記載の装置。
【請求項10】
前記装置は、
前記複数の訓練論理ユニットに前記エラーユニットが存在しないことに応答して、深層学習の前記推論作および前記訓練作の少なくとも一方を実行するように前記深層学習チップを設定するように構成される動作設定モジュールをさらに含む、
ことを特徴とする請求項に記載の装置。
【請求項11】
前記装置は、
前記複数の論理ユニットの総数に対する前記エラーユニットの数の比率が前記所定の比率より高いことに応答して、前記深層学習チップを故障チップとして決定するように構成される故障チップ決定モジュールをさらに含む、
ことを特徴とする請求項に記載の装置。
【請求項12】
前記記憶ユニットは、オンチップの電気的にプログラム可能なヒューズであり、前記複数の推論論理ユニットは、人工知能コプロセッシングユニットSDCDNNおよび人工知能プロセッサXPUの少なくとも1つを含む、
ことを特徴とする請求項またはに記載の装置。
【請求項13】
1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するためのメモリと、を含む電子機器であって、
前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサによって実行される場合、前記1つまたは複数のプロセッサが請求項1~のいずれかに記載の方法を実現する、
ことを特徴とする電子機器。
【請求項14】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行される場合、請求項1~のいずれかに記載の方法が実現される、
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項15】
コンピュータ上で動作する際、前記コンピュータが請求項1~のいずれかに記載の方法を実行する、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、主にチップ検出の分野に関し、より詳細には、深層学習チップを検出する方法、装置、電子機器、およびコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0002】
チップの利用可能率(または「歩留まり」)は、通常、1つのウェーハ、1つのバッチ、または1つの製品のライフサイクルにおいてチップ全体に対する試験に合格したチップの比率を指す。生産環境では、ほこりやその他の粒子がランダムに落下する可能性があり、しかも設計プロセス中に集積回路に欠陥がある可能性があるため、チップの利用率は低くなる。通常、複数の推論論理ユニットおよび複数の訓練論理ユニットを含む現在の深層学習チップ(または「人工知能チップ」)について、チップにおける論理ユニットのいずれかに欠陥がある場合、当該チップは試験に合格しなかったと記される。チップのコストは、チップの利用率に直線的に関連している。利用率が低いほど、コストが高くなる。したがって、チップの利用率はチップのコストに大きな影響を与え、チップの利用率を向上させることは、チップの競争力を高めるために非常に重要です。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の例示的な実施例によれば、深層学習チップを検出する技術案が提供される。
【課題を解決するための手段】
【0004】
本開示の第1の態様では、深層学習チップを検出する方法が提供されている。前記方法は、深層学習チップにおける複数の論理ユニットを検出するステップであって、複数の論理ユニットは深層学習の推論動作および訓練動作の少なくとも一方を実行するように構成されるステップと、複数の論理ユニットにおける検出に合格しなかったエラーユニットを取得するステップと、複数の論理ユニットの総数に対するエラーユニットの数の比率が所定の比率以下であることに応答して、深層学習チップを合格チップとして決定するステップとを含む。
【0005】
本開示の第2の態様では、深層学習チップを検出する装置が提供されている。前記装置は、深層学習チップにおける複数の論理ユニットを検出するように構成される論理ユニット検出モジュールであって、複数の論理ユニットは深層学習の推論動作および訓練動作の少なくとも一方を実行するように構成される論理ユニット検出モジュールと、複数の論理ユニットにおける検出に合格しなかったエラーユニットを取得するように構成されるエラーユニット取得モジュールと、複数の論理ユニットの総数に対するエラーユニットの数の比率が所定の比率以下であることに応答して、深層学習チップを合格チップとして決定するように構成される合格チップ決定モジュールとを含む。
【0006】
本開示の第3態様では、電子機器が提供されている。前記電子機器は、1つまたは複数のプロセッサと、1つまたは複数のプログラムを記憶するための記憶装置とを含み、1つまたは複数のプログラムが1つまたは複数のプロセッサによって実行される場合、1つまたは複数のプロセッサが本開示の第1態様に係る方法を実現する。
【0007】
本発明の第4態様では、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体が提供されている。当該プログラムがプロセッサによって実行される場合、本開示の第1態様に係る方法が実現される。
【0008】
なお、発明の概要に記載された内容は、本開示の実施例の肝心または重要な特徴を限定することを意図するものではなく、本開示の範囲を限定することを意図するものでもない。本開示の他の特徴は、以下の説明によって理解されやすくなる。
【図面の簡単な説明】
【0009】
図面を合わせながら以下の詳細な説明を参照することにより、本開示の各実施例の上記および他の特徴、利点および態様はより明らかになる。図面において、同一または類似の符号は、同一または類似の要素を示す。
図1】本開示の複数の実施例を実現できる例示的な環境の概略図を示す。
図2】本開示の実施例に係る深層学習チップの概略図を示す。
図3】本開示の実施例に係る深層学習チップを検出するプロセスのフローチャートを示す。
図4】本開示の実施例に係る深層学習チップを検出する装置の概略ブロック図を示す。
図5】本開示の複数の実施例を実施することができるコンピューティング機器のブロック図を示す。
【発明を実施するための形態】
【0010】
本開示の実施例を図面を参照して以下により詳細に説明する。図面に本開示のいくつかの実施例が示されているが、本発明は様々な形態で実現することができ、本明細書に記載の実施例に限定されると解釈されるべきではないことを理解されたい。逆に、これらの実施例を提供する目的は、本開示がより明確かつ完全で理解されることである。なお、本開示の図面および実施例は例示するものに過ぎず、本開示の保護範囲を限定するものではないと理解されたい。
【0011】
本開示の実施例の説明において、「含む」という用語およびその類似の用語が、開放的な含む、すなわち「含むがこれに限定されない」と理解されるべきである。「に基づく」という用語は、「少なくとも部分的に基づく」ことを意味すると理解されるべきである。「一実施例」または「当該実施例」という用語は、「少なくとも一実施例」を意味すると理解されるべきである。「第1」、「第2」などの用語は、異なる対象または同一対象を指すことができる。他の明示的および暗黙的な定義も以下に含まれ得る。
【0012】
上述のように、深層学習チップを迅速、効率的かつ低コストで検出して、チップの利用率を向上させる深層学習チップを検出する方法が必要である。従来の深層学習チップを検出する方法は、通常、深層学習チップを検出し、当該深層学習チップが検出に合格しなかった場合、当該深層学習チップは利用できないと見なされる。当該深層学習チップにおいて1つの論理ユニットのみがエラーユニットであり、残りの論理ユニットがすべて無傷であっても、当該深層学習チップは依然として故障チップと見なされる。したがって、従来の深層学習チップを検出する方法では、深層学習チップを無駄遣いする。
【0013】
本開示の実施例によれば、深層学習チップを検出する技術案が提供される。この技術案では、検出対象の深層学習チップにおける複数の論理ユニットを検出し、エラーユニットが見つかった場合、深層学習チップ上の論理ユニットの総数に対するエラーユニットの数の比率を所定の比率と比較し、所定の閾値を超えていない場合、当該深層学習チップは合格チップと見なされる。具体的には、深層学習チップの複数の推論論理ユニットを検出することができる。現在の深層学習チップには消費電力の制限があるため、通常、その上のすべての推論論理ユニットは全部作動することがない。したがって、個別の推論論理ユニットがエラーユニットであることが検出されても、エラーユニットの情報のみを保存する必要があり、当該深層学習チップの使用では、当該エラーユニットの使用が禁止される。本開示のチップを検出する技術案は、チップの不合格の判定基準を細分化したため、チップの利用率が向上し、削減されたコストが非常に大きい。
【0014】
以下、本開示の実施例について、図面を参照しながら具体的に説明する。図1は、本開示の複数の実施例を実現できる例示的な環境100の概略図を示す。図1に示すように、例示的な環境100は、検出デバイス110、検出対象チップ120、および検出結果130を含む。検出対象チップ120は、音声認識、画像処理、機械翻訳、および検索推奨などの深層学習アルゴリズムに基づく業務シナリオをサポートできる、データセンターに適用される深層学習チップであってもよい。検出デバイス110は、検出対象チップ120を受け取り、自動試験装置(ATE)スキャンなどの技術により検出対象チップ120の検出結果130を決定することができる。
【0015】
図1では、検出対象チップ120の検出結果130を生成する鍵は以下の点である。第1、検出デバイス110が、検出対象チップ120における複数の論理ユニットを検出する。なお、ここで検出に使用される検出対象チップ120が、一度も検出されていないチップであってもよく、従来の検出デバイスの検出に合格しなかったチップであってもよいことに留意されたい。第2、故障した論理ユニットを検出した後、検出デバイス110は、すべての論理ユニットに対する故障ユニットの比率が十分に小さいか否かをさらに判断する必要があり、十分に小さい場合、当該検出対象チップ120が依然として合格チップであると決定することができる。これにより、検出結果130に反映されるチップの利用率が著しく向上する。複数の論理ユニットを含む検出対象チップ120の構成については、図2を参照して以下に詳細に説明する。
【0016】
図2は、本開示の実施例に係る深層学習チップ120の概略図を示す。図2に示すように、深層学習チップ120は、深層学習の推論動作を実行するための複数の推論論理ユニット210、211、…、Mおよび深層学習の訓練動作を実行するための複数の訓練論理ユニット220、221、…Nを含む。また、深層学習チップ120は、エラーユニットの情報を記録するためのチップオンの電気的にプログラム可能なヒューズ(eFUSE)などの記憶ユニット230をさらに含む。
【0017】
目的を明確するために、本開示の図2は、若干の論理ユニットおよび記憶ユニットのみを示しており、他の機能ユニットを示していない。また、深層学習チップ120の構成および機能は、例示のみを目的として記載されており、本明細書に記載される主題の範囲を限定することを意図するものではないことも理解されたい。本明細書で説明される主題は、異なる構成および/または機能で実現することができる。一例として、記憶ユニット230および他の必要なコンポーネントのほかに、深層学習チップ120は、深層学習の推論動作を実行するための複数の推論論理ユニット210、211、...、Mまたは深層学習の訓練動作を実行するための訓練論理ユニット220、221、…Nのみを含んでもよい。上記の技術案の原理をより明確に説明するために、深層学習チップを検出するプロセスを図3を参照して以下により詳細に説明する。
【0018】
図3は、本開示の実施例に係る深層学習チップを検出するプロセス300のフローチャートを示す。プロセス300は、図1の検出デバイス110によって実現することができる。検討しやすくするように、プロセス300を図1および図2を参照して説明する。
【0019】
ブロック310において、検出デバイス110は、検出対象チップ120である深層学習チップにおける複数の論理ユニットを検出する。一例として、検出対象チップ120は、深層学習用の推論チップであってもよく、この場合、当該複数の論理ユニットは、深層学習の推論動作を実行する。また、検出対象チップ120は、深層学習用の訓練チップであってもよく、この場合、複数の論理ユニットは、深層学習の訓練動作を実行する。また、検出対象チップ120は、推論動作および訓練動作の少なくとも一方を実行するための推論および訓練チップであってもよい。図2に示すように、検出デバイス110は、検出対象チップ120に含まれる、深層学習の推論動作を実行するための推論論理ユニット210、211、…、Mおよび深層学習の訓練動作を実行するための訓練論理ユニット220、221、...Nを検出する。
【0020】
ブロック320において、検出デバイス110は、上記の複数の論理ユニットにおける検出に合格しなかったエラーユニットを取得する。一例として、図2の推論論理ユニット210、211、…、Mのいずれか、または訓練論理ユニット220、221、…Nのいずれかがエラーユニットとして検出され得る。その後、検出デバイス110は、エラーユニットの数を統計することができる。このようにして、検出デバイス110は、検出対象チップ120における論理ユニットのそれぞれを検出するため、検出プロセスが細分化され、その後のより正確な検出結果に役立つ。
【0021】
ブロック330において、検出デバイス110は、検出対象チップ120上の論理ユニットの総数に対するエラーユニットの数の比率を所定の比率と比較する。一例として、当該所定の比率は5%、10%、15%、または他の比率であってもよく、当該所定の比率の大きさは検出対象チップ120の電力制限に依存する。推論論理ユニットを例にすると、検出対象チップ120は深層学習チップとして電力制限があるため、検出対象チップ120におけるすべての推論論理ユニットが同時に機能するわけではなく、検出対象チップ120には、エラーユニットを置き換えるためのアイドル推論論理ユニットがほぼ常にある。したがって、エラーユニットの数が多すぎない限り、エラーユニットを置き換えるアイドル推論論理ユニットが十分である。さらに、従来の冗長設計方式は、深層学習チップにおける各論理ユニットには適しておらず、これは、チップの製造コストが大幅に増加させるからである。次に、当該比率が所定の比率以下である場合、プロセスはブロック340に進む。
【0022】
ブロック340において、検出デバイス110は、深層学習チップである検出対象チップ120を合格チップとして決定する。推論論理ユニットを例にすると、検出対象チップ120における上記の複数の論理ユニットが推論動作を実行するための複数の推論論理ユニットのみを含み、かつ検出対象チップ120上の推論論理ユニットの総数に対するエラーユニットの数の比率が所定の比率以下である場合、検出対象チップ120が推論動作を実行するときにエラーユニットの使用が禁止されるように、エラーユニットの情報を検出対象チップ120の記憶ユニット230に記録する。このようにして、従来の検出デバイスの検出に合格しなかったチップの大部分を再利用して不必要な浪費を回避することができる。
【0023】
また、訓練論理ユニットを例にすると、検出対象チップ120における上記の複数の論理ユニットが訓練動作を実行するための複数の訓練論理ユニットのみを含み、かつ検出対象チップ120上の訓練論理ユニットの総数に対するエラーユニットの数の比率が所定の比率以下である場合、検出対象チップ120が訓練動作を実行するときにエラーユニットの使用が禁止されるように、エラーユニットの情報を検出対象チップ120の記憶ユニット230に記録する。このようにして、同様にチップの利用率を向上させて浪費を回避することができる。
【0024】
いくつかの実施例では、検出対象チップ120は、推論論理ユニットのみならず、訓練論理ユニットも含む深層学習チップであってもよい。したがって、上記の複数の論理ユニットは、図2に示すように推論動作を実行するための複数の推論論理ユニット210、211、…、Mのみならず、訓練動作を実行するための複数の訓練論理ユニット220、221、…Nも含む。この場合、複数の推論論理ユニット210、211、…、Mにエラーユニットが存在すれば、検出対象チップ120は、深層学習の訓練動作のみを実行するように設定され、複数の訓練論理ユニット220、221...Nにエラーユニットが存在すれば、検出対象チップ120は、深層学習の推論作のみを実行するように設定される。代替的または追加的に、複数の訓練論理ユニット220、221、…Nにエラーユニットが存在しない場合、検出対象チップ120は、深層学習の推論動作および訓練動作の少なくとも一方を実行するように設定される。このようにして、深層学習チップの一部の機能を選択的に放棄し、深層学習チップの他の部分を引き続き使用することができる。
【0025】
いくつかの実施例において、論理ユニットの総数に対するエラーユニットの数の比率が所定の比率より大きい場合、検出デバイス110は、検出対象チップ120である深層学習チップを故障チップとして決定する。
【0026】
本開示では、記憶ユニット230はオンチップの電気的にプログラム可能なヒューズであってもよく、しかも複数の推論論理ユニット210、211、…、Mは、人工知能コプロセッシングユニットSDCDNNおよび人工知能プロセッサXPUの少なくとも1つであってもよい。
【0027】
本開示の1つまたは複数の実施例によれば、検出結果130を取得することができる。深層学習チップに複数の同一または重複の論理ユニットが含まれる特性を利用するので、検出デバイス110は、検出対象チップ120に少数のエラーユニットが存在する状況を許容する。その結果、当該検出結果130のチップの利用率が、従来の検出デバイスの検出結果より著しく高くなる。
【0028】
従来技術と比較して、本開示の技術案の意義は、チップ検出動作を深層学習チップにおける各論理ユニットを検出することに細分化することにより、チップ面積を増加させることなく、しかもチップの通常の作動機能に影響を与えることなく、上記の深層学習チップ上の、SRAMチップを除いたチップ面積の70%を占める論理ユニットには生産エラーが存在する可能性があってもよく、しかもエラーユニットを有するチップのほぼ全体は利用できるため、深層学習チップの利用率が大幅に向上し、チップのコストが削減され、チップの市場競争力がさらに向上する。
【0029】
上記には、いくつかの例示的なシナリオで推論論理ユニットおよび訓練論理ユニットを組み合わせる深層学習チップを検出する技術案が説明された。しかし、これらのシナリオの説明は、本開示の実施例の単なる例示であることを理解されたい。実際の必要に応じて、異なるまたは類似のシナリオで異なる検出対象を選択することができる。本開示の技術案は、深層学習チップにおける他の重複のユニットを検出することに適用される場合、同様に上述の様々な利点を有することができる。
【0030】
図4は、本開示の実施例に係る深層学習チップを検出する装置400の概略ブロック図を示す。装置400は、図1の検出デバイス110に含まれてもよく、または検出デバイス110として実現されてもよい。図4に示すように、装置400は、深層学習チップにおける複数の論理ユニットを検出するように構成される論理ユニット検出モジュール410であって、複数の論理ユニットは深層学習の推論動作および訓練動作の少なくとも一方を実行するように構成される論理ユニット検出モジュール410を含んでもよい。装置400は、複数の論理ユニットにおける検出に合格しなかったエラーユニットを取得するように構成されるエラーユニット取得モジュール420をさらに含んでもよい。また、装置400は、複数の論理ユニットの総数に対するエラーユニットの数の比率が所定の比率以下であることに応答して、深層学習チップを合格チップとして決定するように構成される合格チップ決定モジュール430をさらに含んでもよい。
【0031】
いくつかの実施例では、当該複数の論理ユニットは、推論動作を実行するための複数の推論論理ユニットを含んでもよく、合格チップ決定モジュール430は、深層学習チップが推論作を実行するときに当該エラーユニットの使用が禁止されるように、当該エラーユニットの情報を深層学習チップの記憶ユニットに記録するように構成される第1の情報記録モジュール(図示せず)を含んでもよい。
【0032】
いくつかの実施例では、当該複数の論理ユニットは、訓練動作を実行するための複数の訓練論理ユニットを含んでもよく、合格チップ決定モジュール430は、深層学習チップが訓練動作を実行するときに当該エラーユニットの使用が禁止されるように、当該エラーユニットの情報を深層学習チップの記憶ユニットに記録するように構成される第2の情報記録モジュール(図示せず)を含んでもよい。
【0033】
いくつかの実施例では、当該複数の論理ユニットは、推論動作を実行するための複数の推論論理ユニットおよび訓練動作を実行するための複数の訓練論理ユニットを含んでもよく、当該装置400は、複数の推論論理ユニットにエラーユニットが存在することに応答して、深層学習の訓練動作のみを実行するように深層学習チップを設定するように構成される訓練動作設定モジュール(図示せず)をさらに含んでもよい。または、当該装置400は、複数の訓練論理ユニットにエラーユニットが存在することに応答して、深層学習の推論動作のみを実行するように深層学習チップを設定するように構成される推論動作設定モジュール(図示せず)をさらに含んでもよい。
【0034】
いくつかの実施例では、当該装置400は、複数の訓練論理ユニットにエラーユニットが存在しないことに応答して、深層学習の推論作および訓練作の少なくとも一方を実行するように深層学習チップを設定するように構成される動作設定モジュール(図示せず)をさらに含んでもよい。
【0035】
いくつかの実施例では、当該装置400は、複数の論理ユニットの総数に対するエラーユニットの数の比率が所定の比率より高いことに応答して、深層学習チップを故障チップとして決定するように構成される故障チップ決定モジュール(図示せず)をさらに含んでもよい。
【0036】
いくつかの実施例では、記憶ユニットはオンチップの電気的にプログラム可能なヒューズであってもよく、複数の推論論理ユニットは、人工知能コプロセッシングユニットSDCDNNおよび人工知能プロセッサXPUの少なくとも1つを含んでもよい。
【0037】
本開示の1つまたは複数の実施例によれば、上記の各実施例の装置400は、深層学習チップに複数の同一または重複の論理ユニットが含まれる特性を利用するので、装置400は、深層学習チップに少数のエラーユニットが存在することを許容する。その結果、検出結果のチップの利用率は、従来の検出デバイスの検出結果より著しく高い。
【0038】
図5は、本開示の実施例を実施することができる例示的な機器500の概略ブロック図を示す。機器500は、図1のコンピューティング機器120を実現することができる。図面に示すように、機器500は、リードオンリーメモリ(ROM)502に記憶されたコンピュータプログラム命令または記憶ユニット508からランダムアクセスメモリ(RAM)503にロードされたコンピュータプログラム命令に従って様々な適切な動作および処理を実行可能な中央処理装置(CPU)501を含む。RAM503には、機器500の動作に必要な各種プログラムおよびデータも記憶することができる。CPU501、ROM502、およびRAM503は、バス504を介して相互に接続されている。入力/出力(I/O)インターフェース505もバス504に接続されている。
【0039】
キーボード、マウスなどの入力ユニット506と、各種のディスプレイ、スピーカなどの出力ユニット507と、磁気ディスク、光学ディスクなどの記憶ユニット508と、ネットワークカード、モデム、無線通信トランシーバなどの通信ユニット509とを含む機器500内の複数のコンポーネントは、I/Oインタフェース505に接続されている。通信ユニット509は、機器500がインターネットなどのコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他の機器と情報/データを交換することを許可する 。
【0040】
中央処理装置501は、プロセス300など、上記の様々な方法および処理を実行する。例えば、いくつかの実施例では、プロセス300は、記憶ユニット508などの機械読み取り可能な媒体に有形に含まれているコンピュータソフトウェアプログラムとして実現することができる。いくつかの実施例において、コンピュータプログラムの一部または全部は、ROM502および/または通信ユニット509を介して機器500にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM503にロードされ、CPU501によって実行されたとき、上記のプロセス300の1つまたは複数のステップを実行することができる。代替的に、他の実施例では、CPU501は、他の任意の適切な形態(例えば、ファームウェア)によってプロセス300を実行するように構成することができる。
【0041】
本明細書で上述した機能は、少なくとも部分的に、1つまたは複数のハードウェアロジックコンポーネントによって実行することができる。例えば、非限定的には、使用できる例示的なタイプのハードウェアロジックコンポーネントは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、ロードプログラマブルロジックデバイス(CPLD)などを含むがこれらに限定されない。
【0042】
本開示の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサまたはコントローラに提供されてもよく、その結果、プログラムコードがプロセッサまたはコントローラによって実行される場合、フローチャートおよび/またはブロック図において特定された機能および/または動作が実施される。プログラムコードは、全部でマシンで、部分的にマシンで、スタンドアロンソフトウェアパッケージの一部として、部分的にリモートマシンで、または全部でリモートマシンまたはサーバで実行することができる。
【0043】
本開示の説明において、機械読み取り可能な媒体は、有形な媒体であってもよく、命令実行システム、装置または機器によって、または命令実行システム、装置または機器と合わせて使用されるプログラムを含み、または記憶する。機械読み取り可能な媒体は、機械読み取り可能な信号媒体または機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁、赤外線、または半導体システム、装置、またはデバイス、または上記の内容の任意の適切な組み合わせを含むことができるがこれらに限定されない。機械読み取り可能な記憶媒体のさらなる具体例として、1つまたは複数の配線に基づいた電気的接続、ポータブルコンピュータディスクカートリッジ、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶装置、磁気記憶装置、または上記の内容の任意の組み合わせを含む。
【0044】
また、動作を特定の順序で説明したが、これは、このような動作が示された特定の順序または順番で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを要求することを理解されたい。一定の環境においてマルチタスキングおよび並列処理は有利な場合がある。同様に、いくつかの具体的な実装の詳細が上記の説明に含まれているが、これらは本開示の範囲を限定するものとして解釈されるべきではない。別々の実施例で説明されているいくつかの特徴は、単一の実施例において組み合わせて実現することもできる。逆に、単一の実施例で説明されている様々な特徴は、個別にまたは任意の適切なサブ組み合わせで複数の実施例で実現することができる。
【0045】
構成の特徴および/または方法の論的動作に特有の言語で本テーマを説明したが、添付の特許請求の範囲に定義されたテーマは上述した特定の特徴または動作に限定されないことを理解されたい。逆に、上記の特定の特徴および動作は単に特許請求の範囲を実現する例示的な形態である。
図1
図2
図3
図4
図5