JP7561925B2 - 専用ニューラルネットワークトレーニングチップ - Google Patents
専用ニューラルネットワークトレーニングチップ Download PDFInfo
- Publication number
- JP7561925B2 JP7561925B2 JP2023114361A JP2023114361A JP7561925B2 JP 7561925 B2 JP7561925 B2 JP 7561925B2 JP 2023114361 A JP2023114361 A JP 2023114361A JP 2023114361 A JP2023114361 A JP 2023114361A JP 7561925 B2 JP7561925 B2 JP 7561925B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- activation inputs
- matrix
- dimensional matrix
- dedicated hardware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Nonlinear Science (AREA)
- Rehabilitation Tools (AREA)
- Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
Description
この明細書は、ハードウェアでのニューラルネットワーク計算の実行に関する。ニューラルネットワークは機械学習モデルであり、各々が、モデルの1つ以上の層を用いて、受信した入力に対する出力、たとえば分類などを生成する。一部のニューラルネットワークには、出力層に加えて1つ以上の隠れ層が含まれる。各隠れ層の出力は、ネットワーク内の次の層、つまりネットワークの次の隠れ層または出力層への入力として用いられる。ネットワークの各層は、それぞれのパラメータのセットの現在の値に従って、受信した入力から出力を生成する。
本明細書では、機械学習ワークロード、特にトレーニング段階に最適化されたプログラム可能な線形代数アクセラレータである専用ハードウェアチップに関する技術について説明する。
、専用ハードウェアチップのデータを記憶するように構成されてもよい。専用ハードウェアチップは、疎計算コアを備えてもよい。
詳細な説明
複数の層を有するニューラルネットワークをトレーニングし、それを推論の計算に用いることができる。一般に、ニューラルネットワークの一部またはすべての層は、ニューラルネットワークのトレーニング中に調整されるパラメータを有する。たとえば、一部またはすべての層は、その層に対する、重みとも称されるパラメータの行列に、層出力の生成の一部として、その層への入力を乗算できる。行列内のパラメータの値は、ニューラルネットワークのトレーニング中に調整される。
つまり、ニューラルネットワークの層を介して入力を処理し、その入力に対するニューラルネットワーク出力を生成できる。
は2つの独立したプロセッサ(202a、202b)が含まれる。各プロセッサ(202a、202b)には、2つの異なるコア:(1)コンピュートコア、たとえば非常に長い命令語(VLIW)マシン(203a、203b)、および(2)疎計算コア、つまり埋め込み層アクセラレータ(205a、205b)が含まれる。
列処理装置)」と題される米国特許出願第15/016,486号に記載され、それをここに引用により援用する。
プロセッサを含んでもよい。専用チップの一部を形成し得るコンピュートコアは、行列乗算ユニット、または行列、つまり128×128の行列の転置演算を実行する転置ユニット(422)などの別の拡張演算ユニット、ならびに削減および置換ユニットをさらに含むことができる。
がある。並直列変換器(440)は、ベクトルレジスタから数値が読み取られるときに、2次元配列つまり128×8の行列が128個の数値のセットとして読み取られ、次の8クロックサイクルの各々ごとに行列乗算ユニット(448)に送信されることを保証する。行列乗算がその計算を完了した後、結果は非直列化され(442a、442b)、これは、結果行列が、ある数のクロックサイクルの間保持されることを意味する。たとえば、128×8の配列の場合、128個の数値が8クロックサイクルの各々ごとに保持され、次いでFIFOにプッシュされ、128×8の数値の2次元配列を1クロックサイクルで取得してベクトルレジスタ(440)に格納できる。
命令メモリ(404)と、命令デコードおよび発行(402)と、スカラーレジスタすなわち32ビットを含むスカラー処理ユニット(408)と、スカラーメモリ(410)と、クロックサイクルごとに2つの演算を実行する2つのALU(406a、406b)とを含む。スカラーユニットは、オペランドと即値とをベクトル演算に渡すことができる。各命令は、ベクトルレジスタ(440)で実行される命令を含む命令バンドルとして、命令デコードおよび発行(402)から送ることができる。各命令バンドルは非常に長い命令語(VLIW)であり、各命令はある数のビット幅であり、ある数の命令フィールドに分割される。
において、または、複数の連携ファイル(coordinated files)(たとえばコードの1つ以上のモジュール、サブプログラムまたは部分を格納するファイル)において、他のプログラムまたはデータ(たとえばマークアップ言語ドキュメントに格納される1つ以上のスクリプト)を保持するファイルの一部に格納され得る。コンピュータプログラムは、1つの場所に位置するかもしくは複数の場所にわたって分散されデータ通信ネットワークによって相互接続される1つのコンピュータまたは複数のコンピュータ上で実行されるように展開され得る。
とえばスマートフォンなどに送信し、メッセージングアプリケーションを実行し、ユーザから応答メッセージを受信することにより、ユーザと対話できる。
メモリをさらに備える、実施形態1~5のいずれか1つの専用ハードウェアチップである。
Claims (20)
- 専用ハードウェアチップを使用してニューラルネットワークをトレーニングする方法であって、
前記専用ハードウェアチップのベクトルプロセッサが、活性化入力の2次元行列を表すデータを受信することを含み、前記活性化入力の2次元行列は、ニューラルネットワークのそれぞれのネットワーク層に対する入力活性化行列の活性化入力の一部を含み、前記ベクトルプロセッサは、
2次元構造に配置された複数のベクトル処理ユニットと、
前記活性化入力の2次元行列を格納するよう構成されるベクトルレジスタとを含み、前記方法はさらに、
行列乗算ユニットが、前記2次元行列について乗算結果を生成することを含み、前記生成することは、
複数のクロックサイクルの各クロックサイクルにおいて、前記ベクトルプロセッサの前記ベクトルレジスタから前記専用ハードウェアチップの前記行列乗算ユニットに、前記活性化入力の2次元行列における活性化入力のそれぞれの行の少なくとも一部をロードすることと、
前記複数のクロックサイクルの終了前に、前記行列乗算ユニットに重み値をロードすることとを含み、前記重み値は、前記活性化入力の2次元行列における前記活性化入力に対応する形状に配置され、前記生成することはさらに、
前記行列乗算ユニットが、前記活性化入力の2次元行列および重み値を乗算して、前記乗算結果を得ることを含み、前記方法はさらに、
前記乗算結果に基づいて、逆伝播を通じて前記ニューラルネットワークの重み値を更新することを含む、方法。 - 前記行列乗算ユニットに、前記活性化入力の2次元行列における前記活性化入力のそれぞれの行の少なくとも前記一部をロードすることは、さらに、前記活性化入力のそれぞれの行の少なくとも前記一部を、第1の浮動小数点フォーマットから、前記第1の浮動小数点フォーマットよりも小さいビットサイズを有する第2の浮動小数点フォーマットに変換することを含む、請求項1に記載の方法。
- 前記乗算結果を前記ベクトルレジスタに格納することをさらに含む、請求項1または2に記載の方法。
- 前記乗算結果は2次元行列であり、前記乗算結果を格納することは、
別のセットのクロックサイクルのクロックサイクルごとに、前記乗算結果の値のそれぞれの行を、前記行列乗算ユニットにおける先入れ先出しキューに一時的に格納することを含む、請求項1~3のいずれかに記載の方法。 - 前記ベクトルプロセッサが、前記専用ハードウェアチップのベクトルメモリから前記活性化入力の2次元行列を表す前記データを受信することをさらに含み、前記ベクトルメモリは、高速のプライベートメモリを前記ベクトルプロセッサに提供するよう構成される、請求項1~4のいずれかに記載の方法。
- 前記専用ハードウェアチップの転置ユニットが、前記活性化入力の2次元行列の転置演算を実行することをさらに含む、請求項1~5のいずれかに記載の方法。
- 前記専用ハードウェアチップの削減ユニットが、前記乗算結果の数値の削減を実行することと、
前記専用ハードウェアチップの置換ユニットが、前記複数のベクトル処理ユニットに格納された数値を置換することとをさらに含む、請求項1~6のいずれかに記載の方法。 - 前記乗算結果を前記専用ハードウェアチップの高帯域幅メモリに格納することをさらに含む、請求項1~7のいずれかに記載の方法。
- 前記専用ハードウェアチップの疎計算コアによって、予め構築されたルックアップテーブルを使用して、疎な高次元データを密な低次元データにマッピングすることをさらに含む、請求項1~8のいずれかに記載の方法。
- 前記専用ハードウェアチップのチップ間相互接続を使用して、前記専用ハードウェアチップのインターフェイスまたはリソースを他の専用ハードウェアチップまたはリソースに接続することをさらに含む、請求項1~9のいずれかに記載の方法。
- 前記チップ間相互接続は、前記インターフェイスおよび前記専用ハードウェアチップの高帯域幅メモリを他の専用ハードウェアチップに接続する、請求項10に記載の方法。
- 前記インターフェイスは、ホストコンピュータへのホストインターフェイス、またはホストコンピュータのネットワークへの標準ネットワークインターフェイスである、請求項10に記載の方法。
- 前記ベクトルレジスタは32個のベクトルレジスタを含む、請求項1~12のいずれかに記載の方法。
- 前記複数のベクトル処理ユニットの各ベクトル処理ユニットは、各クロックサイクルにおいて、2つのそれぞれの算術論理ユニット(ALU)命令、それぞれのロード命令、およびそれぞれのストア命令を実行するよう構成される、請求項1~13のいずれかに記載の方法。
- 前記複数のベクトル処理ユニットにおける各ベクトル処理ユニットは、各クロックサイクルにおいてそれぞれのロード命令およびストア命令を実行するためにそれぞれのオフセットメモリアドレスを演算するよう構成される、請求項14に記載の方法。
- 前記複数のベクトル処理ユニットの前記2次元構造は、複数のレーンと、前記複数のレーンの各々のための複数のサブレーンとを備え、それぞれのベクトル処理ユニットは、前記複数のサブレーンの各々に位置し、同じレーンに位置する前記複数のベクトル処理ユニットのうちのベクトル処理ユニットは、それぞれのロード命令およびストア命令を介して互いと通信するよう構成される、請求項1~15のいずれかに記載の方法。
- 1つ以上のコンピュータと1つ以上のストレージデバイスとを備えるシステムであって、前記1つ以上のストレージデバイスには、前記1つ以上のコンピュータによって実行されると前記1つ以上のコンピュータに専用ハードウェアチップを使用してニューラルネットワークをトレーニングするための動作を実行させるよう動作可能である命令が格納され、前記動作は、
前記専用ハードウェアチップのベクトルプロセッサが、活性化入力の2次元行列を表すデータを受信することを含み、前記活性化入力の2次元行列は、ニューラルネットワークのそれぞれのネットワーク層に対する入力活性化行列の活性化入力の一部を含み、前記ベクトルプロセッサは、
2次元構造に配置された複数のベクトル処理ユニットと、
前記活性化入力の2次元行列を格納するよう構成されるベクトルレジスタとを含み、前記動作はさらに、
行列乗算ユニットが、前記2次元行列について乗算結果を生成することを含み、前記生成することは、
複数のクロックサイクルの各クロックサイクルにおいて、前記ベクトルプロセッサの前記ベクトルレジスタから前記専用ハードウェアチップの前記行列乗算ユニットに、前記活性化入力の2次元行列における活性化入力のそれぞれの行の少なくとも一部をロードすることと、
前記複数のクロックサイクルの終了前に、前記行列乗算ユニットに重み値をロードすることとを含み、前記重み値は、前記活性化入力の2次元行列における前記活性化入力に対応する形状に配置され、前記生成することはさらに、
前記行列乗算ユニットが、前記活性化入力の2次元行列および重み値を乗算して、前記乗算結果を得ることを含み、前記動作はさらに、
前記乗算結果に基づいて、逆伝播を通じて前記ニューラルネットワークの重み値を更新することを含む、システム。 - 前記行列乗算ユニットに、前記活性化入力の2次元行列における前記活性化入力のそれぞれの行の少なくとも前記一部をロードすることは、さらに、前記活性化入力のそれぞれの行の少なくとも前記一部を、第1の浮動小数点フォーマットから、第1の浮動小数点フォーマットよりも小さいビットサイズを有する第2の浮動小数点フォーマットに変換することを含む、請求項17に記載のシステム。
- 1つ以上のコンピュータによって実行されると、前記1つ以上のコンピュータに、専用ハードウェアチップを使用してニューラルネットワークをトレーニングするための動作を実行させる命令を含むプログラムであって、前記動作は、
前記専用ハードウェアチップのベクトルプロセッサが、活性化入力の2次元行列を表すデータを受信することを含み、前記活性化入力の2次元行列は、ニューラルネットワークのそれぞれのネットワーク層に対する入力活性化行列の活性化入力の一部を含み、前記ベクトルプロセッサは、
2次元構造に配置された複数のベクトル処理ユニットと、
前記活性化入力の2次元行列を格納するよう構成されるベクトルレジスタとを含み、前記動作はさらに、
行列乗算ユニットが、前記2次元行列について乗算結果を生成することを含み、前記生成することは、
複数のクロックサイクルの各クロックサイクルにおいて、前記ベクトルプロセッサの前記ベクトルレジスタから前記専用ハードウェアチップの前記行列乗算ユニットに、前記活性化入力の2次元行列における活性化入力のそれぞれの行の少なくとも一部をロードすることと、
前記複数のクロックサイクルの終了前に、前記行列乗算ユニットに重み値をロードすることとを含み、前記重み値は、前記活性化入力の2次元行列における前記活性化入力に対応する形状に配置され、前記生成することはさらに、
前記行列乗算ユニットが、前記活性化入力の2次元行列および重み値を乗算して、前記乗算結果を得ることを含み、前記動作はさらに、
前記乗算結果に基づいて、逆伝播を通じて前記ニューラルネットワークの重み値を更新することを含む、プログラム。 - 前記行列乗算ユニットに、前記活性化入力の2次元行列における前記活性化入力のそれぞれの行の少なくとも前記一部をロードすることは、さらに、前記活性化入力のそれぞれの行の少なくとも前記一部を、第1の浮動小数点フォーマットから、前記第1の浮動小数点フォーマットよりも小さいビットサイズを有する第2の浮動小数点フォーマットに変換することを含む、請求項19に記載のプログラム。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201762507771P | 2017-05-17 | 2017-05-17 | |
| US62/507,771 | 2017-05-17 | ||
| JP2019549507A JP6938661B2 (ja) | 2017-05-17 | 2018-05-17 | 専用ニューラルネットワークトレーニングチップ |
| JP2021142529A JP7314217B2 (ja) | 2017-05-17 | 2021-09-01 | 専用ニューラルネットワークトレーニングチップ |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021142529A Division JP7314217B2 (ja) | 2017-05-17 | 2021-09-01 | 専用ニューラルネットワークトレーニングチップ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023145517A JP2023145517A (ja) | 2023-10-11 |
| JP7561925B2 true JP7561925B2 (ja) | 2024-10-04 |
Family
ID=62784215
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019549507A Active JP6938661B2 (ja) | 2017-05-17 | 2018-05-17 | 専用ニューラルネットワークトレーニングチップ |
| JP2021142529A Active JP7314217B2 (ja) | 2017-05-17 | 2021-09-01 | 専用ニューラルネットワークトレーニングチップ |
| JP2023114361A Active JP7561925B2 (ja) | 2017-05-17 | 2023-07-12 | 専用ニューラルネットワークトレーニングチップ |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019549507A Active JP6938661B2 (ja) | 2017-05-17 | 2018-05-17 | 専用ニューラルネットワークトレーニングチップ |
| JP2021142529A Active JP7314217B2 (ja) | 2017-05-17 | 2021-09-01 | 専用ニューラルネットワークトレーニングチップ |
Country Status (9)
| Country | Link |
|---|---|
| US (2) | US11275992B2 (ja) |
| EP (3) | EP4083789B1 (ja) |
| JP (3) | JP6938661B2 (ja) |
| KR (4) | KR20240056801A (ja) |
| CN (2) | CN116644790A (ja) |
| DK (2) | DK4083789T3 (ja) |
| FI (1) | FI4083789T3 (ja) |
| TW (4) | TWI812254B (ja) |
| WO (1) | WO2018213598A1 (ja) |
Families Citing this family (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10853070B1 (en) * | 2017-10-23 | 2020-12-01 | Habana Labs Ltd. | Processor suspension buffer and instruction queue |
| US11645358B2 (en) * | 2019-01-29 | 2023-05-09 | Hewlett Packard Enterprise Development Lp | Generation of executable files corresponding to neural network models |
| US10997116B2 (en) * | 2019-08-06 | 2021-05-04 | Microsoft Technology Licensing, Llc | Tensor-based hardware accelerator including a scalar-processing unit |
| KR102496734B1 (ko) * | 2019-10-22 | 2023-02-06 | 에스앤즈 주식회사 | 분산환경 패킷 전송 기반의 스트리밍 데이터 딥러닝 처리 가속화 시스템 및 이를 이용한 멀티 로케이션 멀티 스트리밍 이상상태 탐지 시스템 |
| CN111047036B (zh) * | 2019-12-09 | 2023-11-14 | Oppo广东移动通信有限公司 | 神经网络处理器、芯片和电子设备 |
| US11054998B1 (en) * | 2019-12-12 | 2021-07-06 | Facebook, Inc. | High bandwidth memory system with distributed request broadcasting masters |
| US11755683B2 (en) | 2019-12-23 | 2023-09-12 | Western Digital Technologies, Inc. | Flexible accelerator for sparse tensors (FAST) in machine learning |
| US11462003B2 (en) | 2020-03-25 | 2022-10-04 | Western Digital Technologies, Inc. | Flexible accelerator for sparse tensors in convolutional neural networks |
| US11797830B2 (en) | 2020-03-25 | 2023-10-24 | Western Digital Technologies, Inc. | Flexible accelerator for sparse tensors in convolutional neural networks |
| US12073310B2 (en) * | 2020-04-01 | 2024-08-27 | Microsoft Technology Licensing, Llc | Deep neural network accelerator with independent datapaths for simultaneous processing of different classes of operations |
| CN113867788A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 一种计算装置、芯片、板卡、电子设备和计算方法 |
| CN113867797A (zh) * | 2020-06-30 | 2021-12-31 | 上海寒武纪信息科技有限公司 | 计算装置、集成电路芯片、板卡、电子设备和计算方法 |
| CN112148453A (zh) * | 2020-09-29 | 2020-12-29 | 深圳致星科技有限公司 | 用于隐私计算的计算芯片及网络计算系统 |
| US12118460B2 (en) * | 2020-11-06 | 2024-10-15 | Micron Technology, Inc. | Discovery of hardware characteristics of deep learning accelerators for optimization via compiler |
| CN112416433B (zh) * | 2020-11-24 | 2023-01-17 | 中科寒武纪科技股份有限公司 | 一种数据处理装置、数据处理方法及相关产品 |
| EP4012623A1 (en) * | 2020-12-10 | 2022-06-15 | Toyota Jidosha Kabushiki Kaisha | Efficient and stable training of a neural network in compressed form |
| WO2022133623A1 (en) * | 2020-12-24 | 2022-06-30 | Intel Corporation | Accelerated scale-out performance of deep learning training workload with embedding tables |
| CN112860318A (zh) * | 2021-01-29 | 2021-05-28 | 成都商汤科技有限公司 | 一种数据传输方法、芯片、设备和存储介质 |
| CN117015767A (zh) * | 2021-03-29 | 2023-11-07 | 谷歌有限责任公司 | 存储器信道控制器的芯片上互连 |
| US11782871B2 (en) | 2021-04-27 | 2023-10-10 | Microchip Technology Inc. | Method and apparatus for desynchronizing execution in a vector processor |
| US12175116B2 (en) | 2021-04-27 | 2024-12-24 | Microchip Technology Inc. | Method and apparatus for gather/scatter operations in a vector processor |
| CN114461277B (zh) * | 2021-12-29 | 2025-02-25 | 广西电网有限责任公司电力科学研究院 | 一种电力专用dsp指令集的设计及应用方法 |
| CN115033286A (zh) * | 2022-06-13 | 2022-09-09 | 昆仑芯(北京)科技有限公司 | 数据处理方法、装置、芯片、设备及介质 |
| TWI808000B (zh) * | 2022-09-20 | 2023-07-01 | 創鑫智慧股份有限公司 | 矩陣裝置及其操作方法 |
| CN115713103B (zh) * | 2022-11-24 | 2023-08-18 | 辉羲智能科技(上海)有限公司 | 片上-片间互连的神经网络芯片联合性能预测方法及系统 |
| US20240281644A1 (en) * | 2023-02-22 | 2024-08-22 | Macronix International Co., Ltd. | Encoding method and encoding circuit |
| US12164917B1 (en) * | 2023-05-17 | 2024-12-10 | Google Llc | Transposing at-speed in a vector-matrix accelerator |
| KR20250124333A (ko) * | 2024-02-05 | 2025-08-19 | 주식회사 딥엑스 | 이종의 생성형 인공지능 모델을 처리하는 시스템 |
| CN118227948B (zh) * | 2024-05-24 | 2024-08-06 | 北京壁仞科技开发有限公司 | 人工智能芯片、操作方法和机器可读存储介质 |
| CN120085921B (zh) * | 2025-05-06 | 2025-08-12 | 山东浪潮科学研究院有限公司 | 一种基于并行计算芯片的浮点运算单元架构和使用方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160342891A1 (en) | 2015-05-21 | 2016-11-24 | Google Inc. | Neural Network Processor |
| JP2017138966A (ja) | 2016-02-05 | 2017-08-10 | グーグル インコーポレイテッド | 疎要素を密行列に変換するためのシステムおよび方法 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5841071B2 (ja) | 1981-10-13 | 1983-09-09 | 東北電子産業株式会社 | 生体誘導加熱装置 |
| JPH04290155A (ja) * | 1991-03-19 | 1992-10-14 | Fujitsu Ltd | 並列データ処理方式 |
| CA2040903C (en) * | 1991-04-22 | 2003-10-07 | John G. Sutherland | Neural networks |
| US5872988A (en) * | 1992-06-17 | 1999-02-16 | U.S. Philips Corporation | Parallel data processing device having a concatenated data path between elementary processors |
| US5423051A (en) * | 1992-09-24 | 1995-06-06 | International Business Machines Corporation | Execution unit with an integrated vector operation capability |
| WO2002084451A2 (en) | 2001-02-06 | 2002-10-24 | Victor Demjanenko | Vector processor architecture and methods performed therein |
| US7305540B1 (en) * | 2001-12-31 | 2007-12-04 | Apple Inc. | Method and apparatus for data processing |
| US20030182518A1 (en) * | 2002-03-22 | 2003-09-25 | Fujitsu Limited | Parallel processing method for inverse matrix for shared memory type scalar parallel computer |
| US7219085B2 (en) * | 2003-12-09 | 2007-05-15 | Microsoft Corporation | System and method for accelerating and optimizing the processing of machine learning techniques using a graphics processing unit |
| US8396582B2 (en) * | 2008-03-08 | 2013-03-12 | Tokyo Electron Limited | Method and apparatus for self-learning and self-improving a semiconductor manufacturing tool |
| US9104973B2 (en) * | 2011-09-21 | 2015-08-11 | Qualcomm Technologies Inc. | Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel |
| CN102521179A (zh) * | 2011-11-28 | 2012-06-27 | 曙光信息产业股份有限公司 | 一种dma读操作的实现装置和方法 |
| EP2798475A4 (en) * | 2011-12-30 | 2016-07-13 | Intel Corp | TRANSPOSED INSTRUCTION |
| US9785565B2 (en) * | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
| US9589443B2 (en) | 2014-09-02 | 2017-03-07 | At&T Intellectual Property I, L.P. | Method and apparatus for providing an emergency notification for an allergic reaction |
| KR102277439B1 (ko) * | 2014-10-21 | 2021-07-14 | 삼성전자주식회사 | 재구성 가능 프로세서 및 그 동작 방법 |
| US9965824B2 (en) * | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
| US9772852B2 (en) * | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
| US10192162B2 (en) * | 2015-05-21 | 2019-01-29 | Google Llc | Vector computation unit in a neural network processor |
| US20160378465A1 (en) * | 2015-06-23 | 2016-12-29 | Intel Corporation | Efficient sparse array handling in a processor |
| CN106528047B (zh) * | 2015-10-08 | 2019-04-09 | 上海兆芯集成电路有限公司 | 一种处理器、神经网络单元及其运作方法 |
| GB2543554B (en) * | 2015-10-22 | 2019-01-23 | Advanced Risc Mach Ltd | Handling exceptional conditions for vector arithmetic instruction |
| US9904874B2 (en) * | 2015-11-05 | 2018-02-27 | Microsoft Technology Licensing, Llc | Hardware-efficient deep convolutional neural networks |
| US11507761B2 (en) * | 2016-02-25 | 2022-11-22 | Hewlett Packard Enterprise Development Lp | Performing complex multiply-accumulate operations |
| FI3812900T3 (fi) * | 2016-12-31 | 2024-02-09 | Intel Corp | Järjestelmät, menetelmät ja laitteet heterogeenistä laskentaa varten |
-
2018
- 2018-05-17 TW TW111120440A patent/TWI812254B/zh active
- 2018-05-17 TW TW110117076A patent/TWI769810B/zh active
- 2018-05-17 JP JP2019549507A patent/JP6938661B2/ja active Active
- 2018-05-17 KR KR1020247013765A patent/KR20240056801A/ko active Pending
- 2018-05-17 TW TW112130161A patent/TWI857742B/zh active
- 2018-05-17 TW TW107116869A patent/TWI728247B/zh active
- 2018-05-17 EP EP22171943.8A patent/EP4083789B1/en active Active
- 2018-05-17 DK DK22171943.8T patent/DK4083789T3/da active
- 2018-05-17 EP EP18735433.7A patent/EP3568756B1/en active Active
- 2018-05-17 CN CN202310655432.5A patent/CN116644790A/zh active Pending
- 2018-05-17 US US15/983,056 patent/US11275992B2/en active Active
- 2018-05-17 FI FIEP22171943.8T patent/FI4083789T3/fi active
- 2018-05-17 WO PCT/US2018/033215 patent/WO2018213598A1/en not_active Ceased
- 2018-05-17 EP EP24163748.7A patent/EP4361832A3/en active Pending
- 2018-05-17 KR KR1020227045015A patent/KR102661910B1/ko active Active
- 2018-05-17 DK DK18735433.7T patent/DK3568756T3/da active
- 2018-05-17 KR KR1020217031994A patent/KR102481428B1/ko active Active
- 2018-05-17 KR KR1020197026557A patent/KR102312264B1/ko active Active
- 2018-05-17 CN CN201880018006.8A patent/CN110622134B/zh active Active
-
2021
- 2021-09-01 JP JP2021142529A patent/JP7314217B2/ja active Active
-
2022
- 2022-03-14 US US17/694,598 patent/US20220261622A1/en active Pending
-
2023
- 2023-07-12 JP JP2023114361A patent/JP7561925B2/ja active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20160342891A1 (en) | 2015-05-21 | 2016-11-24 | Google Inc. | Neural Network Processor |
| US20190354862A1 (en) | 2015-05-21 | 2019-11-21 | Google Llc | Neural Network Processor |
| JP2017138966A (ja) | 2016-02-05 | 2017-08-10 | グーグル インコーポレイテッド | 疎要素を密行列に変換するためのシステムおよび方法 |
Non-Patent Citations (2)
| Title |
|---|
| 下川 勝千,ディジタルニューロコンピュータMULTINEURO,東芝レビュー 第46巻 第12号,第46巻 第12号,日本,株式会社東芝,1991年12月,pp.931~934,【ISSN】0372-0462 |
| 斎藤 康毅,ゼロから作るDeep Learning 初版,株式会社オライリー・ジャパン,第1版,日本,株式会社オライリー・ジャパン ,2016年09月,pp.123-165,第1版 ISBN: 978-4-87311-758-4 |
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7561925B2 (ja) | 専用ニューラルネットワークトレーニングチップ | |
| US20240370526A1 (en) | Performing matrix multiplication in hardware | |
| JP6929958B2 (ja) | 低レイテンシ行列乗算ユニット | |
| HK40018527A (en) | Special purpose neural network training chip | |
| HK40018527B (en) | Special purpose neural network training chip |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230807 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230807 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240730 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240827 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240924 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7561925 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |