JP2021182176A - データ処理方法および関連製品 - Google Patents

データ処理方法および関連製品 Download PDF

Info

Publication number
JP2021182176A
JP2021182176A JP2019228338A JP2019228338A JP2021182176A JP 2021182176 A JP2021182176 A JP 2021182176A JP 2019228338 A JP2019228338 A JP 2019228338A JP 2019228338 A JP2019228338 A JP 2019228338A JP 2021182176 A JP2021182176 A JP 2021182176A
Authority
JP
Japan
Prior art keywords
artificial intelligence
processor
intelligence processor
terminal
cloud
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
JP2019228338A
Other languages
English (en)
Other versions
JP7045357B2 (ja
Inventor
ヤオ ジャン
Yao Zhang
シァオフ モン
Xiaofu Meng
シャオリ リォウ
Shaoli Lio
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.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp 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 Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Publication of JP2021182176A publication Critical patent/JP2021182176A/ja
Application granted granted Critical
Publication of JP7045357B2 publication Critical patent/JP7045357B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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/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/045Combinations of networks
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Machine Translation (AREA)

Abstract

【課題】端末側人工知能プロセッサがテープアウトされているか否かに関係なく、人工知能アルゴリズムモデルと人工知能プロセッサとの間の適応デバッグ作業を事前に実現できるデータ処理方法および関連製品を提供する。【解決手段】データ処理方法のフローチャートは、汎用プロセッサは、端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成しつつ、バイナリ命令に従って人工知能学習タスクを生成するS501。人工知能学習タスクをクラウド側人工知能プロセッサに送信するS502。人工知能学習タスクに対応する実行結果を受信するS503。実行結果に従ってオフライン実行ファイルを決定し、ここで、オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。【選択図】図5

Description

本願は、人工知能プロセッサ技術の分野に係り、特に、データ処理方法および関連製品に係る。
従来技術では、アルゴリズムアプリケーション開発者は、人工知能プロセッサが成功にテープアウトされた後だけに、人工知能プロセッサ(ハードウェアエンティティ)の対応するバージョンで開発およびテストする。
上記の説明から、従来技術では、開発された人工知能アルゴリズムは、人工知能プロセッサの対応するバージョンで実行された機能結果および性能結果は、人工知能プロセッサがテープアウトされた後だけにすることがわかる。それにより、人工知能プロセッサがテープアウトされていない際に、端末側から人工知能アルゴリズムモデルと人工知能プロセッサとの間のデバッグ作業を実現する方法は、解決すべき差し迫った需要である。
本願の実施例はデータ処理方法および関連製品を提供し、端末側人工知能プロセッサがテープアウトされているか否かに関係なく、本技術案は、人工知能アルゴリズムモデルと人工知能プロセッサとの間の適応デバッグ作業を事前に実現できる。
上記の目的を実現するために、本願はデータ処理方法を提案し、前記方法はクラウド側人工知能プロセッサ用にいられ、それは以下を含む。
人工知能学習タスクを受信する。ここで、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定される。
前記人工知能学習タスクを実行して、実行結果を生成する。
上記の目的を実現するために、本願は人工知能プロセッサを提案し,それは以下を含む。
受信モジュールは、人工知能学習タスクを受信するために用いられる。ここで、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定される。
実行モジュールは、前記人工知能学習タスクを実行して、実行結果を生成するために用いられる。
本技術案について技術的効果は、技術案に提供されたソフトウェア開発プラットフォームで、顧客は、当該ソフトウェア開発プラットフォームでアルゴリズムと人工知能プロセッサとの間の機能、パフォーマンス、および精度のデバッグを完成し、デバッグの完成後に生成されたオフライン実行ファイルは、互換性のあるアーキテクチャ上の多種なSoCチップで使用でき、上記の利点は、顧客がハードウェアエンティティを取得することなく、アルゴリズムと人工知能プロセッサとの間の機能、パフォーマンス、および精度を事前にデバッグできることであり、これにより、製品開発サイクルが大幅に短縮される。さらに、各SoCチップ用に一連の開発環境を個別に開発または適応させる必要はない。
本開示の開示形態の技術案をより明確に例示するために、実施形態の説明に使用された図面を以下に簡単に説明する。以下の説明における図面は、本開示のいくつかの実施形態を明らかにするに過ぎず、本開示に対する限定にならない。
図1は本技術案の概略構造図である。 図2は人工知能プロセッサのソフトウェアスタックの概略構造図である。 図3は技術案について適用シナリオの第1の概略図である。 図4は技術案について適用シナリオの第2の概略図である。 図5は本願によって提案されたデータ処理方法の第1のフローチャートである。 図6は人工知能学習ライブラリによってサポートされた各種類の基本的な演算子の概略図。 図7は本願によって提案されたデータ処理方法の第2のフローチャートである。 図8は本願によって提案されたデータ処理方法の第3のフローチャートである。 図9は本願によって提案されたデータ処理方法の第4のフローチャートである。 図10は本願によって提案されたデータ処理装置の機能ブロック図である。 図11は本願によって提案されたデータ人工知能プロセッサの第1の機能ブロック図である。 図12は本願によって提案されたデータ人工知能プロセッサの第2の機能ブロック図である。 図13は本願によって提案されたデータ処理システムの概略構造図である。
以下、添付図面を参照しながら、本開示の実施例について明確に説明する。本開示の例示的な実施例ならびにそれらの様々な特徴および有利な詳細は、添付の図面に示された非限定的で例示的な実施例を参照してより全面的に説明される。図に示されている特徴は必ずしも縮尺通りに描かれていないことに注意されよう。本開示は、本開示の例示的な実施例を不明確にしないように、既知の材料、構成要素、およびプロセス技術の説明を省略する。これらの例は、本開示の例示的な実施例の実現について理解を容易にし、さらに当業者が例示的な実施形態を実施できるようにするためであることが過ぎない。したがって、これらの例は、本開示の実施例の範囲を限定するものと解釈されるべきではない。
他に特に定義されない限り、本開示で使用された技術用語または科学用語は、本開示の技術分野に関係する当業者によって通常の意味で理解されるものとする。本開示で使用された「第1」、「第2」、および同様の用語は、順序、量、または重要性を示すものではなく、異なる構成要素を区別するために使用されるに過ぎない。また、本開示の各実施例において、同じまたは類似の参照符号は、同じまたは類似の構成要素を示す。
技術案のより良い理解を促進するために、まず本出願の実施形態に含まれる技術用語を以下に説明する:
テープアウト:集積回路設計の分野では、テープアウトとは試作品、すなわち、プリセット機能を満たす集積回路を設計した後、最初にテスト用に数個または数十個の製品を生産することを指し、テスト要求を満たす場合は、テスト要求を満たした集積回路の構造によって大量生産される。
人工知能プロセッサのソフトウェアスタック:図2を参照しながら、ソフトウェアスタック構造20は、人工知能アプリケーション200、人工知能フレームワーク202、人工知能学習ライブラリ204、人工知能ランタイムライブラリ206、およびドライバー
208を含む。次に、それに対して詳細に説明する。
人工知能アプリケーション200は、異なるアプリケーションシナリオに対応し、対応する人工知能アルゴリズムモデルを提供する。当該アルゴリズムモデルは、人工知能フレームワーク202のプログラミングインタフェースによって直接解析されでき、1つの可能な実現方法では、人工知能学習ライブラリ204は、人工知能アルゴリズムモデルをバイナリ命令に変換し、人工知能ランタイムライブラリ206を呼び出してバイナリ命令を人工知能学習タスクに変換し、当該人工知能学習タスクをタスクキューに差し入れてドライバー208によってスケジュールし、それにより基礎となる人工知能プロセッサによって実行する。もう1つの可能な実現方法では、直接に人工知能ランタイムライブラリ206を呼び出すことができ、前に静的に生成したオフラインファイルを実行し、中間ソフトウェアアーキテクチャのコストを削減し、運用効率を向上させる。
バイナリ命令:基礎となる人工知能プロセッサが認識できる情報である。
人工知能プロセッサ:専用プロセッサとも呼ばれ、特定のアプリケーションまたは分野に対するプロセッサである。例えば、グラフィックス プロセッシング ユニット(Graphics Processing Unit、略称GPU)は、ディスプレイコア、ビジュアルプロセッサ、ディスプレイチップとも呼ばれ、パーソナルコンピューター、ワークステーション 、ゲームコンソール、 およびあるモバイルデバイス ( タブレットPC 、 スマートフォンなど)で画像計算演算を実行するための専用プロセッサである。例えば、ニューラル プロセッシング ユニット(Neural Processing Unit、略称GPU)は、人工知能の分野での行列乗算に対して専用プロセッサであり、「データ駆動型並列コンピューティング」のアーキテクチャを採用しており、特にビデオ、および画像の大量のマルチメディアデータの処理に優れている。
再構成可能アーキテクチャ:人工知能プロセッサが再利用可能なハードウェアリソースを利用できる場合に、様々なアプリケーションの要求に応じて、特定のアプリケーション要求ごとにマッチングするアーキテクチャを提供するために柔軟に自身のアーキテクチャを変更するなら、この人工知能プロセッサは再構成可能コンピューティングシステムと呼ばれ、そのアーキテクチャは再構成可能アーキテクチャと呼ばれる。
専用プログラミング言語:特定のハードウェア開発に基づいた高水準のプログラミング言語である。例えば、Cuda Cである。
以下は、添付の図面を参照しながら、本開示の実施例によって提供されたデータ処理方法および関連製品の具体実施形態について詳細に説明する。
従来技術では、アルゴリズムアプリケーション開発者は、対応するバージョンのハードウェアの実体だけで人工知能アルゴリズムモデルと人工知能プロセッサとの間の適応デバッグ作業を実行する。従来技術の実現案は、テープアウトされていないチップとアルゴリズムとの間のデバック作業を実現できず、故にアルゴリズムモデルとチップとの間の適応を完成するために専用な時間が必要であり、製品の発売の締め切りは延ばされ、時間の問題により市場を占有する機会を見逃しがちである。
これに基づいて、本願により提供した技術案において、テープアウトされているかどうかに関係なく、端末側人工知能プロセッサのデバイス情報に従ってクラウド側から適切な人工知能プロセッサを照合することにより、端末側人工知能プロセッサをシミュレートし、本技術案におけるソフトウェア開発プラットフォームは、クライアントが提供するアルゴリズムモデルに対して一連の処理を通じて対応する人工知能学習タスクを提供し、当該
人工知能学習タスククラウド側の人工知能プロセッサで実行されて、実行結果を取得する。実行結果に応じて、ソフトウェア開発プラットフォームで人工知能学習タスクを調整し、本技術案については、人工知能アルゴリズムモデルを調整するかどうかに関わらず、人工知能学習ライブラリの最適化および/または端末側人工知能プロセッサのデバイス情報に対する調整により、どちらも人工知能学習タスクを調整する目的を達成でき、端末側人工知能プロセッサと人工知能アルゴリズムモデル間の適応を実現する。
図1に示すように、本技術案におけるシステムアーキテクチャ図であり、図1に示すように、当該システムアーキテクチャは、クラウド側デバイス101、ソフトウェア開発プラットフォーム102、および端末側デバイス103を含む。
具体的に実現では、ソフトウェア開発プラットフォーム102は、アプリケーション開発、パフォーマンスチューニング、機能デバッグなどための一連のツールキットを提供する。アプリケーション開発ツールには、人工知能学習ライブラリ、人工知能ランタイムライブラリ、コンパイラ、特定の分野向け(ビデオ分析など)のソフトウェア開発ツールが含まれる。機能デバッグツールは、プログラミングフレームワークや人工知能学習ライブラリなどのさまざまなレベルのデバッグ要求を満たすことができ、パフォーマンスチューニングツールはパフォーマンス分析ツール、システム監視ツール等を含む。コンパイラは、C ++言語の従来のコンパイラを含んでもよいし、また、C系言語に基づく機械学習コンパイラを含んでもよいし、また、他の高水準言語又は特別に設計されたドメイン専用のプログラミング言語(Domain Specific Language)機械学習コンパイラを含んでもよい。任意選択で、ソフトウェア開発プラットフォームは、クラウド側デバイス101におけるプロセッサで実行されてもよいし、またはローカル(host)コンピュータデバイスのプロセッサ上で実行されてもよいし、当該コンピュータデバイスは、汎用プロセッサ(CPUなど)とディスプレイとを含み得るものであり、ここでは特に限定されない。さらに任意選択で、上述のソフトウェア開発プラットフォームは、ローカルコンピュータデバイスまたはクラウド側デバイスでクライアントの形態で実行されてもよいし、本願の実施例では限定されない。図3に示すように、当該図面は概略に技術案について第1の適用シナリオを示している。ユーザは、デスクトップコンピュータでソフトウェア開発プラットフォームにログインし、ソフトウェア開発プラットフォームでアルゴリズムモデルに対応する人工知能学習タスクを生成し、クラウド側人工知能プロセッサで人工知能学習タスクの実行結果に基づいて人工知能学習タスクを調整する。図4に示すように、当該図面は概略に技術案について第二の適用シナリオを示している。クラウド側デバイス101には、人工知能ソフトウェア開発クライアントが設えられる。具体的には、クラウド側デバイスは完全なコンピューターシステムであり、汎用プロセッサと少なくとも1つの人工知能プロセッサとを含んでもよい。例えば、人工知能プロセッサには8つのクラスター(cluster)を含めることができ、各クラスターはごとに4つの人工知能プロセッサコアが含まれる。実際には、ソフトウェア開発プラットフォーム102は、データブロックなどのツールによって保存されたユーザ記録を維持し、当該ユーザ記録はユーザ個人情報(アカウント情報など)およびユーザが必要とするサービス情報を含む。サービス情報は、デバッグ要求と端末側の人工知能プロセッサのデバイス情報とを含むがそれに限定されない。当該デバッグ要求は、機能デバッグとパフォーマンスデバッグとを含むがそれに限定されない。デバイス情報は、ハードウェアアーキテクチャ情報と動作環境パラメータとを含む。動作環境パラメータは、端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプを含むがそれに限定されない。
具体的な実現では、クラウド側デバイス101は人工知能プロセッサを備えており、当該人工知能プロセッサはクラウド側人工知能プロセッサと呼ばれる。クラウド側人工知能
プロセッサは、人工知能プロセッサチップ、フィールドプログラマブルゲートアレイ、およびシミュレータを含むがそれに限定されない。人工知能プロセッサチップは、再構成可能なチップまたは非再構成可能なチップであり得る。クラウド側デバイス101は、サーバーボードまたはサーバーボードクラスターであり得る。
具体的な実現では、端末側デバイス103は人工知能プロセッサを備えており、当該人工知能プロセッサは端末側人工知能プロセッサと呼ばれる。端末側デバイスは、タブレットコンピューターや携帯電話などの端末デバイスであり得る。端末側デバイスは、カメラなどのエッジデバイスでもよい。本願の実施例では、端末側デバイス103は、テープアウトされていない状態のデバイスでもよいし、テープアウトされたデバイスでもよいことは注意されよう。
本技術案の動作原理は、ソフトウェア開発プラットフォーム102で、ドライバーが端末側人工知能プロセッサのデバイス情報に従ってクラウド側デバイス103から端末側デバイス103と一致する人工知能プロセッサをスクリーニングすることである。スクリーニングされたクラウド側人工知能プロセッサのハードウェアアーキテクチャ情報は、対応する端末側人工知能プロセッサのハードウェアアーキテクチャ情報と互換性があり、かつクラウド側人工知能プロセッサの命令セットも、対応する端末側人工知能プロセッサの命令セットと互換性がある。ここで、対応する端末側人工知能プロセッサのハードウェアアーキテクチャ情報と互換性があるクラウド側人工知能プロセッサのハードウェアアーキテクチャ情報は、クラウド側人工知能プロセッサの計算能力は、端末側人工知能プロセッサの計算能力より大きいか等しいことを含んでもよい。
ソフトウェア開発プラットフォーム102で、端末側人工知能プロセッサのデバイス情報に従って人工知能学習ライブラリのコンパイルインターフェースに対応するソフトウェアパラメータを設定し、プログラミングフレームワークによって取得されたアルゴリズムモデルを組み合わせ、設定された人工知能学習ライブラリのコンパイルインターフェースを呼び出してコンパイルすることにより、対応する端末側人工知能プロセッサのバイナリ命令を取得する。当該バイナリ命令はランタイムライブラリによって処理され、人工知能学習タスクが生成される。人工知能学習タスクはタスクキューに入れられ、最終的にドライバーによってタスクキューの内の人工知能学習タスクをタスクスケジューリングして、クラウド側人工知能プロセッサによって実行される。
クラウド側人工知能プロセッサによって実行された人工知能学習タスクによれば、実行結果をソフトウェア開発プラットフォーム102にフィードバックする。任意選択で、ソフトウェア開発プラットフォーム102は、実行結果を表示することができる。実行結果に従って、ソフトウェア開発プラットフォーム102は、ユーザの操作命令を受け取り、ソフトウェア開発プラットフォーム102は、操作命令を実行する3つの方法のうちの少なくとも1つに従ってバイナリ命令を調整する。この3つの方法は、端末側人工知能プロセッサのハードウェアアーキテクチャ情報の調整、端末側人工知能プロセッサの動作環境パラメータの調整、および人工知能学習タスクの最適化に分かれる。調整されたバイナリ命令を人工知能学習タスクに変換してタスクキューに入れられ、ドライバーによってタスクキューの内の人工知能学習タスクをタスクスケジューリングして、クラウド側人工知能プロセッサによって実行される。クラウド側人工知能プロセッサからのフィードバックの結果は、期待のどおりまで実行する。
本技術案では、端末側人工知能プロセッサのデバイス情報は人工知能学習ライブラリのコンパイルインターフェイスのソフトウェアパラメータに対応し、当該ソフトウェアパラメータには、RAMサイズ、キャッシュサイズ、キャッシュでキャッシュするかどうかなどのより多くの詳細情報が含まれる。これらの情報は、バイナリ命令の生成時に割り当て
られた操作ドメインに関連しているため、人工知能アルゴリズムモデルを変更しない場合に、端末側人工知能プロセッサのデバイス情報を変更することにより、バイナリ命令を調整して、人工知能学習タスクを調整できる。端末側人工知能プロセッサがテープアウトされたかどうかに関係なく、端末側人工知能プロセッサのデバイス情報に従ってクラウド側デバイス101から適応したクラウド側人工知能プロセッサは、端末側人工知能プロセッサをシミュレート、クラウド側人工知能プロセッサで対応する人工知能学習タスクを実行する。実行結果に従って、当該ソフトウェア開発プラットフォームでアルゴリズムモデルと人工知能プロセッサとの間の機能、パフォーマンス、および精度のデバッグを完成し、デバッグの完成後に生成されたオフライン実行ファイルは、互換性があるアーキテクチャ上の多種な端末側SoCチップで使用でき、それによる利点は、顧客がハードウェアエンティティを取得することなくて、アルゴリズムモデルと人工知能プロセッサとの間の機能、パフォーマンス、および精度を事前にデバッグできることであり、これにより、製品開発サイクルが大幅に短縮される。さらに、各端末側SoCチップ用に一連の開発環境を個別に開発または適応させる必要はない。
さらに、本技術案では、クラウド側人工知能プロセッサのデバイス情報に対応する現在の動作環境パラメータは、実際の動作環境パラメータと同じであってもよいし、実際の動作パラメータと異なっていてもよい。クラウド側人工知能プロセッサによる特定の人工知能学習タスクに対する実行結果に応じて、端末側人工知能プロセッサのデバイス情報が期待された条件を満たすか否かを判断する。端末側人工知能プロセッサのデバイス情報が期待された条件を満たさない場合には、端末側人工知能プロセッサのデバイス情報を、当該端末側人工知能プロセッサのデバイス情報が期待された条件を満たすまでさらに調整してもよい。したがって、本技術案として、端末側人工知能プロセッサのアーキテクチャが設計段階の際に、端末側のSoCチップの設計仕様をもアプリケーションに基づいて評価できる。
上記の説明に基づいて、図5に示すように、本願によって提案されたデータ処理方法のフローチャートである。前記方法は、汎用プロセッサに適用され、図1のソフトウェア開発プラットフォームに対応する。上述のように、当該汎用プロセッサは、クラウド側デバイス101の汎用プロセッサまたはローカルコンピュータデバイスの汎用プロセッサであり得る。含まれるものは:
ステップ501):前記汎用プロセッサは、端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成し、前記バイナリ命令に従って人工知能学習タスクを生成する。
本技術案では、ソフトウェア開発プラットフォーム102には、複数のプログラミングフレームワークを統合し、例えば、グーグルテンソル人工学習システムTensorFlow、ディープラーニングフレームワークCaffe、Caffe2、MXNetなどである。Caffeを例にとると、Caffeには、Blob、Layer、Netという3つのコアモジュールがある。Blobsはデータストレージ、データの相互作用と処理に使用され、Blobsにより、データメモリのインターフェイスを統一制定する。Layersは、ニューラルネットワークの核心であり、多くの層構造を定義し、それはBlobを入力および出力として扱う。NetsはLayersの集合であり、これらの層構造は結合することによりネットワークマップを形成する。
本ステップとして、端末側人工知能プロセッサのデバイス情報に従って人工知能学習ライブラリのコンパイルインターフェースに対応するソフトウェアパラメータを設定し、プログラミングフレームワークによって取得されたアルゴリズムモデルを組み合わせ、設定された人工知能学習ライブラリのコンパイルインターフェースを呼び出してコンパイルす
ることにより、対応する端末側人工知能プロセッサのバイナリ命令を取得する。当該バイナリ命令はランタイムライブラリによって処理され、人工知能学習タスクを生成する。人工知能学習タスクはタスクキューに入れられ、最終的にドライバーによってタスクキューの内の人工知能学習タスクをタスクスケジューリングして、クラウド側人工知能プロセッサによって実行される。
実際の運用では、人工知能学習ライブラリは、人工知能プロセッサでさまざまな人工知能学習アルゴリズムを高速化することために用いられる。ここで、人工知能学習アルゴリズムは、深層学習アルゴリズムを含むがそれに限定されなく、例えば、畳み込みニューラルネットワークアルゴリズム、回帰型ニューラルネットワークアルゴリズムなどである。具体的には、人工知能学習ライブラリは主に次の機能を含む。
(1)各種類の基本的な演算子をサポートする。
具体的な実現では、基本的な演算子を組み合わせてさまざまな機械学習アルゴリズムを実現できるため、汎用性、柔軟性、およびスケーラビリティについて要望を満たす。
具体的には、ここに係る様々なタイプの基本的な演算子は、一般的なニューラルネットワーク演算子1、行列、ベクトル、スカラー演算子2、および回帰型ニューラルネットワーク演算子3を含み得る。図6に参照すると、本願の実施例によって提供された人工知能学習ライブラリがサポートする複数のタイプの基本的な演算子の概略図であり、図6に示すように人工知能学習ライブラリがサポートする複数のタイプの基本的な演算子は、一般的なニューラルネットワーク演算子1を含み、当該ニューラルネットワーク演算子1は、畳み込み/逆畳み込み演算子11、プーリング演算子12、活性化演算子13、局所コントラスト正規化LRN(LRN、Local Response Normalization)/バッチ正規化演算子14、分類器(Softmax)演算子15、および全結合演算子16を含む。ここで、活性化演算子13は、ReLU、Sigmoid、Tanh、および他の補間により実現できる演算子を含むがそれに限定されない。行列、ベクトル、スカラー演算子2は、行列乗算演算子21、テンソル加算、減算演算子22、テンソル論理演算演算子23、テンソル(Tensor)変換演算子24、ROIPooling演算子25、およびProposal演算子26を含む。ここで、テンソル変換演算子24は、Crop、テンソル再整形Reshape、テンソル分割Slice、テンソル連結Concatなどを含むことができるがそれに限定されない。回帰型ニューラルネットワーク演算子3は、長・短期記憶ネットワークLSTM(LSTM、Long Short−Term Memory)演算子31、基本回帰型ニューラルネットワーク演算子RNN(Recurrent Neural Network、RNN)、回帰型ニューラルネットワークRNN演算子32、およびSVDF演算子33を含む。実際の運用では、ユーザは自身のニーズに応じて自由に新しい演算子を人工知能学習ライブラリに追加したり、人工知能学習ライブラリの異なるバージョンを変更したりできるが、ここでは詳しく説明せず、人工知能学習タスクをデバックする際に如何に開発プラットフォームで人工知能学習ライブラリに基づいて人工知能学習タスクを最適化することを説明する。
(2)基本的な演算子の融合をサポートする。
具体的な実現では、融合された演算子は、コンパイル中にメモリの再利用、メモリアクセスの最適化、命令パイプライン、データタイプの最適化(適用可能なさまざまなデータ型に対して選択を行うなど)などのコンパイラ最適化方法を使用するため、融合演算子の全体的なパフォーマンスを大幅に向上させる。
(3)オフライン実行ファイルの生成をサポートする。
ここで、オフライン実行ファイルの生成は、人工知能アルゴリズムモデル内の各コンピューティングノードのネットワーク重みと命令となどの必要なネットワーク構造情報を含
むことができ、命令は当該コンピューティングノードはどのようなコンピューティング機能を示すことができ、具体的には人工知能学習モデルにおける各コンピューティングノードのコンピューティング属性および各コンピューティングノードの間の接続関係などの情報を含む。
具体的な実現では、オフライン実行ファイルは、人工知能学習ライブラリから分離され、人工知能ランタイムライブラリに基づいて個別に実行できる。実際の運用では、オフライン実行ファイルは上位ソフトウェアスタックから分離されているため、オフライン実行ファイルの実行についてパフォーマンスと汎用性を向上させる。
ステップ502):前記汎用プロセッサは前記人工知能学習タスクを送信する。
本技術案として、端末側人工知能プロセッサのデバイス情報に従ってクラウド側デバイス101から適応したクラウド側人工知能プロセッサは、端末側人工知能プロセッサをシミュレートすることができる。次いで、ソフトウェア開発プラットフォーム102で生成された人工知能学習タスクは、クラウド側人工知能プロセッサに送信されて実行される。
ステップ503):前記汎用プロセッサは前記人工知能学習タスクに対応する実行結果を受信する。
クラウド側人工知能プロセッサは人工知能学習タスクを実行する際に、実行結果を生成し、当該実行結果をソフトウェア開発プラットフォーム102にフィードバックして表示する。本技術案として、実行結果は、以下の1つまたは1つ以上のものを含むがそれに限定されず、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されているときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのこととである。本技術案では、クラウド側の人工知能処理システムは、汎用プロセッサとクラウド側人工知能プロセッサを含んでいる。前記人工知能学習タスクを実行する際に、前記人工知能学習タスクを実行するときにクラウド側の人工知能プロセッサの負荷情報を知るだけでなく、実行プロセス中にメモリ使用量情報と汎用プロセッサ使用率を知ることも必要である。負荷情報が実行結果に含まれる理由は、人工知能学習タスクが汎用プロセッサで過大なリソースを必要とする場合、それを端末側デバイスで実行が不十分になるか実行できない可能性が高いである。
ステップ504):前記汎用プロセッサは、前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
オフライン実行ファイルは、オフライン実行ファイルのバージョン情報、人工知能プロセッサのバージョン情報、バイナリ命令、定数テーブル、入力/出力データ規模、データレイアウト説明情報、およびパラメータ情報を含むことは明らかにされよう具体的には、オフライン実行ファイルのバージョン情報は、オフライン実行ファイルの異なるバージョンを表すものである。人工知能プロセッサのバージョン情報は、端末側人工知能プロセッサのハードウェアアーキテクチャ情報を指す。例えば、チップアーキテクチャのバージョン番号によりハードウェアアーキテクチャ情報を表してもよいし、機能説明によりアーキテクチャ情報を表してもよい。データレイアウト説明情報は、ハードウェアの特性に基づいて入出力データのレイアウトとタイプなどを前処理することを指す。定数テーブル、入出力データ規模、およびパラメータ情報は、開発された人工知能アルゴリズムモデルに基
づいて決定される。パラメータ情報は、人工知能アルゴリズムモデルにおける重みデータであり得る。定数テーブルには、バイナリ命令演算プロセスの実行に使用する必要があるデータが格納されている。
端末側人工知能プロセッサのデバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
本技術案では、前記実行結果が事前設定された要件を満たしている場合に、事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。実行結果が事前設定された要件を満たしていない場合に、 機能デバッグツールおよび/またはパフォーマンスチューニングツールにより以下の最適化方法の内に少なくとも1つを、実行結果が事前設定された要件を満たすまで実行して、前記事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。ここで、前記最適化方法は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報の調整、前記端末側人工知能プロセッサの動作環境パラメータの調整、および人工知能学習タスクの最適化を含む。
具体的には、クラウド側人工知能プロセッサによってフィードバックされた実行結果が事前設定された要件を満たすと、現在実行されている人工知能学習タスクを対応するバイナリ命令がオフラインでオフライン実行ファイルに固定化する。
クラウド側人工知能プロセッサによってフィードバックされた実行結果が事前設定された要件を満たしていない場合には、人工知能学習タスクに対するデバッグは2つのアプリケーションシナリオとする。第1のアプリケーションシナリオは、アプリケーションに基づいたチップ設計フェーズで、本技術案を利用してチップ設計仕様を評価する。この状況で、チップのハードウェアアーキテクチャ情報と動作環境パラメータとはどちらも変更可能である。次に、ソフトウェア開発プラットフォームで、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報の調整、端末側人工知能プロセッサの動作環境パラメータの調整、および人工知能学習タスクの最適化という3つの方法の内に少なくとも1つを含むものを実行することにより、人工知能学習タスクに対応するバイナリ命令を適宜に調整できる。毎回調整の後で、ドライバーによってタスクキューの内の調整された人工知能学習タスクをタスクスケジューリングして、対応するクラウド側人工知能プロセッサによって実行して、新たな実行結果を取得する。新たな実行結果がまだ期待どおりでない場合は、ユーザは実行結果が期待どおりになるまで上記の手順を繰り返すことができる。最終にデバッグで取得したバイナリ命令は、オフライン方式でオフライン実行ファイルに固定化される。
第2のアプリケーションシナリオは、端末側人工知能プロセッサがテープアウトされているか否かに関係なく、ユーザはソフトウェア開発プラットフォームに基づいて設計開発を展開でき、端末側人工知能プロセッサと人工知能アルゴリズムモデルとの間の適応を実現できる。この状況で、実際には、他のアーキテクチャバージョンのチップ使用権を再購入しない限り、チップのハードウェアアーキテクチャ情報は簡単に変更されない。チップのハードウェアアーキテクチャ情報が変更されないと仮定すると、フトウェア開発プラットフォームで、現在のハードウェアアーキテクチャ情報に対応するチップにサポートされた動作環境パラメータの範囲内で動作環境パラメータを調整すること、および人工知能学習タスクの最適化という2つの方法の内に少なくとも1つを実行することにより、人工知
能学習タスクに対応するバイナリ命令を適宜に調整できる。毎回調整の後で、ドライバーによってタスクキューの内の調整された人工知能学習タスクをタスクスケジューリングして、対応するクラウド側人工知能プロセッサによって実行して、新たな実行結果を取得する。新たな実行結果がまだ期待どおりでない場合は、ユーザは実行結果が期待どおりになるまで上記の手順を繰り返すことができる。最終にデバッグで取得したバイナリ命令は、オフライン方式でオフライン実行ファイルに固定化される。
重要なのは、オフライン実行ファイルをクラウド側人工知能プロセッサまたは端末側人工知能プロセッサで実行できるようにし、かつ人工知能学習タスクをクラウド側人工知能プロセッサで実行する際に生成された実行結果と端末側人工知能プロセッサで実行する際に生成された実行結果とは、特定の許容誤差範囲内または完全に一致しており、本技術案では、端末側人工知能プロセッサのデバイス情報に従ってクラウド側人工知能プロセッサの集合から対応する端末側人工知能プロセッサをシミュレートできるクラウド側人工知能プロセッサをスクリーニングし、スクリーニングされたクラウド側人工知能プロセッサのハードウェアアーキテクチャ情報は、対応する端末側人工知能プロセッサのハードウェアアーキテクチャ情報と互換性があり、クラウド側人工知能プロセッサの命令セットは、対応する端末側人工知能プロセッサの命令セットと互換性があるため、オフライン実行ファイルについてシームレスな移行を実現できる。
本技術案では、異なる端末側人工知能プロセッサのデバイス情報は、ソフトウェア開発プラットフォーム102に事前に格納されてもよい。実際の必要に応じて、事前格納されたデバイス情報からターゲット情報を選択し、ターゲット情報に従ってクラウド側デバイス101から端末側人工知能プロセッサをシミュレートするクラウド側人工知能プロセッサを決定する。本技術案として、他の実行可能な解決策は、実際のニーズに応じて、毎回にデバイス情報を調整するたびに、ユーザがソフトウェア開発プラットフォーム102に異なるデバイス情報を設定し、ソフトウェア開発プラットフォーム102が端末側人工知能プロセッサのデバイス情報を受信し、現在の受信した端末側人工知能プロセッサのデバイス情報に従ってクラウド側デバイス101からクラウド側人工知能プロセッサを選択して、端末側人工知能プロセッサの人工知能プロセッサを置き換える。説明すべきなのは、前記端末側人工知能プロセッサのデバイス情報を取得する方法は単なる例示であり、網羅的ではなく、当業者は、本願の技術案の本質を理解した場合に、本願の技術案に基づいて他の変形または変換を生成すことが可能であり、例えば、端末側デバイス103は、リクエスト情報をソフトウェア開発プラットフォーム102に送信し、ソフトウェア開発プラットフォーム102はリクエスト情報を解析して端末側人工知能プロセッサのデバイス情報を取得する。しかしながら、実現された機能および達成された技術的効果が本願に類似している限り、それらはすべて本願の請求範囲内にあるべきである。
実際の運用では、クラウド側デバイス101から端末側人工知能プロセッサをシミュレートするクラウド側人工知能プロセッサを選択する際に、現在の有効な端末側デバイス情報をドライバプログラムに書き込み、ドライバプログラムにおけるデバイス情報に従ってクラウド側人工知能プロセッサを適応する。クラウド側人工知能プロセッサを適応するプロセスは以下を含む。
端末側人工知能プロセッサのードウェアアーキテクチャ情報に従ってクラウド側人工知能プロセッサをスクリーニングし、スクリーニングされたクラウド側人工知能プロセッサのハードウェアアーキテクチャ情報は、対応する端末側人工知能プロセッサのハードウェアアーキテクチャ情報と互換性があり、クラウド側人工知能プロセッサの命令セットは、対応する端末側人工知能プロセッサの命令セットと互換性がある。
端末側人工知能プロセッサの動作環境パラメータに従ってスクリーニングされたクラウ
ド側人工知能プロセッサの周波数と帯域幅とに対して調整する。
また、人工知能学習タスクの最適化に対する4つの方式があってもよい。第1の方式では、ユーザは、ソフトウェア開発プラットフォームでプログラミング言語に基づいてファイルをダイナミックリンクライブラリにコンパイルし、フレームワークで当該ダイナミックリンクライブラリを呼び出すことができる。
第2の方式では、ユーザは、ソフトウェア開発プラットフォームでプログラミング言語に基づいて新たな演算子を開発し、ローカルにおいてすでに有した人工知能学習ライブラリと組み合わせて、新たなオフライン実行ファイルを取得できる。例えば、proposal演算子を例とする。Faster−R−CnnにおけるProposal演算子をPluginOp演算子に置き換え、専用なプログラミング言語で作られたpropposal_kernel.mlu演算子を呼び出し、Cambricon−CaffeフレームワークにおけるProposal演算子はPluginOpにより専用なプログラミング言語で実現されたProposalKernelに置き換えられて、専用なプログラミング言語を既存の人工知能学習ライブラリとリンクし、人工知能学習ライブラリにおける各機能とオンライン、オフライン、レイヤーバイレイヤー、フュージョンなどの動作モードをサポートする。
第1の方式と第2の方式とから、フレームワークの内に多数の層と演算子とがサポートされ、一般的なモデルはすべてクラウドのサーバーボードで実行できる。しかしながら、アルゴリズムの更新は頻繁であるため、個人または組織は、カスタムな演算子とアルゴリズムとを蓄積する場合もあり、一つは、カスタムアルゴリズムを公開したくないことか、二つは、基礎となるライブラリにより直接に実際のアプリケーションへのサポート効率は要件を満たさないことであり、よって、専用なプログラミング言語を提供して、開発者が自主的なアルゴリズムを開発することを支援し、従来の開発モードにおいて柔軟性が欠如という問題点を解決する。
第3の方式では、ユーザは、ソフトウェア開発プラットフォームで現在のローカル人工知能学習ライブラリのバージョンの1つを選択し、それに対応する人工知能ランタイムライブラリを照合し、現在のローカル人工知能学習ライブラリが要望を満たさない場合、ソフトウェア開発プラットフォームに介してリクエストを送信し、ローカル人工知能学習ライブラリのバージョンをアップグレードする目的を達成する。ソフトウェア開発プラットフォームのオペレーターは、リクエストに応じてソフトウェア開発プラットフォームに対応する新バージョンの人工知能学習ライブラリおよび対応する工知能ランタイムライブラリを提供し、ユーザは、ソフトウェア開発プラットフォームで最新バージョンの人工知能学習ライブラリおよび対応する工知能ランタイムライブラリを選択し、最新バージョンの人工知能学習ライブラリに基づいてデバッグされたバイナリ命令を取得する。
第4の方式では、ユーザは人工知能アルゴリズムモデルを調整して、人工知能学習タスクを最適化する目的を達成できる。
実際の運用では、上記の4つの人工知能学習タスクを最適化する方式の少なくとも1つが使用し、人工知能学習タスクを最適化するという目標を達成する。人工知能アルゴリズムモデルを調整するかどうかに関わらず、人工知能学習ライブラリの最適化および/または端末側人工知能プロセッサのデバイス情報に対する調整により、どちらも人工知能学習タスクを調整する目的を達成でき、端末側人工知能プロセッサと人工知能アルゴリズムモデル間の適応を実現する。
図5に示す技術案に提供されたソフトウェア開発プラットフォームで、顧客は、当該ソ
フトウェア開発プラットフォームでアルゴリズムと人工知能プロセッサとの間の機能、パフォーマンス、および精度のデバッグを完成し、デバッグの完成後に生成されたオフライン実行ファイルは、互換性のあるアーキテクチャ上の多種な端末側SoCチップで使用でき、上記の利点は、顧客がハードウェアエンティティを取得する必要がなく、アルゴリズムと人工知能プロセッサとの間の機能、パフォーマンス、および精度を事前にデバッグできることであり、これにより、製品開発サイクルが大幅に短縮される。さらに、各端末側SoCチップ用に一連の開発環境を個別に開発または適応させる必要はない。
図7に示すように、それは本願によって提供されたデータ処理方法の第2のフローチャートである。前記方法は、クラウド側人工知能プロセッサに適用する。それは以下を含む。
ステップ701):人工知能学習タスクを受信する。ここで、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定される。
ステップ702):前記人工知能学習タスクを実行して、実行結果を生成する。
本ステップでは、前記実行結果は、以下の1つまたは1つ以上のものを含むがそれに限定されず、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されているときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのことである。
強調すべきなのは、図5に示された関連する技術案はすべて、図7に示された技術案に適用可能であるが、ここで説明は繰り返さない。
クラウド側デバイス101に対しては、一つのアプリケーションシナリオは、クラウド側人工知能プロセッサの集合は、端末側人工知能プロセッサのすべてのバージョンのハードウェアアーキテクチャ情報が可能な限りカバーすることが明確されよう。例えば、モデルはハードウェアアーキテクチャ情報のバージョンに対応し、端末側人工知能プロセッサのモデルはA、B、およびCである。クラウド側人工知能プロセッサの集合には、モデルAの人工知能プロセッサ、モデルBの人工知能プロセッサ、およびモデルCの人工知能プロセッサのいずれも含まれる。もう一つのアプリケーションシナリオは、クラウド側人工知能プロセッサの集合の内に、人工知能プロセッサのハードウェアアーキテクチャは、高性能バージョンの機能、中性能バージョンの機能、および低性能バージョンの機能を実現できる。例えば、異なるアプリケーションシナリオと実際のニーズに応じて、人工知能プロセッサの一部の機能を無効にし、低性能バージョンの人工知能プロセッサまたは中性能バージョンの人工知能プロセッサに変換してさまざまな顧客の要望を満足する。この状況では、本技術案におけるソフトウェア開発プラットフォーム102はバイナリ命令を生成する際は端末側人工知能プロセッサのデバイス情報に基づいており、かつ、ドライバプログラムによりスクリーニングされたクラウド側人工知能プロセッサによってサポートされた異なる動作環境パラメータを変更することにより、高性能バージョンの人工知能プロセッサの内に一部の機能の一部が無効され、実現された機能のみが対応する端末側人工知能プロセッサの機能と適応する。したがって、高性能バージョンの人工知能プロセッサの動作環境パラメータの値の範囲には、端末側人工知能プロセッサでサポートされているすべての動作環境パラメータが含まれる。例えば、クラウド側人工知能プロセッサのオンチップメモリサイズは100Mであり、端末側人工知能プロセッサのオンチップメモリサイズはある100Mより小さい値でもよい。
さらに、時分割多重方式を使用して、仮想マシン技術により、ユーザがクラウド側デバイス101の人工知能プロセッサのリソースを使用する時間帯に従って、クラウド側デバイス101の人工知能プロセッサを合理的に割り当て、リソースを異なる時間帯の人工知能学習タスクに割り当て、展開する必要があるクラウド側人工知能プロセッサの開発環境の数を減らしできる。
さらに、クラウド側デバイス101の人工知能プロセッサの集合に、必ずしもチップエンティティである必要はなく、FPGAであってもよい。現代的なIC設計に検証された技術主流を参照しながら、ハードウェア記述言語(VerilogまたはVHDL)により完成された回路設計は、簡単な統合およびレイアウトに介して速やかにFPGAに書き込むことができる。本技術案として、クラウド側人工知能プロセッサに適応したチップエンティティがない場合は、FPGAを使用してユーザにサービスを提供できる。端末側人工知能プロセッサのデバイス情報に従って要求が適合したFPGAをスクリーニングして、当該FPGAは端末側人工知能プロセッサのハードウェアアーキテクチャ情報に対応するイメージファイルを有する。適応したFPGAが存在しない場合に、ソフトウェア開発プラットフォーム102は、端末側人工知能プロセッサのハードウェアアーキテクチャ情報に対応するイメージファイルをアイドルFPGAに書き込み、当該FPGAをソフトウェア開発プラットフォームから送信された人工知能学習タスクを実行させる。
クラウド側人工知能プロセッサに対しては、より高い粒度のリソース構成を提供できる。例えば、ユーザAは、ソフトウェア開発プラットフォーム102でM個のコアに基づいて構成された端末側人工知能プロセッサにより人工知能学習タスクを生成し、適応されたクラウド側人工知能プロセッサは総数はN個のコアを有し、かつN個のコアの内にP個のコアは既にユーザBによって起動された人工知能学習タスクで使用される。M+P<=Nが満たされ、かつユーザAに対応する端末側人工知能プロセッサのデバイス情報とユーザBに対応する端末側人工知能プロセッサのデバイス情報が同じでなければならない場合、ソフトウェア開発プラットフォーム102における人工知能ランタイムライブラリは、異なるユーザによって起動された人工知能学習タスクを異なるコアに割り当て、各コアごとに異なる人工知能学習タスクを実行することにより、クラウド側人工知能プロセッサのリソースをより高い粒度な割り当てを実現する。
また、クラウド側人工知能プロセッサに対して、従来の非再構成可能なアーキテクチャの人工知能プロセッサであってもいし、再構成可能なアーキテクチャの人工知能プロセッサであってもよい。再構成可能アーキテクチャの人工知能プロセッサに対しては 、ドライバーにおいてデバイス情報を使用して再構成可能チップ内の環境動作パラメータを調整し、ソフトウェア開発プラットフォーム102から送信された人工知能学習タスクに従って再構成可能チップの内部の対応する機能モジュールを呼び出す。つまり、実際の運用における差異に従って、再構成可能チップの内部の機能モジュールを調整し、再構成されたチップは端末側人工知能プロセッサを置き換える。
上記のクラウド人工知能プロセッサの説明に基づいて、本技術案として、ソフトウェア開発プラットフォーム102は一定期間内の各時間帯で異なるハードウェアアーキテクチャ情報のクラウド側人工知能プロセッサを使用するユーザ数を統計し、ユーザの要望を満たす最小値Vを予想し、当該数字Vは配置されたクラウド側人工知能プロセッサの数の最小値である。これに基づいて、少数のW個人工知能プロセッサを耐障害性やユーザの急激な増加の場合を防ぐために冗長として追加し、よって(V+W)はクラウド側デバイス101に配置された必要な人工知能プロセッサの数である。同時に、ソフトウェア開発プラットフォーム102は、ユーザ量の変化を定期的に統計し、クラウド側デバイス101に配置された人工知能プロセッサの数を変更してユーザのニーズを満たし、かつクラウド側費用を削減する。
総括して、前記説明により、リアルタイムの配置方法を利用して、ソフトウェア開発プラットフォームから送信された人工知能学習タスクに従ってクラウド側デバイス101を動的に調整し、ユーザが気付けないままに時分割多重方式を利用することによりユーザはクラウド側デバイス101の人工知能プロセッサリソースを使用する時間帯に従って、異なる開発環境を配置することにより、同じクラウド側人工知能プロセッサリソースを異なる時間帯の人工知能学習タスクに割り当て、クラウド側人工知能プロセッサの開発環境の数を減らすことができる。
図8に示すように、それは本願によって提供されたデータ処理方法の第3のフローチャートである。前記方法は、端末側人工知能プロセッサに適用する。それは以下を含む。
ステップ801):オフライン実行ファイルを読み込む。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って決定される。
強調すべきなのは、図5、図7に示された関連する技術案はすべて、図8に示された技術案に適用可能であるが、ここで説明は繰り返さない。
端末側人工知能プロセッサに対して生成された人工知能学習タスクは、ソフトウェア開発プラットフォームでクラウド側人工知能プロセッサからフィードバックされた実行結果に従って人工知能学習タスクに対して最適化およびデバッグし、実行結果は期待された要件を満たした後、デバッグされた人工知能学習タスクのバイナリ命令は固定化処理によりオフライン実行ファイルに変更され、前のデバッグおよびパフォーマンス成果の固定化を実現する。その後、オフラインのアプリケーションを作成する必要があり、プログラミングフレームワークから切り離して実際のアプリケーションシナリオにおいて精度が正常であることを保証してから、端末側デバイス103にクロスコンパイルして実際に配置できる。
図9に示すように、それは本願によって提供されたデータ処理の第4のフローチャートである。前記システムは、汎用プロセッサとクラウド側人工知能プロセッサとを含む。それは以下を含む。
ステップa:前記汎用プロセッサは、端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成し、前記バイナリ命令に従って人工知能学習タスクを生成する。前記人工知能学習タスクをクラウド側人工知能プロセッサに送信して実行する。
ステップb:前記クラウド側人工知能プロセッサは人工知能学習タスクを受信し、前記人工知能学習タスクを実行し、実行結果を生成する。
ステップc:前記汎用プロセッサは前記人工知能学習タスクに対応する実行結果を受信し、前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
強調すべきなのは、図5、図7に示された関連する技術案はすべて、図9に示された技術案に適用可能であるが、ここで説明は繰り返さない。
図10に示すように、一つのデータ処理装置の機能ブロック図である。前記装置は、メモリおよび汎用プロセッサを備え、前記メモリは、前記汎用プロセッサで実行できるコン
ピュータプログラムを格納し、前記汎用プロセッサは前記コンピュータプログラムを実行する際に実現されたデータ処理フローは以下を含む。
端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成し、前記バイナリ命令に従って人工知能学習タスクを生成する。
前記人工知能学習タスクを、クラウド側人工知能プロセッサに送信して実行する。
前記人工知能学習タスクに対応する実行結果を受信する。
前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
任意選択で、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
任意選択で、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
任意選択で、前記汎用プロセッサがコンピュータプログラムを実行する際にデータ処理フローを実現することは、さらに以下を含む。
前記端末側人工知能プロセッサのデバイス情報を受信する。
任意選択で、前記汎用プロセッサがコンピュータプログラムを実行する際にデータ処理フローを実現することは、さらに以下を含む。
デバイス情報をドライバプログラムに書き込み、前記ドライバプログラムにおけるデバイス情報に従ってクラウド側人工知能プロセッサを適応する。
任意選択で、前記汎用プロセッサが前記実行結果に従って前記オフライン実行ファイルを決定する際に、前記コンピュータプログラムを実行する際にデータ処理フローを実現することは、以下を含む。
前記実行結果が事前設定された要件を満たしている場合に、事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。
任意選択で、前記汎用プロセッサが前記実行結果に従って前記オフライン実行ファイルを決定する際に、前記コンピュータプログラムを実行する際にデータ処理フローを実現することは、さらに以下を含む。
実行結果が事前設定された要件を満たしていない場合に、以下の最適化方法の内に少なくとも1つを、実行結果が事前設定された要件を満たすまで実行して、前記事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。ここで、前記最適化方法は、以下を含む。
前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報を調整する。
前記端末側人工知能プロセッサの動作環境パラメータを調整する。
または、人工知能学習タスクを最適化する。
任意選択で、前記汎用プロセッサが人工知能学習タスクを最適化する際にデータ処理フローを実現することは、以下を含む。
専用のプログラミング言語により人工知能学習タスクを最適化する。
任意選択で、前記汎用プロセッサが人工知能学習タスクを最適化する際にデータ処理フローを実現することは、さらに以下を含む。
人工知能学習ライブラリのバージョンを更新することにより人工知能学習タスクを最適化する。
任意選択で、前記汎用プロセッサが人工知能学習タスクを最適化する際にデータ処理フ
ローを実現することは、さらに以下を含む。
人工知能アルゴリズムモデルを調整する。
任意選択で、前記実行結果は、以下の1つまたは1つ以上のものを含むがそれに限定されず、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されているときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのこととである。
そのメモリと汎用プロセッサは、具体的な機能を実現し、本明細書における前述の実施形態と比較して説明することができ、かつ前述実施形態の技術的効果を達成することができ、ここで説明は繰り返さない。
本実施形態では、前記メモリは、情報を格納するための物理装置を含んでもよいし、通常は、情報をデジタル化してから、電気的、磁気的または光学的方法を利用する媒体に格納する。実施形態に係るメモリは、RAM、ROMなどの電気エネルギー方式を使用して情報を保存するデバイスと、ハードディスク、フロッピーディスク、磁気テープ、磁気コアメモリ、磁気バブルメモリ、USBフラッシュドライブなどの磁気エネルギー方式を使用して情報を保存するデバイスと、CDやDVDなどの光学方式を使用して情報を保存するデバイスとをさらに含んでもよい。無論、量子メモリ、グラフェンメモリなどの他の方式のメモリもある。
図11に示すように、一つの人工知能処理プロセッサの第1の機能ブロック図である。含まれるものは:
受信モジュール1101は、人工知能学習タスクを受信するために用いられる。ここで、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定される。
実行モジュール1102は、前記人工知能学習タスクを実行して、実行結果を生成するために用いられる。
任意選択で、前記実行モジュールにより前記実行結果は、以下の1つまたは1つ以上のものを含むがそれに限定されず、前記人工知能学習タスクの前記クラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されているときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのことである。
任意選択で、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティ、フィールドプログラマブルゲートアレイ、およびシミュレータの内に少なくとも1つを含む。
任意選択で、前記人工知能プロセッサは、再構成可能なアーキテクチャの人工知能プロセッサである。
図12に示すように、一つの人工知能処理プロセッサの第2の機能ブロック図である。含まれるものは:
取得モジュール1201は、オフライン実行ファイルを取得するために用いられる。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って決定される。
任意選択で、さらに以下を含む。
送信モジュール、リクエスト情報を送信するために用いられ、ここで、前記リクエスト
情報は前記端末側人工知能プロセッサのデバイス情報を含む。
任意選択で、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
任意選択で、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
図13に示すように、データ処理システムである。汎用プロセッサ1310とクラウド側人工知能プロセッサ1320とを含む。本実施例では、汎用プロセッサ1310およびクラウド側人工知能プロセッサ1320について具体的な実現は、前述の説明を参照すると理解されよう、ここで説明は繰り返さない。
本実施例では、本願の実施例はさらに読み取り可能な記憶媒体を提供し、それはコンピュータプログラムを格納し、コンピュータプログラムを実行するフローは図5、図7、図8、および図9に示されたデータ処理方法を体現する。
上記からわかるように、本願の実施例はデータ処理方法および関連製品を提供し、端末側人工知能プロセッサがテープアウトされているか否かに関係なく、本技術案は、人工知能アルゴリズムモデルと人工知能プロセッサとの間の適応デバッグ作業を事前に実現できる。
純粋なコンピューター読み取り可能なプログラムコードによりクライアントとサーバーに実現することに加えて、本技術案におけるステップをクライアントとサーバーで論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラー、および組み込みマイクロコントローラーなどの形で完全に実現できることも、当業者には知られている。したがって、そのようなクライアントとサーバーはハードウェアコンポーネントと見なすことができ、そこに含まれるさまざまな機能を実現する装置もハードウェアコンポーネント内の構造と見なすことができる。また、さまざまな機能を実現するためのデバイスさえを、方法を実現するためのソフトウェアモジュールと見なしてもよいか、ハードウェアコンポーネント内の構造と見なしてもよい。
上記の実施形態の説明から、本出願を、ソフトウェアに加えて必要な汎用ハードウェアプラットフォームによって実施できることは、当業者には明らかであろう。そのような理解に基づいて、本質的に本出願の技術案は、または関連技術に寄与する技術案の一部は、ROM/RAM、磁気ディスク、コンパクトディスクなどの記憶媒体に格納されるソフトウェア製品の形で具現化され得る。本開示の各実施形態またはその一部において説明される前記方法をコンピュータデバイス(パーソナルコンピュータ、サーバー、またはネットワークデバイスなどであってもよい)に実行させるための命令を含む。
本明細書における各実施形態は漸進的に説明されており、各実施形態間の同一または類似の部分は相互に参照されでき、各実施形態は他の実施形態との違いに焦点を当てる。特に、クライアントとサーバーに対して実施形態については、前述方法の実施形態についての紹介を参照できる。
本願は、プログラムモジュールなどのコンピューターによって実行されるコンピューター実行可能命令は一般的なコンテキストで説明できる。一般に、プログラムモジュールは、特定のタスクを実行したり、特定の抽象データタイプを実現したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本出願は、分散コンピューティング環境で実施することもでき、これらの分散コンピューティング環境では、通
信ネットワークを介して接続されたリモート処理デバイスによってタスクを実行する。分散コンピューティング環境では、プログラムモジュールは、ストレージデバイスを含むローカルコンピューター記憶媒体に配置してもよいか、リモートのコンピューター記憶媒体に配置してもよい。
実施形態で本願を説明したものの、本願精神から逸脱せずにいろんな変形及び変化があり、添付された請求範囲はそれらの変形及び変化は本願精神から逸脱しないことを、当業者には明らかであろう。
さらに、上記の内容は次の用語に従ってよりよく理解できる。
A1.データ処理方法として、前記方法はデータ処理システムに用いられ、前記データシステムは、汎用プロセッサとクラウド側人工知能プロセッサとを含む。それは以下を含む。
前記汎用プロセッサは、端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成しつつ、前記バイナリ命令に従って人工知能学習タスクを生成する。前記人工知能学習タスクをクラウド側人工知能プロセッサに送信して実行する。
前記クラウド側人工知能プロセッサは人工知能学習タスクを受信し、前記人工知能学習タスクを実行し、実行結果を生成する。
前記汎用プロセッサは前記人工知能学習タスクに対応する実行結果を受信し、前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
A2.A1に説明した方法によると、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
A3.A2に説明した方法によると、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
A4.A1に説明した方法によると、さらに以下を含む。
前記汎用プロセッサは、前記端末側人工知能プロセッサのデバイス情報を受信する。
A5.A4に説明した方法によると、さらに以下を含む。
前記汎用プロセッサは、デバイス情報をドライバプログラムに書き込み、前記ドライバプログラムにおけるデバイス情報に従ってクラウド側人工知能プロセッサを当てはめる。
A6.前記実行結果に従って前記オフライン実行ファイルを決定するA1に説明した前記方法は、以下を含む。
前記実行結果が事前設定された要件を満たしている場合に、事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。
A7.前記実行結果に従って前記オフライン実行ファイルを決定するA1に説明した前記方法は、さらに以下を含む。
実行結果が事前設定された要件を満たしていない場合に、以下の最適化方法の内に少なくとも1つを、実行結果が事前設定された要件を満たすまで実行して、前記事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。ここで、前記最適化方法は、以下を含む。
前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報を調整する。
前記端末側人工知能プロセッサの動作環境パラメータを調整する。
または、人工知能学習タスクを最適化する。
A8.A7に説明した方法によると、前記人工知能学習タスクを最適化するステップは以下を含む。
専用のプログラミング言語により人工知能学習タスクを最適化する。
A9.A7またはA8に説明した方法によると、前記人工知能学習タスクを最適化するステップは以下を含む。
人工知能学習ライブラリのバージョンを更新することにより人工知能学習タスクを最適化する。
A10.A7−A9のいずれか1項に説明した方法によると、前記人工知能学習タスクを最適化するステップは以下をさらに含む。
人工知能アルゴリズムモデルを調整する。
A11.A1−A10のいずれか1項に説明した方法には、前記実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されているときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのこととの内に少なくとも1つを含む。
A12.A1に説明した方法によると、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティ、フィールドプログラマブルゲートアレイ、およびシミュレータの内に少なくとも1つを含む。
A13.A12に説明した方法によると、前記人工知能プロセッサのハードウェアエンティティは、再構成可能なアーキテクチャの人工知能プロセッサハードウェアである。
B14.データ処理装置であって、メモリ、汎用プロセッサ、およびクラウド側人工知能プロセッサを備え、前記メモリは、前記汎用プロセッサおよび/またはクラウド側人工知能プロセッサで実行されるコンピュータプログラムを格納し、
前記汎用プロセッサは、端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成しつつ、前記バイナリ命令に従って人工知能学習タスクを生成する。前記人工知能学習タスクをクラウド側人工知能プロセッサに送信して実行するために用いられる。
前記クラウド側人工知能プロセッサは人工知能学習タスクを受信し、前記人工知能学習タスクを実行し、実行結果を生成するために用いられる。
前記汎用プロセッサは前記人工知能学習タスクに対応する実行結果を受信し、前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成されるためにさらに用いられる。
B15.B14に説明した装置によると、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
B16.B15に説明した装置によると、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
B17.B14に説明した装置によると、前記汎用プロセッサがさらに以下のため用いられる。
前記端末側人工知能プロセッサのデバイス情報を受信する。
B18.B17に説明した装置によると、前記汎用プロセッサがさらに以下のため用いられる。
デバイス情報をドライバプログラムに書き込み、前記ドライバプログラムにおけるデバイス情報に従ってクラウド側人工知能プロセッサを当てはめる。
B19.B14に説明した装置によると、前記汎用プロセッサは前記実行結果に従って前記オフライン実行ファイルを決定し、さらに以下を含む。
前記実行結果が事前設定された要件を満たしている場合に、事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。
B20.B14に説明した装置によると、前記汎用プロセッサは前記実行結果に従って前記オフライン実行ファイルを決定し、さらに以下を含む。
実行結果が事前設定された要件を満たしていない場合に、以下の最適化方法の内に少な
くとも1つを、実行結果が事前設定された要件を満たすまで実行して、前記事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。ここで、前記最適化方法は、以下を含む。
前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報を調整する。
前記端末側人工知能プロセッサの動作環境パラメータを調整する。
または、人工知能学習タスクを最適化する。
B21.B20に説明した装置によると、前記人工知能学習タスクを最適化するステップは以下を含む。
専用のプログラミング言語により人工知能学習タスクを最適化する。
B22.B20またはB21に説明した装置によると、前記人工知能学習タスクを最適化するステップは以下を含む。
人工知能学習ライブラリのバージョンを更新することにより人工知能学習タスクを最適化する。
B23.B20−B22のいずれか1項に説明した装置によると、前記人工知能学習タスクを最適化するステップは以下をさらに含む。
人工知能アルゴリズムモデルを調整する。
B24.B14−B23のいずれか1項に説明した装置によると、前記実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間、前記人工知能学習タスクが実行されているときのクラウド側人工知能処理システムの占用される負荷情報、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かの内に少なくとも1つを含む。
B25.B14に説明した装置によると、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティ、フィールドプログラマブルゲートアレイ、およびシミュレータの内に少なくとも1つを含む。
B26.B25に説明した装置によると、前記人工知能プロセッサのハードウェアエンティティは、再構成可能なアーキテクチャの人工知能プロセッサハードウェアである。
C1.データ処理方法として、前記方法は汎用プロセッサに用いられ、それは以下を含む。
前記汎用プロセッサは、端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成し、前記バイナリ命令に従って人工知能学習タスクを生成する。
前記汎用プロセッサは、前記人工知能学習タスクを、クラウド側人工知能プロセッサに送信して実行する。
前記汎用プロセッサは、前記人工知能学習タスクに対応する実行結果を受信する。
前記汎用プロセッサは、前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
C2.C1に説明した方法によると、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
C3.C2に説明した方法によると、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
C4.C1に説明した方法によると、さらに以下を含む。
前記汎用プロセッサは、前記端末側人工知能プロセッサのデバイス情報を受信する。
C5.C4に説明した方法によると、さらに以下を含む。
前記汎用プロセッサは、デバイス情報をドライバプログラムに書き込み、前記ドライバプログラムにおけるデバイス情報に従ってクラウド側人工知能プロセッサを当てはめる。
C6.前記実行結果に従って前記オフライン実行ファイルを決定するC1に説明した前
記方法は、以下を含む。
前記実行結果が事前設定された要件を満たしている場合に、事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。
C7.前記実行結果に従って前記オフライン実行ファイルを決定するC1に説明した前記方法は、さらに以下を含む。
実行結果が事前設定された要件を満たしていない場合に、以下の最適化方法の内に少なくとも1つを、実行結果が事前設定された要件を満たすまで実行して、前記事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。ここで、前記最適化方法は、以下を含む。
前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報を調整する。
前記端末側人工知能プロセッサの動作環境パラメータを調整する。
または、人工知能学習タスクを最適化する。
C8.C7に説明した方法によると、前記人工知能学習タスクを最適化するステップは以下を含む。
専用のプログラミング言語により人工知能学習タスクを最適化する。
C9.C7またはC8に説明した方法によると、前記人工知能学習タスクを最適化するステップは以下を含む。
人工知能学習ライブラリのバージョンを更新することにより人工知能学習タスクを最適化する。
C10.C7−C9のいずれか1項に説明した方法によると、前記人工知能学習タスクを最適化するステップは以下をさらに含む。
人工知能アルゴリズムモデルを調整する。
C11.C1−C10のいずれか1項に説明した方法によると、前記実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間、前記人工知能学習タスクが実行されるときのクラウド側人工知能処理システムの占用される負荷情報、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かの内に少なくとも1つを含む。
D12.データ処理装置であって、前記装置は、メモリおよび汎用プロセッサを備え、前記メモリは、前記汎用プロセッサで実行できるコンピュータプログラムを格納し、前記汎用プロセッサは前記コンピュータプログラムを実行する際に実現されるデータ処理フローは以下を含む。
端末側人工知能プロセッサのデバイス情報に従ってバイナリ命令を生成し、前記バイナリ命令に従って人工知能学習タスクを生成する。
前記人工知能学習タスクを、クラウド側人工知能プロセッサに送信して実行する。
前記人工知能学習タスクに対応する実行結果を受信する。
前記実行結果に従ってオフライン実行ファイルを決定する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
D13.D12に説明した装置によると、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
D14.D13に説明した装置によると、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
D15.D12に説明した装置によると、前記汎用プロセッサがコンピュータプログラムを実行する際にデータ処理フローを実現することは、さらに以下を含む。
前記端末側人工知能プロセッサのデバイス情報を受信する。
D16.D12またはD15に説明した装置によると、前記汎用プロセッサがコンピュータプログラムを実行する際にデータ処理フローを実現することは、さらに以下を含む。
デバイス情報をドライバプログラムに書き込み、前記ドライバプログラムにおけるデバイス情報に従ってクラウド側人工知能プロセッサを当てはめる。
D17.D12に説明した装置によると、前記汎用プロセッサが前記実行結果に従って前記オフライン実行ファイルを決定する際に、前記コンピュータプログラムを実行する際にデータ処理フローを実現することは、以下を含む。
前記実行結果が事前設定された要件を満たしている場合に、事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。
D18.D12に説明した装置によると、前記汎用プロセッサが前記実行結果に従って前記オフライン実行ファイルを決定する際に、前記コンピュータプログラムを実行する際にデータ処理フローを実現することは、以下をさらに含む。
実行結果が事前設定された要件を満たしていない場合に、以下の最適化方法の内に少なくとも1つを、実行結果が事前設定された要件を満たすまで実行して、前記事前設定された要件を満たすバイナリ命令に従って対応するオフライン実行ファイルを生成する。ここで、前記最適化方法は、以下を含む。
前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報を調整する。
前記端末側人工知能プロセッサの動作環境パラメータを調整する。
または、人工知能学習タスクを最適化する。
D19.D18に説明した装置によると、前記汎用プロセッサが人工知能学習タスクを最適化する際にデータ処理フローを実現することは、以下を含む。
専用のプログラミング言語により人工知能学習タスクを最適化する。
D20.D18またはD19に説明した装置によると、前記人工知能学習タスクを汎用プロセッサ最適化するステップは以下を含む。
人工知能学習ライブラリのバージョンを更新することにより人工知能学習タスクを最適化する。
D21.D18−D20のいずれか1項に説明した装置によると、前記汎用プロセッサが人工知能学習タスクを最適化する際にデータ処理フローを実現することは、以下をさらに含む。
人工知能アルゴリズムモデルを調整する。
D22.D12−D21のいずれか1項に説明した装置によると、前記実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されるときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのこととの内に少なくとも1つを含む。
E23.データ処理方法として、前記方法はクラウド側人工知能プロセッサ用にいられ、それは以下を含む。
人工知能学習タスクを受信する。ここで、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定される。
前記人工知能学習タスクを実行して、実行結果を生成する。
E24.E23に説明した方法によると、前記実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間が予想の要件を満たすか否かのことと、前記人工知能学習タスクが実行されるときのクラウド側人工知能処理システムの占用される負荷情報が予想の要件を満たすか否かのことと、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かのこととの内に少なくとも1つを含む。
E25.E23に説明した方法によると、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティ、フィールドプログラマブルゲートアレイ、およびシミュレータの内に少なくとも1つを含む。
E26.E25に説明した方法によると、前記クラウド側人工知能プロセッサのハードウェアエンティティは、再構成可能なアーキテクチャの人工知能プロセッサハードウェア
である。
F27人工知能プロセッサであって、それは以下を含む。
受信モジュールは、人工知能学習タスクを受信するために用いられる。ここで、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定される。
実行モジュールは、前記人工知能学習タスクを実行して、実行結果を生成するために用いられる。
F28.F27に説明した人工知能プロセッサによると、前記実行モジュールにより生成された実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間、前記人工知能学習タスクが実行されるときのクラウド側人工知能処理システムの占用される負荷情報、前記人工知能学習タスクを実行した結果が予想の要件を満たすか否かの内に少なくとも1つを含む。
F29.F27に説明した人工知能プロセッサによると、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティ、フィールドプログラマブルゲートアレイ、およびシミュレータの内に少なくとも1つを含む。
F30.F29に説明した人工知能プロセッサによると、前記クラウド側人工知能プロセッサのハードウェアエンティティは、再構成可能なアーキテクチャの人工知能プロセッサハードウェアである。
G31.データ処理方法として、前記方法は端末側人工知能プロセッサ用にいられ、それは以下を含む。
オフライン実行ファイルを取得する。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
G32.G31に説明した方法によると、前記方法はさらに以下を含む。
リクエスト情報を送信する。ここで、前記リクエスト情報は前記端末側人工知能プロセッサのデバイス情報を含む。
G33.G31に説明した方法によると、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
G34.G33に説明した方法によると、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも1つを含む。
H35人工知能プロセッサであって、それは以下を含む。
取得モジュールは、オフライン実行ファイルを取得するために用いられる。ここで、前記オフライン実行ファイルは、実行結果が事前設定された要件に満たしている場合に対応する前記端末側人工知能プロセッサのデバイス情報とバイナリ命令とに従って生成される。
H36.H35に説明した人工知能プロセッサによると、それは以下をさらに含む。
送信モジュール、リクエスト情報を送信するために用いられ、ここで、前記リクエスト情報は前記端末側人工知能プロセッサのデバイス情報を含む。
H37.H36に説明した人工知能プロセッサによると、前記デバイス情報は、前記端末側人工知能プロセッサのハードウェアアーキテクチャ情報と動作環境パラメータとを含む。
H38.H37に説明した人工知能プロセッサによると、前記動作環境パラメータは、前記端末側人工知能プロセッサの動作周波数、オフチップメモリと端末側人工知能プロセッサとの間のメモリアクセス帯域幅、オンチップメモリサイズ、端末側人工知能プロセッサのコア数、および端末側人工知能プロセッサのオペレーターのタイプの内に少なくとも
1つを含む。

