JP2023036773A - データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム - Google Patents

データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム Download PDF

Info

Publication number
JP2023036773A
JP2023036773A JP2022203468A JP2022203468A JP2023036773A JP 2023036773 A JP2023036773 A JP 2023036773A JP 2022203468 A JP2022203468 A JP 2022203468A JP 2022203468 A JP2022203468 A JP 2022203468A JP 2023036773 A JP2023036773 A JP 2023036773A
Authority
JP
Japan
Prior art keywords
operator
attribute information
target
performance evaluation
input data
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.)
Granted
Application number
JP2022203468A
Other languages
English (en)
Other versions
JP7545461B2 (ja
Inventor
ハイフェン ワン,
Haifeng Wang
シャオガン フー,
Xiaoguang Hu
ディアンハイ ユ,
Dianhai Yu
シャン ラン,
Xiang Lan
ヤンジュン マ,
Yanjun Ma
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2023036773A publication Critical patent/JP2023036773A/ja
Application granted granted Critical
Publication of JP7545461B2 publication Critical patent/JP7545461B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2263Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Databases & Information Systems (AREA)
  • Neurology (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】異なる入力データと演算装置との組み合せに対して、最適な演算子実現方式をスケジューリングし、演算装置の演算性能及び入力データの演算効率の向上に役立ち、また、異なる演算子実現方式が夫々の優勢を有するため、各種類の演算子実現方式を十分に利用して、入力データに対応する最適な演算子を生成するデータ処理方法、装置、電子機器、記憶媒体及びコンピュータプログラムを提供する。【解決手段】方法は、入力データの第1の属性情報を取得し、且つ演算子に対応する演算装置の第2の属性情報を取得し、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択し、ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、演算子を生成し、演算装置により演算子に従って入力データの演算を行って、演算結果を取得する。【選択図】図1

Description

本開示は、データ処理技術分野に関し、具体的には、ビッグデータ、クラウドコンピューティング、ディープラーニングなどの人工知能技術分野に関し、特にデータ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラムに関する。
ディープラーニングフレームワークはディープラーニング技術の研究開発に使用される基本的なソフトウェアツールであり、上流に対してアプリケーションに対応し、下流に対してハードウェアデバイスに対応し、ディープラーニングタスクの研究開発効率を向上させることができる。ディープラーニングフレームはハードウェアの相違を隠し、アプリケーションの開発に統一されたインターフェースを提供する。
しかしながら、ディープラーニングフレームワークに含まれる演算子の数は非常に多く、関連技術では、コストが低く且つハードウェア性能を十分に向上させることができる演算子実現方式は未だ存在し提供ない。そのため、演算結果を正確に取得することを確保するとともにハードウェア性能を向上させてコストを低減することを如何に実現するかは、早急に解決すべき問題となっている。
本開示は、データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラムを提供する。
本開示の第1の態様では、入力データの第1の属性情報を取得し、且つ前記入力データに対応する演算装置の第2の属性情報を取得するステップと、前記第1の属性情報および前記第2の属性情報に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するステップと、前記ターゲット演算子実現方式に基づいて、演算子ライブラリから前記入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するステップと、前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するステップとを含むデータ処理方法が提供される。
本開示の第2の態様では、入力データの第1の属性情報を取得し、且つ前記入力データ演算子に対応する演算装置の第2の属性情報を取得するように構成される取得モジュールと、前記第1の属性情報および前記第2の属性情報に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するように構成される選択モジュールと、前記ターゲット演算子実現方式に基づいて、演算子ライブラリから前記入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するように構成される生成モジュールと、前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するように構成される演算モジュールとを備えるデータ処理装置が提供される。
本開示の第3の態様では、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサと通信可能に接続されるメモリと、を備え、前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが本開示の第1の態様に記載のデータ処理方法を実行できる電子機器が提供される。
本開示の第4の態様では、コンピュータに本開示の第1の態様に記載のデータ処理方法を実行させるためのコンピュータ命令を記憶した非一時的コンピュータ読み取り可能な記憶媒体が提供される。
本開示の第5の態様では、プロセッサによって実行される場合、本開示の第1の態様に記載のデータ処理方法を実現するコンピュータプログラムが提供される。
なお、この概要部分で説明された内容は本開示の実施例の肝心または重要な特徴を特定しようとするわけでなく、本開示の範囲を限定するわけでもない。本開示の他の特徴は以下の明細書により理解しやすくなる。
図面は本解決案をよりよく理解するためのものであり、本開示を限定するものではない。
本開示の第1の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第2の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第3の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第4の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第5の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第6の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第7の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第8の実施例に係るデータ処理方法の概略フローチャートである。 本開示の第9の実施例に係るデータ処理方法の概略フローチャートである。 本開示に係る1つのデータ処理フレームの概略図である。 本開示に係るデータ処理方法の適用概略図の一つである。 本開示に係るデータ処理方法の適用概略図の一つである。 本開示に係るデータ処理方法の適用概略図の一つである。 本開示の実施例に係るデータ処理方法を実現するためのデータ処理装置のブロック図である。 本開示の実施例のデータ処理方法を実現するための電子機器のブロック図である。
以下、図面を参照しながら本開示の例示的な実施例を説明し、理解を助けるために、その中には本開示の実施例の様々な詳細が含まれており、それらを例示的なものとして見なすべきである。そのため、当業者であれば、本開示の範囲と趣旨から逸脱しない限り、ここで説明される実施例に対して様々な変更と修正を行うことができる。同様に、明確と簡潔のために、以下の説明では周知機能および構造に関する説明を省略している。
データ処理(Data Processing)は、データの収集、記憶、検索、加工、変化および伝送などの処理を含み、乱雑で且つ理解し難い大量のデータから、特定のユーザにとって価値と意義のあるデータを抽出し且つ導出することを目的としている。
ビッグデータ(Big Data)は、膨大量資料とも呼ばれ、関わる資料の量の規模が大きすぎて、主流ソフトウェアツールを通じて合理的な時間内に抽出、管理、処理して、企業の経営及び意思決定に役立つ情報に整理できない資料を指す。
クラウドコンピューティング(Cloud Computing)は分散コンピューティングの1つであり、ネットワーク「クラウド」を介して大量のデータ計算処理プログラムを無数の小さいプログラムに分解し、その後、複数のサーバで構成されるシステムを介してこれらの小さいプログラムを処理分析し、結果を取得してユーザに返すことを指す。
人工知能(Artificial Intelligence、AIとと略称する)は、人間の知能をシミュレーションし且つ拡張する理論、方法、技術およびアプリケーションシステムを研究開発する技術科学である。現在では、AI技術は自動化程度が高く、精度が高く、コストが低いという利点があり、幅広く適用されている。
ディープラーニング(Deep Learning、DLとと略称する)は、機械学習(Machine Learning、MLとと略称する)分野における新しい研究方向であり、サンプルデータの固有法則と表現階層を学習し、これらの学習プロセスで得られた情報は文字、画像と音声などのデータの解釈に大いに役立つ。その最終の目的は、ロボットが人間のように分析学習能力を備え、文字、画像と音声などのデータを認識できるようにすることである。具体的な研究内容として、主に畳み込み演算に基づくニューロンネットワークシステム、即ち畳み込みニューロンネットワークと、多層ニューロンに基づく自己符号化ニューロンネットワークとを含み、多層自己符号化ニューロンネットワークの方式で事前訓練を行って、さらに識別情報に合わせてニューロンネットワーク重みの深層信頼ネットワークを最適化する。ディープラーニングは検索技術、データマイニング、機械学習、機械翻訳、自然言語処理、マルチメディア学習、音声、推薦と個性化技術、および他の関連分野で多くの成果を出している。
以下、図面を参照して本開示の実施例に係るデータ処理方法を説明する。
図1は、本開示の第1の実施例に係るデータ処理方法の概略フローチャートである。ここで、本実施例のデータ処理方法の実行主体はデータ処理装置であり、データ処理装置は具体的にハードウェアデバイス、またはハードウェアデバイスにおけるソフトウェアなどであってもよい。ハードウェアデバイスは例えば端末装置、サーバ等であってもよい。
図1に示すように、本開示の実施例に係るデータ処理方法は、具体的には、以下のステップS101~S104を含むことができる。
S101において、入力データの第1の属性情報を取得し、且つ入力データに対応する演算装置の第2の属性情報を取得する。
演算子は1つの関数空間から関数空間へのマッピングを指す。
入力データは、演算を行う必要があるデータを指し、主にテンソル(Tensor)を含む。テンソルは、データのタイプ、データの形状、データの保存位置などを含むことができる。
例えば、データのタイプはfloat32、float64、int32、int64などのタイプのデータを含むことができ、データの形状はビッグデータ、スモールデータ、ワイドデータ、ディープデータなどを含むことができ、データの保存位置はグラフィック処理装置(Graphics Processing Unit、GPUとと略称する)のメモリ、ディープコンピューティングユニット(Deep Computing Unit、DCUとと略称する)のグラフィックメモリおよび特定用途向け集積回路(Application Specific Integrated Circuit、ASICとと略称する)メモリ内を含むことができる。
さらに、入力データのソースは、画像、オーディオ、ドキュメントなどであってもよい。入力データに対応する演算子は1つまたは複数であってもよい。なお、入力データに対応する各演算子のそれぞれは本開示の実施例によって提供される方式で生成することができる。
ここで、演算装置は、入力データを演算する装置を指す。例えば、演算装置は、GPU、CPU、専用人工知能チップ、例えば、ディープコンピューティングユニットDCUなどを備えることができる。
なお、関連技術では、演算子実現方式のスケジューリングルールがシンプルで、ハードウェアの性能を十分に生かすことができず、一方で、演算子実現方式はスケジューリング時に入力データの形状とタイプを考慮しておらず、異なる形状とタイプは同じ演算子実現方式を用い、しかしながら、異なる演算子実現方式は、異なる入力データの形状とタイプが与えられ、パフォーマンスが異なる。他方で、演算子実現方式はスケジューリング時に演算装置の具体的な型番を区分しておらず、例えば、V100、A100および3090などの異なるグラフィックカード型番は、異なる演算子実現方式が異なる型番のグラフィックカードで実現される性能が異なる可能性があり、演算装置加速ライブラリのバージョンを考慮しておらず、例えば、同じ演算子実現方式は、加速ライブラリ(cudnn)のバージョンが異なると、性能が異なる可能性がある。また、演算子実現方式はスケジューリング時に、演算装置の演算環境を考慮しておらず、例えば、同じGPUのグラフィックカードは、異なるメインボードとCPUにおける性能が異なる可能性がある。
これにより、本開示では、演算子実現方式スケジューリングルールの情報、即ち入力データの第1の属性情報と演算装置の第2の属性情報とを取得して、演算子実現方式のスケジューリングを行うことにより、ハードウェアの性能を十分に生かすことができる。
なお、データの第1の属性情報はデータの形状、データのタイプなどを含むことができる。
データの形状は、ビック、スモール、ワイド、ディープなどを含むことができ、即ちビッグデータ、スモールデータ、ワイドデータ、ディープデータなどを含むことができる。
データのタイプは、浮動小数点型データ、固定小数点型データなどを含むことができ、浮動小数点型データの大きさは32ビット、64ビットであってもよく、固定小数点型データの大きさは32ビット、64ビットであってもよい。
なお、演算装置の第2の属性情報は、演算装置の型番、演算装置の加速ライブラリバージョン、演算装置の環境などを含むことができる。
S102において、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択する。
なお、候補演算子実現方式は、2種類以上の演算子実現方式を含むことができ、例えば、演算子組み合せ実現方式、演算子コンパイラ実現方式を含むことができる。これは例に過ぎず、他の演算子実現も候補演算子実現とすることができる。ここで、演算子組み合せ実現方式については、小演算子組み合せを用いて算出することができるため、シンプルで柔軟である。演算子コンパイラ実現方式については、演算子の数を増やさずに済むため、実現性能が高い。
なお、本開示では、候補演算子実現方式が予め設定されており、候補演算子実現方式は演算子組み合せ実現方式または演算子コンパイラ実現方式であってもよい。
演算子組み合せ実現方式とは、他のより小さな演算子を用いて、複雑な演算子を組み合わせることを指す。
演算子コンパイラ実現方式とは同様に、他のより小さな演算子を用いて、複雑な演算子を組み合わせることを指すが、小さな演算子をチューニングすることになっている。
本開示では、第1の属性情報と第2の属性情報とに基づいて、ユーザのニーズ情報を取得することができ、さらには、候補演算子実現方式からターゲット演算子実現方式を選択することにより、演算子組み合せ実現方式と演算子コンパイラ実現方式とが1つのシステムで共存することを実現し、即ち演算子ライブラリ内部には演算子組み合せ実現方式と演算子コンパイラ実現方式が同時に存在し、優勢が互いに補い合うことになる。
S103において、ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、演算子を生成する。
演算子ライブラリは、すべての演算子のセットを指す。演算子のセット内の演算子は複雑な演算子を含んでもよいし、サブ演算子を含んでもよく、サブ演算子は複雑な演算子を形成するために使用することができる。演算子のセット内は正規化指数(softmax)などを含むことができ、サブ演算子は指数(exponential、expと略称する)、合計(summation、sumとと略称する)、割り算(divide)などを含むことができる。
本開示の実施例では、ターゲット演算子実現方式を取得した後、ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子(複雑な演算子)を決定することができ、これにより、演算子に基づいてサブ演算子を取得し、サブ演算子に基づいて演算子を生成する。
なお、演算子組み合せ実現方式に基づいて、サブ演算子を組み合わせて、演算子を生成することができる。
なお、演算子コンパイラ実現方式に対して、演算子を分解し且つ自動的にチューニングして実行コードを生成することで、チューニングされたサブ演算子を取得して演算子を生成することができる。
例えば、演算子を分解し、且つ予め設定されたチューニングルールまたはチューニングテンプレートなどに基づいてチューニングして実行コードを生成することで、演算子を生成することができる。
なお、演算子の入力データの第1の属性情報、即ち入力データのタイプ、データの形状および/または演算ニーズに基づいて、入力データに対応する演算子に含まれ得るサブ演算子を決定することができる。ここで、サブ演算子は演算子ライブラリにおける演算子である。1つの入力データは1つまたは複数の演算子に対応することができる。
S104において、演算装置により演算子に従って入力データの演算を行って、演算結果を取得する。
本開示の実施例では、演算子を取得した後、演算装置にロードまたはリリースすることができ、そして演算装置は演算子に従って入力データの演算を行って演算結果を取得することができる。なお、演算装置は演算子の媒体として、入力データを演算子に入力して関連函数演算を行って、1つの演算結果を取得することができる。
以上により、本開示の実施例のデータ処理方法は、入力データの第1の属性情報を取得し、且つ入力データに対応する演算装置の第2の属性情報を取得し、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択し、その後、ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、演算子を生成し、最後に、演算装置により演算子に従って入力データの演算を行って、演算結果を取得することができる。本開示の実施例では、データの第1の属性情報と演算装置の第2の属性情報とに基づいて、演算子実現方式の自動的なスケジューリングを行うことができ、即ち、入力データと演算装置との異なる組み合せに対して、最適な演算子実現方式にスケジューリングすることができ、演算装置の演算性能および入力データの演算効率を向上させることができ、また、異なる演算子実現方式がそれぞれの優勢を有するため、上記自動スケジューリングポリシーにより、各演算子実現方式を十分に利用して、入力データに対応する最適な演算子を生成することができ、演算装置のハードウェア性能を十分に生かすことができる。
図2は、本開示の第2の実施例に係るデータ処理方法概略フローチャートである。図2に示すように、上記実施例のもとに、本開示の実施例に係るデータ処理方法は、具体的には以下のステップS201~S205を含むことができる。
S201において、入力データの第1の属性情報を取得し、且つ入力データに対応する演算装置の第2の属性情報を取得する。
当該ステップS201に対して、本開示の各実施例におけるいずれか1つの実現形態で実現することができ、ここで詳しい説明を省略する。
S202において、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得する。
選択可能に、第1の属性情報と第2の属性情報とを性能評価モデルに入力して、対応する評価結果を出力することができる。
なお、本開示では、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式の性能評価を行う具体的な方式が限定られず、実際の状況に応じて選択することができる。
S203において、性能評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択する。
なお、候補演算子実現方式と性能評価結果とは一対一で対応しており、性能評価結果は複数の性能指標を含むことができ、例えば、演算にかかる時間が短く、演算時にリソース消費が少ない等がある。そのため、性能評価結果を取得した後、複数の性能指標のうちの1つまたは複数に基づいて、候補演算子実現方式から1つのターゲット演算子実現方式を選択することができる。例えば、かかる時間が最も短い演算子実現方式を選択しようとする場合、各かかる時間指標を比較して、その中からかかる時間が最も短い性能評価結果を選択することでき、当該かかる時間が最も短い性能評価結果に対応する候補演算子実現方式をターゲット演算子実現方式として決定する。
S204において、ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、演算子を生成する。
S205において、演算装置により演算子に従って入力データの演算を行って、演算結果を取得する。
上記ステップS204~S205に対して、本開示の各実施例におけるいずれか1つの実現形態で実現することができ、ここで詳しい説明を省略する。
以上により、本開示の実施例に係るデータ処理方法は、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得し、性能評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択することができる。したがって、異なる性能評価結果に対して、それに対応するターゲット演算子実現方式を選択することができるため、ハードウェアインターフェース時の演算子開発の作業量を低減することができ、同時に演算子実現方式を自動的にスケジューリングすることができるため、演算子演算結果の取得効率をさらに向上させるができる。
1つの可能な実現形態として、図3に示すように、上記実施例のもとに、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得するステップは、以下のステップS301~S302を含むことができる。
S301において、演算子の候補演算子実現方式に対応する履歴性能評価結果を取得する。
また、候補演算子実現方式に対応する履歴性能評価結果は、演算子組み合せ実現方式に対応する履歴性能評価結果、または演算子コンパイラ実現方式に対応する履歴性能評価結果である。
なお、演算子、入力データおよび固定のソフトウェアハードウェア環境を取得した後、演算子ライブラリバックエンドの演算子組み合せ実現方式または演算子コンパイラ実現方式をそれぞれ実行して、候補演算子実現方式に対応する履歴性能評価結果をそれぞれ取得することができる。
履歴性能評価結果は、候補実現方式に対応する複数の指標および指標評価結果を含む。
例えば、履歴性能評価結果に含まれる指標は時間指標、消費電力指標およびグラフィックメモリ指標などであってもよい。履歴性能評価結果に含まれる指標評価結果は、かかる時間の長さ、消費電量の大さ、およびグラフィックメモリ使用量の大さなどであってもよい。
なお、本開示では、演算子の候補演算子実現方式に対応する履歴性能評価結果を取得する具体的な方式が限定されず、実際の状況に応じて選択することができる。
選択可能に、キャッシュメモリまたはサーバから履歴性能評価結果を取得することができる。
選択可能に、理論推定または性能評価モデルによる予測により、履歴性能評価結果を取得することができる。
S302において、第1の属性情報と第2の属性情報とに基づいて、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択する。
また、履歴性能評価結果が第1の属性情報および第2の属性情報に一対一で対応しているため、第1の属性情報と第2の属性情報とに基づいて、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択することができる。
なお、本開示では、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択する具体的な方式が限定されず、実際の状況に応じて選択することができる。
選択可能に、ユーザの実際のニーズに応じて、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択することができる。例えば、ユーザのニーズが短いかかる時間である場合、履歴性能評価結果からかかる時間が最も短い性能評価結果を性能評価結果として選択することができる。又は、ユーザのニーズが小さい消費電力である場合、履歴性能評価結果から消費電力が最も小さい性能評価結果を性能評価結果として選択することができる。
以上により、本開示に係るデータ処理方法は、演算子の候補演算子実現方式に対応する履歴性能評価結果を取得し、第1の属性情報と第2の属性情報とに基づいて、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択することができる。これにより、第1の属性情報と第2の属性情報とに基づいて性能評価結果を選択することができ、性能評価結果の精度および信頼性を向上させることができる。
さらに、履歴性能評価結果を取得した後、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択して、性能評価結果を取得することができる。
1つの可能な実現形態として、図4に示すように、上記実施例のもとに、具体的にha以下のステップS401~S402を含むことができる。
S401において、履歴性能評価結果に基づいて、対応する履歴入力データと履歴実行装置とを取得する。
なお、履歴性能評価結果には、履歴入力データおよび履歴実行装置の情報が記録されており、本開示の実施例では、履歴性能評価結果内の記録情報に基づいて、当該履歴性能評価結果に対応する履歴入力データと履歴実行装置とを決定することができる。
S402において、履歴性能評価結果における履歴入力データの第1の属性情報および入力データの第1の属性情報と、履歴演算装置の第2の属性情報および演算装置の第2の属性情報とに基づいて、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択する。
本開示の実施例では、性能評価結果を取得するための作業量を低減するために、履歴性能評価結果に含まれる履歴入力データの第1の属性情報および入力データの第1の属性情報と、履歴演算装置の第2の属性情報および演算装置の第2の属性情報とに基づいて、履歴性能評価結果からターゲット性能評価結果を性能評価結果として選択することができる。
1つの可能な実現形態として、履歴入力データの第1の属性情報と入力データの第1の属性情報とを比較することにより、現在の入力データ属性情報に一致する履歴入力データがあるか否かを判断する。さらに、履歴演算装置の第2の属性情報と演算装置の第2の属性情報とを比較することにより、現在の演算装置の属性情報と一致する履歴演算装置があるか否かを判断する。
本開示の実施例では、履歴性能評価結果から、入力データの第1の属性情報と一致し且つ演算装置の第2の属性情報と一致するターゲット性能評価結果を性能評価結果として選択する必要がある。
なお、履歴入力データの第1の属性情報が現在の入力データの第1の属性情報と一致し、且つ履歴演算装置の第2の属性情報が現在の演算装置の第2の属性情報と一致する場合は、類似する演算装置を用いて類似する入力データを処理したことがあることを表し、当該履歴性能評価結果を直接性能評価結果とすることができる。
さらに、ターゲット性能評価結果を決定した後、当該ターゲット性能評価結果に対応する候補演算子実現方式を決定することができ、当該ターゲット性能評価結果に対応する候補演算子実現方式を、ターゲット演算子実現方式として決定する。
たとえば、演算子Aの履歴入力データ第1の属性情報がa1で、履歴演算装置第2の属性情報がa2で、履歴評価結果がa3で、演算子Bの第1の属性情報がa1と一致し、第2の属性情報がa2と一致する場合、演算子Bの性能評価結果はa3である。例えば、性能評価結果a3に対応する候補演算子実現方式が演算子組み合せ実現方式である場合、a3で採用した演算子組み合せ実現方式を直接ターゲット演算子実現方式として決定することができる。選択可能に、履歴性能評価結果にはターゲット性能評価結果が含まれていないことに応答して、即ち、現在の入力データの第1の属性情報と一致する履歴入力データが存在しないこと、および/または現在演算装置の第2の属性情報と一致する履歴演算装置が存在しないことに応答して、第1の属性情報、第2の属性情報および入力データに必要な演算子に基づいて、候補演算子実現方式の損失情報を取得し、損失情報に基づいて候補演算子実現方式の性能評価結果を生成する。
選択可能に、性能評価モデルを予め構築し、性能評価モデルを訓練し、第1の属性情報、第2の属性情報および入力データに必要な演算子を性能評価モデルに入力して、候補演算子実現方式の性能評価結果を出力することができる。
さらに、候補演算子実現方式の性能評価結果を生成した後、性能評価結果に基づいて候補演算子実現方式からターゲット演算子実現方式を出力する必要がある。
出力された性能評価結果に対応する履歴性能評価結果が存在しないため、本開示の実施例では、性能評価結果を取得した後、決定されたターゲット演算子実現方式の性能評価結果を現在の入力データの第1の属性情報および現在の演算装置の第2の属性情報にバインディングして、新しい履歴性能評価結果として記憶することにより、データライブラリを更新し、データライブラリの完全性を向上させ、演算子実現方式のスケジューリング効率を向上させることができる。
以上により、本開示の実施例のデータ処理方法は、様々な方式に基づいて、性能評価結果を取得することができ、選択可能に、履歴性能評価結果には、履歴入力データの第1の属性情報が第1の属性情報と一致し、且つ履歴演算装置の第2の属性情報が第2の属性情報と一致するものが含まれる場合、性能評価結果を直接取得することができる。選択可能に、履歴性能評価結果にはターゲット性能評価結果が含まれていない場合、候補演算子実現方式の損失情報を取得し、損失情報に基づいて候補演算子実現方式の性能評価結果を生成し、性能評価結果を新しい履歴性能評価結果として記憶する。これにより、本開示は複数の方式に基づいて性能評価結果を取得することができるため、性能評価結果を取得する精度および信頼性が向上させることができ、また、性能評価結果に基づいて対応する演算子実現方式を選択することができるため、演算子開発時の作業量を低減することができる。
1つの可能な実現形態として、図5に示すように、上記実施例のもとに、性能評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するステップは、具体的には、以下のステップS501~S502を含むことができる。
S501において、ターゲット演算子実現方式を選択するためのターゲット性能指標を決定する。
なお、ターゲット性能指標は、消費電力、グラフィックメモリ使用量、かかる時間のうちの少なくとも1つのであってもよい。データの演算ニーズに応じて、複数の性能指標からターゲット性能指標を決定することができる。
S502において、ターゲット性能指標と性能評価結果とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択する。
本開示の実施例では、性能評価結果には1つまたは複数の性能指標の評価結果が含まれ、ターゲット性能指標を取得した後、性能評価結果のうちのターゲット性能指標の指標評価結果を決定することができ、ターゲット性能指標の指標評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択し、例えば、ターゲット性能指標がかかる時間である場合、指標評価結果におけるかかる時間が最も小さい性能評価結果に対応する候補演算子実現方式をターゲット演算子実現方式として決定することができる。また、ターゲット性能指標がグラフィックメモリ使用量である場合、グラフィックメモリ使用量が最も少ない性能評価結果に対応する候補演算子実現方式をターゲット演算子実現方式として決定することができる。例えば、A候補演算子実現方式とB候補演算子実現方式があり、B候補演算子実現方式の性能評価結果にはターゲット性能指標が含まれておらず、A候補演算子実現方式の性能評価結果にはターゲット性能指標が含まれる場合、A候補演算子実現方式を直接ターゲット演算子実現方式として選択することができる。
1つの可能な実現形態として、図6に示すように、上記実施例のもとに、ターゲット性能指標と性能評価結果とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するステップは、具体的には、以下のステップS601~S603を含むことができる。
S601において、性能選好選択ポリシーを選択し、性能選好選択ポリシーに基づいて、ターゲット性能指標を決定する。
ここで、性能選好選択ポリシーとは、演算ニーズに応じて予め決定された、ターゲット演算子実現方式を選択するポリシーを指す。
さらに、性能選好選択ポリシーを取得した後、性能選好選択ポリシーから選択性能評価結果の1つまたは複数のターゲット性能指標を決定することができる。
S602において、性能評価結果から、ターゲット性能指標にマッチングする指標評価結果を選択する。
本開示の実施例では、性能評価結果には1つまたは複数の性能指標の結果が含まれ、例えば、消費電力、グラフィックメモリ使用量、かかる時間のうちの1つまたは複数が含まれる。ターゲット性能指標を取得した後、性能評価結果から、ターゲット性能指標にマッチングする指標評価結果を決定することができる。
例えば、取得したターゲット指標が消費電力である場合、性能評価結果から消費電力指標の評価結果を選択することができる。
S603において、指標評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択する。
本開示の実施例では、指標評価結果を取得した後、指標評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択することができる。
例えば、性能選好ポリシーが消費電力である場合、演算子組み合せ実現方式の消費電力が演算子コンパイラ実現方式より低い時、演算子組み合せ実現方式のかかる時間が演算子コンパイラ実現方式より長くても、演算子組み合せ実現方式をターゲット実現方式とする。
以上により、本開示の実施例データ処理方法は、性能選好選択ポリシーを選択し、性能選好選択ポリシーに基づいて、ターゲット性能指標を決定し、性能評価結果からターゲット性能指標にマッチングする指標評価結果を選択し、その後、指標評価結果に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択することができる。これにより、予め演算ニーズに応じて性能選好選択ポリシーを取得し、指標評価結果に基づいてターゲット演算子実現方式を選択することができる。これにより、演算子実現方式を包括的にスケジューリングすることができ、演算子実現プロセスは、より低い消費電力またはより短いかかる時間またはより少ないリソース占有量などの利点を有する。
1つの可能な実現形態として、図7に示すように、上記実施例のもとに、入力データに必要な演算子に含まれるサブ演算子に基づいて、演算子を生成するステップは、具体的には、以下のステップS701~S702を含むことができる。
以下、ターゲット演算子実現方式が演算子組み合せ実現方式および演算子コンパイラ実現方式である場合について説明する。
ターゲット演算子実現方式が演算子組み合せ実現方式である場合について説明する。
S701において、ターゲット演算子実現方式が演算子組み合せ実現方式であることに応答して、入力データの第1の属性情報に基づいて、必要な演算子に含まれる少なくとも1つの第1のサブ演算子と、第1のサブ演算子間の組み合せ順序とを取得する。
なお、演算子組み合せ実現方式とは、一定の組み合せ順序に従って、サブ演算子を組み合わせて複雑な演算子を取得することである。
なる入力データの属性情報は異なる場合が多く、異なる属性情報は入力データの実行ニーズを反映することができ、そして入力データに対応する演算子を決定する。本開示の実施例では、入力データの第1の属性情報に基づいて、入力データの演算ニーズを決定することができ、演算ニーズに応じて入力データの演算子を決定することができ、演算子を取得した後に、演算子組み合せ実現方式に基づいて、当該演算子に含まれる第1のサブ演算子、および第1のサブ演算子間の組み合せ順序を決定することができる。
例えば、演算子Aについて、取得された第1のサブ演算子はサブ演算子1、サブ演算子2、サブ演算子3、サブ演算子4、およびサブ演算子5であり、取得された第1のサブ演算子間の組み合せ順序は、サブ演算子4、サブ演算子5、サブ演算子2、サブ演算子3、サブ演算子1である。
S702において、組み合せ順序に基づいて、第1のサブ演算子を順次組み合わせて、入力データに対応する演算子を取得する。
本開示の実施例では、ターゲット演算子実現方式が演算子組み合せ実現方式である場合、第1のサブ演算子の組み合せ順序に従って、第1のサブ演算子を順次組み合わせて、入力データに対応する演算子を取得することができる。
以上により、本開示の実施例に係るデータ処理方法は、ターゲット演算子実現方式が演算子組み合せ実現方式であることに応答して、入力データの第1の属性情報に基づいて、演算子に含まれる少なくとも1つの第1のサブ演算子、および第1のサブ演算子間の組み合せ順序を取得し、組み合せ順序に基づいて、第1のサブ演算子を順次組み合わせて、入力データに対応する演算子を取得する。これにより、本開示は、サブ演算子を順次組み合わせて、入力データに対応する演算子を取得することができ、ハードウェアインターフェース作業の量が低減される。
入力データに対応する演算子を取得した後、演算装置により演算子に基づいて入力データを演算する時、組み合せ順序に応じて、演算子に含まれる第1のサブ演算子を順次実行する必要があり、即ち実行順序は、サブ演算子4-サブ演算子5-サブ演算子2-サブ演算子3-サブ演算子1であり、最後には、演算結果を出力する。
ターゲット演算子実現方式が演算子コンパイラ実現方式である場合について説明する。
S801において、ターゲット演算子実現方式が演算子コンパイラ実現方式であることに応答して、入力データの第1の属性情報に基づいて、必要な演算子と、必要な演算子に含まれる少なくとも1つの第2のサブ演算子と、第2のサブ演算子のコンパイル順序とを取得する。
ここで、演算子コンパイラ実現方式とは、一定のコンパイル順序に従って、サブ演算子をコンパイルすることで複雑な演算子を取得することである。
異なる入力データの属性情報は異なる場合が多く、異なる属性情報は入力データの実行ニーズを反映することができ、そして入力データに対応する演算子を決定する。本開示の実施例では、入力データの第1の属性情報に基づいて、入力データの演算ニーズを決定することができ、演算ニーズに基づいて入力データの演算子を決定することができ、演算子を取得した後に、演算子コンパイラ実現方式に基づいて、当該演算子に含まれる第2のサブ演算子、および第2のサブ演算子間の組み合せ順序を決定することができる。
例えば、演算子Bについて、取得された第2のサブ演算子はサブ演算子6、サブ演算子7、サブ演算子8、サブ演算子9、およびサブ演算子10であり、取得された第2のサブ演算子間のコンパイル順序は、サブ演算子9、サブ演算子10、サブ演算子7、サブ演算子6、サブ演算子8である。
S802において、すべての第2のサブ演算子に対してチューニング処理を行って、チューニングされたターゲット第2のサブ演算子を取得する。
1つの可能な実現形態として、ターゲットチューニングポリシーを取得し、ここで、ターゲットチューニングポリシーは、第2のサブ演算子についての融合ポリシーを含むことができ、さらに、ターゲットチューニングポリシーに基づいて、すべての第2のサブ演算子をチューニング処理する。
選択可能に、第1の属性情報に基づいて、入力データのデータ形状を決定し、データ形状に基づいて、対応するターゲットチューニングポリシーを取得することができる。
本開示では、第1の属性情報に基づいて、入力データのデータ形状を決定する具体的な方式が限定されず、実際の状況に応じて選択することができる。
選択可能に、入力データinput1に対して、入力データinput1と第1の属性情報との間のマッピング関係を照会することで、入力データの形状を決定することができる。
本開示の実施例では、データ形状を取得した後、対応するターゲットチューニングポリシーを取得することができる。例えば、演算子をコンパイルして、装置全体の実行可能なコードに最適化することができる。
さらに、ターゲットチューニングポリシーを取得した後、すべての第2のサブ演算子をチューニング処理することができる。
なお、本開示では、すべての第2のサブ演算子をチューニング処理する具体的なプロセスが限定されず、実際の状況に応じて選択することができる。
選択可能に、自動または手動ですべての第2のサブ演算子をチューニング処理することができ、即ち、予め設定されたチューニングルールまたはチューニングテンプレートに基づいてすべての第2の演算子をチューニング処理し、チューニングされたターゲット第2のサブ演算子を取得することができる。
選択可能に、ターゲットチューニングポリシーは第2のサブ演算子についての融合ポリシーを含むことができ、すべての第2のサブ演算子に対して演算子融合を行うことができ、さらには、対応するターゲットチューニングポリシーを取得した後、ターゲットチューニングポリシーに基づいてすべての第2のサブ演算子に対して演算子融合を行って、融合サブ演算子を取得することができる。
さらに、融合された融合サブ演算子に対して演算子グルーピングおよび演算子スケジューリングを行って、ターゲット第2のサブ演算子を取得する。
なお、融合された第2の演算子を取得した後、第2の演算子に対応する入力データの形状と演算装置とに基づいてグルーピングおよび演算子スケジューリングを行って、ターゲット第2のサブ演算子を取得することができる。
S803において、ターゲット第2のサブ演算子間のコンパイル順序に基づいて、ターゲット第2のサブ演算子を順次コンパイルして、入力データに対応する演算子を生成する。
以上により、本開示の実施例に係るデータ処理方法は、性能選好選択ポリシーに基づいて、演算子組み合せ実現方式または演算子コンパイラ実現方式を選択し、演算子組み合せ実現方式と演算子コンパイラ実現方式とに基づいて、演算装置により演算子に従って入力データを演算することができる。したがって、ターゲット第2のサブ演算子間のコンパイル順序に基づいて、ターゲット第2のサブ演算子を順次コンパイルして、入力データに対応する演算子を生成することができ、演算子が装置の命令実行を起動させる時のオーバーヘッドを回避することができる。
さらに、演算子を取得した後、演算装置により演算子に従って入力データの演算を行って、演算結果を取得することができる。
1つの可能な実現形態として、図9に示すように、上記実施例のもとに、演算装置により演算子に従って入力データの演算を行って、演算結果を取得するステップは、具体的には、以下のステップS901~S902を含むことができる。
S901において、入力データの演算子に基づいて、入力データに対応するディープニューラルネットワークの演算子セットを生成する。
ここで、ディープニューラルネットワーク(Deep Neural Networks、DNNとと略称する)は機械学習(Machine Learning、MLとと略称する)分野における技術である。
なお、データ処理タスクを受信した後、データ処理タスクから入力データを抽出することができ、データ処理タスクの多様性により、入力データも多様性を有し、同様に、入力データに対応する演算子も多様性を有する。したがって、入力データの演算子に基づいて、入力データに対応するディープニューラルネットワークの演算子セットを生成することができる。
S902において、演算子セットを演算装置に配布してディープニューラルネットワークを構築し、ディープニューラルネットワークにより入力データの演算を行って演算結果を取得する。
本開示の実施例では、入力データに対応するディープニューラルネットワークの演算子セットを生成した後、演算子セットを演算装置に配布してディープニューラルネットワークを構築することができる。
例えば、入力データは画像データであってもよく、ローカル畳み込み-正規化-非線形化ネットワーク(Conv-IN-Relu)を構築することができ、入力データはオーディオデータであってもよく、ウェーブレットニューロンネットワーク(Wavelet Neural Network、WNNとと略称する)を構築することができ、入力データはテキストデータであってもよく、畳み込みリカレントニューロンネットワーク(Convolutional Recurrent Neural Network、CRNNとと略称する)を構築することができる。
さらに、ディープニューラルネットワークを構築した後、ディープニューラルネットワークにより入力データの演算を行って演算結果を取得することができる。異なるディープニューラルネットワークは入力データの演算を行って、異なる演算結果を取得することができる。例えば、入力データが画像データである時、構築されたディープニューラルネットワークはターゲット検出、画像分割のためのニューロンネットワークであってもよい。これに対して、演算結果は出力されたターゲット検出フレーム、画像分割結果、検出されたターゲットタイプなどであってもよい。また、入力データがオーディオデータである場合、構築されたディープニューラルネットワークは、話者タイプ認識、オーディオ認識などに用いられるニューロンネットワークであってもよく、これに対して、演算結果は、出力された話者タイプ、オーディオに対応するテキストなどであってもよい。また、入力データはテキストデータであってもよく、構築されたディープニューラルネットワークはテキスト抽出ネットワーク、テキスト生成ネットワークなどであってもよく、これに対して、演算結果は、抽出されたエンティティ情報を出力すること、入力データに基づいて生成された文章などであってもよい。
同時に、演算プロセスにおける効率および精度を向上させるために、演算プロセスを監視し、演算プロセスに異常が発生すると、演算を停止し且つ異常ログを生成することができる。ここで、異常ログは、演算子を改めてスケジューリングするために使用することができる。
選択可能に、演算プロセスに異常が発生する時、演算装置の第2の属性情報に基づいて、新たな第1の演算装置をスケジューリングし、新たな第1の演算装置により演算子に従って入力データの演算を行って演算結果を取得することができる。
選択可能に、演算プロセスに異常が発生する時、入力データの第1の属性情報に基づいて、新たな第2の演算装置をスケジューリングし、第2の演算装置の第2の属性情報を取得し、さらに、第1の属性情報と第2の属性情報とに基づいて候補演算子実現方式からターゲット演算子実現方式を選択するステップおよびその後のステップに戻ることができる。
以上により、本開示の実施例に係るデータ処理方法は、入力データの演算子に基づいて、入力データに対応するディープニューラルネットワークの演算子セットを生成し、演算子セットを演算装置に配布してディープニューラルネットワークを構築し、ディープニューラルネットワークにより入力データの演算を行って演算結果を取得することができるとともに、演算プロセスの異常を監視することができ、演算プロセスに異常が発生する時に、新たな第1の演算装置により演算子に従って入力データの演算を行って演算結果を取得することができ、また、入力データの第1の属性情報に基づいて、新たな第2の演算装置をスケジューリングすることができる。これにより、演算装置においてディープニューラルネットワークを構築して、入力データの演算を行って演算結果を取得することができ、入力データ演算プロセスにおける効率および精度を向上させることができる。
以下、本開示によって提供されるデータ処理のフレームを説明する。
図10に示すように、本開示のデータ処理フレームは、データ処理装置を備え、当該データ処理装置は上記実施例にかかるデータ処理方法を実行することができ、即ち、入力データの第1の属性情報と演算装置の第2の属性情報とに基づいて、演算子実現方式ライブラリから1つのターゲット演算子実現方式をスケジューリングすることができ、ここで、演算子実現方式ライブラリは少なくとも演算子組み合せ実現方式と演算子コンパイラ実現方式とを含み、入力データに対応するいずれか1つの演算子に対してスケジューリングされたターゲット演算子実現方式は、演算子組み合せ実現方式および演算子コンパイラ実現方式の一方である。入力データに対応する演算子は複数のサブ演算子を含み、演算子ライブラリから演算子に対応するサブ演算子を選択し、その後、ターゲット演算子実現方式でサブ演算子を処理して、入力データに対応する演算子を生成する必要がある。さらに、演算子実現方式を取得した後、演算子実現方式を演算装置にロードし、演算装置により演算子に従って入力データを演算することができる。
以下、本開示に係るデータ処理方法の流れを説明する。
図11に示すように、入力データがinput1である場合、演算装置の加速ライブラリバージョンをCUDNNに選定し、ここで、input1に対応する演算子はフル接続層(Fully Cnection、FC)演算子と正規化(softmax)演算子とを含み、ローカルまたはリモートで性能テスト結果を取得することができ、性能テスト結果が選択可能である場合、ターゲット演算子実現方式を直接スケジューリングすることができ、その後、FC演算子およびsoftmax演算子を生成し、演算装置によりこの2つの演算子に従ってinput1の演算結果output1を出力する。
図12に示すように、入力データがinput2であり、且つinput2のデータ形状がinput1のデータ形状と異なる場合、改めて演算子実現方式のスケジューリングを行う必要があり、演算装置の加速ライブラリバージョンをCUDAに選定し、input2に対応する演算子はFC演算子とsoftmax演算子とを含み、ローカルまたはリモートで性能テスト結果を取得することができ、性能テスト結果が選択可能である場合、演算装置により演算結果output2を直接出力する。
図13に示すように、入力データがinput3であり、且つinput3のデータ形状がinput1のデータ形状と同じである場合、演算装置の加速ライブラリバージョンをCUDAに選定し、input3に対応する演算子はFC演算子およびsoftmax演算子であり、ローカルまたはリモートで性能テスト結果を取得することができ、性能テスト結果が選択可能である場合、input1と同じ演算子実現方式を直接取得し、且つ演算装置により演算結果output3を出力することができる。
図14は、本開示に係るデータ処理方法を実現するためのデータ処理装置1400のブロック図である。図14に示すように、データ処理装置1400は、取得モジュール1501、選択モジュール1402、生成モジュール1403および演算モジュール1404を備える。
取得モジュール1401は、演算子に対応する入力データの第1の属性情報を取得し、且つ前記入力データに対応する演算装置の第2の属性情報を取得するように構成される。
選択モジュール1402は、前記第1の属性情報と前記第2の属性情報とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するように構成される。
生成モジュール1403は、前記ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するように構成される。
演算モジュール1404は、前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するように構成される。
選択モジュール1402は、さらに、前記第1の属性情報と前記第2の属性情報とに基づいて、前記候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得し、前記性能評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するように構成される。
選択モジュール1402は、さらに、前記演算子の前記候補演算子実現方式に対応する履歴性能評価結果を取得し、前記第1の属性情報と前記第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するように構成される。
選択モジュール1402は、さらに、前記履歴性能評価結果に基づいて、対応する履歴入力データと履歴実行装置とを取得し、前記履歴性能評価結果における前記履歴入力データの第1の属性情報および前記入力データの第1の属性情報と、前記履歴演算装置の第2の属性情報および前記演算装置の第2の属性情報とに基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するように構成される。
選択モジュール1402は、さらに、前記履歴入力データの第1の属性情報と前記入力データの第1の属性情報とを比較し、前記履歴演算装置の第2の属性情報と前記演算装置の第2の属性情報とを比較し、前記履歴性能評価結果から、前記入力データの第1の属性情報と一致し且つ前記演算装置の第2の属性情報と一致するターゲット性能評価結果を前記性能評価結果として選択するように構成される。
選択モジュール1402は、さらに、前記性能評価結果に対応する候補演算子実現方式を前記ターゲット演算子実現方式として決定するように構成される。
選択モジュール1402は、さらに、前記ターゲット演算子実現方式に対応する性能評価結果を、前記第1の属性情報および前記第2の属性情報にバインディングして、1つの新しい履歴性能評価結果として記憶するように構成される。
選択モジュール1402は、さらに、性能選好選択ポリシーを取得し、前記性能選好選択ポリシーに基づいて、ターゲット指標を決定し、前記性能評価結果から、前記ターゲット性能指標にマッチングする指標評価結果を選択し、前記指標評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するように構成される。
生成モジュール1403は、さらに、前記ターゲット演算子実現方式が演算子組み合せ実現方式であることに応答して、前記入力データの第1の属性情報に基づいて、必要な演算子と、前記必要な演算子に含まれる少なくとも1つの第1のサブ演算子と、前記第1のサブ演算子間の組み合せ順序とを取得し、前記組み合せ順序に基づいて、前記第1のサブ演算子を前記演算子に順次組み合わせるように構成される。
生成モジュール1403は、さらに、前記ターゲット演算子実現方式が演算子コンパイラ実現方式であることに応答して、前記入力データの第1の属性情報に基づいて、必要な演算子と、前記必要な演算子に含まれる少なくとも1つの第2のサブ演算子と、前記第2のサブ演算子のコンパイル順序とを取得し、すべての前記第2のサブ演算子に対してチューニング処理を行って、チューニングされたターゲット第2のサブ演算子を取得し、前記コンパイル順序に基づいて、前記ターゲット第2のサブ演算子を順次コンパイルして、前記演算子を生成するように構成される。
生成モジュール1403は、さらに、ターゲットチューニングポリシーを取得し、前記ターゲットチューニングポリシーに基づいてすべての前記第2のサブ演算子に対して演算子融合を行って、融合サブ演算子を取得して、前記融合サブ演算子に対して演算子グルーピングおよび演算子スケジューリングを行って、前記ターゲット第2のサブ演算子を取得するように構成される。
生成モジュール1403は、さらに、前記第1の属性情報に基づいて、前記入力データのデータ形状を決定し、前記データ形状に基づいて、対応する前記ターゲットチューニングポリシーを取得するように構成される。
演算モジュール1404は、さらに、前記入力データの前記演算子に基づいて、前記入力データに対応するディープニューラルネットワークの演算子セットを生成し、前記演算子セットを前記演算装置に配布して前記ディープニューラルネットワークを構築し、前記ディープニューラルネットワークにより前記入力データを演算して前記演算結果を取得するように構成される。
演算モジュール1404は、さらに、前記演算プロセスを監視し、前記演算プロセスの異常に応答して、演算を停止し且つ異常ログを生成するように構成される。
演算モジュール1404は、さらに、前記演算装置の第2の属性情報に基づいて、新たな第1の演算装置をスケジューリングし、前記新たな第1の演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するように構成される。
演算モジュール1404は、さらに、前記入力データの第1の属性情報に基づいて、新たな第2の演算装置をスケジューリングし、前記第2の演算装置の第2の属性情報を取得し、さらに、前記第1の属性情報と前記第2の属性情報とに基づいて候補演算子実現方式からターゲット演算子実現方式を選択するステップおよびその後のステップに戻るように構成される。
取得モジュール1401は、さらに、データ処理タスクを受信し、前記データ処理タスクから前記入力データを抽出するように構成され、前記入力データが、画像データ、オーディオデータ、およぼテキストデータのうちの1つである。
以上により、本開示の実施例に係るデータ処理装置は、入力データの第1の属性情報を取得し、且つ入力データに対応する演算装置の第2の属性情報を取得し、第1の属性情報と第2の属性情報とに基づいて、候補演算子実現方式からターゲット演算子実現方式を選択し、その後、ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、演算子を生成し、最後に、演算装置により演算子に従って入力データの演算を行って、演算結果を取得することができる。本開示の実施例では、データの第1の属性情報と演算装置の第2の属性情報とに基づいて、演算子実現方式の自動的なスケジューリングを行うことができ、各演算子実現方式の優勢を十分に生かし、ハードウェアの性能を十分に生かすことができる。
本開示の技術案では、関わるユーザ個人情報の収集、記憶、使用、加工、伝送、提供および公開などの処理のすべては、関連する法律および法規の規定に合致し、且つ公序良俗に違反しない。
本開示の実施例によれば、本開示は、電子機器、読み取り可能な記憶媒体およびコンピュータプログラムを提供する。
図15は、本開示の実施例を実現するための例示的な電子機器1300の概略ブロック図を示す。電子機器1300は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、及び他の適切なコンピュータなどの様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯情報端末、携帯電話、スマートフォン、ウェアラブルデバイス、他の同様のコンピューティングデバイスなどの様々な形式のモバイルデバイスを表すこともできる。本明細書で示されるコンポーネント、それらの接続と関係、及びそれらの機能は単なる例であり、本明細書の説明及び/又は要求される本開示の実現を制限することを意図したものではない。
図15に示すように、電子機器1500は、リードオンリーメモリ(ROM)1502に記憶されるコンピュータプログラムまたは記憶ユニット1508からランダムアクセスメモリ(RAM)1503にロードされるコンピュータプログラムに基づいて様々な適切な動作と処理を行うことができる計算ユニット1501を備える。RAM 1503では、電子機器1500の操作に必要な様々なプログラムおよびデータを記憶することができる。計算ユニット1501、ROM 1502およびRAM 1503はバス1504を介して互いに接続される。入力/出力(I/O)インターフェース1505もバス1504に接続される。
電子機器1500内の複数の部品はI/Oインターフェース1505に接続され、キーボード、マウスなどの入力ユニット1506と、様々なタイプのディスプレイ、スピーカーなどの出力ユニット1507と、磁気ディスク、光ディスクなどの記憶ユニット1508と、ネットワークカード、モデム、無線通信送受信機などのおよび通信ユニット1509と、を備える。通信ユニット1509は、電子機器1500がインターネットのようなコンピュータネットワークおよび/または様々な電信ネットワークを介して他のデバイスと情報/データを交換すること許容する。
計算ユニット1501は処理と計算能力を備える様々な汎用および/または専用処理コンポーネントであってもよい。計算ユニット1501のいくつかの例は、中央処理装置(CPU)、グラフィック処理装置(GPU)、様々な専有の人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、および如何なる適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット1501は上記で説明された各方法と処理を実行し、例えば図1~図13に示すデータ処理方法を実行する。例えば、いくつかの実施例では、車線変更制御方法はコンピュータソフトウェアプログラムとして実現することができ、それは有形的に機器読み取り可能な媒体、例えば記憶ユニット1508に含まれる。いくつかの実施例では、コンピュータプログラムの一部または全部はROM 1502および/または通信ユニット1509を介して電子機器1500にロードおよび/またはインストールすることができる。コンピュータプログラムがRAM 1503にロードされ且つ計算ユニット1501によって実行される時、上記で説明されたデータ処理方法の1つまたは複数のステップを実行することができる。予備的に、他の実施例では、計算ユニット1501は他の任意の適切な方式(例えば、ファームウェアにより)により、データ処理方法を実行するように構成されてもよい。
本文の以上で説明されたシステムと技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)、専用標準製品(ASSP)、システムオンチップ(SOC)、複雑なプログラマブル論理デバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実現することができる。これらの様々な実施形態は、1つまたは複数のコンピュータプログラム内で実行することを含むことができ、当該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラマブルプロセッサを備えるプログラマブルシステムにおいて実行および/または解釈することができ、当該プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータと命令を受信することができ、且つデータと命令を当該記憶システム、当該少なくとも1つの入力装置、および当該少なくとも1つの出力装置に送信する。
本開示の方法を実施するプログラムコードは1つまたは複数のプログラミング言語の任意の組み合せで書くことができる。これらのプログラムコードは汎用コンピュータ、専用コンピュータまたは他のプログラマブル車線変更制御装置のプロセッサまたはコントローラに提供することができ、これにより、プログラムコードがプロセッサまたはコントローラによって実行される際に、フローチャートおよび/またはブロック図で規定される機能/操作は実施される。プログラムコードは完全に機器で実行するか、一部が機器で実行するか、独立したソフトウェアパケットとして部分的に機器で実行され且つ部分的にリモート機器で実行されるか、または完全にリモート機器またはサーバで実行される。
本開示の文脈では、機器読み取り可能な媒体は有形の媒体であってもよく、命令実行システム、装置またはデバイスで使用されるプログラム、または命令実行システム、装置またはデバイスに合わせて使用するプログラムを含むまたは記憶することができる。機器読み取り可能な媒体は機器読み取り可能な信号媒体または機器読み取り可能な記憶媒体である。機器読み取り可能な媒体は電子的、磁性的、光学的、電磁的、赤外線のもの、または半導体システム、装置またはデバイス、または上記内容の如何なる適切な組み合せを含むことができるが、これらに限定されない。機器読み取り可能な記憶媒体のより具体的な例は、1つまたは複数のラインに基づく電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、フラッシュ、コンパクトディスクリードオンリーメモリ(CD-ROM)、光学記憶デバイス、磁気記憶デバイス、または上記内容の如何なる適切な組み合せを含むことができる。
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータ上で実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力、または、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインタフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションできる)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントのいずれかの組み合わせを備えるコンピューティングシステムで実行することができる。いずれかの形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを相互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネットおよびブロックチェーンネットワークを含む。
コンピュータシステムはクライアントとサーバを備えることができる。クライアントとサーバは、一般に、互いに離れており且つ通信ネットワークを介して対話する。対応するコンピュータで実行され且つ互いにクライアント-サーバ関係を有するコンピュータプログラムを介してクライアントとサーバとの関係を生成する。サーバはクラウドサーバであってもよいし、分散システムのサーバであってもよいし、またはブロックチェーンネットワークと組み合わせられるサーバであってもよい。
本開示の実施例により、本開示はコンピュータプログラムをさらに提供し、コンピュータプログラムがプロセッサによって実行される場合、本開示の上記実施例に係るデータ処理方法を実現する。
なお、以上に示す様々な形式のフローを使用して、ステップを改めて並べ替え、追加または削除することができることを理解されたい。例えば、本開示に記載の各ステップは、並列に実行されてもよいし、順次的に実行されてもよいし、異なる順序で実行されてもよいが、本開示で開示されている技術案の所望の結果を実現することができれば、本明細書では限定されない。
上記具体的な実施形態は、本開示に対する保護範囲を限定するものではない。当業者であれば、設計要件と他の要因に応じて、様々な修正、組み合わせ、一部の組み合せ及び代替を行うことができる。本開示の精神と原則内で行われる任意の修正、同等の置換、及び改善などは、いずれも本開示の保護範囲内に含まれるべきである。

Claims (41)

  1. 入力データの第1の属性情報を取得し、且つ前記入力データに対応する演算装置の第2の属性情報を取得するステップと、
    前記第1の属性情報および前記第2の属性情報に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するステップと、
    前記ターゲット演算子実現方式に基づいて、演算子ライブラリから前記入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するステップと、
    前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するステップと、
    を含むデータ処理方法。
  2. 前記第1の属性情報および前記第2の属性情報に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するステップが、
    前記第1の属性情報および前記第2の属性情報に基づいて、前記候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得するステップと、
    前記性能評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するステップと、
    を含む請求項1に記載のデータ処理方法。
  3. 前記第1の属性情報および前記第2の属性情報に基づいて、前記候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得するステップが、
    前記演算子の前記候補演算子実現方式に対応する履歴性能評価結果を取得するステップと、
    前記第1の属性情報および前記第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するステップと、
    を含む請求項2に記載のデータ処理方法。
  4. 前記第1の属性情報および前記第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するステップが、
    前記履歴性能評価結果に基づいて、対応する履歴入力データと履歴実行装置とを取得するステップと、
    前記履歴性能評価結果における前記履歴入力データの第1の属性情報および前記入力データの第1の属性情報ならびに前記履歴演算装置の第2の属性情報および前記演算装置の第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するステップと、
    を含む請求項2に記載のデータ処理方法。
  5. 前記履歴性能評価結果における前記履歴入力データの第1の属性情報および前記入力データの第1の属性情報ならびに前記履歴演算装置の第2の属性情報および前記演算装置の第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するステップが、
    前記履歴入力データの第1の属性情報と前記入力データの第1の属性情報とを比較するステップと、
    前記履歴演算装置の第2の属性情報と前記演算装置の第2の属性情報とを比較するステップと、
    前記履歴性能評価結果から、前記入力データの第1の属性情報と一致し且つ前記演算装置の第2の属性情報と一致するターゲット性能評価結果を前記性能評価結果として選択するステップと、
    を含む請求項4に記載のデータ処理方法。
  6. 前記性能評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するステップが、
    前記性能評価結果に対応する候補演算子実現方式を、前記ターゲット演算子実現方式として決定するステップを含む請求項4に記載のデータ処理方法。
  7. 前記第1の属性情報および前記第2の属性情報に基づいて、前記候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得するステップが、
    前記履歴性能評価結果には前記ターゲット性能評価結果が含まれていないことに応答して、前記第1の属性情報、前記第2の属性情報および前記演算子に基づいて、前記候補演算子実現方式の損失情報を取得し、前記損失情報に基づいて前記候補演算子実現方式の性能評価結果を生成するステップを含む請求項5に記載のデータ処理方法。
  8. 前記損失情報に基づいて前記候補演算子実現方式の性能評価結果を生成するステップの後に、
    前記ターゲット演算子実現方式に対応する性能評価結果を、前記第1の属性情報及び前記第2の属性情報にバインディングして、1つの新しい履歴性能評価結果として記憶するステップを含む請求項7に記載のデータ処理方法。
  9. 前記性能評価結果には複数の性能指標が含まれ、前記性能評価結果に基づいて、前記候補演算子実現方式からターゲット演算子実現方式を選択するステップが、
    前記ターゲット演算子実現方式を選択するためのターゲット性能指標を決定するステップと、
    前記ターゲット性能指標および前記性能評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するステップと、
    を含む請求項7に記載のデータ処理方法。
  10. 前記ターゲット性能指標および前記性能評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するステップが、
    性能選好選択ポリシーを選択し、前記性能選好選択ポリシーに基づいてターゲット性能指標を決定するステップと、
    前記性能評価結果から、前記ターゲット性能指標にマッチングする指標評価結果を取得するステップと、
    前記指標評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するステップと、
    を含む請求項9に記載のデータ処理方法。
  11. 前記ターゲット演算子実現方式に基づいて、演算子ライブラリから前記入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するステップが、
    前記ターゲット演算子実現方式が演算子組み合せ実現方式であることに応答して、前記入力データの第1の属性情報に基づいて、必要な演算子と、前記必要な演算子に含まれる少なくとも1つの第1のサブ演算子と、前記第1のサブ演算子間の組み合せ順序とを取得するステップと、
    前記組み合せ順序に基づいて、前記第1のサブ演算子を前記演算子に順次組み合わせるステップと、
    を含む請求項1に記載のデータ処理方法。
  12. 前記ターゲット演算子実現方式に基づいて、演算子ライブラリから前記入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するステップが、
    前記ターゲット演算子実現方式が演算子コンパイラ実現方式であることに応答して、前記入力データの第1の属性情報に基づいて、必要な演算子と、前記必要な演算子に含まれる少なくとも1つの第2のサブ演算子と、前記第2のサブ演算子のコンパイル順序とを取得するステップと、
    すべての前記第2のサブ演算子に対してチューニング処理を行って、チューニングされたターゲット第2のサブ演算子を取得するステップと、
    前記コンパイル順序に基づいて、前記ターゲット第2のサブ演算子を順次コンパイルして、前記演算子を生成するステップと、
    を含む請求項1に記載のデータ処理方法。
  13. すべての前記第2のサブ演算子に対してチューニング処理を行って、チューニングされたターゲット第2のサブ演算子を取得するステップが、
    ターゲットチューニングポリシーを取得し、前記ターゲットチューニングポリシーに基づいてすべての前記第2のサブ演算子に対して演算子融合を行って、融合サブ演算子を取得するステップと、
    前記融合サブ演算子に対して演算子グルーピングおよび演算子スケジューリングを行って、前記ターゲット第2のサブ演算子を取得するステップと、
    を含む請求項12に記載のデータ処理方法。
  14. ターゲットチューニングポリシーを取得するステップが、
    前記第1の属性情報に基づいて、前記入力データのデータ形状を決定するステップと、
    前記データ形状に基づいて、対応する前記ターゲットチューニングポリシーを取得するステップと、
    を含む請求項13に記載のデータ処理方法。
  15. 前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するステップが、
    前記入力データの前記演算子に基づいて、前記入力データに対応するディープニューラルネットワークの演算子セットを生成するステップと、
    前記演算子セットを前記演算装置に配布して前記ディープニューラルネットワークを構築し、前記ディープニューラルネットワークにより前記入力データを演算して、前記演算結果を取得するステップと、
    を含む請求項1に記載のデータ処理方法。
  16. 前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するステップが、
    前記演算プロセスを監視し、前記演算プロセスの異常に応答して、演算を停止し且つ異常ログを生成するステップを含む請求項1に記載のデータ処理方法。
  17. 前記演算子の演算プロセスの異常に応答して、前記演算装置の第2の属性情報に基づいて、新たな第1の演算装置をスケジューリングし、前記新たな第1の演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するステップを含む請求項16に記載のデータ処理方法。
  18. 前記演算子の演算プロセスの異常に応答して、前記入力データの第1の属性情報に基づいて、新たな第2の演算装置をスケジューリングし、前記第2の演算装置の第2の属性情報を取得し、前記第1の属性情報および前記第2の属性情報に基づいて候補演算子実現方式からターゲット演算子実現方式を選択する前記ステップおよびその後のステップに戻るステップを含む請求項16に記載のデータ処理方法。
  19. 入力データの第1の属性情報を取得するステップの前に、
    データ処理タスクを受信し、前記データ処理タスクから前記入力データを抽出するステップであって、前記入力データが、画像データ、オーディオデータおよびテキストデータのうちの1つであるステップを含む請求項1に記載のデータ処理方法。
  20. 入力データの第1の属性情報を取得し、且つ前記入力データに対応する演算装置の第2の属性情報を取得するように構成される取得モジュールと、
    前記第1の属性情報および前記第2の属性情報に基づいて、候補演算子実現方式からターゲット演算子実現方式を選択するように構成される選択モジュールと、
    前記ターゲット演算子実現方式に基づいて、演算子ライブラリから入力データに必要な演算子に含まれるサブ演算子を決定して、前記演算子を生成するように構成される生成モジュールと、
    前記演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するように構成される演算モジュールと、
    を備えるデータ処理装置。
  21. 前記選択モジュールが、
    前記第1の属性情報および前記第2の属性情報に基づいて、前記候補演算子実現方式の性能評価を行って、対応する性能評価結果を取得して、
    前記性能評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するように構成される請求項20に記載のデータ処理装置。
  22. 前記選択モジュールが、
    前記演算子の前記候補演算子実現方式に対応する履歴性能評価結果を取得し、
    前記第1の属性情報および前記第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するように構成される請求項21に記載のデータ処理装置。
  23. 前記選択モジュールが、
    前記履歴性能評価結果に基づいて、対応する履歴入力データと履歴実行装置とを取得し、
    前記履歴性能評価結果における前記履歴入力データの第1の属性情報および前記入力データの第1の属性情報ならびに前記履歴演算装置の第2の属性情報および前記演算装置の第2の属性情報に基づいて、前記履歴性能評価結果からターゲット性能評価結果を前記性能評価結果として選択するように構成される請求項21に記載のデータ処理装置。
  24. 前記選択モジュールが、
    前記履歴入力データの第1の属性情報と前記入力データの第1の属性情報とを比較し、
    前記履歴演算装置の第2の属性情報と前記演算装置の第2の属性情報とを比較し、
    前記履歴性能評価結果から、前記入力データの第1の属性情報と一致し且つ前記演算装置の第2の属性情報と一致するターゲット性能評価結果を前記性能評価結果として選択するように構成される請求項23に記載のデータ処理装置。
  25. 前記選択モジュールが、
    前記性能評価結果に対応する候補演算子実現方式を前記ターゲット演算子実現方式として決定するように構成される請求項23または24に記載のデータ処理装置。
  26. 前記選択モジュールが、
    前記履歴性能評価結果にはターゲット性能評価結果が含まれていないことに応答して、前記第1の属性情報、前記第2の属性情報および前記演算子に基づいて、前記候補演算子実現方式の損失情報を取得し、前記損失情報に基づいて前記候補演算子実現方式の性能評価結果を生成するように構成される請求項24に記載のデータ処理装置。
  27. 前記選択モジュールが、
    前記ターゲット演算子実現方式に対応する性能評価結果を、前記第1の属性情報および前記第2の属性情報にバインディングして、1つの新しい履歴性能評価結果として記憶するように構成される請求項26に記載のデータ処理装置。
  28. 前記選択モジュールが、
    前記ターゲット演算子実現方式を選択するように構成されるターゲット性能指標を決定し、
    前記ターゲット性能指標と前記性能評価結果とに基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するように構成される請求項26に記載のデータ処理装置。
  29. 前記選択モジュールが、
    性能選好選択ポリシーを取得し、前記性能選好選択ポリシーに基づいて、ターゲット性能指標を決定し、
    前記性能評価結果から、前記ターゲット性能指標にマッチングする指標評価結果を選択し、
    前記指標評価結果に基づいて、前記候補演算子実現方式から前記ターゲット演算子実現方式を選択するように構成される請求項28に記載のデータ処理装置。
  30. 前記生成モジュールが、
    前記ターゲット演算子実現方式が演算子組み合せ実現方式であることに応答して、前記入力データの第1の属性情報に基づいて、必要な演算子と、前記必要な演算子に含まれる少なくとも1つの第1のサブ演算子と、前記第1のサブ演算子間の組み合せ順序とを取得し、
    前記組み合せ順序に基づいて、前記第1のサブ演算子を前記演算子に順次組み合わせるように構成される請求項20から22のいずれか一項に記載のデータ処理装置。
  31. 前記生成モジュールが、
    前記ターゲット演算子実現方式が演算子コンパイラ実現方式であることに応答して、前記入力データの第1の属性情報に基づいて、必要な演算子と、前記必要な演算子に含まれる少なくとも1つの第2のサブ演算子と、前記第2のサブ演算子のコンパイル順序とを取得し、
    すべての前記第2のサブ演算子に対してチューニング処理を行って、チューニングされたターゲット第2のサブ演算子を取得し、
    前記コンパイル順序に基づいて、前記ターゲット第2のサブ演算子を順次コンパイルして、前記演算子を生成するように構成される請求項20から22のいずれか一項に記載のデータ処理装置。
  32. 前記生成モジュールが、
    ターゲットチューニングポリシーを取得し、前記ターゲットチューニングポリシーに基づいてすべての前記第2のサブ演算子に対して演算子融合を行って、融合サブ演算子を取得し、
    前記融合サブ演算子に対して演算子グルーピングおよび演算子スケジューリングを行って、前記ターゲット第2のサブ演算子を取得するように構成される請求項31に記載のデータ処理装置。
  33. 前記生成モジュールが、
    前記第1の属性情報に基づいて、前記入力データのデータ形状を決定し、
    前記データ形状に基づいて、対応する前記ターゲットチューニングポリシーを取得するように構成される請求項32に記載のデータ処理装置。
  34. 前記演算モジュールが、
    前記入力データの前記演算子に基づいて、前記入力データに対応するディープニューラルネットワークの演算子セットを生成し、
    前記演算子セットを前記演算装置に配布して前記ディープニューラルネットワークを構築し、前記ディープニューラルネットワークにより前記入力データを演算して、前記演算結果を取得するように構成される請求項20に記載のデータ処理装置。
  35. 前記演算モジュールが、
    前記演算プロセスを監視し、前記演算プロセスの異常に応答して、演算を停止し且つ異常ログを生成するように構成される請求項20に記載のデータ処理装置。
  36. 前記演算モジュールが、
    前記演算装置の第2の属性情報に基づいて、新たな第1の演算装置をスケジューリングし、前記新たな第1の演算装置により前記演算子に従って前記入力データの演算を行って、演算結果を取得するように構成される請求項35に記載のデータ処理装置。
  37. 前記演算モジュールが、
    前記入力データの第1の属性情報に基づいて、新たな第2の演算装置をスケジューリングし、前記第2の演算装置の第2の属性情報を取得し、前記第1の属性情報および前記第2の属性情報に基づいて候補演算子実現方式からターゲット演算子実現方式を選択するステップおよびその後のステップに戻るように構成される請求項35に記載のデータ処理装置。
  38. 前記取得モジュールが、
    データ処理タスクを受信し、前記データ処理タスクから前記入力データを抽出するように構成され、前記入力データが、画像データ、オーディオデータおよびテキストデータのうちの1つである請求項20に記載のデータ処理装置。
  39. 少なくとも1つのプロセッサと、
    該少なくとも1つのプロセッサと通信可能に接続されるメモリと、
    を備え、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶されており、前記命令が前記少なくとも1つのプロセッサによって実行される場合、前記少なくとも1つのプロセッサが請求項1から19のいずれか一項に記載のデータ処理方法を実行できる電子機器。
  40. コンピュータに請求項1から19のいずれか一項に記載のデータ処理方法を実行させるためのコンピュータ命令をした非一時的コンピュータ読み取り可能な記憶媒体。
  41. プロセッサによって実行される場合、請求項1から19のいずれか一項に記載のデータ処理方法のステップを実現するコンピュータプログラム。
JP2022203468A 2021-12-31 2022-12-20 データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム Active JP7545461B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111659099.2 2021-12-31
CN202111659099.2A CN114492737B (zh) 2021-12-31 2021-12-31 数据处理方法、装置及电子设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
JP2023036773A true JP2023036773A (ja) 2023-03-14
JP7545461B2 JP7545461B2 (ja) 2024-09-04

Family

ID=81497195

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022203468A Active JP7545461B2 (ja) 2021-12-31 2022-12-20 データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11983086B2 (ja)
EP (1) EP4113390A3 (ja)
JP (1) JP7545461B2 (ja)
KR (1) KR20220166241A (ja)
CN (1) CN114492737B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114492737B (zh) * 2021-12-31 2022-12-09 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
CN115145965B (zh) * 2022-09-01 2022-11-22 浙江大华技术股份有限公司 数据流的生成方法、电子设备及计算机可读存储介质
CN116483482B (zh) * 2023-05-19 2024-03-01 北京百度网讯科技有限公司 深度学习任务处理方法、系统、装置、设备及介质
CN117194991B (zh) * 2023-11-03 2024-02-13 四川并济科技有限公司 基于gpu集群的高维数据推荐系统及方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558056B2 (en) * 2013-07-28 2017-01-31 OpsClarity Inc. Organizing network performance metrics into historical anomaly dependency data
CN105787619A (zh) * 2014-12-25 2016-07-20 阿里巴巴集团控股有限公司 一种数据处理方法、装置及系统
JP6978174B2 (ja) * 2017-10-11 2021-12-08 アルパイン株式会社 評価情報生成システムおよび車載装置
CN108764487B (zh) * 2018-05-29 2022-07-08 北京百度网讯科技有限公司 用于生成模型的方法和装置、用于识别信息的方法和装置
US11841854B2 (en) * 2018-07-24 2023-12-12 MachEye, Inc. Differentiation of search results for accurate query output
CN110766147B (zh) * 2018-07-25 2022-10-11 赛灵思公司 神经网络编译器架构及编译方法
CN110968404B (zh) * 2018-09-30 2023-04-28 阿里巴巴集团控股有限公司 一种设备数据处理方法及装置
CN110210605B (zh) * 2019-05-31 2023-04-07 Oppo广东移动通信有限公司 硬件算子匹配方法及相关产品
CN110458294B (zh) * 2019-08-19 2022-02-25 Oppo广东移动通信有限公司 模型运行方法、装置、终端及存储介质
CN110689121A (zh) 2019-09-24 2020-01-14 上海寒武纪信息科技有限公司 一种用多核处理器实现神经网络模型拆分方法及相关产品
CN110956272B (zh) * 2019-11-01 2023-08-08 第四范式(北京)技术有限公司 实现数据处理的方法和系统
US20210174214A1 (en) * 2019-12-10 2021-06-10 The Mathworks, Inc. Systems and methods for quantizing a neural network
CN111210005B (zh) * 2019-12-31 2023-07-18 Oppo广东移动通信有限公司 设备运行方法、装置、存储介质及电子设备
CN113128678A (zh) * 2020-01-15 2021-07-16 华为技术有限公司 神经网络的自适应搜索方法及装置
CN111340237B (zh) * 2020-03-05 2024-04-26 腾讯科技(深圳)有限公司 数据处理和模型运行方法、装置和计算机设备
CN111783952B (zh) * 2020-06-30 2023-07-14 北京百度网讯科技有限公司 配置方法、装置、系统、电子设备以及存储介质
CN111899149B (zh) * 2020-07-09 2024-07-02 浙江大华技术股份有限公司 基于算子融合的图像处理方法和装置、存储介质
CN111782402B (zh) * 2020-07-17 2024-08-13 Oppo广东移动通信有限公司 数据处理方法、装置以及电子设备
CN112200310B (zh) * 2020-08-28 2023-11-24 星宸科技股份有限公司 智能处理器、数据处理方法及存储介质
CN112084210B (zh) * 2020-09-28 2024-08-20 中国建设银行股份有限公司 数据处理方法、装置、电子设备及存储介质
CN112269723B (zh) * 2020-10-16 2023-01-10 苏州浪潮智能科技有限公司 存储设备的性能分析方法、装置及可读存储介质
CN112270413B (zh) * 2020-10-22 2024-02-27 北京百度网讯科技有限公司 算子合并方法、装置、电子设备及存储介质
CN112328378B (zh) * 2020-11-05 2023-03-24 南京星环智能科技有限公司 任务调度方法、计算机设备及存储介质
CN112560985B (zh) * 2020-12-25 2024-01-12 北京百度网讯科技有限公司 神经网络的搜索方法、装置及电子设备
CN112799642B (zh) * 2021-01-18 2022-04-05 北京百度网讯科技有限公司 用于处理数据的方法、装置、设备以及存储介质
CN113159091B (zh) * 2021-01-20 2023-06-20 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质
CN112948079B (zh) * 2021-02-18 2022-06-28 北京百度网讯科技有限公司 任务调度方法、装置、设备和计算机存储介质
CN113065639B (zh) * 2021-03-08 2023-06-13 深圳云天励飞技术股份有限公司 算子融合方法、系统、设备及存储介质
CN112860534B (zh) * 2021-03-17 2022-10-25 上海壁仞智能科技有限公司 硬件架构性能评估和性能优化方法及装置
CN113128702A (zh) * 2021-04-15 2021-07-16 杭州电子科技大学 一种基于强化学习的神经网络自适应分布式并行训练方法
CN113312175B (zh) * 2021-04-27 2024-09-06 北京迈格威科技有限公司 一种算子确定、运行方法及装置
CN113031966B (zh) * 2021-05-20 2021-09-21 之江实验室 一种智能选择编译加速库的深度学习编译优化方法
CN113378093B (zh) * 2021-06-25 2024-07-26 北京百度网讯科技有限公司 资源发布策略的确定方法、装置、电子设备及存储介质
CN115599356A (zh) * 2021-07-12 2023-01-13 华为云计算技术有限公司(Cn) 一种数据处理方法、装置及相关设备
CN113703741B (zh) * 2021-10-29 2022-02-22 深圳思谋信息科技有限公司 神经网络编译器配置方法、装置、计算机设备和存储介质
CN114492737B (zh) * 2021-12-31 2022-12-09 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品

