(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023041579
(43)【公開日】2023-03-24
(54)【発明の名称】人工ニューラルネットワークと演算加速器構造の統合探索装置及び方法
(51)【国際特許分類】
G06N 3/04 20230101AFI20230316BHJP
G06N 3/063 20230101ALI20230316BHJP
【FI】
G06N3/04
G06N3/063
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2021207609
(22)【出願日】2021-12-21
(31)【優先権主張番号】10-2021-0121891
(32)【優先日】2021-09-13
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】514274672
【氏名又は名称】延世大学校 産学協力団
【氏名又は名称原語表記】YONSEI UNIVERSITY,UNIVERSITY-INDUSTRY FOUNDATION(UIF)
【住所又は居所原語表記】50,YONSEI-RO, SEODAEMUN-GU, SEOUL 03722, REPUBLIC OF KOREA
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】イ, ジン ホ
(72)【発明者】
【氏名】キム, ヨン ソク
(72)【発明者】
【氏名】チョイ, カン ヒョン
(72)【発明者】
【氏名】ホン, ドク キ
(57)【要約】 (修正有)
【課題】特定時間内に探索空間を効率的に探索しつつ、人工ニューラルネットワークの正確度とハードウェアメトリックとの間の均衡を合わせる最適地点を探す人工ニューラルネットワークと演算加速器構造の統合探索装置及び方法を提供する。
【解決手段】人工ニューラルネットワークと演算加速器構造の統合探索装置は、ニューラルネットワークアーキテクチャを決定するNAS(Neural Architecture Search)モジュールと、決定されたニューラルネットワークアーキテクチャによる加速器アーキテクチャを決定し、決定された加速器アーキテクチャに関するハードウェアメトリックを予測するDANCE(Differentiable Accelerator and Network Co-Exploration)評価モジュールとを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ニューラルネットワークアーキテクチャを決定するNAS(Neural Architecture Search)モジュールと、
前記決定されたニューラルネットワークアーキテクチャによる加速器アーキテクチャを決定し、前記決定された加速器アーキテクチャに関するハードウェアメトリックを予測するDANCE(Differentiable Accelerator and Network Co-Exploration)評価モジュールと、を備えることを特徴とする人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項2】
前記NASモジュールは、複数の候補ニューラルネットワークアーキテクチャを同時に評価して前記ニューラルネットワークアーキテクチャを選別し、交差-エントロピー損失(LossCE)を算出することを特徴とする請求項1に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項3】
前記DANCE評価モジュールは、
事前学習を介して構築され、前記決定されたニューラルネットワークアーキテクチャによる最適のハードウェアを前記加速器アーキテクチャとして探索し、前記加速器アーキテクチャに関するPE(Processing Element)アレイ構成(PEx、PEy)、レジスタファイル(RF)構成、及びデータフロー(DF)構成のうちの少なくとも1つを決定するハードウェア生成ネットワークと、
前記加速器アーキテクチャに関する構成を基に前記ハードウェアメトリックを予測する費用推定ネットワークと、を含むことを特徴とする請求項1に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項4】
前記ハードウェア生成ネットワークは、ネットワークアーキテクチャスペース内でランダムネットワークを生成し、前記ランダムネットワークのうちの1つを前記最適のハードウェアとして決定することを特徴とする請求項3に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項5】
前記ハードウェア生成ネットワークは、ReLU(Rectified Linear Unit)を活性化関数として使用する多階層パーセプトロンで構成して前記ランダムネットワークを探索することを特徴とする請求項4に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項6】
前記ハードウェア生成ネットワークは、前記多階層パーセプトロンのうちの最後をGumbel-Softmaxで連結して、出力値を前記費用推定ネットワークの入力値としてフィーチャフォーワーディングする方式により前記出力値を前記入力値に近接させることを特徴とする請求項5に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項7】
前記費用推定ネットワークは、ReLU(Rectified Linear Unit)を活性化関数として使用し、バッチ正規化を各階層に適用した多階層リグレッションで構成することを特徴とする請求項3に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項8】
前記費用推定ネットワークは、前記多階層リグレッションを介してレイテンシ、面積、及びエネルギー消費量を決定して前記ハードウェアメトリックを予測することを特徴とする請求項7に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項9】
前記費用推定ネットワークは、前記レイテンシ、面積、及びエネルギー消費量に関するリニア組み合わせ又はプロダクトを算出して前記ハードウェアメトリックを予測することを特徴とする請求項8に記載の人工ニューラルネットワークと演算加速器構造の統合探索装置。
【請求項10】
ニューラルネットワークアーキテクチャを決定するNAS(Neural Architecture Search)モジュールを実行するNASモジュール実行ステップと、
前記決定されたニューラルネットワークアーキテクチャによる加速器アーキテクチャを決定し、前記決定された加速器アーキテクチャに関するハードウェアメトリックを予測するDANCE(Differentiable Accelerator and Network Co-Exploration)評価モジュールを実行するDANCE評価モジュール実行ステップと、を有することを特徴とする人工ニューラルネットワークと演算加速器構造の統合探索方法。
【請求項11】
前記DANCE評価モジュール実行ステップは、
事前学習を介して構築され、前記決定されたニューラルネットワークアーキテクチャによる最適のハードウェアを前記加速器アーキテクチャとして探索し、前記加速器アーキテクチャに関するPE(Processing Element)アレイ構成(PEx、PEy)、レジスタファイル(RF)構成、及びデータフロー(DF)構成のうちの少なくとも1つを決定するハードウェア生成ネットワークを実行するハードウェア生成ネットワーク実行ステップと、
前記加速器アーキテクチャに関する構成を基に前記ハードウェアメトリックを予測する費用推定ネットワークを実行する費用推定ネットワーク実行ステップと、を含むことを特徴とする請求項10に記載の人工ニューラルネットワークと演算加速器構造の統合探索方法。
【請求項12】
前記ハードウェア生成ネットワーク実行ステップは、ネットワークアーキテクチャスペース内でランダムネットワークを生成し、前記ランダムネットワークのうちの1つを前記最適のハードウェアとして決定するステップを含むことを特徴とする請求項11に記載の人工ニューラルネットワークと演算加速器構造の統合探索方法。
【請求項13】
前記ハードウェア生成ネットワーク実行ステップは、ReLU(Rectified Linear Unit)を活性化関数として使用する多階層パーセプトロンで構成して前記ランダムネットワークを探索するステップを含むことを特徴とする請求項12に記載の人工ニューラルネットワークと演算加速器構造の統合探索方法。
【請求項14】
前記費用推定ネットワーク実行ステップは、ReLU(Rectified Linear Unit)を活性化関数として使用し、バッチ正規化を各階層に適用した多階層リグレッションで構成するステップを含むことを特徴とする請求項11に記載の人工ニューラルネットワークと演算加速器構造の統合探索方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人工ニューラルネットワークと専用ハードウェア加速器の統合探索技術に関し、より詳細には、特定時間内に探索空間を効率的に探索しつつ、人工ニューラルネットワークの正確度とハードウェアメトリックとの間の均衡を合わせる最適地点を探すことが可能な人工ニューラルネットワークと演算加速器構造の統合探索装置及び方法に関する。
【背景技術】
【0002】
数十年に亘った研究者達の努力の末に、DNN(ディープニューラルネットワーク)は、もうイメージ分類及びボードゲームプレイのような様々な応用領域で人間に近い性能を見せている。しかしながら、このような成功は、爆発的なコンピューティング集約(compute intensity)によるものであって、これにより、長いGPU学習時間と多くのハードウェア費用が求められている。
【0003】
NAS(Neural Architecture Search)は、このような問題を解決するためのアプローチ方式に該当する。過去には、人間の設計努力を減らし、最新の正確度を達成することを目標として始まったが、最近では、遅延時間(latency)などのハードウェア関連費用が考慮されている。
【0004】
問題を解決する更に他の方法は、特殊ハードウェア(時々、「加速器」という)を使用することである。DNN実行に特化された加速器を活用する場合、優れた遅延時間及び/又は費用が達成される。例えば、Google TPUは、AlphaGo、データセンタ、及びクラウドサービスの処理を加速化するために配布されている。専用加速器を設計することは、遅延時間だけでなく、エネルギー消費及び面積のようなその他のハードウェア費用メトリックを最適化するための更に他の大規模設計の問題を発生させることになる。
【0005】
しかし、ネットワークアーキテクチャと加速器とは、相互独立的でなく、一方を集中的に最適化すると、時々他方に悪影響を及ぼすことがある。例えば、一般的に使用される分離可能なコンボリューションは、一般的に低い演算要求量のために、優れた遅延時間を達成する。しかし、GoogleのTPUのような一部類型の加速器は、並列処理のために多数の出力チャネルを活用するように設計される。このため、TPUで実行される分離可能なコンボリューションは、演算回数が少ないにも拘らず、一般コンボリューション演算に比べて遅延時間が長くなることがある。これと同様に、ネットワークを考慮せずに加速器のみ最適化する場合、時々最善でない次善策が選択される。
【0006】
これに関し、ハードウェア加速器とネットワークアーキテクチャとの統合探索は、所望の応用性能(即ち、正確度)と合理的な費用(遅延時間、面積、及びエネルギー消費)を達成する際に極めて重要である。既存の統合探索技法は、典型的に強化学習(Reinforcement Learning:RL)技法を使用している。
【0007】
当該技法等は、先ず、ネットワークと加速器対とを生成し、当該対は、正確度のためにネットワークを学習し、ハードウェア費用メトリックを測定することにより評価される。評価後、補償関数が計算され、当該補償に基づいて新しいデザイン対が生成される。このような手順の明白な問題は、大変な検索時間が必要であるということである。RL基盤のNAS技術と同様に、生成されたネットワークは、正確性評価のために完全に訓練される必要がある。また、加速器評価は、無視できない時間と資源が掛かる場合が多いことがある。従って、探索には過度な時間が必要であり、依然として高品質のソリューションを取得し難いという問題点が存在する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】韓国公開特許第10-2019-0101677号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、上記従来の問題点に鑑みてなされたものであって、本発明の目的は、特定時間内に探索空間を効率的に探索しつつ、人工ニューラルネットワークの正確度とハードウェアメトリックとの間の均衡を合わせる最適地点を探す人工ニューラルネットワークと演算加速器構造の統合探索装置及び方法を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するためになされた本発明の一態様による人工ニューラルネットワークと演算加速器構造の統合探索装置は、ニューラルネットワークアーキテクチャを決定するNAS(Neural Architecture Search)モジュールと、前記決定されたニューラルネットワークアーキテクチャによる加速器アーキテクチャを決定し、前記決定された加速器アーキテクチャに関するハードウェアメトリックを予測するDANCE(Differentiable Accelerator and Network Co-Exploration)評価モジュールと、を備える。
【0011】
前記NASモジュールは、複数の候補ニューラルネットワークアーキテクチャを同時に評価して前記ニューラルネットワークアーキテクチャを選別し、交差-エントロピー損失(LossCE)を算出し得る。
【0012】
前記DANCE評価モジュールは、事前学習を介して構築され、前記決定されたニューラルネットワークアーキテクチャによる最適のハードウェアを前記加速器アーキテクチャとして探索し、前記加速器アーキテクチャに関するPE(Processing Element)アレイ構成(PEx、PEy)、レジスタファイル(RF:Register File)構成、及びデータフロー(DF:dataflow)構成のうちの少なくとも1つを決定するハードウェア生成ネットワーク(Hardware generation network)と、前記加速器アーキテクチャに関する構成を基に前記ハードウェアメトリックを予測する費用推定ネットワーク(Cost estimation network)と、を含み得る。
【0013】
前記ハードウェア生成ネットワークは、ネットワークアーキテクチャスペース内でランダムネットワークを生成し、前記ランダムネットワークのうちの1つを前記最適のハードウェアとして決定し得る。
【0014】
前記ハードウェア生成ネットワークは、ReLU(Rectified Linear Unit)を活性化関数として使用する多階層パーセプトロンで構成して前記ランダムネットワークを探索し得る。
【0015】
前記ハードウェア生成ネットワークは、前記多階層パーセプトロンのうちの最後をGumbel-Softmaxで連結して、出力値を前記費用推定ネットワークの入力値としてフィーチャフォーワーディングする方式により前記出力値を前記入力値に近接させ得る。
【0016】
前記費用推定ネットワークは、ReLU(Rectified Linear Unit)を活性化関数として使用し、バッチ正規化を各階層に適用した多階層リグレッション(regression)で構成し得る。
【0017】
前記費用推定ネットワークは、前記多階層リグレッションを介してレイテンシ、面積、及びエネルギー消費量を決定して前記ハードウェアメトリックを予測し得る。
【0018】
前記費用推定ネットワークは、前記レイテンシ、面積、及びエネルギー消費量に関するリニア組み合わせ(linear combination)又はプロダクト(product)を算出して前記ハードウェアメトリックを予測し得る。
【0019】
上記目的を達成するためになされた本発明の一態様による人工ニューラルネットワークと演算加速器構造の統合探索方法は、ニューラルネットワークアーキテクチャを決定するNAS(Neural Architecture Search)モジュールを実行するNASモジュール実行ステップと、前記決定されたニューラルネットワークアーキテクチャによる加速器アーキテクチャを決定し、前記決定された加速器アーキテクチャに関するハードウェアメトリックを予測するDANCE(Differentiable Accelerator and Network Co-Exploration)評価モジュールを実行するDANCE評価モジュール実行ステップと、を有する。
【0020】
前記DANCE評価モジュール実行ステップは、事前学習を介して構築され、前記決定されたニューラルネットワークアーキテクチャによる最適のハードウェアを前記加速器アーキテクチャとして探索し、前記加速器アーキテクチャに関するPE(Processing Element)アレイ構成(PEx、PEy)、レジスタファイル(RF:Register File)構成、及びデータフロー(DF:dataflow)構成のうちの少なくとも1つを決定するハードウェア生成ネットワーク(Hardware generation network)を実行するハードウェア生成ネットワーク実行ステップと、前記加速器アーキテクチャに関する構成を基に前記ハードウェアメトリックを予測する費用推定ネットワーク(Cost estimation network)を実行する費用推定ネットワーク実行ステップと、を含み得る。
【0021】
前記ハードウェア生成ネットワーク実行ステップは、ネットワークアーキテクチャスペース内でランダムネットワークを生成し、前記ランダムネットワークのうちの1つを前記最適のハードウェアとして決定するステップを含み得る。
【0022】
前記ハードウェア生成ネットワーク実行ステップは、ReLU(Rectified Linear Unit)を活性化関数として使用する多階層パーセプトロンで構成して前記ランダムネットワークを探索するステップを含み得る。
【0023】
前記費用推定ネットワーク実行ステップは、ReLU(Rectified Linear Unit)を活性化関数として使用し、バッチ正規化を各階層に適用した多階層リグレッション(regression)で構成するステップを含み得る。
【発明の効果】
【0024】
開示された技術は、次の効果を有する。但し、特定の実施形態が次の効果を全て含むべきであるとか、次の効果だけを含むべきであるという意味ではないため、開示された技術の権利範囲は、これによって制限されるものと理解してはならない。
【0025】
本発明による人工ニューラルネットワークと演算加速器構造の統合探索装置及び方法によれば、特定時間内に探索空間を効率的に探索しつつ、人工ニューラルネットワークの正確度とハードウェアメトリックとの間の均衡を合わせる最適地点を探すことができる。
【0026】
本発明による人工ニューラルネットワークと演算加速器構造の統合探索装置及び方法によれば、傾斜下降法を使用して探索を進むことにより、全体探索空間を代表する人工ニューラルネットワークを一度訓練することで探索を完了することができ、非常に速い探索が可能であり、微分可能な方式であって、遅延時間やエネルギー消費量のような直接的なハードウェアメトリックを最適化することができる。
【図面の簡単な説明】
【0027】
【
図1】本発明による統合探索装置の機能的構成を説明する図である。
【
図2】本発明による人工ニューラルネットワークと演算加速器構造の統合方法の一実施形態を説明するフローチャートである。
【
図3】コンボリューション階層で7個の次元とCNN実行を説明する図である。
【
図4】コンボリューション階層で7個の次元とCNN実行を説明する図である。
【
図5】DNN加速器の一実施形態を説明する図である。
【
図6】RL基盤の統合探索過程を説明する図である。
【
図7】本発明による人工ニューラルネットワークと演算加速器構造の統合探索方法を説明する図である。
【
図8】本発明による評価ネットワークアーキテクチャを説明する図である。
【
図10】本発明による探索ネットワークと加速器デザインの実施形態を説明する図である。
【
図11】本発明による探索ネットワークと加速器デザインの実施形態を説明する図である。
【発明を実施するための形態】
【0028】
本発明は、下記の研究課題をもって支援を受けて出願された。
〔この発明を支援した国家研究開発事業〕
〔課題固有番号〕 1711126082
〔課題番号〕 2020-0-01361-002
〔省庁名〕 科学技術情報通信部
〔課題管理(専門)機関名〕 情報通信企画評価院
〔研究事業名〕 情報通信放送革新人材養成(R&D)
〔研究課題名〕 人工知能大学院支援(延世大学校)
〔寄与率〕 1/2
〔課題実行機関名〕 延世大学校産学協力団
〔研究期間〕 2021.01.01~2021.12.31
〔この発明を支援した国家研究開発事業〕
〔課題固有番号〕 1711134555
〔課題番号〕 2021-0-00853-001
〔省庁名〕 科学技術情報通信部
〔課題管理(専門)機関名〕 情報通信企画評価院
〔研究事業名〕 新概念PIM半導体の先導技術の開発(R&D)
〔研究課題名〕 PIM活用のためのSWプラットフォーム開発
〔寄与率〕 1/2
〔課題実行機関名〕 延世大学校産学協力団
〔研究期間〕 2021.01.01~2021.12.31
【0029】
本発明に関する説明は、構造的又は機能的説明のための実施形態に過ぎないため、本発明の権利範囲は、本明細書に説明する実施形態によって制限されるものと解釈してはならない。即ち、実施形態は、様々な変更が可能であり、種々の形態を有することができるため、本発明の権利範囲は、技術的思想を実現できる均等物等を含むものと理解しなければならない。また、本発明において提示する目的又は効果は、特定の実施形態がこれを全部含むべきであるとか、そのような効果だけを含むべきであるという意味ではないため、本発明の権利範囲は、これによって制限されるものと理解してはならない。
【0030】
一方、本出願において述べる用語の意味は、次のように理解されるべきである。
【0031】
「第1」、「第2」などの用語は、1つの構成要素を他の構成要素から区別するためのものであって、これらの用語によって権利範囲が限定されてはならない。例えば、第1構成要素は第2構成要素と命名され、同様に、第2構成要素も第1構成要素と命名され得る。
【0032】
ある構成要素が他の構成要素に「連結されて」いると言及する場合には、その他の構成要素に直接連結され得るが、中間に他の構成要素が存在することもできると理解されるべきである。それに対し、ある構成要素が他の構成要素に「直接連結されて」いると言及する場合には、中間に他の構成要素が存在しないものと理解されるべきである。一方、構成要素等間の関係を説明する他の表現、即ち「~間に」と「すぐ~間に」、又は「~に隣り合う」と「~に直接隣り合う」なども同様に解釈されなければならない。
【0033】
単数の表現は、文脈上明白に異なるように意味しない限り、複数の表現を含むものと理解されなければならず、「含む」又は「有する」などの用語は、実施された特徴、数字、ステップ、動作、構成要素、部分品、又はこれらを組み合わせたものが存在することを指定しようとするものであり、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部分品、又はこれらを組み合わせたものなどの存在又は付加可能性を予め排除しないものと理解されなければならない。
【0034】
各ステップにおいて、識別符号(例えば、a、b、cなど)は、説明の便宜のために使用されるものであって、識別符号は、各ステップの順序を説明するものでなく、各ステップは、文脈上明白に特定順序を記載しない限り、明記された順序と異なるように起こり得る。即ち、各ステップは、明記された順序と同様に起こり、実質的に同時に行われ、反対の順序通りに行われ得る。
【0035】
本発明は、コンピュータ読み取り可能な記録媒体にコンピュータ読み取り可能なコードとして実現され、コンピュータ読み取り可能な記録媒体は、コンピューティングシステムによって読み取られるデータが格納されるあらゆる種類の記録装置を含む。コンピュータ読み取り可能な記録媒体の例では、ROM、RAM、CD-ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ格納装置などがある。また、コンピュータ読み取り可能な記録媒体は、ネットワークで連結されたコンピューティングシステムに分散されて、分散方式でコンピュータ読み取り可能なコードが格納され、実行され得る。
【0036】
ここで使用されるあらゆる用語は、異なるように定義されない限り、本発明の属する分野における通常の知識を有する者により一般的に理解されるものと同じ意味を有する。一般的に使用される辞書に定義されている用語は、関連技術の文脈上有する意味と一致するものと解釈されなければならず、本明細書において明白に定義しない限り、理想的であるか又は過度に形式的な意味を有するものと解釈されない。
【0037】
図1は、本発明による統合探索装置の機能的構成を説明する図である。
【0038】
図1に示すように、統合探索装置100は、全体探索空間を代表する人工ニューラルネットワークを一度訓練することで探索を完了して非常に速い探索が可能なようにし、微分可能な方式であって、遅延時間やエネルギー消費量のような直接的なハードウェアメトリックを最適化する。このための構成として、統合探索装置100は、NAS(Neural Architecture)モジュール110及びDANCE(Differentiable Accelerator and Network Co-Exploration)評価モジュール130を含んで実現される。
【0039】
NASモジュール110は、ニューラルネットワークアーキテクチャを決定する動作を行い、DANCE評価モジュール130は、NASモジュール110により決定されたニューラルネットワークアーキテクチャに対応する加速器アーキテクチャを決定し、当該加速器アーキテクチャに関するハードウェアメトリックを予測する動作を行う。
【0040】
より具体的に、NASモジュール110は、複数の候補ニューラルネットワークアーキテクチャを同時に評価してニューラルネットワークアーキテクチャを選別し、これに関する交差-エントロピー損失(LossCE)を算出する。
【0041】
一実施形態において、DANCE評価モジュール130は、事前学習を介して構築され、2つのネットワークを含んで構成される。即ち、DANCE評価モジュール130は、ハードウェア生成ネットワーク(Hardware generation network)と費用推定ネットワーク(Cost estimation network)とを含む。
【0042】
先ず、ハードウェア生成ネットワークは、NASモジュール110により決定されたニューラルネットワークアーキテクチャによる最適のハードウェアを加速器アーキテクチャとして探索し、加速器アーキテクチャに関するPE(Processing Element)アレイ構成(PEx、PEy)、レジスタファイル(RF:Register File)構成、及びデータフロー構成のうちの少なくとも1つを決定する動作を行う。即ち、ハードウェア生成ネットワークは、最適のハードウェアアーキテクチャを探索するために事前学習がなされ、最適のハードウェアアーキテクチャに関する最適の構成をパラメータとして生成する。例えば、ハードウェア生成ネットワークは、出力として最適のハードウェアアーキテクチャに関するPEアレイのフィーチャ(PEx、PEy)とレジスタファイルRF、データフローDFなどを生成する。
【0043】
一実施形態において、ハードウェア生成ネットワークは、ネットワークアーキテクチャスペース内でランダムネットワークを生成し、ランダムネットワークのうちの1つを最適のハードウェアとして決定する。即ち、ハードウェア生成ネットワークは、ランダムネットワークを入力として受信し、評価器ネットワークを学習するための正解(ground-truth)として使用される出力を生成する。
【0044】
一実施形態において、ハードウェア生成ネットワークは、ReLU(Rectified Linear Unit)を活性化関数として使用する多階層パーセプトロン(multi-layer perceptron)で構成してランダムネットワークを探索する。例えば、
図8のように、ハードウェア生成ネットワーク131は、5階層パーセプトロンで構成される。
【0045】
一実施形態において、ハードウェア生成ネットワーク131は、多階層パーセプトロンのうちの最後をGumbel-Softmaxで連結して出力値を費用推定ネットワーク133の入力値としてフィーチャフォーワーディングする方式によって出力値を入力値に近接させる。例えば、
図8のように、ハードウェア生成ネットワーク131は、5階層パーセプトロンの最後にGumbel-Softmaxを適用し、その出力を費用推定ネットワーク133の入力として連結するように実現される。ここで、Gumbel-softmaxは、セットで単一要素を確率的にサンプリングする方法を学習するソフトマックス関数に該当する。
【0046】
また、費用推定ネットワークは、加速器アーキテクチャに関する構成を基にハードウェアメトリックを予測する動作を行う。一実施形態において、費用推定ネットワークは、ReLU(Rectified Linear Unit)を活性化関数として使用し、バッチ正規化を各階層に適用した多階層リグレッション(regression)で構成する。例えば、費用推定ネットワーク133は、
図8のように、5階層リグレッションで構成される。このとき、費用推定ネットワーク133は、階層間に残余連結(residual connection)を含む。
【0047】
一実施形態において、費用推定ネットワークは、多階層リグレッションを介してレイテンシ(latency)、面積(area)、及びエネルギー消費量(energy consumption)を決定してハードウェアメトリックを予測する。このとき、費用推定過程で評価ソフトウェアを介して生成された正解(ground truth)が使用される。
【0048】
一実施形態において、費用推定ネットワークは、レイテンシ、面積、及びエネルギー消費量に関するリニア組み合わせ又はプロダクト(combination and product)を算出してハードウェアメトリックを予測する。即ち、費用推定ネットワークは、費用関数(cost function)を用いてハードウェアメトリックを予測し、費用関数は、レイテンシ、面積、及びエネルギー消費量に関するリニア組み合わせで定義されるか、又はレイテンシ、面積、及びエネルギー消費量間のプロダクト(combination and product)で定義される。
【0049】
図2は、本発明による人工ニューラルネットワークと演算加速器構造の統合探索方法の一実施形態を説明するフローチャートである。
【0050】
図2に示すように、統合探索装置100は、NASモジュール110を介してニューラルネットワークアーキテクチャを決定する(ステップS210)。統合探索装置100は、DANCE評価モジュール130を介してニューラルネットワークアーキテクチャによる加速器アーキテクチャを決定する(ステップS230)。統合探索装置100は、DANCE評価モジュール130を介して加速器アーキテクチャに関するハードウェアメトリックを予測する(ステップS250)。
【0051】
以下、
図3~
図11を参照して本発明による人工ニューラルネットワークと演算加速器構造の統合探索方法をより具体的に説明する。
【0052】
神経アーキテクチャ検索(NAS:Neural Architecture Search)は、増加するネットワークのサイズと、これに相応する手動的な設計努力に対応するために、DNNアーキテクチャの設計を自動化する。神経アーキテクチャ検索において、初期には、ネットワーク生成のために強化学習RL又は進化アルゴリズムEAが採択されてきた。
【0053】
但し、このようなアルゴリズムなどの場合、検索費用が非常に高いことがあり、全ての候補等に要求される全体学習(full training)のため、最大数千個のGPU日(GPU-days)が掛かる。本発明による微分可能な(differentiable)神経アーキテクチャ検索は、このような費用を緩和する方法としてスーパーグラフ(supergraph)を作り、その中で経路を探す。即ち、微分可能な神経アーキテクチャ検索は、何倍も短い時間内に最先端性能のネットワークを探することができる。
【0054】
DNN用ハードウェア加速器(hardware accelerator)は、最近、CNN(コンボリューショナルニューラルネットワーク)で最も一般的な演算である多重MAC(Multiply-Accumulate)演算を並列的に実行することに重点をおいている。
図5は、オンチップメモリ(on-chip memory)、多くのPE(Processing Element)、及びこれらの間の相互連結を含むアイリス(Eyeriss)に類似するDNN加速器の一実施形態を図示している。バックボーン加速器設計を使用しても、PEの個数、データフロー(dataflow)、レジスタファイルサイズなどのような多くの属性が依然として設計される必要がある。
【0055】
一般に、DNN階層(layer)は、種々の次元のコンピューティング演算を含む。例えば、コンボリューション階層(convolution layer)は、
図3のように、7個のコンピューティング演算階層を含む。即ち、コンボリューション階層(convolution layer)は、活性化入力(input activation)のH、W、Cに関する3個の階層、加重値(weight)R、S、Kに関する3個の階層、及びバッチ(batch)のNに関する1つの階層を含む。従って、
図4のように、7段階の重なったループに公式化される。加速器において、このようなループをマッピングし、順序を指定することを時々データフロー(dataflow)と呼び、多くの加速器は、一部データをなるべく長い間ローカルメモリ上に維持することに重点をおいた様々なデータフローを提供する。
【0056】
加速器設計において、各選択がDNN遅延時間にどのような影響を及ぼすかを分析することは、シミュレータ(simulator)又は分析評価道具(analytical evaluation tool)により行われる。本発明による統合探索方法は、DANCEフレームワーク上で評価ネットワーク(evaluation network)を学習するための最先端加速器評価ツールチェーンとしてアクセラジー(Accelergy)に結合されたタイムループ(Timeloop)を活用する。
【0057】
ネットワークアーキテクチャと加速器設計を統合探索する方法において、既存の方法は、問題を公式化する比較的簡単な方法のため、強化学習RLを制御機(controller)として使用する。しかし、当該方法は、全て強化学習基盤のNASアルゴリズムで発生する同じ検索費用の問題をそのまま含む。
【0058】
これに対し、本発明による方法は、最高の正確度を有するネットワークと加速器デザインを生成しながら探索費用を大幅に減らすことができる共同探索の問題に関する微分可能なNASのアイデアを適用する。EDD(Efficient Differentiable DNN)という既存の方法は、共同探索の問題に対する微分可能な方法を提供する。しかし、当該方法は、いくつかの重要な制限事項を有する。EDDは、ネットワークの総フロップ(total flops)を計算リソース(computation resource)の量に分けたことを遅延時間(latency)にモデリングする。結果的に、ネットワークアーキテクチャと加速器設計との間の真の関係は、統合検索(co-search)で考慮されない。これは、理論的にデータフローやレジスタファイルサイズのようないくつの重要な特徴に対する検索を許容しない。また、EDDの主な焦点は、各階層に対して様々な量子化(quantization)を使用することである。従って、EDDは、各階層に対する(共有可能な)専用ハードウェアが存在し、一般的な加速器とは相違があるという仮定を含む。
【0059】
図6に示すように、RL基盤の統合探索が行われる方法を図示する。一般的なNASアルゴリズムの構成要素、及び統合探索のために追加された構成要素を含む。1番目に、ネットワークアーキテクチャ及びハードウェア加速器の検索空間がコントローラ(Controller)に提供される。その後、コントローラは、提供されていた検索空間(即ち、ネットワークアーキテクチャ及びハードウェア加速器)に対する候補デザインを生成する。生成された候補は、正確度を得るためにネットワークで学習が行われ、ネットワークを実行する指定されたハードウェアに対する費用メトリックを分析する評価者(Evaluator)に伝達される。当該方法は、統合探索の目的にはよく符合する一方、RL基盤のNASアルゴリズムの同じ問題である学習費用(the training cost)を含む。即ち、当該方法は、生成される各候補者に対して費用が多く掛かる学習が必要である。また、当該方法において、最適のハードウェア設計を探す動作も候補別に行われる間、相当な時間が掛かる。結果的に、当該方法の検索動作は、多くのGPU時間(GPU-hours)のため、困難を経験する。
【0060】
図7に示すように、本発明による統合探索装置100で実行される統合探索方法を図示する。即ち、本発明による統合探索方法は、DANCE(Differentiable Accelerator/Network Co-Exploration)という微分可能な統合探索方法に該当する。
図7の左側部分は、他の微分可能なNASアルゴリズムに類似するネットワーク検索モジュール(即ち、
図1のNASモジュール110に対応する)に該当し、逆伝播(backpropagation)を使用してスーパーネットワーク(super-network)内の経路を探すことにより、最終的に検索されるネットワークを生成する。一方、ネットワーク検索モジュールには、他の微分可能なNASアルゴリズムが全て適用されることは勿論である。
【0061】
図7の右側部分は、ネットワーク検索モジュールから取得したアーキテクチャパラメータを用いて最適のハードウェア加速器設計(optimal hardware accelerator design)を検索し、費用メトリック(cost metrics)を評価する微分可能な評価器(differentiable evaluator)(即ち、
図1のDANCE評価モジュール130に対応する)に該当する。評価器は、事前学習されたニューラルネットワークで実現され、検索中に固定(frozen)され、当該ハードウェアアーキテクチャをハードウェア費用メトリックに連結する過程で使用される。損失関数(loss function)は、次の数式1のように表され、正確度(accuracy)と費用メトリック(cost metrics)とが共に考慮される。
【0062】
【数1】
ここで、λ
1及びλ
2は、項(terms)間のトレードオフ(trade-off)を調整するハイパーパラメータ(hyperparameter)である。Loss
CEは、交差-エントロピー損失(cross-entropy)であり、||w||は、加重値減少項(weight decay term)である。また、Cost
HWは、評価器ネットワーク(evaluator network)の出力値から計算されるハードウェア加速器の費用関数(cost function)である。例えば、費用関数は、遅延時間(latency)、面積(area)、及びエネルギー消費(energy consumption)に関する線形組み合わせ(linear combination)に該当するか、又はEDAP(Energy-delay-area product、エネルギー遅延面積積)に該当する。
【0063】
本来の(微分不可能な)費用評価ソフトウェアは、ハードウェア生成道具(hardware generation tool)と費用推定道具(cost estimation tool)とで構成される。ハードウェア生成道具は、ネットワークアーキテクチャ(network architecture)を入力として使用し、ハードウェア加速器設計(hardware accelerator design)を出力として生成する。本発明による統合探索方法は、ハードウェア加速器設計(hardware accelerator design)の検索空間(search space)として、データフロー(dataflow)、X及びY次元に対するPEの個数、レジスタファイルサイズ(register file size)を使用する。その後、費用推定道具は、ハードウェア加速器(hardware accelerator)とネットワークアーキテクチャ(network architecture)とを使用して費用メトリック(cost metrics)を出力として生成する。一般的に、ハードウェア生成道具は、費用推定道具を含む外部ループで実現される。即ち、ハードウェア生成道具は、完全探索(Exhaustive search)又は分岐限定(branch-and-bound)アルゴリズムのような正確なアルゴリズムを使用することにより、ハードウェア検索空間H内で与えられたネットワークアーキテクチャAに対する最適のソリューションを出力として生成する。
【0064】
一実施形態において、本発明による統合探索方法は、費用推定過程で遅延時間(latency)に対するタイムループ(Timeloop)、及びエネルギー/面積に対するアクセラジー(Accelergy)を使用する。このとき、タイムループ(Timeloop)とアクセラジー(Accelergy)とは、最先端費用推定ツールチェーン(cost estimation toolchain)に該当する。本発明による統合探索方法は、費用推定道具を利用して固有のハードウェア生成道具を設計する。本発明による統合探索方法は、ネットワークアーキテクチャ空間(network architecture space)A上で入力として任意のネットワーク(random network)を生成し、当該ツールチェーンの出力は、評価器ネットワーク(evaluator network)の構成要素を学習するための正解(ground-truth)として使用される。
【0065】
本発明による評価器ネットワークは、ハードウェア生成ネットワークと費用推定ネットワークとの2つのモジュールで構成される。
図8を参照して、本発明による評価器ネットワークアーキテクチャを図示する。ハードウェア生成ネットワークは、ReLU(Rectified Linear Unit)を活性化関数(activation function)として使用する5-階層パーセプトロン(five-layer perceptron)にモデリングされる。ハードウェア生成ネットワークは、費用推定ネットワークの正確度を高め、探索中のネットワークに対する傾き経路(gradient path)を設定するために、階層間に残余連結(residual connection)が適用される。
【0066】
費用推定ネットワークは、残余連結がある5-階層回帰(five-layer regression)にモデリングされる。費用推定ネットワークは、ReLUを活性化関数として含み、全ての階層にバッチ正規化(batch normalization)が適用される。費用推定ネットワークは、評価ソフトウェア(evaluation software)で生成された正解(ground truth)に基づいて、関心のある3つの費用メトリック(即ち、遅延時間、面積、及びエネルギー消費)を出力として生成する。例えば、評価ソフトウェアには、タイムループ(Timeloop)及びアクセラジー(Accelergy)が含まれる。本発明は、各評価器ネットワークを学習させるために、MSRE(Mean Squared Relative Error)損失を使用して、次の数式2のように表される。
【0067】
【数2】
ここで、y
iは、タイムループ(Timeloop)+アクセラジー(Accelergy)の結果で生成された各メトリックに対するハードウェア費用関数(Cost
HW)であり、
は、ネットワーク出力を使用して計算された同じ費用関数である。一般的なMSE損失を使用することもできるが、この場合、高い値を有するメトリックに不適切な加重値を付与するという問題が生じる。例えば、検索空間内で出力される遅延時間値は、各階層当たり、8nsから100ns以上までの範囲を有する。MSE損失を使用する場合、8ns遅延時間のうちの10nsエラー(error)と、100ns遅延時間のうちの10nsエラーとを同様に見なして、遅延時間が長い状況等をより正確にモデリングするのに不当な利益を与える。即ち、遅延時間が短い加速器を探すという条件下では、MSRE損失がより望ましい。
【0068】
評価器アーキテクチャにおいて、HW(hardware)費用メトリックを出力する費用推定ネットワークは、最適のハードウェアを探し、メトリックを推定する2つの機能を内部的にモデリングすべきことを意味する。独立型ネットワークは、相当高い正確度を見せるが、ハードウェア生成ネットワークの出力でフィーチャ伝達経路(feature forwarding path)を追加することにより遅延時間を更に改善させることができる。即ち、ハードウェア生成ネットワークの結果は、費用推定ネットワークに対する入力としてネットワークアーキテクチャに連結される。例えば、ハードウェア生成ネットワークの最後の階層としてGumbel softmaxを使用する場合、ハードウェア生成の出力値を費用推定ネットワークの入力に最大限近接させる。
【0069】
応用(application)の分類正確度を最適化することと比較して、費用メトリックに対する最適化は、傾斜下降法(gradient descent)において相対的により容易な作業に該当する。例えば、殆どの階層を0に選択すると、全ての遅延時間、領域、及びエネルギー消費が速く最適化される。ネットワークアーキテクチャがこのようなソリューションに制限される場合、最高の正確度を最適化するために必要な場合にも、より重要なアーキテクチャを探し難いことがある。このような効果を緩和するために、ハイパーパラメータウォーミングアップスケジューリング(hyperparameter warming-up scheduling)が使用される。ハイパーパラメータウォーミングアップスケジューリングは、最初のいくつのエポック(epoch)に対して上記数式1のλ2を小さい値で使用し、ネットワークアーキテクチャが高い正確度のために、特定ステップに到達してから、後で所望の値にλ2を増加させる。
【0070】
基本的に、ハードウェア費用関数は、3つのハードウェア費用メトリックに関する線形組み合わせを上記数式1の費用関数CostHWとして使用して、次の数式3のように表される
【0071】
【0072】
λE、λL、及びλAを制御することにより、各費用メトリック間の均衡を測定する方法に対する条件が設定される。このようなハイパーパラメータのスケール(scale)をマッチングさせるために、各費用に対してmJ、ms、及びμm2単位が使用される。
【0073】
或いは、ハードウェア費用関数は、全てのメトリック間の費用関数として使用することができ、次の数式4のように表される。
【0074】
【数4】
ここで、EDAPは、ハードウェアを評価するのに使用される共通メトリック(例えば、energy-delay-area product)に該当する。この場合、追加的なハイパーパラメータがなく、単位が存在しないという点で利点を有する。
【0075】
以下、本発明に関する実験結果を説明する。
【0076】
本発明による統合探索方法(即ち、DANCE)に対してCIFAR-10及びImageNet(ILSVRC2012)データセットを基にいくつかの実験が行われる。全てのアルゴリズムは、PyTorchで実現され、4個のRTX2080Ti GPUで実行される。
【0077】
≪検索空間(Search space)≫
ハードウェア加速器検索空間(hardware acceleratorsearch space)であるHの場合、最新加速器アイリス(Eyeriss)がバックボーンとして使用される。設計パラメータとしてPEの個数、RFサイズ、及びデータフロー(Dataflow)が使用される。2次元PE配列の場合、次元毎に変数PEX及びPEYが別途に割り当てられる。ここで、各値の範囲は、8から24である。設定において、PEXが大きいほど、階層がより多くのチャネルを有し、PEYが大きいほど、並列処理のために、より大きいフィーチャマップが使用される。PE当たり、RFサイズは、4から64の間の値を有する。データフロー(Dataflow)の場合、既存のハードウェア加速器(即ち、WS:Weight Stationary、OS:Output Stationary、RS:Row Stationary)で3個のデータフローが選択される。オフチップメモリに対して約128GB/sのHBMメモリが設定される。評価器ネットワーク上で、各変数は、ハードウェア生成ネットワークと費用推定ネットワークとの間の段階的連結(cascaded connection)を単純化するために、ワン-ホットベクトル(one-hot vector)に公式化される。
【0078】
ネットワークアーキテクチャ検索空間(network architecture search space)であるAの場合、バックボーンネットワークアーキテクチャとしてProxylessNASが使用される。ネットワークには、13個の階層があり、3個の階層毎にチャネル数が増加する。
【0079】
中間に配置された9個の階層の各々には、スキップした連結(skip connection)の他にも、MBConv3X3_expand3、MBConv3X3_expand6、MBConv5X5_expand3、MBConv5X5_expand6、MBConv7X7_expand3、MBConv7X7_expand6、及びZeroの7つの候補演算が含まれる。Zeroが選択された場合、スキップした連結のみ含まれ、階層は、ネットワークで効果的に消える。アーキテクチャパラメータは、2進化された方法(binarized method)(例えば、ProxylessNAS)を介して学習される。
【0080】
≪評価器ネットワーク結果(Evaluator network Results)≫
1)費用推定ネットワーク(Cost estimation network):次の表1は、評価器ネットワークの構成要素に対する実験結果に該当する。
【0081】
【0082】
費用推定ネットワークとハードウェア生成ネットワークとは、正解(ground truth)値を基に独立的に学習され、その後、相互組み合わせられる。費用推定ネットワークの各階層は、256の幅を有し、当該ネットワークは、200Epochに対して学習率が0.0001であるAdamオプティマイザ(optimizer)を用いて学習される。バッチサイズ(batch size)は、256が適用される。費用推定ネットワークは、検索空間でタイムループ(Timeloop)+アクセラジー(Accelergy)で生成された180万ケースに対して学習され、45万ケースに対して検証される。その結果、3つの費用メトリックが全て99%以上の正確度を見せる点において、十分に正確であることを表す。また、フィーチャ伝達(feature forwarding)は、正確度を平均4.3%p向上させるものとして観察される。
【0083】
2)ハードウェア生成ネットワーク(hardware generation network):ハードウェア生成ネットワークの場合、階層幅(layer width)は、128に設定される。損失関数は、一般的なCE損失(CE loss)が使用され、LossCE_HWのように表現される。ハードウェア生成ネットワークは、200エポック(Epoch)に対してバッチサイズが128であるSGDを使用して学習される。学習率は、0.001から始め、50Epoch毎に0.1倍ずつ減少される。また、検索空間で50,000個のネットワークケースが生成され、有効性検査(validation)のために、10,000個のケースが使用される。全てのハードウェア加速器設計パラメータ(hardware accelerator design parameter)でハードウェア生成ネットワークの正確度が略99%に表れる点において、十分に正確であるということを確認することができる。即ち、ハードウェア生成ネットワークは、正確且つ微分可能なだけでなく、本来生成ツールチェーンよりも一層速く動作する。同じ機能を有するハードウェア生成ネットワークの推論時間(inference time)は、単一GPUで約0.5msが掛かるのに対し、生成道具は、2個のIntel Xeon Silver-4214 CPU等の24コアで48スレッドを使用して約112秒が掛かる。
【0084】
3)終端間評価器ネットワーク結果(End-to-end Evaluator network Results):ハードウェア生成ネットワーク及び費用推定ネットワーク間の組み合わせで全体評価器ネットワークがテストされる。中間値がワン-ホットベクトルでなくても、Gumbel softmaxは、これをよく近似させ、費用メトリックに対して依然として約99%の正確度を維持する。
【0085】
≪統合探索結果(Co-exploration Results)≫
1)CIFAR-10に対する実験結果:1番目のベースライン(baseline)に対し、ProxylessNASを使用して検索を行い、完全探索(Exhaustive-search)道具を使用して検索されたネットワークでハードウェア生成が行われる。これは、実際に行われる典型的な分離設計を表す。256のバッチサイズを有する120エポック(Epoch)に対して検索が行われたことに対し、40エポックに対してウォーミングアップが行われる。学習率0.025、加重値減少0.00004(λ1)、ラベル平滑化(smoothing)0.1、及びモメンタム(momentum)0.9のコサインスケジューリングを使用する検索には、NesterovモメンタムがあるSGDオプティマイザが使用される。検索後、最終ネットワークは、300エポックの間、始めから学習される。学習のためのハイパーパラメータは、学習率が0.008であり、加重値減衰係数(weight decay factor)が0.001であるという点を除けば、同一である。また、2番目のベースラインとしてEDDを使用する。データフロー及びレジスタファイルに対するハードウェアパラメータにはEDDを適用できないため、PEの個数だけを基準に統合探索を行い、残りのパラメータに対しては、事後検索(post search)が行われる。EDDで発生する問題は、分類損失(classification loss)に遅延時間損失(latency loss)をかける損失関数を使用するということであり、次の数式5のように表される。
【0086】
【0087】
ここで、λ2は、2つの項の間の加重値を調整しない。これにより、遅延時間を速く最適化するのにネットワークがあまりにも多く縮小されるという深刻な問題が発生する。その結果、ソリューションは、非常に低いハードウェア費用を提供するが、許容されない正確度を提供する。従って、当該問題を緩和するために、上記数式1のように損失関数を変更する実験が行われ、EDD+Proposed Loss func.と表される。
【0088】
DANCEを使用して、費用関数を基に統合探索が行われる。CostHW_linearに対して、latency-oriented、energy-oriented、及びbalancedという3つの費用関数が設定される。残りのハイパーパラメータは、全てベースラインと同一に設定される。検索後学習(after-search training)と同様に、最適のハードウェア加速器設計(optimal hardware accelerator design)を取得するために、検索後1回の正確なハードウェア生成が行われる。
【0089】
全般的に、DANCEは、ベースラインよりも優れたネットワーク加速器設計を取得することができる。比較のために、1つは高い正確度(-A)を有するものと、他の1つは効率的なハードウェア設計(-B)に該当する2つの設計が使用される。高精密設計(-A)の場合、DANCEは、ベースラインと略同一の正確度を達成する(ペナルティなし)。効率的なハードウェア設計(-B)の場合、1~2%の正確度減少以内で最高の費用関数を有する設計を選択することができる。DANCEが効率的な統合探索を行って、最大10倍更に良いEDAP又は3倍更に良い遅延時間を達成することができる。遅延時間指向(latency-oriented)費用関数を使用すると、遅延時間は、他の関数達よりもずっと低い値になるのに対し、エネルギー指向(energy-oriented)費用関数は、他の2つの関数よりも更に良いエネルギー消費を達成する。結果的に、DANCEを用いる場合、関心のあるソリューションを取得するために、費用ハイパーパラメータを調整することができることを意味する。
【0090】
図9に示すように、DANCEが単純にハードウェア費用として正確性を犠牲にするのではなく、ベースライン等と比較して圧倒的なソリューションを検索するということを意味する。
図9において、ベースライン(Baseline)とDANCEとで探した設計のEDAP-誤差関係を図示する。ここで、2つの軸に対して全て低いほど、より良いことになる。正確度とCost
HWとの間の他の均衡を達成するために、上記数式1で様々なλ
2に対して検索が行われる。ベースラインとDANCEとは、全て正確度指向(accuracy-oriented)ハイパーパラメータ設定により類似する正確度に到達するが、DANCEは、より一層良いトレードオフ(trade-off)を提供し、フロップペナルティ(Flops penalty)があるベースラインよりも優れた費用メトリックを提供する。また、DANCEは、EDDと比較して類似する正確度下で2倍以上の優れたEDAP性能を提供することができる。これは、EDDがネットワーク-ハードウェア関係をモデリングせずに、特に高い正確度でソリューションに対する効率的な設計対を探すことができないためである。
図9に示したEDDの場合、本来のEDDの正確度があまりにも低いため、本発明によって修正された損失関数を使用している。
【0091】
2)ImageNetに対する実験結果:次の表2は、ImageNetデータセットに対するDANCEの性能を図示している。
【0092】
【0093】
別途のハードウェア検索を有するベースラインは、71.12%の正確度を提供するが、ハードウェア費用が多く掛かることがある。フロップペナルティ(Flops Penalty)又はEDDを適用する場合には、効率的なソリューションを探せないことがある。DANCEは、良いトレードオフポイント(trade-offpoint)を発見し、最大3倍のEDAP利点と共に、わずかの正確度減少だけでより一層良い費用メトリックを提供することができる。
【0094】
≪DANCEにより探索されたネットワーク及び加速器設計(Networkand accelerator design searched by DANCE)≫
【0095】
図10及び
図11に示すように、ネットワークアーキテクチャと加速器設計とに関する2つの集合を図示する。加速器設計と共に、ネットワークアーキテクチャを探す方法に対する有用な洞察力を見せるため、遅延時間指向費用関数(latency-oriented cost function)とエネルギー指向費用関数(energy-oriented cost function)とで生成された2つの費用効率的な設計(-B)を適用する。
図10及び
図11において、ボールド体(bold character)で表される値は、DANCEとして検索される設計パラメータに該当する。
【0096】
遅延時間指向ネットワーク(latency-oriented network)(
図10)は、エネルギー指向ネットワーク(energy-oriented network)に比べてカーネルサイズが相対的に小さい(例えば、7×7MBConvの代わりに、3×3MBConv)。それに対して、遅延時間指向ネットワークは、より大きい拡張割合によって、更に多くのチャネルを含む。データフローに関係なく、加速器は、チャネル水準の並列処理(chnnel-level parallelism)をよく活用するため、更に多くのチャネルがあれば、同時に活性化されるPEの個数を増やすのに役に立ち、遅延時間が減る。このようなネットワークで低い遅延時間を達成するために検索された加速器は、速度を加速化する相対的に更に大きいPE配列(array)を含む。最後に、選択されたWS(Weight Stationary)データフローは、一般的に低い遅延時間を達成するのに良いものと知られている。
【0097】
エネルギー指向ネットワーク(energy-oriented network)(
図11)は、より小さいチャネル幅と共に、相対的に更に大きいカーネルサイズ(7×7MBConv)を含む。カーネルサイズが大きいほどPE使用率が低くなり、遅延時間が増える場合が多いにも拘らず、使用しないPEの個数が多いとして高いエネルギーに大きく寄与することはない。即ち、動的エネルギー消費は、主にMAC演算及びデータアクセスの個数に依存する。それに対し、チャネル幅(channel width)が小さいほど、入力/出力活性化のためのアクセス数が減るため、時々エネルギー消費が低くなる。小さいカーネル/広い幅の同じMAC演算を有する階層と大きいカーネル/狭い幅の階層とを比較すると、前者は高いPE活用率によって遅延時間がより良く、後者は低いデータアクセスによってエネルギー消費がより良い。エネルギー指向費用関数に対する加速器は、時々良いエネルギー効率を表すものとして知られたRSデータフローを有するものとして検索されてきた。PEアレイは、エネルギー消費を減らすために小さい。深さ方向コンボリューション(depth-wise convolution)には、1つの出力チャネルのみがあるため、PE
Yは、特に小さく、低いエネルギーに対してPE
Yを減らすことがPE
Xを減らすことよりも更に有利である。各PEは、遅延時間指向設計に比べてより大きいRFを有する。なぜなら、RFが大きいほど、GB(Global Buffer)に対するアクセスが減り、エネルギー消費が少ないためである。
【0098】
≪DANCEと既存の統合探索アルゴリズムとの比較(Comparison of DANCE with Existing Co-exploration Algorithms)≫
【0099】
次の表3は、DANCEを他の加速器/ネットワーク統合探索アルゴリズム(即ち、Alg.[10]~[14]及び[17])と比較した結果に該当する。
【0100】
【0101】
環境が全て異なるため(例えば、ASIC vs FPGA、他の技術ノード、他のNASバックボーン等)、測定された値を直接比較することができない。また、正確度さえも基本的なNASアルゴリズムに依存するため、直接比較することができない。しかし、その差が大きい場合、方法の検索能力(searching capability)を暗示することができるため、概略的な比較のために正確度と検索費用とをまとめることができる。
【0102】
殆どの統合探索アルゴリズムは、強化学習を活用し、探索過程で多くの候補を学習させるべき問題を有する。結果的に、それらのうちの多数は、正確度が低い次善のネットワークアーキテクチャのみを出力する。
【0103】
検索時間は、更にDANCEの長所を表し、RL基盤の作業に比べて一層速い。アルゴリズム[13]の場合、差は小さいが、これは、バックボーンアーキテクチャが、モデルサイズが小さく、手動で微細調整されたアーキテクチャを基盤とするためである。「候補(candidates)」項目(column)は、このような場合を考慮して検索費用を公正に比較しようという試みに該当する。即ち、検索する間、各アルゴリズムが学習すべき候補の個数に該当する。RL基盤の統合探索アルゴリズムは、学習のために数百から数千個の候補が必要であるが、DANCEは、唯1つの候補のみを使用する。アルゴリズム[17]は、微分可能であり、同じNASバックボーンで再加工した場合、類似する正確度と検索費用とを提供する。しかし、アルゴリズム[17]は、ネットワーク-ハードウェア関係を反映できないため、その結果、統合探索ソリューションは、DANCEよりも最も低い品質を提供する。
【0104】
本発明による統合探索方法であるDANCEは、高い正確度と低い費用メトリックとを全て目標とするハードウェア加速器とネットワークアーキテクチャとを共に探索する新しい微分可能な方法に該当する。本発明による統合探索方法は、非常に低い検索費用で正確度を損傷させずに、効率的なハードウェア設計を得るために、ニューラルネットワーク基盤のハードウェア評価器をモデリングすることができる。本発明による統合探索方法は、ビデオ又は自然語(natural language)処理のような未来の多くの分野で統合探索問題(co-exploration problem)に対する費用を減らすことができる。
【0105】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的思想から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【0106】
100 統合探索装置
110 NASモジュール
130 DANCE評価モジュール
131 ハードウェア生成ネットワーク
133 費用推定ネットワーク