Claims (8)

  1. データ処理方法であって、前記方法はクラウド側人工知能プロセッサ用にいられ、
    人工知能学習タスクを受信し、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定されることと、
    前記人工知能学習タスクを実行して、実行結果を生成することとを含むことを特徴とする方法。
  2. 請求項1に記載の方法であって、前記実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間と、前記人工知能学習タスクが実行されるときの占用されるクラウド側人工知能処理システムの負荷情報と、前記人工知能学習タスクを実行した結果が事前設定された要件を満たしているか否かのこととの内に少なくとも1つを含むことを特徴とする方法。
  3. 請求項1に記載の方法であって、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティと、フィールドプログラマブルゲートアレイと、シミュレータとの内に少なくとも1つを含むことを特徴とする方法。
  4. 請求項3に記載の方法であって、前記人工知能プロセッサのハードウェアエンティティは、再構成可能なアーキテクチャの人工知能プロセッサハードウェアであることを特徴とする方法。
  5. 人工知能プロセッサであって、
    人工知能学習タスクを受信するための受信モジュールと、
    前記人工知能学習タスクを実行して、実行結果を生成するための実行モジュールを備え、前記人工知能学習タスクは、端末側人工知能プロセッサのデバイス情報によって生成されたバイナリ命令に従って決定されることを特徴とする人工知能プロセッサ。
  6. 請求項5に記載の人工知能プロセッサであって、前記実行モジュールにより生成された実行結果は、前記人工知能学習タスクのクラウド側人工知能プロセッサでの実行時間と、前記人工知能学習タスクが実行されるときのクラウド側人工知能処理システムの占用される負荷情報と、前記人工知能学習タスクを実行した結果が事前設定された要件を満たしているか否かのこととの内に少なくとも1つを含むことを特徴とする人工知能プロセッサ。
  7. 請求項5に記載の人工知能プロセッサであって、前記クラウド側人工知能プロセッサは、人工知能プロセッサのハードウェアエンティティと、フィールドプログラマブルゲートアレイと、シミュレータとの内に少なくとも1つを含むことを特徴とする人工知能プロセッサ。
  8. 請求項7に記載の人工知能プロセッサであって、前記人工知能プロセッサのハードウェアエンティティは、再構成可能なアーキテクチャの人工知能プロセッサハードウェアであることを特徴とする人工知能プロセッサ。
