(57)【要約】  本発明は、データを処理するための方法、装置、及び関連製品に関する。本発明の実施例において、ニューラルネットワークと関連があるデータを処理する場合、複数のデータの最適な切捨て閾値を決定する。切捨てデータ閾値を利用してデータを切り捨て、当該複数のデータを高精度形式から低精度形式に量子化する。本発明の方法によると、データ処理量を減らすとともに、データ処理の正確性をなるべく高く保証する。また、当該方法は、更に、データ伝送量を明らかに減らすのに役立ち、従って、複数の計算デバイス同士の間のデータ交換速度を大幅に速めた。  【選択図】図１
2022501673.tif 000002
【特許請求の範囲】
【請求項１】
データを処理するための方法であって、
機械学習モデルに用いられる複数のデータを得るステップであって、前記データは、第１データ形式で表されるステップと、
前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するステップであって、前記第１組区間の数は、予め決定されるステップと、
前記複数のデータの第１平均値を決定するステップと、
前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるステップであって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低いステップと、
前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするステップと、を含む
ことを特徴とするデータを処理するための方法。
【請求項２】
前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングするステップは、
前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するステップと、
前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項３】
前記複数のデータに対する処理を実行するステップは、
前記第１平均値と前記複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するステップと、
前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するステップと、
前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するステップと、
前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項４】
前記複数のデータに対する処理を実行するステップは、
前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するステップをさらに含む
ことを特徴とする請求項３に記載のデータを処理するための方法。
【請求項５】
前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するステップをさらに含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項６】
前記複数のデータの第１平均値を決定するステップは、
前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するステップと、
前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項７】
前記複数のデータの第１平均値を決定するステップは、
前記第１組区間の中の各区間の中間値と各区間が有するデータの数とを決定するステップと、
前記中間値と前記数とに基づいて前記平均値を決定するステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項８】
前記複数のデータの第１平均値を決定するステップは、
前記マッピングユニットの各区間中のデータの数と各区間の中間値とを決定するステップと、
前記数と前記中間値とに基づいて前記第１平均値を決定するステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項９】
第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定されたものである
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項１０】
データを処理するための装置であって、
機械学習モデルに用いられる複数のデータを得るための取得モジュールであって、前記データは、第１データ形式で表される取得モジュールと、
前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するための分布モジュールであって、前記第１組区間の数は、予め決定される分布モジュールと、
前記複数のデータの第１平均値を決定するための第１平均値決定モジュールと、
前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第１マッピングモジュールであって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低い第１マッピングモジュールと、
前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするための実行モジュールと、を備える
ことを特徴とするデータを処理するための装置。
【請求項１１】
前記第１マッピングモジュールは、
前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するための再分布モジュールと、
前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第２マッピングモジュールと、を備える
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１２】
前記実行モジュールは、
前記第１平均値と複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するための差値決定モジュールと、
前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するための切捨て閾値決定モジュールと、
前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するための切捨てモジュールと、
前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するためのスケーリング値決定モジュールと、を備える
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１３】
前記実行モジュールは、
前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するためのスケーリングモジュールをさらに備える
ことを特徴とする請求項１２に記載のデータを処理するための装置。
【請求項１４】
前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するための区間決定モジュートをさらに備える
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１５】
前記第１平均値決定モジュールは、
前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するための絶対値および数決定モジュールと、
前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するための第２平均値決定モジュールと、を備える
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１６】
前記第１平均値決定モジュールは、
前記第１組区間の中の各区間の中間値と各区間が有するデータの数とを決定するための第１中間値および数決定モジュールと、
前記中間値と前記数とに基づいて、前記平均値を決定するための第３平均値決定モジュールと、を備える
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１７】
前記第１平均値決定モジュールは、
前記マッピングユニットの各区間中のデータの数と各区間の中間値とを決定するための第２中間値および数決定モジュールと、
前記数と前記中間値とに基づいて前記第１平均値を決定するための第４平均値決定モジュールと、を備える
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１８】
第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定されたものである
ことを特徴とする請求項１０に記載のデータを処理するための装置。
【請求項１９】
人工知能チップであって、
プロセッサと、
コンピュータプログラム命令が記憶されているメモリと、を備え、
前記プロセッサは、前記メモリ中の前記コンピュータプログラム命令を実行することにより、前記人工知能チップを制御して、請求項１乃至９の何れか１項に記載の方法を実行する
ことを特徴とする人工知能チップ。
【請求項２０】
電子デバイスであって、
請求項１９に記載の前記人工知能チップを備える
ことを特徴とするデータを処理するための電子デバイス。
【請求項２１】
ボードカードであって、
記憶部品と、インタフェース装置と、制御部品と、請求項１９に記載の人工知能チップと、を備え、
ここで、前記人工知能チップは、前記記憶部品、前記制御部品、および、前記インターフェース装置と、それぞれ、接続され、
前記記憶部品は、データを記憶し、
前記インタフェース装置は、前記人工知能チップと外部デバイスとの間のデータ伝送を実現し、
前記制御部品は、前記人工知能チップの状態を監視制御する
ことを特徴とするデータを処理するためのボードカード。
【請求項２２】
前記記憶部品は、複数組の記憶ユニットを備え、各組の記憶ユニットは、前記人工知能チップとバスを介して接続され、前記記憶ユニットは、ＤＤＲ ＳＤＲＡＭであり、
前記チップは、ＤＤＲコントローラを備え、各々の前記記憶ユニットのデータ伝送およびデータ記憶に対する制御に用いられ、
前記インタフェース装置は、標準ＰＣＩＥインタフェースである
ことを特徴とする請求項２１に記載のボードカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ技術の分野に関し、特に、データを処理するための方法、装置、及び関連製品に関する。
【背景技術】
【０００２】
コンピュータ技術の発展に伴い、デプス学習アルゴリズムは、様々な複雑なタスクの処理にますます多く利用されている。デプス学習アルゴリズムを利用してデータを処理することにより、技術検索、データ掘出し、機械学習、機械翻訳、自然言語処理、マルチメディア学習、音声、推薦、および個性化技術、ならびに他の関連領域で何れも優れた効果を得た。
【０００３】
ネットーワーク層の数が益々多くなり、計算の複雑度が益々高くなっているため、デバイスの計算能力を向上させることは、デプス学習の発展に対して非常に重要である。従って、人々は様々な方式によってデバイスの計算能力を向上させている。しかしながら、機械学習の過程で計算能力を向上させる面で、解決すべき問題がまだ多く存在する。
【発明の概要】
【０００４】
これに鑑みて、本発明は、データを処理するための方法、装置、及び関連製品を提供する。
本発明の第１態様によれば、データを処理するための方法が提供される。当該方法は、機械学習モデルに用いられる複数のデータを得るステップを含み、前記データは、第１データ形式で示される。当該方法は、複数のデータの値に基づいて、第１組区間に複数のデータを分布するステップをさらに含み、第１組区間の数は、予め決定される。当該方法は、複数のデータの第１平均値を決定するステップをさらに含む。当該方法は、第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるステップをさらに含み、マッピングユニットは、第１組区間の第１区間から始まる所定数の連続区間を含み、マッピングユニットの終了区間には、複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関係があり、第２データ形式の精度は、第１データ形式よりも低い。当該方法は、第１平均値と複数の第２平均値に基づいて、複数のデータに対する処理を実行することによって、処理を経た複数のデータが第２データ形式で示されるようにするステップと、をさらに含む。
【０００５】
本発明の第２態様によれば、データを処理するための装置が提供される。当該装置は、機械学習モデルに用いられる複数のデータを得るための取得モジュールであって、前記データは第１データ形式で示される取得モジュールと、前記複数のデータの値に基づいて、前記複数のデータを第１組区間に分布するための分布モジュールであって、前記第１組区間の数は、予め決定される分布モジュールと、前記複数のデータの第１平均値を決定するための第１平均値決定モジュールと、前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第１マッピングモジュールであって、前記マッピングユニットは、前記第１組区間の第１区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関係があり、第２データ形式の精度は、前記第１データ形式よりも低い第１マッピングモジュールと、前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが第２データ形式に示されるようにするための実行モジュールと、を備える。
【０００６】
本発明の第３態様によれば、人工知能チップが提供される。当該人工知能チップは、プロセッサと、コンピュータプログラム命令が記憶されているメモリと、を備え、前記プロセッサは、前記メモリ中の前記コンピュータプログラム命令を実行することによって、前記人工知能チップを制御して、第１態様による前記方法を実行する。
本発明の第４態様によれば、電子デバイスが提供される。当該電子デバイスは、本発明の第３態様による前記人工知能チップを備える
【０００７】
本発明の第５の態様によれば、ボードカードが提供される。当該ボードカードは、記憶部品と、インタフェース装置と、制御部品と、本発明の第３態様による前記人工知能チップと、を備える。ここで、前記人工知能チップは、前記記憶部品、前記制御部品、および、前記インターフェース装置に、それぞれ、接続され、前記記憶部品は、データを記憶し、前記インタフェース装置は、前記人工知能チップと外部デバイスとの間のデータ伝送を実現し、前記制御モジュールは、前記人工知能チップの状態を監視制御する。
【０００８】
請求の範囲の技術的特徴を導き出すことにより、背景技術中の技術的問題に対応する有益な効果を達成することができる。以下の図面を参照した例示的な実施例の詳細な説明によれば、本発明の他の特徴および態様が明らかになる。
【図面の簡単な説明】
【０００９】
明細書に含まれて明細書の一部を構成する図面は、明細書と一緒に本発明の例示的な実施例、特徴、および、態様を示し、本発明の原理を解釈するために使用される。ここで、本発明の例示的な実施例において、同一の符号は、一般的に、同一のコンポーネントを示す。
【図１】本発明の実施例に係るデバイスおよび/または方法が実施される例示的な環境１００を示す模式図である。
【図２】本発明の実施例に係るデータを処理するための過程２００を示すフローチャートである。
【図３】本発明の実施例に係るデータを処理するための過程３００を示すフローチャートである。
【図４】本発明の実施例に係るデータを処理するための装置４００の構造を示すブロック図である。
【図５】本発明の実施例に係るボードカード５００の構造を示すブロック図である。  各図面において、同一または対応の符号は、同一または対応の部分を示す。
【発明を実施するための形態】
【００１０】
以下、本発明の実施例中の図面を参照して、本発明の実施例中の技術案を明確かつ完全に説明し、説明する実施例は、本発明の一部の実施例に過ぎず、全ての実施例ではないことが明らかである。当業者によって本発明中の実施例に基づいて創造的な作業なしに得られたすべての他の実施例は、いずれも本発明の保護しようとする範囲に属する。
【００１１】
本発明の請求の範囲、明細書、および、図面での「第１」、「第２」、「第３」および「第４」などの用語は、異なる対象を区別するために使用されるものであり、特定順序を説明するために使用されないことを理解すべきである。本発明の明細書および請求の範囲で使用される「含む」および「備える」という用語は、説明する特徴、全体、ステップ、操作、要素、および／または、アセンブリの存在を表し、一つまたは複数の他の特徴、全体、ステップ、操作、要素、アセンブリ、および／または、そのセットの存在または追加を除外しない。
【００１２】
ここで本発明の明細書で使用される用語は、ただ、特定実施例を説明する目的に使用され、本発明を限定しようとするものではないことをさらに理解すべきである。本発明の明細書および請求の範囲で使用されるように、文脈で他の場合を明確に示されていない限り、「一」、「一つの」、および、「当該」の単数形態は、複数形態を含むことを意図する。さらに、本発明明細書および請求の範囲で使用される「および／または」という用語は、関連してリストされた項目的中の一つまたは複数のいかなる組み合わせおよびすべての可能な組み合わせを表し、これら組み合わせを含むことをさらに理解すべきである。
【００１３】
本明細書および請求の範囲で使用されるように、「…場合」という用語は、文脈によって、「…とき」、「…と」、「確定されたことに応答して」、または、「検出されたことに応答して」と解釈されてもよい。同様に、「確定された場合」または「『記述された条件または事件』が検出された場合」という句は、文脈によって、「確定されると」、「確定されたことに応答して」、「『記述された条件または事件』が検出されると」、または、「『記述された条件または事件』が検出されたことに応答して」と解釈されてもよい。
【００１４】
ニューラルネットワークアルゴリズムの発展に伴い、ニューラルネットワーク中のネットーワーク層の数が益々多くなっている。このような発展の傾向に従い、計算の複雑度が益々高くなっている。なお、ニューラルネットワークのこのような発展の傾向は、計算デバイスの計算能力のより大きな発展を必要とする。幾つかの状況において、計算リソースの制限により、限られた計算リソースを利用してニューラルネットワークアルゴリズムをよく処理できなくなる。
【００１５】
一般的に、計算デバイスに処理されたデータは、３２ビットの浮動小数点データである。処理すべきのこのような浮動小数点データの量が非常に大きい場合、計算デバイスによって、非常に強い計算能力および非常に大きい記憶空間を提供して、これらのデータを記憶する必要がある。また、伝送過程で伝送するデータの量も大き過ぎるため、機械学習モデルの処理効率にマイナス影響を及ぼす。
【００１６】
本発明は、存在している少なくとも１つの問題を解決するために、データを処理するための方法を提供する。ニューラルネットワークに関連する処理データを所定数の区間に分布することにより、データの平均値に基づいて最適な切捨て閾値を選択する。切捨てデータ閾値を利用してデータを切り捨て、しかもこのデータを高精度形式から低精度形式に量子化し、例えば３２ビットの浮動小数点データを８ビットの整数データに変換させる。本発明の方法によると、データ処理量を減らすとともに、データ処理の正確性をなるべく高く保証する。また、当該方法は、更にデータ伝送量を明らかに減らすのに役立ち、したがって、複数の計算デバイス同士の間のデータ交換の速度を大幅に速めた。
図１は、本発明の実施例に係るデバイスおよび/または方法が実施される例示的な環境１００を示す模式図である。
【００１７】
例示的な環境１００は、機械学習モデルに関連する複数のデータ１０２を備える。複数のデータ１０２の中の各データは、何れも同じ高精度形式を有する。データ１０２の精度形式の高さは、ただ、変換された後の複数のデータ１０４の精度に対する高さである。図１においては、例えば３２ビットの浮動小数点データなどの、複数のデータ１０２が示されている。図１中の複数のデータ１０２のデータビット数が３２ビットであることは、ただ、例示的なものであり、本発明に対する制限ではない。データ１０２は、例えば６４ビットの倍精細度データ、または、必要に応じて設定される任意の適切な精度のデータなどの、任意の適切な相対的に高い精度形式のデータであり得る。
【００１８】
幾つかの実施例において、機械学習モデルは、ニューラルネットワークモデルである。ニューラルネットワークモデルは、畳み込みニューラルネットワークモデル、反復ニューラルネットワークモデルなどを含むが、これらに限定されない。
【００１９】
幾つかの実施例において、機械学習モデルに関連する複数のデータ１０２は、機械学習モデルの重み値、入力ニューロンデータ、出力ニューロンデータ、および/または、バイアス値などであることができる。上記の例は、ただ、本発明を説明するためのものであり、本発明を具体的に限定するものではない。機械学習モデルに関連する複数のデータ１０２は、機械学習モデルに用いられるかまたは処理を待っている、任意の関連データとすることができる。
【００２０】
機械学習モデルに関連する複数のデータ１０２は、計算デバイスの処理によって、低精度形式の複数のデータ１０４に変換される。図１に示すように、複数のデータ１０２を、３２ビットの高精度形式の浮動小数点データから、複数の低精度形式の８ビットの整数型データ１０４に変換させる。複数のデータ１０４の各々は、８ビットで表される。よって、複数のデータ１０４は、-１２８〜１２７の間の範囲を表し得る。なお、複数のデータ１０４の低精度形式は、変換前のデータ１０２の精度形式に対するのみのものであることを理解すべきである。図１に示される複数のデータ１０４の各々が８ビットを用いて表されるのは、単なる例であり、本発明を具体的に限定するものではない。よって、複数のデータ１０４の精度形式は、複数のデータ１０２の精度形式よりも低い任意の適切なデータ型であり得る。
【００２１】
高精度形式のデータを低精度形式に変換させるための計算デバイスは、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド、または、ラップトップデバイス、モバイルデバイス（例えば、携帯電話、携帯情報端末(ＰＤＡ)、メディアプレーヤーなど）、マルチプロセッサシステム、家庭用電気製品、小型コンピュータ、大型コンピュータ、および、上記のシステムまたはデバイスのいずれか１つを備える分布式コンピューティング環境などを備えるが、これらに限定されない。
【００２２】
計算デバイスは、複数のデータ１０２を複数のデータ１０４に変換させる過程において、先ず、複数のデータ１０２の中のデータの絶対値最大値を決定してから、０から最大値までの範囲全体を所定数Ｎの１組区間に分割する。複数のデータ１０２は、その絶対値の大きさに従って、当該１組区間に分布されている。当該所定数Ｎは、任意の適切な数値であってもよい。好ましくは、当該所定数Ｎは、低精度形式のデータの最大値よりも大きい。例えば、８ビットで１つの整数を表すとき、８ビットで表される最大値が１２７である。よって、所定数Ｎは、１２７よりも大きい値、例えば、２５６、５２８、１０２４、２０４８であってもよい。
【００２３】
計算デバイスは、区間変換を行なう前の複数のデータの第１平均値を決定する。計算デバイスは、さらに、１組区間の中の前のｊ個の区間を１マッピングユニットとして形成し、そのうち、ｊは０より大きい正の整数であり、ｊがＮより小さい値ＭからＮまでに変化されると、Ｎ−Ｍ＋１個のマッピングユニットを形成することができる。好ましくは、Ｍ＝低精度形式のデータで表す最大値＋１である。前記データ１０２の例において、例えば、Ｍ＝１２７＋１＝１２８である。
【００２４】
計算デバイスは、Ｎ−Ｍ＋１個のマッピングユニットを、低精度形式のデータのビット数に基づいて分割された第２数の第２組区間に、それぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いることができる。計算デバイスは、各マッピングユニットに対して、第２区間にマッピングされた後のデータの第２平均値を得ることができる。計算デバイスは、各マッピングユニットに対して、第１平均値と第２平均値との間の差値を決定することができる。１例において、差値が最小であるマッピングユニット、即ちｊの値を決定する。ｊの値に応じて切捨て閾値を決定することができる。次いで、データに対して切捨て処理を行ない、即ち複数のデータの中の、切捨て閾値よりも大きなデータを切捨て閾値に書き直す。次いで、切捨て閾値を用いてスケーリング値を決定する。切り捨てられた複数のデータに対して、このスケーリング値を用いてスケーリング処理を実行し、データを第２数形式を有する複数のデータ１０４に変換する。
【００２５】
複数のデータ１０２を複数のデータ１０４に変換した後、複数のデータ１０４を機械学習モデルに提供して、機械学習モデル処理１０６に用いられるようにしてもよい。
【００２６】
上記の図１は、本発明の実施例に係るデバイスおよび/または方法が実施される例示的な環境１００を示す模式図である。以下、図２を参照しながら本発明の実施例に係るデータを処理するための過程２００を説明し、当該図２は、本発明の実施例に係るデータを処理するための過程２００を示すフローチャートである。
【００２７】
図２に示すように、ブロック２０２において、計算デバイスにより、機械学習モデルに用いられる複数のデータを得、複数のデータは第１データ形式で表される。図１に示すように、計算デバイスが得た複数のデータ１０２の場合、複数のデータ１０２の中の各データは、何れも３２ビットの浮動小数点形式である。図１中の複数のデータ１０２の各データが３２ビットの浮動小数点形式は、単なる例であり、本発明を具体的に限定するものではない。
【００２８】
幾つかの実施例において、機械学習モデルに用いられる複数のデータは、機械学習モデルの重み値、入力ニューロンデータ、出力ニューロンデータ、および/または、バイアス値などである。上記の例示は、ただ、本発明を説明するためのものであり、本発明を具体的に限定するものではない。機械学習モデルに用いられる複数のデータは、機械学習モデルに用いられる任意の関連データであってよい。
【００２９】
ブロック２０４において、計算デバイスにより、複数のデータの値に基づいて、複数のデータを第１組区間中に分布し、第１組区間の数は予め定められているものである。データを量子化するために、一般的に、データは、予め定められた所定数の区間に分布され得る。幾つかの実施例において、データ区間の数Ｎが任意の適切な数に設定されてもよい。例えば、２５６、１０２４、または、２０４８に設定される。代替的または追加的に、データ区間の数Ｎが変換後のデータタイプによって表される最大の整数よりも大きいように選択されてもよい。例えば、変換対象データが８ビットの整数である場合、当該８ビットの整数が表す最大の整数が１２７であるため、１２７よりも大きい数を区間数として選択することができる。例えば、データ区間の数Ｎは、２５６、５１２、１０２４、または２０４８であってもよい。
【００３０】
分割待ちの区間数Ｎを決定した後、複数のデータのうち絶対値が最大のデータを決定してから、０とこの絶対値最大値との間のデータ区間全体をＮ個の区間を備える第１組区間に分割する。
【００３１】
ブロック２０６において、計算デバイスにより、複数のデータの第１平均値を決定する。定数変換の精度を一定にするために、本発明は、変換前のデータの平均値と変換後のデータの平均値との間の差値に基づいて定数変換の精度を一定にする。よって、変換前の複数のデータの平均値を算出する必要がある。
【００３２】
幾つかの実施例において、受信した複数のデータの平均値を計算するとき、計算デバイスは、先ず複数のデータの絶対値と複数のデータの数を決定する。次いで、計算デバイスは、複数のデータの中のデータの絶対値と数とに基づいて平均値を決定する。例えば、全てのデータの絶対値の和を求めてから絶対値の数で除算することによって、処理待ちのデータの第１平均値を決定する。
【００３３】
幾つかの実施例において、受信した複数のデータの第１平均値を計算するとき、計算デバイスは、第１組区間の各区間の中間値と各区間が有するデータの数とを決定する。計算を便利にするために、各区間の中間値を当該区間中のデータの平均値とする。次いで、計算デバイスは、各区間の中間値と当該区間中のデータの数に基づいて平均値を決定する。より具体的には、計算デバイスは、各区間の中間値に各区間中のデータの数を乗算してから和を求め、次いで、総データ数で除算してデータの第１平均値を決定する。
【００３４】
幾つかの実施例において、複数のデータの第１平均値を決定するとき、第1平均値は、対応するマッピングユニットに関連付けられる。計算デバイスは、先ず、マッピングユニットの各区間中のデータの数と各区間の中間値とを決定し、ここで、１マッピングユニットは、第1組区間の中の第１区間から始まる前のｊ個の区間に対応し、ｊ個の区間中の最後の１区間を終了区間とする。次いで、第1組区間中の、終了区間の後に位置する区間中のデータをすべて終了区間内に置く（入れる）。即ち、マッピングユニットの終了区間中のデータの数は、第1組区間中の、終了区間に対応する区間およびこの区間の後のすべての区間中のデータの数の和である。次いで、計算デバイスは、各区間中のデータの数と各区間の中間値とに基づいて第１平均値を決定する。
【００３５】
ブロック２０８において、計算デバイスにより、第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用い、ここで、マッピングユニットは、第１組区間の第１区間から始まる所定数の連続区間を含み、マッピングユニットの終了区間には、複数のデータの中の、複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、精度が第１データ形式よりも低い第２データ形式に関連する。
【００３６】
複数のデータが第１組区間に分割された後、第１組区間から前のｊ個の区間を選んでマッピングユニットとし、ｊの値がＮ未満の値Ｍから第１組区間の中の区間の総数Ｎまでの値をとる。よって、Ｎ−Ｍ＋１個のマッピングユニットが存在する。好ましくは、Ｍの値は、低精度形式のデータが示す最大値よりも大きい。１例において、低精度形式のデータが８ビットであるとき、その表す最大値は１２７であり、Ｍの値は１２８をとる。
【００３７】
計算デバイスは、Ｎ−Ｍ＋１個のマッピングユニットを、低精度形式のデータが表現可能な第２数の第２組区間にそれぞれマッピングする。１例において、図１の複数のデータ１０４の形式が８ビットの整数である場合、各マッピングユニットの区間を、第２組区間の１２８個の区間にマッピングできる。よって、マッピングユニットのｊ/1２8個の区間は、第２組区間の１区間にマッピングされる。
【００３８】
次いで、各マッピングユニットに対しては、計算デバイスは何れも第２区間にマッピングされた後の第２平均値が得られる。各マッピングユニットに対しては、第２区間にマッピングされた後、マッピングされた後の平均値が、第２組区間の中の区間の中間値と区間にある数によって決定される。例えば第２平均値は、第２区間中の各区間の中間値に各区間中のデータの数を乗算してから総データの数で除算することで得られる。
【００３９】
ブロック２１０において、計算デバイスにより、第１平均値と複数の第２平均値とに基づいて複数のデータの処理を実行することによって、処理された複数のデータが第２データ形式で表されるようにする。複数のデータを処理する過程は、図３を参照して詳細に説明する。
【００４０】
上記の方法で高精度形式のデータを低精度形式のデータに変換して処理することができる。データを表すためのビット数が少なくなるため、データを処理するための計算リソースを削減することができるとともに、複数のマッピングユニットから変換前のデータの平均値との差値が最小のマッピングユニットを選択するため、処理結果の正確性をなるべく保証することができる。
【００４１】
上記の図２は、本発明の実施例に係るデータを処理するための過程２００を示すフローチャートである。下記は、図３を参照しながら図２の中のブロック２１０でのデータを処理するための過程を説明し、そのうち図３は、本発明の実施例に係るデータを処理するための過程３００を示すフローチャートである。
【００４２】
ブロック３０２において、計算デバイスにより、第１平均値と複数の第２平均値とに基づいて、複数のマッピングユニットに関連する複数の差値を決定する。計算デバイスは、受信した複数のデータの第１平均値と各マッピングユニットに対応する第２平均値とを取得した後、第１平均値と各第２平均値との間の差値を決定する。よって、計算デバイスは、複数のマッピングに対応する複数の差値を取得し得る。
【００４３】
１例において、０から複数のデータの絶対値最大値までの区間全体が２０４８個の区間に分割される。複数のデータを、第１精度形式から８ビット整定数に変化させるとき、ｊが１２８から２０４７に変化してから２０４８区間から前ｊ＋1個の区間を選んでマッピングユニットとする。上述されるように、１マッピングユニットに対応する各ｊ値に対しては、マッピングユニットの後にある区間中のすべてのデータをマッピングユニットのｊ＋1個の区間中の最後の１区間に置く（入れる）ことにより、複数のデータの第1平均値ｍｅａｎ1が得られる。次いで、ｊ＋1個の区間を１２８個の第２区間にマッピングしてから、１２８個の第２区間の中の各区間の中間値と、第２区間にある各区間中のデータの数とを決定する。次いで、ｊ＋１個の区間の中の各区間の中間値と、その区間のデータの数との積を加算してから、すべてのデータの数で除算することにより、第２平均値ｍｅａｎ２を決定する。各マッピングユニットに対しては、区間切捨て処理後の平均値の差値がｍｅａｎ1-ｍｅａｎ２である。
【００４４】
ブロック３０４において、複数の差値に基づいて、複数のデータに用いられる切捨て閾値を決定する。計算デバイスは、複数の差値に基づいて、複数の差値の中の最小の差値に対応するマッピングユニットを決定する。１例において、計算デバイスは、複数の差値を取得した後、複数の差値の各差値を、それらに対応する第１平均値で除算することにより、複数の差値率を取得する。差値率が最小となるマッピングユニットを選定されたマッピングユニットとする。１例において、計算デバイスは、複数の差値を取得した後、複数の差値の中の最小の差値に対応するマッピングユニットを選択されたマッピングユニットとする。
【００４５】
複数の差値に基づいて、マッピングユニットを決定した後に、ｊの値を決定する。次いで、ｊの値によって切捨て閾値を決定する。１例において、切捨て閾値ｔｈｒｅｓｈｏｌｄは、下記の式（１）に決定され得る。
ｔｈｒｅｓｈｏｌｄ＝(ｂｅｓｔ＿ｊ＋ ０．５)＊ １/Ｎ ａｂｓｍａｘ     (１)
【００４６】
ここで、ｂｅｓｔ＿ｊは、決定された最小差値または差値率に対応するマッピングユニットの区間数であり、Ｎは、分割された第１組区間数であり、ここで、ａｂｓｍａｘは、複数のデータの中で絶対値最大値を表す。
【００４７】
ブロック３０６において、計算デバイスにより、切捨て閾値に基づいて、取得された複数のデータを切り捨てる。計算デバイスは、切捨て閾値を取得した後、複数のデータの中の切捨て閾値よりも大きい値を切捨て閾値に調整する。
【００４８】
ブロック３０８において、計算デバイスにより、切捨て閾値に基づいて、マッピングユニットに関連するスケーリング値を決定する。１例において、計算デバイスは、閾値の差値に対応するマッピングユニットを選択した後、このマッピングユニットに対応する区間数に基づいて、受信した複数のデータに対する切捨て閾値を決定する。次いで、切捨て閾値ｔｈｒｅｓｈｏｌｄを用いて、下記の式（２）により、スケーリング値ｓｃａｌｅを決定する。
ｓｃａｌｅ＝ｔｈｒｅｓｈｏｌｄ/(２なの−１−１)          (２)
ここで、ｎは、第２データ形式のデータのビット数を表す。
【００４９】
１例において、変換データが８ビットの整数であるとき、ｓｃａｌｅ＝ｔｈｒｅｓｈｏｌｄ／１２７である。上記の例示は、本発明を説明するだけためのものであり、本発明を具体的に限定するものではない。
【００５０】
ブロック３１０において、計算デバイスにより、スケーリング値に基づいて、切捨てを経た複数のデータに対してスケーリングを実行するしてから、第２データ形式の複数のデータを得る。幾つかの実施例において、複数のデータに対するスケーリング処理は、他の計算デバイスで実行されてもよい。
【００５１】
上記の方法でデータを第１データ形式から第２データ形式に変換するとき、データ形式変換前後のデータ間の誤差を最小にするための最適な切捨て閾値を求めることができる。
【００５２】
１実施例においては、例えば３２ビットの浮動小数点形式などの、機械学習モデルに用いられる第１データ形式で表す複数のデータを取得する。データのデータ量を減らすため、複数のデータを、例えば８ビットの整数データなどの、第２データ形式に変換する。この複数のデータから絶対値最大値ａｂｓｍａｘを見付ける。次いで、０から絶対値最大値までの間の区間が２０４８個の区間に分割される。変換前に、先にこの複数のデータを２０４８個のデータ区間に絶対値に応じて分布させる。
【００５３】
次いで、２０４８個の区間の中の各区間中に分布されている複数のデータの数を統計する。例えば、ｂｉｎ[ｉ]は、複数のデータにおける絶対値がｉ/２０４８ ａｂｓｍａｘ〜(ｉ＋１)/２０４８ ａｂｓｍａｘの間にある個数、即ち第ｉ＋１個の区間にある数を表し、ここで、ｂｉｎ[０]は、複数のデータにおける絶対値が第１個の区間０〜１/２０４８ａｂｓｍａｘの間にある数を表す。
【００５４】
このとき、複数のデータの第１平均値が決定されてもよい。１例において、複数のデータの第１平均値ｍｅａｎ1は、複数のデータの絶対値の和を複数のデータの数で除算することによって決定される。１例において、複数のデータの第１平均値ｍｅａｎ1は、各区間の中間値を各区間中のデータの数で乗算してから、全ての区間の乗算値を加算し、データの数で除算することにより決定される。幾つかの例において、第１平均値ｍｅａｎ1は、各マッピングユニットが決定されるときに決定され得る。
【００５５】
ｊをマッピングユニットに対応する区間数とし、第２データ形式が８ビット整定数である場合、ｊは１２８から２０４７までに変化し、１２８〜２０４７の中の、１マッピングユニットに対応する各値を取る。
【００５６】
2022501673.tif 000003
【００５７】
この場合、データ区間を切捨て処理した後、区間切捨て後のデータの平均値を第１平均値としてもよい。区間が切り捨てられた後、各区間の中間値に区間中のデータの数を乗算してから各区間の積を加算し、すべてのデータの数で除算することにより、各マッピングユニットに対する第１平均値ｍｅａｎ1を決定する。
【００５８】
各ｊ値について、即ち各マッピングユニットに対応するとき、ｂｉｎ＿ｂｅｆｏｒｅ[０]、ｂｉｎ＿ｂｅｆｏｒｅ[１]、・・・、ｂｉｎ＿ｂｅｆｏｒｅ[ｊ−１]は、ｂｉｎ＿ｎｅｘｔ[０]、ｂｉｎ＿ｎｅｘｔ[１]、・・・、ｂｉｎ＿ｎｅｘｔ[１２７]に圧縮される。即ち第ｊ/１２８のｂｉｎ＿ｂｅｆｏｒｅが１ｂｉｎ＿ｎｅｘｔに対応する。次いで、調整された後の複数の区間の平均値、即ち各区間の中間値に各区間中のデータの数を乗算し、すべての区間の積の和をすべてのデータの数で除算することにより、このマッピングユニットに対応する第２組区間の平均値ｍｅａｎ２を取得する。次いで、第１平均値と第２平均値との差値ｍｅａｎ1-ｍｅａｎ２を決定することができる。
【００５９】
第１平均値ｍｅａｎ1と第２平均値ｍｅａｎ２との差値率は、下記式（３）により計算される：
ｄｉｆｆ＿ｍｅａｎ＝ａｂｓ(ｍｅａｎ１−ｍｅａｎ２)/ｍｅａｎ１    (３)
ここで、ａｂｓ(ｍｅａｎ１−ｍｅａｎ２)は、(ｍｅａｎ1-ｍｅａｎ２)の絶対値を表す。
【００６０】
ｊを１２８から２０４７までに変化させ、各ｊ値は対応するｄｉｆｆ＿ｍｅａｎを有し、全てのｊ値から最小のｄｉｆｆ＿ｍｅａｎに対応するｊ値を選択する。ｊの値が決定された後、切捨て閾値は、上記式（１）により決定され得る。次いで、複数のデータに対して切捨て処理を行なう。切捨て処理が終了すると、上記の式（２）により、複数のデータの量子化が終了される。
【００６１】
前述した各方法の実施例において、簡単に説明するために、それらをいずれも一連の動作の組み合わせとして表現したが、当業者は、本発明は説明された動作の順序に限定されないし、なぜなら、本発明によるといくつかのステップを他の順序で実行するかまたは同時に実行できることを了解すべきであることを説明する必要がある。次に、当業者は、明細書に説明された実施例は、いずれもオプションとする実施例に属し、関わる動作およびモジュールは必ずとして本発明にとって必須なものではないことも理解すべきである。
【００６２】
フローチャートでの各ステップは矢印に従って順に示したが、これらステップは必ずとして矢印が示す順序に従って順に実行する必要がないことをさらに説明する必要がある。本明細書に明確な説明がない限り、これらステップの実行に対して厳密の順序を限定しなく、これらステップを他の順序に従って実行してもよい。さらに、フローチャートでの少なくとも一部ステップは、複数のサブステップまたは複数の段階を含んでもよく、これらサブステップまたは段階は、必ずとして一つのタイミングで実行を完成させる必要がなく、異なるタイミングで実行させてもよいし、これらサブステップまたは段階の実行順序も必ずとして順に実行させる必要がなく、他のステップまたは他のステップのサブステップまたは段階の少なくとも一部と交互または交替に実行させることができる。
【００６３】
図４は、データを処理するための装置４００を示し、当該装置４００は、機械学習モデルに用いられる複数のデータを得るための取得モジュール４０２であって、前記データは、第１データ形式で表される取得モジュール４０２と、前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するための分布モジュール４０４であって、前記第１組区間の数は、予め決定される分布モジュール４０４と、前記複数のデータの第１平均値を決定するための第1平均値決定モジュール４０６と、前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットのに従ってマッピングされたデータの第２平均値の決定に用いるための第１マッピングモジュール４０８であって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低い第１マッピングモジュール４０８と、前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするための実行モジュール４１０と、を備える。
【００６４】
幾つかの実施例において、第１マッピングモジュール４０８は、前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するための再分布モジュールと、前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第２マッピングモジュールと、を備える。
【００６５】
幾つかの実施例において、前記実行モジュール４１０は、前記第１平均値と前記複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するための差値決定モジュールと、前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するための切捨て閾値決定モジュールと、前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するための切捨てモジュールと、前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するためのスケーリング値決定モジュールと、を備える。
【００６６】
幾つかの実施例において、前記実行モジュール４１０は、前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するためのスケーリングモジュールをさらに備える。
【００６７】
幾つかの実施例において、当該装置は、前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するための区間決定モジュートをさらに備える。
【００６８】
幾つかの実施例において、前記第1平均値決定モジュール４０６は、前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するための絶対値および数決定モジュールと、前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するための第２平均値決定モジュールと、を備える。
【００６９】
幾つかの実施例において、前記第1平均値決定モジュール４０６は、前記第１組区間の中の各区間の中間値と各区間にあるデータの数とを決定するための第１中間値およびデータ数決定モジュールと、前記中間値と前記データの数とに基づいて前記平均値を決定するための第３平均値決定モジュールと、を備える。
【００７０】
幾つかの実施例において、前記第1平均値決定モジュール４０６は、前記マッピングユニットの各区間にあるデータの数と各区間の中間値とを決定する第２中間値およびデータ数決定モジュールと、前記数と前記中間値とに基づいて前記第１平均値を決定するための第４平均値決定モジュールと、を備える。
幾つかの実施例において、第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定される。
【００７１】
上述した装置の実施例は、ただ模式的なものであり、本発明の装置は、さらに他の方式によって実現されてもよいことを理解すべきである。例えば、上述した実施例中の前記ユニット／モジュールの分割は、ただ論理的機能分割であり、実際に実現において他の分割方式があり得る。例えば、複数のユニット、モジュール、または、アセンブリは、組み合わせてもよいし、もう一つのシステムに統合されてもよく、あるいは、幾つかの特徴は、省略されてもよいし、実行されなくてもよい。
【００７２】
また、特に説明しない限り、本発明の各実施例中の各機能ユニット／モジュールは、一つのユニット／モジュール中に統合されてもよいし、各ユニット／モジュールが単独的に物理的に存在してもよいし、二つまたは二つ以上ユニット／モジュールが一つに統合されてもよい。上述した統合されたユニット／モジュールは、ハードウェアの形式を利用して実現されてもよいし、ソフトウェアプログラムモジュールの形式を利用して実現されてもよい。
【００７３】
前記統合されたユニット／モジュールがハードウェアの形式で実現される場合、当該ハードウェアは、数値回路、アナログ回路などであり得る。ハードウェア構成の物理的な実現は、トランジスタ、メモリスタなどを含むが、これらに限定されない。特に説明しない限り、前記人工知能プロセッサは、例えばＣＰＵ、ＧＰＵ、ＦＰＧＡ、ＤＳＰ、ＡＳＩＣなどの、いかなる適当なハードウェアプロセッサであり得る。特に説明しない限り、前記記憶ユニットは、例えば、抵抗メモリＲＲＡＭ（Ｒｅｓｉｓｔｉｖｅ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、動的ランダムアクセスメモリＤＲＡＭ（Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、静的ランダムアクセスメモリＳＲＡＭ（Ｓｔａｔｉｃ Ｒａｎｄｏｍ−Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、拡張動的ランダムアクセスメモリＥＤＲＡＭ（Ｅｎｈａｎｃｅｄ Ｄｙｎａｍｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、 高帯域幅メモリＨＢＭ（Ｈｉｇｈ−Ｂａｎｄｗｉｄｔｈ Ｍｅｍｏｒｙ）、ハイブリッドメモリキューブＨＭＣ（Ｈｙｂｒｉｄ Ｍｅｍｏｒｙ Ｃｕｂｅ）などの、いかなる適当な磁気記憶媒体あるいは光磁気記憶媒体であり得る。
【００７４】
前記統合されたユニット／モジュールは、ソフトウェアプログラムモジュールの形式で実現され、独立的にした製品として販売または使用される場合、一つのコンピュータ可読取メモリに記憶されてもよい。このような理解に基づいて、本発明の技術案は、本質上、あるいは、先行技術に寄与する部分、あるいは、当該技術案のすべてのまたは一部は、ソフトウェア製品の形式で具現されてもよく、当該コンピュータソフトウェア製品は一つのメモリに記憶され、一つのコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイスなどであり得る）に本発明の各実施例に記載の方法のすべてのまたは一部のステップを実行させるためのいくつかの命令を含む。前述したメモリは、Ｕディスク、読み取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、モバイルハードディスク、磁気ディスク、光ディスクなどの、いろんなプログラムコードを記憶できる媒体を含む。
可能な１実現形態においては、前記データ処理手段を備える人工知能チップをさらに開示する。
【００７５】
可能な１実現形態においては、ボードカードをさらに開示し、当該ボードカードは、記憶部品と、インタフェース装置と、制御部品と、請求項１９に記載の人工知能チップと、を備え、ここで、前記人工知能チップは、前記記憶部品、前記制御部品、および、前記インターフェース装置と、それぞれ、接続され、前記記憶部品は、データを記憶し、前記インタフェース装置は、前記人工知能チップと外部デバイスとの間のデータ伝送を実現し、前記制御部品は、前記人工知能チップの状態を監視制御する。
【００７６】
図５は、本発明の実施例に係るボードカード５００の構造を示すブロック図である。図５を参考すると、前記ボードカードは、前記チップ５０６−１〜５０６−Ｎ（ここで、Ｎは正の整数であり、説明の便利のために、総称してチップ５０６と呼ぶ）に加えて、他のサポート部件をさらに備えてもよく、当該サポート部件は、記憶部品５０２と、インターフェース装置５０７と、制御部品５０４と、を含むが、これらに限られない。
【００７７】
前記記憶部品５０２は、バス５０５を介して前記人工知能チップに接続され、データを記憶するために使用される。前記記憶部品は、複数組の記憶ユニット５０３−１、…５０３−Ｎを含み得る。ここで、Ｎは正の整数であり、説明の便利のために、総称して記憶ユニット５０３と呼ぶ。各組の前記記憶ユニット５０３は、バス５０５を介して前記人工知能チップ５０６に接続される。各組の前記記憶ユニット５０３は、ＤＤＲ ＳＤＲＡＭ（英語：Ｄｏｕｂｌｅ Ｄａｔａ Ｒａｔｅ ＳＤＲＡＭ、ダブルレート同期ダイナミックランダムアクセスメモリ）であってもよいことを理解できる。
【００７８】
ＤＤＲは、クロック周波数を上げずにＳＤＲＡＭの速度を２倍にすることができる。ＤＤＲは、クロックパルスの上がりエンジと下がりエンジでデータを読み取ることができる。ＤＤＲの速度は、標準ＳＤＲＡＭの２倍である。１実施例において、前記記憶装置は、４組の前記記憶ユニットを備えてもよい。各組の前記記憶ユニットは、複数のＤＤＲ４粒子（チップ）を備えてもよい。１実施例において、前記ニューラルネットワークチップの内部は、４個の７２ビットＤＤＲ４コントローラを備えてもよく、上記の７２ビットＤＤＲ４コントローラ中の６４ｂｉｔは、データ伝送に使用され、８ｂｉｔは、ＥＣＣ検証に使用される。各組の前記記憶ユニットでＤＤＲ４-３２００粒子を使用する場合、データ伝送する理論上の帯域幅が２５６００ＭＢ／ｓに達することを理解できる。
【００７９】
１実施例において、各組の前記記憶ユニットは、複数の並列に配置されたダブルレート同期ダイナミックランダムアクセスメモリを備える。ＤＤＲは、一つのクロックサイクルでデータを２回伝送することができる。前記チップ中にＤＤＲを制御ためのコントローラを配置して、各々の前記記憶ユニットのデータ伝送およびデータ記憶に対する制御に使用する。
【００８０】
前記インタフェース装置５０７は、前記人工知能チップ５０６と電気的に接続されている。前記インタフェース装置５０７は、前記人工知能チップと外部デバイス５０１(例えば、サーバ又はコンピュータ)との間のデータ伝送を実現するために使用される。例えば、１実施例においては、前記インタフェース装置５０７は、基準ＰＣＩＥインタフェースであってもよい。例えば、基準ＰＣＩＥインタフェースを介して、処理待ちのデータをサーバから前記チップまでに伝送されるスことで、データ伝送が実現される。好ましくは、理論帯域幅は、ＰＣＩＥ３.０Ｘ１６インターフェースを用いて伝送される場合、１６０００ＭＢ／ｓに達することができる。もう１実施例においては、前記インターフェース装置５０７は、他のインターフェースであってもよく、本発明は、前記他のインターフェースの具体的な表現式を限定せず、前記インターフェースユニットがスイッチャー機能を実現できればよい。また、前記人工知能チップ５０６の計算結果は、依然として前記インタフェース装置５０７によって外部デバイス５０１(例示えば、サーバ)までに送り返される。
【００８１】
前記制御部品５０４は、前記人工知能チップ５０６と電気的に接続されている。前記制御部品５０４は、前記人工知能チップ５０６の状態を監視制御するために使用される。具体的に、前記人工知能チップ５０６および前記制御部品５０４は、ＳＰＩインタフェースを介して電気的に接続され得る。前記制御部品は、マイクロコントローラーユニット(Ｍｉｃｒｏ Ｃｏｎｔｒｏｌｌｅｒ Ｕｎｉｔ、ＭＣＵ)を含んでもよい。例えば、前記人工知能チップ５０６は、複数の処理チップ、複数の処理コア、または、複数の処理回路を含んでもよく、複数の負荷を動かしても良い。よって、前記人工知能チップ５０６は、重負荷及び軽負荷などの異なる動作状態にあってもよい。前記制御部品によって、前記人工知能チップにおける複数の処理チップ、複数の処理、および/または、複数の処理回路の動作状態の調整制御が可能になる。
【００８２】
可能な１実現形態において、電子デバイスを開示し、当該電子デバイスは上記のニューラルネットワークチップを備える。電子デバイスは、データ処理装置、ロボット、コンピュータ、プリンター、スキャナー、タブレットコンピュータ、スマート端末、携帯電話、ドライビングレコーダー、ナビゲーター、センサ、Ｗｅｂカメラ、サーバ、クラウドサーバ、カメラ、ビデオカメラ、プロジェクター、腕時計、ヘッドセット、モバイルストレージ、ウェアラブルデバイス、交通ツール、家電製品、及び／又は、医療機器を含む。
【００８３】
前記交通ツールは、飛行機、船、及び／又は、車両を含み、前記家電製品は、テレビ、エアコン、電子レンジ、冷蔵庫、炊飯器、加湿器、洗濯機、電灯、ガスストーブ、および、レンジフードを含み、前記医療機器は、核磁気共鳴装置、Ｂ超音波装置、及び／又は、心電計を含む。
【００８４】
上述した実施例において、各実施例に対する説明はそれぞれ重点を置き、ある実施例には詳細な説明がない場合、他の実施例の中の関連説明を参照することができる。上記の実施例の各技術特徴は、任意に組み合わせることができ、記載を簡潔にするために、上記の実施例の中の各技術特徴の全ての可能な組合せを記載していないが、これらの技術特徴の組合せに矛盾が発生されない限り、いずれも本明細書に記載の範囲であると見なされるべきである。
以下の条項によって前述した内容をよりよく理解できる。
【００８５】
条項Ａ１．データを処理するための方法であって、機械学習モデルに用いられる複数のデータを得るステップであって、前記データは、第１データ形式で表されるステップと、前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するステップであって、前記第１組区間の数は、予め決定されるステップと、前記複数のデータの第１平均値を決定するステップと、前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットのに従ってマッピングされたデータの第２平均値の決定に用いるステップであって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低いステップと、前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするステップと、を含む。
【００８６】
条項Ａ２．条項Ａ１に記載の方法であって、前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングするステップは、前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するステップと、前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるステップと、を含む。
【００８７】
条項Ａ３．条項Ａ１に記載の方法であって、前記複数のデータに対する処理を実行するステップは、前記第１平均値と前記複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するステップと、前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するステップと、前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するステップと、前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するステップと、を含む。
【００８８】
条項Ａ４．条項Ａ１に記載の方法であって、前記複数のデータに対する処理を実行するステップは、前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するステップをさらに含む。
条項Ａ５．条項Ａ１に記載の方法であって、前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するステップをさらに含む。
【００８９】
条項Ａ６．条項Ａ１に記載の方法であって、前記複数のデータの第１平均値を決定するステップは、前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するステップと、前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するステップと、を含む。
【００９０】
条項Ａ７．条項Ａ１に記載の方法であって、前記複数のデータの第１平均値を決定するステップは、前記第１組区間の中の各区間の中間値と各区間が有するデータの数とを決定するステップと、前記中間値と前記数とに基づいて前記平均値を決定するステップと、を含む。
【００９１】
条項Ａ８．条項Ａ１に記載の方法であって、前記複数のデータの第１平均値を決定するステップは、前記マッピングユニットの各区間中のデータの数と各区間の中間値とを決定するステップと、前記数と前記中間値とに基づいて前記第１平均値を決定するステップと、を含む。
条項Ａ９．条項Ａ１に記載の方法であって、第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定されたものである。
【００９２】
条項Ａ１０．データを処理するための装置であって、機械学習モデルに用いられる複数のデータを得るための取得モジュールであって、前記データは、第１データ形式で表される取得モジュールと、前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するための分布モジュールであって、前記第１組区間の数は、予め決定される分布モジュールと、前記複数のデータの第１平均値を決定するための第１平均値決定モジュールと、前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第１マッピングモジュールであって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデーだ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低い第１マッピングモジュールと、前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするための実行モジュールと、を備える。
【００９３】
条項Ａ１１．条項Ａ１０に記載の装置であって、前記第１マッピングモジュールは、前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するための再分布モジュールと、前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第２マッピングモジュールと、を備える。
【００９４】
条項Ａ１２．条項Ａ１０に記載の装置であって、前記実行モジュールは、前記第１平均値と複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するための差値決定モジュールと、前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するための切捨て閾値決定モジュールと、前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するための切捨てモジュールと、前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するためのスケーリング値決定モジュールと、を備える。
【００９５】
条項Ａ１３．条項Ａ１２に記載の装置であって、前記実行モジュールは、前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するためのスケーリングモジュールをさらに備える。
【００９６】
条項Ａ１４．条項Ａ１０に記載の装置であって、前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するための区間決定モジュートをさらに備える。
【００９７】
条項Ａ１５．条項Ａ１０に記載の装置であって、前記第１平均値決定モジュールは、前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するための絶対値および数決定モジュールと、前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するための第２平均値決定モジュールと、を備える。
【００９８】
条項Ａ１６．条項Ａ１０に記載の装置であって、前記第１平均値決定モジュールは、前記第１組区間の中の各区間の中間値と各区間が有するデータの数とを決定するための第１中間値および数決定モジュールと、前記中間値と前記数とに基づいて、前記平均値を決定するための第３平均値決定モジュールと、を備える。
【００９９】
条項Ａ１７．条項Ａ１０に記載の装置であって、前記第１平均値決定モジュールは、前記マッピングユニットの各区間中のデータの数と各区間の中間値とを決定するための第２中間値および数決定モジュールと、前記数と前記中間値とに基づいて前記第１平均値を決定するための第４平均値決定モジュールと、を備える。
条項Ａ１８．条項Ａ１０に記載の装置であって、第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定されたものである。
【０１００】
条項Ａ１９．人工知能チップであって、プロセッサと、コンピュータプログラム命令が記憶されているメモリと、を備え、前記プロセッサは、前記メモリ中の前記コンピュータプログラム命令を実行することにより、前記人工知能チップを制御して、条項Ａ１〜Ａ９の何れか１項に記載の方法を実行する。
条項Ａ２０．電子デバイスであって、条項Ａ１９に記載の前記人工知能チップを備える。
【０１０１】
条項Ａ２１．ボードカードであって、記憶部品と、インタフェース装置と、制御部品と、請求項１９に記載の人工知能チップと、を備え、ここで、前記人工知能チップは、前記記憶部品、前記制御部品、および、前記インターフェース装置と、それぞれ、接続され、前記記憶部品は、データを記憶し、前記インタフェース装置は、前記人工知能チップと外部デバイスとの間のデータ伝送を実現し、前記制御部品は、前記人工知能チップの状態を監視制御する。
【０１０２】
条項Ａ２２．条項Ａ２１に記載の前記ボードカードであって、前記記憶部品は、複数組の記憶ユニットを備え、各組の記憶ユニットは、前記人工知能チップとバスを介して接続され、前記記憶ユニットは、ＤＤＲ ＳＤＲＡＭであり、前記チップは、ＤＤＲコントローラを備え、各々の前記記憶ユニットのデータ伝送およびデータ記憶に対する制御に用いられ、前記インタフェース装置は、標準ＰＣＩＥインタフェースである。
【０１０３】
以上、本発明の実施例を詳細に説明し、本明細書では具体的な例を適用して本発明の原理および実施形態を説明した。以上の実施例の説明は、本発明の方法およびその本旨の理解を助けるためにのみ使用される。同時に、当業者によって本発明の旨に依存して本発明の具体的な実施形態および適用範囲に基づいて行われた変更または修正は、いずれも本発明の保護しようとする範囲に属する。上記のように、本明細書の内容を本発明に対する制限として理解してはいけない。
【図１】
2022501673.tif 000004
【図２】
2022501673.tif 000005
【図３】
2022501673.tif 000006
【図４】
2022501673.tif 000007
【図５】
2022501673.tif 000008
【手続補正書】
【提出日】令和2年11月30日(2020.11.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを処理するための方法であって、
機械学習モデルに用いられる複数のデータを得るステップであって、前記データは、第１データ形式で表されるステップと、
前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するステップであって、前記第１組区間の数は、予め決定されるステップと、
前記複数のデータの第１平均値を決定するステップと、
前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるステップであって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデータ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低いステップと、
前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするステップと、を含む
ことを特徴とするデータを処理するための方法。
【請求項２】
前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングするステップは、
前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するステップと、
前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項３】
前記複数のデータに対する処理を実行するステップは、
前記第１平均値と前記複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するステップと、
前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するステップと、
前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するステップと、
前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するステップと、を含み、
前記複数のデータに対する処理を実行するステップは、
前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するステップをさらに含む
ことを特徴とする請求項1に記載のデータを処理するための方法。
【請求項４】
前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するステップをさらに含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項５】
前記複数のデータの第１平均値を決定するステップは、
前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するステップと、
前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するステップと、を含むか、
前記第１組区間の中の各区間の中間値と各区間が有するデータの数とを決定するステップと、
前記中間値と前記数とに基づいて前記平均値を決定するステップと、を含むか、
前記マッピングユニットの各区間中のデータの数と各区間の中間値とを決定するステップと、
前記数と前記中間値とに基づいて前記第１平均値を決定するステップと、を含む
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項６】
第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定されたものである
ことを特徴とする請求項１に記載のデータを処理するための方法。
【請求項７】
データを処理するための装置であって、
機械学習モデルに用いられる複数のデータを得るための取得モジュールであって、前記データは、第１データ形式で表される取得モジュールと、
前記複数のデータの値に基づいて、前記複数のデータを第１組区間中に分布するための分布モジュールであって、前記第１組区間の数は、予め決定される分布モジュールと、
前記複数のデータの第１平均値を決定するための第１平均値決定モジュールと、
前記第１組区間中に分布されているデータを、複数の互いに異なるマッピングユニットに従って、第２組区間にマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第１マッピングモジュールであって、前記マッピングユニットは、前記第１組区間の第1区間から始まる所定数の連続区間を含み、前記マッピングユニットの終了区間には、前記複数のデータの中の終了区間よりも大きいデータ又は終了区間に位置するデータが分布されており、第２組区間の中の区間の数は、第２データ形式と関連が有り、第２データ形式の精度は、前記第１データ形式よりも低い第１マッピングモジュールと、
前記第１平均値と前記複数の第２平均値に基づいて、前記複数のデータに対する処理を実行することによって、処理を経た前記複数のデータが前記第２データ形式で表されるようにするための実行モジュールと、を備える
ことを特徴とするデータを処理するための装置。
【請求項８】
前記第１マッピングモジュールは、
前記複数のデータの中の前記マッピングユニットの終了区間よりも大きいデータを、前記マッピングユニットの終了区間に再分布するための再分布モジュールと、
前記複数のマッピングユニットを第２組区間にそれぞれマッピングすることによって、対応するマッピングユニットに従ってマッピングされたデータの第２平均値の決定に用いるための第２マッピングモジュールと、を備える
ことを特徴とする請求項7に記載のデータを処理するための装置。
【請求項９】
前記実行モジュールは、
前記第１平均値と複数の第２平均値に基づいて、前記複数のマッピングユニットに関連する複数の差値を決定するための差値決定モジュールと、
前記複数の差値に基づいて、前記複数のデータに用いられる切捨て閾値を決定するための切捨て閾値決定モジュールと、
前記切捨て閾値に基づいて、取得された前記複数のデータに対して切捨てを実行するための切捨てモジュールと、
前記切捨て閾値に基づいて、前記マッピングユニットに関連するスケーリング値を決定するためのスケーリング値決定モジュールと、を備え、
前記実行モジュールは、
前記スケーリング値に基づいて、切捨てを経た前記複数のデータに対してスケーリングを実行するためのスケーリングモジュールをさらに備える
ことを特徴とする請求項７に記載のデータを処理するための装置。
【請求項１０】
前記データの絶対値最大値に基づいて、前記複数のデータに関連する第１組区間を決定するための区間決定モジュートをさらに備える
ことを特徴とする請求項7に記載のデータを処理するための装置。
【請求項１１】
前記第１平均値決定モジュールは、
前記複数のデータの中のデータの絶対値と前記複数のデータの数とを決定するための絶対値および数決定モジュールと、
前記複数のデータの中のデータの絶対値と前記数とに基づいて前記平均値を決定するための第２平均値決定モジュールと、を備えるか、
前記第１平均値決定モジュールは、
前記第１組区間の中の各区間の中間値と各区間が有するデータの数とを決定するための第１中間値および数決定モジュールと、
前記中間値と前記数とに基づいて、前記平均値を決定するための第３平均値決定モジュールと、を備えるか、
前記マッピングユニットの各区間中のデータの数と各区間の中間値とを決定するための第２中間値および数決定モジュールと、
前記数と前記中間値とに基づいて前記第１平均値を決定するための第４平均値決定モジュールと、を備える
ことを特徴とする請求項７に記載のデータを処理するための装置。
【請求項１２】
第２組区間の中の区間の数は、前記第２データ形式に関連するビット数に基づいて決定されたものである
ことを特徴とする請求項7に記載のデータを処理するための装置。
【請求項１３】
人工知能チップであって、
プロセッサと、
コンピュータプログラム命令が記憶されているメモリと、を備え、
前記プロセッサは、前記メモリ中の前記コンピュータプログラム命令を実行することにより、前記人工知能チップを制御して、請求項１乃至６の何れか１項に記載の方法を実行する
ことを特徴とする人工知能チップ。
【請求項１４】
電子デバイスであって、
請求項１３に記載の前記人工知能チップを備える
ことを特徴とするデータを処理するための電子デバイス。
【請求項１５】
ボードカードであって、
記憶部品と、インタフェース装置と、制御部品と、請求項１３に記載の人工知能チップと、を備え、
ここで、前記人工知能チップは、前記記憶部品、前記制御部品、および、前記インターフェース装置と、それぞれ、接続され、
前記記憶部品は、データを記憶し、
前記インタフェース装置は、前記人工知能チップと外部デバイスとの間のデータ伝送を実現し、
前記制御部品は、前記人工知能チップの状態を監視制御する
ことを特徴とするデータを処理するためのボードカード。
【国際調査報告】
2022501673.tif 000009
2022501673.tif 000010
2022501673.tif 000011
2022501673.tif 000012