Also Published As

Publication number Publication date
KR20220166241A (ko) 2022-12-16
CN114492737A (zh) 2022-05-13
US11983086B2 (en) 2024-05-14
JP7545461B2 (ja) 2024-09-04
US20230115163A1 (en) 2023-04-13
EP4113390A2 (en) 2023-01-04
EP4113390A3 (en) 2023-05-03
CN114492737B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
US11720822B2 (en) Gradient-based auto-tuning for machine learning and deep learning models
US11544604B2 (en) Adaptive model insights visualization engine for complex machine learning models
JP2023036773A (ja) データ処理方法、データ処理装置、電子機器、記憶媒体およびコンピュータプログラム
US11074107B1 (en) Data processing system and method for managing AI solutions development lifecycle
AU2021273796B2 (en) Dynamic automation of selection of pipeline artifacts
US9443194B2 (en) Missing value imputation for predictive models
US11915123B2 (en) Fusing multimodal data using recurrent neural networks
US11989657B2 (en) Automated machine learning pipeline for timeseries datasets utilizing point-based algorithms
US20190050465A1 (en) Methods and systems for feature engineering
US10013656B1 (en) Methods and apparatus for analytical processing of provenance data for HPC workflow optimization
AU2021264961B2 (en) Multi objective optimization of applications
US11861469B2 (en) Code generation for Auto-AI
CN114667507A (zh) 使用基于应用的剖析的机器学习工作负载的弹性执行
EP4024203A1 (en) System performance optimization
EP3701403B1 (en) Accelerated simulation setup process using prior knowledge extraction for problem matching
GB2611177A (en) Multi-task deployment method and electronic device
Junaid et al. Performance evaluation of data-driven intelligent algorithms for big data ecosystem
CN113448821B (zh) 一种识别工程缺陷的方法和装置
Duff et al. Experiments with sparse Cholesky using a parametrized task graph implementation
US20230169408A1 (en) Annotation of a Machine Learning Pipeline with Operational Semantics
Gao et al. Benchmarking, Measuring, and Optimizing: Second BenchCouncil International Symposium, Bench 2019, Denver, CO, USA, November 14–16, 2019, Revised Selected Papers
US20240346368A1 (en) Augmented feature enablement of machine learning models via graph neural networks
US20230168923A1 (en) Annotation of a Machine Learning Pipeline with Operational Semantics
CN118871933A (zh) 用于无监督异常检测的学习超参数缩放模型

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240517

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: 20240820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240823

R150 Certificate of patent or registration of utility model

Ref document number: 7545461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150