JP2019228338A 2019-04-18 2019-12-18 データ処理方法および関連製品 Active JP7045357B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201910315962.9 2019-04-18
CN201910315962 2019-04-18
CN201910436801.5A CN111831543A (zh) 2019-04-18 2019-05-23 一种数据处理方法及相关产品
CN201910436801.5 2019-05-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019567739A Division JP7044808B2 (ja) 2019-04-18 2019-07-19 データ処理方法および関連製品

Publications (2)

Publication Number Publication Date
JP2021182176A true JP2021182176A (ja) 2021-11-25
JP7045357B2 JP7045357B2 (ja) 2022-03-31

Family

ID=70878367

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2019567739A Active JP7044808B2 (ja) 2019-04-18 2019-07-19 データ処理方法および関連製品
JP2019228338A Active JP7045357B2 (ja) 2019-04-18 2019-12-18 データ処理方法および関連製品
JP2019228339A Active JP6937357B2 (ja) 2019-04-18 2019-12-18 データ処理方法および関連製品
JP2019228337A Active JP7106513B2 (ja) 2019-04-18 2019-12-18 データ処理方法および関連製品

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019567739A Active JP7044808B2 (ja) 2019-04-18 2019-07-19 データ処理方法および関連製品

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2019228339A Active JP6937357B2 (ja) 2019-04-18 2019-12-18 データ処理方法および関連製品
JP2019228337A Active JP7106513B2 (ja) 2019-04-18 2019-12-18 データ処理方法および関連製品

Country Status (8)

Country Link
US (1) US11762690B2 (ja)
EP (4) EP3754495B1 (ja)
JP (4) JP7044808B2 (ja)
KR (4) KR102430739B1 (ja)
CN (6) CN111832737B (ja)
AU (4) AU2019283890B2 (ja)
CA (1) CA3065651A1 (ja)
WO (1) WO2020211205A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
KR102354720B1 (ko) 2018-02-13 2022-01-21 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 계산 장치 및 방법
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US20200159532A1 (en) 2018-02-13 2020-05-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
CN110162162B (zh) 2018-02-14 2023-08-18 上海寒武纪信息科技有限公司 处理器的控制装置、方法及设备
EP3624020A4 (en) 2018-05-18 2021-05-05 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCEDURES AND RELATED PRODUCTS
KR102470893B1 (ko) 2018-06-27 2022-11-25 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 온 칩 코드의 브레이크 포인트에 의한 디버그 방법, 온 칩 프로세서 및 브레이크 포인트에 의한 칩 디버그 시스템
EP3640810A4 (en) 2018-08-28 2021-05-05 Cambricon Technologies Corporation Limited DATA PRE-PROCESSING PROCESS AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIA
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
CN111383638A (zh) 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN111694617B (zh) * 2018-12-29 2023-05-02 中科寒武纪科技股份有限公司 网络离线模型的处理方法、人工智能处理装置及相关产品
CN111832737B (zh) 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US20200334522A1 (en) 2019-04-18 2020-10-22 Cambricon Technologies Corporation Limited Data processing method and related products
CN112085193B (zh) 2019-06-12 2024-03-29 上海寒武纪信息科技有限公司 一种神经网络的量化参数确定方法及相关产品
US11676028B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
CN110727633A (zh) * 2019-09-17 2020-01-24 广东高云半导体科技股份有限公司 基于SoC FPGA的边缘人工智能计算系统构架
CN113867797A (zh) * 2020-06-30 2021-12-31 上海寒武纪信息科技有限公司 计算装置、集成电路芯片、板卡、电子设备和计算方法
CN111860650A (zh) * 2020-07-21 2020-10-30 苏州浪潮智能科技有限公司 一种基于tvm的并行卷积融合的方法和设备
CN116134446A (zh) * 2020-07-28 2023-05-16 嘉楠明芯(北京)科技有限公司 神经网络模型的多算子运算方法以及装置
CN113159290B (zh) * 2021-04-26 2022-08-09 青岛本原微电子有限公司 一种神经网络模型网络推理的优化方法
CN114936631B (zh) * 2021-04-26 2023-06-09 华为技术有限公司 一种模型处理方法及装置
CN113190351B (zh) * 2021-05-06 2022-06-21 天津大学 一种面向分布式深度学习训练任务的高效资源分配系统
CN113435126B (zh) * 2021-07-07 2024-02-02 魏天骐 知识分享处理方法、智能机器人设备、知识分享系统、任务学习系统
US11977475B1 (en) * 2021-08-06 2024-05-07 Marvell Asia Pte Ltd Method and apparatus for compiler and low-level instruction validation of machine learning operations on hardware
US20230053820A1 (en) * 2021-08-19 2023-02-23 Red Hat, Inc. Generating a build process for building software in a target environment
CN114490116B (zh) * 2021-12-27 2023-03-24 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及存储介质
CN114172908B (zh) * 2022-02-10 2022-08-05 浙江大学 一种端云协同处理方法及设备
CN117061505A (zh) * 2022-05-05 2023-11-14 中国移动通信集团广东有限公司 移动视频ai平台及视频流处理方法
CN116501594B (zh) * 2023-06-27 2023-09-08 上海燧原科技有限公司 系统建模评估方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016830A (ja) * 2012-07-09 2014-01-30 Fujitsu Ltd 電力見積支援プログラム、電力見積支援装置および電力見積支援方法
JP2015011363A (ja) * 2013-06-26 2015-01-19 株式会社リコー 協調検証装置及び協調検証方法
WO2017138220A1 (ja) * 2016-02-12 2017-08-17 ソニー株式会社 情報処理方法および情報処理装置

Family Cites Families (213)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375860A (ja) 1989-08-18 1991-03-29 Hitachi Ltd パーソナライズド端末
US5052043A (en) 1990-05-07 1991-09-24 Eastman Kodak Company Neural network with back propagation controlled through an output confidence measure
US6144977A (en) 1995-07-10 2000-11-07 Motorola, Inc. Circuit and method of converting a floating point number to a programmable fixed point number
JPH0934698A (ja) * 1995-07-20 1997-02-07 Hitachi Ltd ソフトウェア生成方法及び開発支援方法
GB9602701D0 (en) 1996-02-09 1996-04-10 Canon Kk Image manipulation
US6167155A (en) 1997-07-28 2000-12-26 Physical Optics Corporation Method of isomorphic singular manifold projection and still/video imagery compression
US6223144B1 (en) * 1998-03-24 2001-04-24 Advanced Technology Materials, Inc. Method and apparatus for evaluating software programs for semiconductor circuits
AU3484100A (en) 1999-02-05 2000-08-25 Tensilica, Inc. Automated processor generation system for designing a configurable processor andmethod for the same
US7242414B1 (en) 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
JP2000293371A (ja) 1999-04-09 2000-10-20 Hitachi Ltd マイクロプログラム制御方法及び装置
US6671796B1 (en) 2000-02-25 2003-12-30 Sun Microsystems, Inc. Converting an arbitrary fixed point value to a floating point value
US6931639B1 (en) 2000-08-24 2005-08-16 International Business Machines Corporation Method for implementing a variable-partitioned queue for simultaneous multithreaded processors
US7153348B2 (en) 2000-09-07 2006-12-26 Nippon Steel Corporation Hexavalent chromium-free surface-treating agent for Sn or Al-based coated steel sheet, and surface treated steel sheet
US20020138714A1 (en) 2001-03-22 2002-09-26 Sun Microsystems, Inc. Scoreboard for scheduling of instructions in a microprocessor that provides out of order execution
CN1270273C (zh) 2001-04-19 2006-08-16 艾利森电话股份有限公司 自适应存储器分配
US20030167460A1 (en) 2002-02-26 2003-09-04 Desai Vipul Anil Processor instruction set simulation power estimation method
US7236995B2 (en) 2002-12-27 2007-06-26 Arm Limited Data processing apparatus and method for converting a number between fixed-point and floating-point representations
DE10316381A1 (de) 2003-04-10 2004-10-28 Bayer Technology Services Gmbh Verfahren zum Training von neuronalen Netzen
JP4202244B2 (ja) 2003-12-22 2008-12-24 Necエレクトロニクス株式会社 Vliw型dsp,及びその動作方法
US20060161375A1 (en) 2004-12-30 2006-07-20 Allen Duberstein Optimizing processing speed based on measured temperatures
US7721128B2 (en) 2005-11-29 2010-05-18 International Business Machines Corporation Implementation of thermal throttling logic
CN1851668A (zh) 2006-06-01 2006-10-25 北京天碁科技有限公司 片上系统芯片、片上系统芯片的跟踪调试系统及方法
DE102006059156B4 (de) 2006-12-14 2008-11-06 Advanced Micro Devices, Inc., Sunnyvale Verfahren zum Testen eines integrierten Schaltkreischips mit zumindest zwei Schaltungskernen sowie integrierter Schaltkreischip und Testsystem
US20110060587A1 (en) 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US8560591B2 (en) 2007-04-25 2013-10-15 International Business Machines Corporation Detection of potential need to use a larger data format in performing floating point operations
US8190664B2 (en) 2007-04-26 2012-05-29 International Business Machines Corporation Employing a mask field of an instruction to encode a sign of a result of the instruction
US8051117B2 (en) 2007-04-26 2011-11-01 International Business Machines Corporation Shift significand of decimal floating point data
US8051118B2 (en) 2007-04-26 2011-11-01 International Business Machines Corporation Composition of decimal floating point data
JP5184824B2 (ja) 2007-06-15 2013-04-17 キヤノン株式会社 演算処理装置及び方法
JP2009110353A (ja) 2007-10-31 2009-05-21 Hitachi Ltd マイクロコントローラ及び制御システム
US7904287B2 (en) 2007-11-13 2011-03-08 International Business Machines Corporation Method and system for real-time prediction of power usage for a change to another performance state
JP4998794B2 (ja) 2007-11-29 2012-08-15 Nkワークス株式会社 画像補正方法と画像補正装置
US20100073068A1 (en) 2008-09-22 2010-03-25 Hanwoo Cho Functional block level thermal control
CN101572829B (zh) 2009-06-10 2011-02-02 中国联合网络通信集团有限公司 Iptv视频质量监测方法、装置和系统
EP2336882A1 (en) * 2009-12-18 2011-06-22 Telefonaktiebolaget L M Ericsson (PUBL) Technique for run-time provision of executable code using off-device services
CN102667717A (zh) * 2009-12-21 2012-09-12 诺基亚公司 用于编译的方法、装置和系统
CN102985673B (zh) 2010-04-21 2015-06-17 丰田自动车株式会社 内燃机的控制装置
JP2011253374A (ja) 2010-06-02 2011-12-15 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8452463B2 (en) 2010-06-04 2013-05-28 Apple Inc. Adjusting the thermal behavior of a computing system using indirect information about ambient temperature
US8694572B2 (en) 2010-07-06 2014-04-08 Silminds, Llc, Egypt Decimal floating-point fused multiply-add unit
US8924455B1 (en) 2011-02-25 2014-12-30 Xilinx, Inc. Multiplication of matrices using systolic arrays
CN102761509B (zh) 2011-04-27 2016-01-06 联芯科技有限公司 Ofdm系统的接收系统及降低接收系统内存的方法
CN103534664B (zh) 2011-05-12 2016-08-31 苹果公司 存在感测
CN102789413B (zh) 2011-05-23 2016-02-17 同济大学 一种并行程序的调试系统及方法
US8594982B2 (en) * 2011-06-09 2013-11-26 Pulsar Informatics, Inc. Systems and methods for distributed calculation of fatigue-risk prediction and optimization
CN102404673B (zh) 2011-11-24 2013-12-18 苏州上声电子有限公司 数字化扬声器系统通道均衡与声场控制方法和装置
CN103152673B (zh) 2011-12-07 2015-07-08 中国科学院声学研究所 基于四元码动态失配整形的数字扬声器驱动方法和装置
CN102684701B (zh) 2012-04-27 2014-07-09 苏州上声电子有限公司 基于编码转换的数字扬声器驱动方法和装置
DE102012009502A1 (de) 2012-05-14 2013-11-14 Kisters Ag Verfahren zum Trainieren eines künstlichen neuronalen Netzes
US9417891B2 (en) * 2012-06-11 2016-08-16 Vmware, Inc. Unified storage/VDI provisioning methodology
US9063731B2 (en) 2012-08-27 2015-06-23 Samsung Electronics Co., Ltd. Ultra low power apparatus and method to wake up a main processor
CN102903089B (zh) 2012-09-07 2014-12-17 山东大学 一种Linux环境下生成遥感图像快视图的方法
US9412366B2 (en) 2012-09-18 2016-08-09 Adobe Systems Incorporated Natural language image spatial and tonal localization
CN102981854A (zh) 2012-11-16 2013-03-20 天津市天祥世联网络科技有限公司 基于浮点数运算内联函数库的神经网络优化方法
US20150369963A1 (en) 2012-11-22 2015-12-24 Keio University Acrylic copolymer, optical film, polarizing plate and liquid crystal display device
US9851977B2 (en) 2012-12-06 2017-12-26 Kalray Apparatus and method for combining thread warps with compatible execution masks for simultaneous execution and increased lane utilization
US9720732B1 (en) 2013-02-11 2017-08-01 Amazon Technologies, Inc. Parameter selection for optimization of task execution based on execution history for prior tasks
JP2014170295A (ja) 2013-03-01 2014-09-18 Honda Motor Co Ltd 物体認識システム及び物体認識方法
US20190138372A1 (en) 2013-04-29 2019-05-09 Moogsoft, Inc. System for managing an instructure with security
CN103268272B (zh) * 2013-05-07 2014-07-23 中国人民解放军国防科学技术大学 基于场景的处理器系统级验证完备性度量方法
JP5963957B2 (ja) * 2013-06-12 2016-08-03 三菱電機株式会社 開発環境システム、開発環境装置、開発環境提供方法及びプログラム
JP6184891B2 (ja) 2014-03-12 2017-08-23 東芝メモリ株式会社 情報処理装置、半導体チップ、情報処理方法およびプログラム
WO2015179632A1 (en) * 2014-05-22 2015-11-26 Scheffler Lee J Methods and systems for neural and cognitive processing
US9507405B2 (en) 2014-06-18 2016-11-29 Oracle International Corporation System and method for managing power in a chip multiprocessor using a proportional feedback mechanism
US9575537B2 (en) 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US10282100B2 (en) 2014-08-19 2019-05-07 Samsung Electronics Co., Ltd. Data management scheme in virtualized hyperscale environments
GB2524126B (en) 2014-08-28 2016-07-27 Imagination Tech Ltd Combining paths
US9916130B2 (en) 2014-11-03 2018-03-13 Arm Limited Apparatus and method for vector processing
FR3030077B1 (fr) 2014-12-10 2016-12-02 Arnault Ioualalen Procede d'ajustement de la precision d'un programme d'ordinateur manipulant au moins un nombre a virgule.
EP3035204B1 (en) 2014-12-19 2018-08-15 Intel Corporation Storage device and method for performing convolution operations
US20170061279A1 (en) 2015-01-14 2017-03-02 Intel Corporation Updating an artificial neural network using flexible fixed point representation
US20160328645A1 (en) 2015-05-08 2016-11-10 Qualcomm Incorporated Reduced computational complexity for fixed point neural network
US10083395B2 (en) 2015-05-21 2018-09-25 Google Llc Batch processing in a neural network processor
CN104899641B (zh) 2015-05-25 2018-07-13 杭州朗和科技有限公司 深度神经网络学习方法、处理器和深度神经网络学习系统
CN115100017A (zh) 2015-06-10 2022-09-23 无比视视觉技术有限公司 用于处理图像的图像处理器和方法
CN106250981B (zh) 2015-06-10 2022-04-01 三星电子株式会社 减少存储器访问和网络内带宽消耗的脉冲神经网络
CN104978303B (zh) 2015-06-19 2019-06-04 上海兆芯集成电路有限公司 单芯片整合的传感器集线器和多传感器管理方法
CN106469291A (zh) 2015-08-19 2017-03-01 中兴通讯股份有限公司 图像处理方法及终端
CN106528489A (zh) * 2015-09-14 2017-03-22 上海羽视澄蓝信息科技有限公司 基于云计算的车辆检测机器学习系统
US10031765B2 (en) 2015-09-24 2018-07-24 Intel Corporation Instruction and logic for programmable fabric hierarchy and cache
WO2017055609A1 (en) 2015-09-30 2017-04-06 Piksel, Inc Improved video stream delivery via adaptive quality enhancement using error correction models
US11061672B2 (en) 2015-10-02 2021-07-13 Via Alliance Semiconductor Co., Ltd. Chained split execution of fused compound arithmetic operations
CN106570559A (zh) 2015-10-09 2017-04-19 阿里巴巴集团控股有限公司 一种基于神经网络的数据处理方法和装置
US9930248B2 (en) 2015-11-17 2018-03-27 Eman Bayani Digital image capturing device system and method
CN106814639A (zh) 2015-11-27 2017-06-09 富泰华工业(深圳)有限公司 语音控制系统及方法
CN105893419A (zh) 2015-11-30 2016-08-24 乐视致新电子科技(天津)有限公司 一种多媒体照片生成方法、装置、设备及手机
US10699186B2 (en) 2015-12-02 2020-06-30 Google Llc Determining orders of execution of a neural network
CN105550222B (zh) 2015-12-07 2019-04-05 中国电子科技网络信息安全有限公司 一种基于分布式存储的图像服务系统及方法
CN105653790B (zh) 2015-12-29 2019-03-29 东南大学—无锡集成电路技术研究所 一种基于人工神经网络的乱序处理器Cache访存性能评估方法
CN110135581B (zh) 2016-01-20 2020-11-06 中科寒武纪科技股份有限公司 用于执行人工神经网络反向运算的装置和方法
CN106997236B (zh) 2016-01-25 2018-07-13 亮风台(上海)信息科技有限公司 基于多模态输入进行交互的方法和设备
US10664766B2 (en) * 2016-01-27 2020-05-26 Bonsai AI, Inc. Graphical user interface to an artificial intelligence engine utilized to generate one or more trained artificial intelligence models
US10497089B2 (en) 2016-01-29 2019-12-03 Fotonation Limited Convolutional neural network
US10103714B2 (en) 2016-03-01 2018-10-16 Qualcomm Incorporated Adjust voltage for thermal mitigation
JP2017156511A (ja) 2016-03-01 2017-09-07 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10019779B2 (en) 2016-03-08 2018-07-10 Amazon Technologies, Inc. Browsing interface for item counterparts having different scales and lengths
US10552119B2 (en) 2016-04-29 2020-02-04 Intel Corporation Dynamic management of numerical representation in a distributed matrix processor architecture
CN109934331B (zh) 2016-04-29 2020-06-19 中科寒武纪科技股份有限公司 用于执行人工神经网络正向运算的装置和方法
US10187568B1 (en) 2016-05-02 2019-01-22 Bao Tran Video smart phone
US11055063B2 (en) 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
CN105978611B (zh) 2016-05-12 2019-09-17 京信通信系统(中国)有限公司 一种频域信号压缩方法及装置
AU2016203619A1 (en) 2016-05-31 2017-12-14 Canon Kabushiki Kaisha Layer-based operations scheduling to optimise memory for CNN applications
EP3252949B1 (en) 2016-06-01 2020-03-18 Intel IP Corporation Methods and devices for predistortion of signals
US20170357910A1 (en) * 2016-06-10 2017-12-14 Apple Inc. System for iteratively training an artificial intelligence using cloud-based metrics
US11328206B2 (en) * 2016-06-16 2022-05-10 SRI Inlernational Systems and methods for optimizing operations of computing devices using deep neural networks
CN107545889B (zh) 2016-06-23 2020-10-23 华为终端有限公司 适用于模式识别的模型的优化方法、装置及终端设备
CN106156310A (zh) 2016-06-30 2016-11-23 努比亚技术有限公司 一种图片处理装置和方法
US10372588B2 (en) 2016-07-08 2019-08-06 International Business Machines Corporation Providing debug information on production containers using debug containers
US20190265955A1 (en) * 2016-07-21 2019-08-29 Ramot At Tel-Aviv University Ltd. Method and system for comparing sequences
DE102016214786A1 (de) 2016-08-09 2018-02-15 Fujitsu Limited Anwendungsprofiling-Jobmanagement-System, -Programm und -Verfahren
CN107688855B (zh) 2016-08-12 2021-04-13 赛灵思公司 针对于复杂神经网络的分层量化方法与装置
US20180046903A1 (en) 2016-08-12 2018-02-15 DeePhi Technology Co., Ltd. Deep processing unit (dpu) for implementing an artificial neural network (ann)
CN106354568A (zh) 2016-08-23 2017-01-25 京信通信技术(广州)有限公司 一种不同进程间的通信方法及通信装置
CN107797913A (zh) 2016-09-07 2018-03-13 大陆汽车电子(连云港)有限公司 一种实时系统的软件分析系统与方法
US11907760B2 (en) 2016-09-23 2024-02-20 Apple Inc. Systems and methods of memory allocation for neural networks
CN106650922B (zh) * 2016-09-29 2019-05-03 清华大学 硬件神经网络转换方法、计算装置、软硬件协作系统
US20180096243A1 (en) 2016-09-30 2018-04-05 General Electric Company Deep learning for data driven feature representation and anomaly detection
WO2018071546A1 (en) 2016-10-11 2018-04-19 The Research Foundation For The State University Of New York System, method, and accelerator to process convolutional neural network layers
CN106485316B (zh) 2016-10-31 2019-04-02 北京百度网讯科技有限公司 神经网络模型压缩方法以及装置
CN106502626A (zh) 2016-11-03 2017-03-15 北京百度网讯科技有限公司 数据处理方法和装置
US10157045B2 (en) * 2016-11-17 2018-12-18 The Mathworks, Inc. Systems and methods for automatically generating code for deep learning systems
US10877547B2 (en) 2016-11-18 2020-12-29 Ati Technologies Ulc Application profiling for power-performance management
US10216479B2 (en) 2016-12-06 2019-02-26 Arm Limited Apparatus and method for performing arithmetic operations to accumulate floating-point numbers
US10997492B2 (en) 2017-01-20 2021-05-04 Nvidia Corporation Automated methods for conversions to a lower precision data format
CN106951587A (zh) 2017-02-15 2017-07-14 芯启源(南京)半导体科技有限公司 Fpga调试系统及方法
CN106951962B (zh) 2017-03-22 2020-09-01 南京地平线机器人技术有限公司 用于神经网络的复合运算单元、方法和电子设备
CN108664266B (zh) 2017-04-01 2022-04-15 深圳森若科技有限公司 一种便携式人工智能装置及其配置方法
US10402932B2 (en) 2017-04-17 2019-09-03 Intel Corporation Power-based and target-based graphics quality adjustment
US10332302B2 (en) 2017-04-17 2019-06-25 Intel Corporation Scatter gather engine
CN108734288B (zh) 2017-04-21 2021-01-29 上海寒武纪信息科技有限公司 一种运算方法及装置
CN107025629B (zh) 2017-04-27 2021-03-26 维沃移动通信有限公司 一种图像处理方法及移动终端
US11592817B2 (en) 2017-04-28 2023-02-28 Intel Corporation Storage management for machine learning at autonomous machines
US11842280B2 (en) 2017-05-05 2023-12-12 Nvidia Corporation Loss-scaling for deep neural network training with reduced precision
US10019668B1 (en) 2017-05-19 2018-07-10 Google Llc Scheduling neural network processing
CN109146069B (zh) 2017-06-16 2020-10-13 上海寒武纪信息科技有限公司 运算装置、运算方法和芯片
CN109478251B (zh) 2017-05-23 2021-01-05 安徽寒武纪信息科技有限公司 处理方法及加速装置
US11144828B2 (en) 2017-06-09 2021-10-12 Htc Corporation Training task optimization system, training task optimization method and non-transitory computer readable medium for operating the same
US10944902B2 (en) 2017-06-20 2021-03-09 Adobe Inc. Digital image generation using capture support data
US20200097799A1 (en) 2017-06-30 2020-03-26 Intel Corporation Heterogeneous multiplier
EP3660739A1 (en) 2017-07-05 2020-06-03 Shanghai Cambricon Information Technology Co., Ltd Data processing apparatus and method
CN107451654B (zh) 2017-07-05 2021-05-18 深圳市自行科技有限公司 卷积神经网络的加速运算方法、服务器及存储介质
CN107578014B (zh) 2017-09-06 2020-11-03 上海寒武纪信息科技有限公司 信息处理装置及方法
US10427306B1 (en) 2017-07-06 2019-10-01 X Development Llc Multimodal object identification
CN109284130B (zh) 2017-07-20 2021-03-23 上海寒武纪信息科技有限公司 神经网络运算装置及方法
CN107451658B (zh) 2017-07-24 2020-12-15 杭州菲数科技有限公司 浮点运算定点化方法及系统
CN107688849B (zh) 2017-07-28 2021-04-13 赛灵思电子科技(北京)有限公司 一种动态策略定点化训练方法及装置
US11481218B2 (en) 2017-08-02 2022-10-25 Intel Corporation System and method enabling one-hot neural networks on a machine learning compute platform
EP3652681A4 (en) 2017-08-08 2020-07-29 Samsung Electronics Co., Ltd. PROCESS AND APPARATUS FOR DETERMINING MEMORY REQUIREMENTS IN A NETWORK
US20190050710A1 (en) 2017-08-14 2019-02-14 Midea Group Co., Ltd. Adaptive bit-width reduction for neural networks
CN107577008A (zh) * 2017-09-01 2018-01-12 昆山龙腾光电有限公司 显示装置及显示装置的制作方法
CN107644254A (zh) 2017-09-09 2018-01-30 复旦大学 一种卷积神经网络权重参数量化训练方法及系统
CN107577608A (zh) * 2017-09-26 2018-01-12 上海市信息网络有限公司 带有随机uid的处理器芯片仿真器
US10223114B1 (en) 2017-09-29 2019-03-05 Intel Corporation Fixed point to floating point conversion
US10224954B1 (en) 2017-09-29 2019-03-05 Intel Corporation Floating point to fixed point conversion
US11450319B2 (en) 2017-09-29 2022-09-20 Cambricon (Xi'an) Semiconductor Co., Ltd. Image processing apparatus and method
US11437032B2 (en) 2017-09-29 2022-09-06 Shanghai Cambricon Information Technology Co., Ltd Image processing apparatus and method
JP6810283B2 (ja) 2017-09-29 2021-01-06 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッドShanghai Cambricon Information Technology Co.,Ltd. 画像処理装置及び方法
US10438118B2 (en) * 2017-10-09 2019-10-08 Accenture Global Solutions Limited Verification by metamorphic testing of applications that utilize artificial intelligence
JP6540770B2 (ja) 2017-10-17 2019-07-10 富士通株式会社 演算処理回路、演算処理回路を含む演算処理装置、演算処理装置を含む情報処理装置、および方法
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10410121B2 (en) 2017-10-25 2019-09-10 SparkCognition, Inc. Adjusting automated neural network generation based on evaluation of candidate neural networks
US20210061028A1 (en) 2017-10-26 2021-03-04 Applied Mechatronic Products Apparatus and method for vehicular monitoring, analysis, and control
CN107942240B (zh) * 2017-11-15 2020-03-31 深圳市紫光同创电子有限公司 Fpga芯片中dsp模块的功能测试方法及装置
US10783634B2 (en) * 2017-11-22 2020-09-22 General Electric Company Systems and methods to deliver point of care alerts for radiological findings
CN108023952B (zh) * 2017-12-04 2020-08-18 西安电子科技大学 一种基于云雾结合的模块化物联网应用快速构建平台
US10803379B2 (en) 2017-12-12 2020-10-13 Amazon Technologies, Inc. Multi-memory on-chip computational network
CN108009126B (zh) * 2017-12-15 2021-02-09 安徽寒武纪信息科技有限公司 一种计算方法及相关产品
CN108053028B (zh) 2017-12-21 2021-09-14 深圳励飞科技有限公司 数据定点化处理方法、装置、电子设备及计算机存储介质
US11636327B2 (en) 2017-12-29 2023-04-25 Intel Corporation Machine learning sparse computation mechanism for arbitrary neural networks, arithmetic compute microarchitecture, and sparsity for training mechanism
US11373088B2 (en) 2017-12-30 2022-06-28 Intel Corporation Machine learning accelerator mechanism
CN109496319A (zh) * 2018-01-15 2019-03-19 深圳鲲云信息科技有限公司 人工智能处理装置硬件优化方法、系统、存储介质、终端
CN108052934A (zh) * 2018-01-29 2018-05-18 安徽云塔电子科技有限公司 一种智能传感器系统架构及其实现方法、装置
US20190251429A1 (en) 2018-02-12 2019-08-15 Kneron, Inc. Convolution operation device and method of scaling convolution input for convolution neural network
US20200159532A1 (en) 2018-02-13 2020-05-21 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11630666B2 (en) 2018-02-13 2023-04-18 Shanghai Cambricon Information Technology Co., Ltd Computing device and method
US11106598B2 (en) 2018-02-13 2021-08-31 Shanghai Cambricon Information Technology Co., Ltd. Computing device and method
CN110162162B (zh) 2018-02-14 2023-08-18 上海寒武纪信息科技有限公司 处理器的控制装置、方法及设备
JP7056225B2 (ja) 2018-02-26 2022-04-19 富士通株式会社 演算処理装置、情報処理装置、情報処理方法、およびプログラム
US10628275B2 (en) 2018-03-07 2020-04-21 Nxp B.V. Runtime software-based self-test with mutual inter-core checking
US11475306B2 (en) 2018-03-22 2022-10-18 Amazon Technologies, Inc. Processing for multiple input data sets
CN108510067B (zh) 2018-04-11 2021-11-09 西安电子科技大学 基于工程化实现的卷积神经网络量化方法
US11562213B2 (en) 2018-04-17 2023-01-24 Intel Corporation Methods and arrangements to manage memory in cascaded neural networks
CN108712630A (zh) 2018-04-19 2018-10-26 安凯(广州)微电子技术有限公司 一种基于深度学习的互联网摄像系统及其实现方法
EP3624020A4 (en) 2018-05-18 2021-05-05 Shanghai Cambricon Information Technology Co., Ltd CALCULATION PROCEDURES AND RELATED PRODUCTS
CN108717570A (zh) 2018-05-23 2018-10-30 电子科技大学 一种脉冲神经网络参数量化方法
CN110554500B (zh) 2018-05-31 2022-09-16 中强光电股份有限公司 头戴式显示装置
US10360304B1 (en) * 2018-06-04 2019-07-23 Imageous, Inc. Natural language processing interface-enabled building conditions control system
CN109062540B (zh) 2018-06-06 2022-11-25 北京理工大学 一种基于cordic算法的可重构浮点运算装置
CN109063820A (zh) 2018-06-07 2018-12-21 中国科学技术大学 利用时频联合长时循环神经网络的数据处理方法
CN110728364A (zh) 2018-07-17 2020-01-24 上海寒武纪信息科技有限公司 一种运算装置和运算方法
KR102470893B1 (ko) 2018-06-27 2022-11-25 상하이 캠브리콘 인포메이션 테크놀로지 컴퍼니 리미티드 온 칩 코드의 브레이크 포인트에 의한 디버그 방법, 온 칩 프로세서 및 브레이크 포인트에 의한 칩 디버그 시스템
CN109214281A (zh) 2018-07-30 2019-01-15 苏州神指微电子有限公司 一种用于ai芯片人脸识别的cnn硬件加速装置
CN109492241B (zh) * 2018-08-10 2020-03-10 中科寒武纪科技股份有限公司 转换方法、装置、计算机设备和存储介质
CN109343857B (zh) * 2018-08-22 2023-07-21 中国平安人寿保险股份有限公司 线上部署机器学习模型的方法、设备和存储介质
EP3640810A4 (en) 2018-08-28 2021-05-05 Cambricon Technologies Corporation Limited DATA PRE-PROCESSING PROCESS AND APPARATUS, COMPUTER DEVICE AND STORAGE MEDIA
US11468338B2 (en) * 2018-09-11 2022-10-11 Apple Inc. Compiling models for dedicated hardware
CN109344065B (zh) * 2018-09-27 2022-06-21 迈普通信技术股份有限公司 远程调试方法、调试服务器及目标机
US11703939B2 (en) 2018-09-28 2023-07-18 Shanghai Cambricon Information Technology Co., Ltd Signal processing device and related products
CN109408500B (zh) * 2018-11-06 2020-11-17 北京深度奇点科技有限公司 人工智能运行平台
CN109450705B (zh) * 2018-12-11 2020-12-01 电子科技大学 一种基于fpga的面向映射的片上网络验证方法及系统
CN109685202B (zh) 2018-12-17 2023-03-21 腾讯科技(深圳)有限公司 数据处理方法及装置、存储介质和电子装置
CN111383638A (zh) 2018-12-28 2020-07-07 上海寒武纪信息科技有限公司 信号处理装置、信号处理方法及相关产品
CN109902745A (zh) 2019-03-01 2019-06-18 成都康乔电子有限责任公司 一种基于cnn的低精度训练与8位整型量化推理方法
CN109993296B (zh) 2019-04-01 2020-12-29 安徽寒武纪信息科技有限公司 量化实现方法及相关产品
CN110059733A (zh) 2019-04-01 2019-07-26 苏州科达科技股份有限公司 卷积神经网络的优化及快速目标检测方法、装置
US20200334522A1 (en) 2019-04-18 2020-10-22 Cambricon Technologies Corporation Limited Data processing method and related products
CN111832737B (zh) 2019-04-18 2024-01-09 中科寒武纪科技股份有限公司 一种数据处理方法及相关产品
US11676028B2 (en) 2019-06-12 2023-06-13 Shanghai Cambricon Information Technology Co., Ltd Neural network quantization parameter determination method and related products
WO2021036908A1 (zh) 2019-08-23 2021-03-04 安徽寒武纪信息科技有限公司 数据处理方法、装置、计算机设备和存储介质
US20210374510A1 (en) 2019-08-23 2021-12-02 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
US20210264270A1 (en) 2019-08-23 2021-08-26 Anhui Cambricon Information Technology Co., Ltd. Data processing method, device, computer equipment and storage medium
WO2021036905A1 (zh) 2019-08-27 2021-03-04 安徽寒武纪信息科技有限公司 数据处理方法、装置、计算机设备和存储介质
CN110780845B (zh) 2019-10-17 2021-11-30 浙江大学 一种用于量化卷积神经网络的可配置近似乘法器及其实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014016830A (ja) * 2012-07-09 2014-01-30 Fujitsu Ltd 電力見積支援プログラム、電力見積支援装置および電力見積支援方法
JP2015011363A (ja) * 2013-06-26 2015-01-19 株式会社リコー 協調検証装置及び協調検証方法
WO2017138220A1 (ja) * 2016-02-12 2017-08-17 ソニー株式会社 情報処理方法および情報処理装置

Also Published As

Publication number Publication date
AU2019284002B2 (en) 2021-12-23
CN111832738A (zh) 2020-10-27
WO2020211205A1 (zh) 2020-10-22
CN111831543A (zh) 2020-10-27
KR20210142784A (ko) 2021-11-26
EP3754495B1 (en) 2024-04-10
AU2019284002A1 (en) 2020-11-05
EP3754495A8 (en) 2021-06-30
AU2019284011A1 (en) 2020-11-05
KR20200122985A (ko) 2020-10-28
US11762690B2 (en) 2023-09-19
AU2019284012A1 (en) 2020-11-05
AU2019284012B2 (en) 2021-11-25
CN111626430A (zh) 2020-09-04
US20210334137A1 (en) 2021-10-28
EP3754497A8 (en) 2021-06-30
EP3751475A4 (en) 2021-03-17
CN111242321B (zh) 2023-09-26
JP2021121879A (ja) 2021-08-26
KR102544522B1 (ko) 2023-06-15
JP2021521500A (ja) 2021-08-26
EP3751475A1 (en) 2020-12-16
AU2019284011B2 (en) 2021-08-12
CN111626430B (zh) 2023-09-26
KR102323378B1 (ko) 2021-11-05
EP3754496A8 (en) 2021-06-30
CN111242321A (zh) 2020-06-05
JP7106513B2 (ja) 2022-07-26
EP3754495A1 (en) 2020-12-23
EP3754496A1 (en) 2020-12-23
CN111832737B (zh) 2024-01-09
JP2021165867A (ja) 2021-10-14
JP7044808B2 (ja) 2022-03-30
KR102430739B1 (ko) 2022-08-08
CA3065651A1 (en) 2020-10-18
AU2019283890B2 (en) 2021-08-12
CN111832739A (zh) 2020-10-27
JP7045357B2 (ja) 2022-03-31
CN111832737A (zh) 2020-10-27
JP6937357B2 (ja) 2021-09-22
AU2019283890A1 (en) 2020-11-05
EP3754496B1 (en) 2024-04-10
CN111832738B (zh) 2024-01-09
KR20210142786A (ko) 2021-11-26
CN111832739B (zh) 2024-01-09
KR102501992B1 (ko) 2023-02-20
EP3754497A1 (en) 2020-12-23
KR20210142785A (ko) 2021-11-26

Similar Documents

Publication Publication Date Title
JP7045357B2 (ja) データ処理方法および関連製品
US11934940B2 (en) AI processor simulation
Amar et al. Tunable scheduling in a GridRPC framework
Alkaabwi Comparison between cpu and gpu for parallel implementation for a neural network model using tensorflow and a big dataset

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220318

R150 Certificate of patent or registration of utility model

Ref document number: 7045357

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150