JP2021526670A - 汎用機械学習モデル、モデルファイルの生成および解析方法 - Google Patents

汎用機械学習モデル、モデルファイルの生成および解析方法 Download PDF

Info

Publication number
JP2021526670A
JP2021526670A JP2019554861A JP2019554861A JP2021526670A JP 2021526670 A JP2021526670 A JP 2021526670A JP 2019554861 A JP2019554861 A JP 2019554861A JP 2019554861 A JP2019554861 A JP 2019554861A JP 2021526670 A JP2021526670 A JP 2021526670A
Authority
JP
Japan
Prior art keywords
data
model
machine learning
general
purpose machine
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
JP2019554861A
Other languages
English (en)
Other versions
JP7386706B2 (ja
Inventor
ウェイジエン ドゥ
ウェイジエン ドゥ
リンヤン ウ
リンヤン ウ
スィンウィ チェン
スィンウィ チェン
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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information 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
Priority claimed from CN201810588623.3A external-priority patent/CN110647996B/zh
Priority claimed from CN201810589390.9A external-priority patent/CN110580527B/zh
Priority claimed from CN201811457719.2A external-priority patent/CN111260018B/zh
Priority claimed from CN201811459853.6A external-priority patent/CN111260071B/zh
Priority claimed from CN201811459679.5A external-priority patent/CN111338630B/zh
Priority claimed from CN201811456246.4A external-priority patent/CN111258584B/zh
Application filed by Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Publication of JP2021526670A publication Critical patent/JP2021526670A/ja
Application granted granted Critical
Publication of JP7386706B2 publication Critical patent/JP7386706B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • 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
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

汎用機械学習モデルの生成方法、装置、コンピュータ設備および記憶媒体に係る。その方法は、機械学習タスクのタスクパラメータを取得することと、タスクパラメータに対して分類処理を実行してタスク命令とモデルパラメータを取得することと、データタイプに従ってタスク命令とモデルパラメータを収集してスタックデータとヒープデータを取得することと、スタックデータとヒープデータを統合して汎用機械学習モデルを取得することとを含む。本方法により、対応する汎用モデルのコンパイル結果が実行中のアルゴリズムで直接実行され、繰り返しコンパイルが回避されるため、機械学習アルゴリズムにおける実現の効率が大幅に向上し、コンパイルから実行結果を取得するまでの時間が短縮される。【選択図】図1

Description

[関連出願]
本出願は、2018年11月30日に出願した出願番号は201811459853.6で、発明名は「汎用機械学習モデルファイル解析方法、装置、記憶媒体」と、出願番号は201811459679.5で、発明名は「汎用機械学習モデルファイルの生成方法、装置、記憶媒体」と、出願番号は201811457719.2で、発明名は「機械学習セカンダリモデルファイルの生成方法、装置、記憶媒体」と、出願番号は201811456246.4で、発明名は「汎用機械学習セカンダリモデルファイルの解析方法、装置、記憶媒体」との中国特許出願の優先権と、2018年6月8日に出願した出願番号は201810589390.9で、発明名は「汎用機械学習モデルファイルの生成方法、装置、記憶媒体」および出願番号は201810588623.3で、発明名は「汎用機械学習モデルファイルの実行方法、装置、記憶媒体」の中国特許出願の優先権を主張し、参考としてここで全文を引用する。
[技術分野]
本出願は、人工知能の分野に係り、特に、汎用機械学習モデル、モデルファイルの生成方法、装置および記憶媒体に関する。
人工知能技術の発展に伴い、さまざまな機械学習アルゴリズムが登場する。従来の機械学習アルゴリズムを開発プラットフォームで実行する際に、各実行を最初にコンパイルする必要がある。ただし、機械学習プロセスでアルゴリズムを繰り返しコンパイルする回数が多くの原因で、コンパイルプロセスに時間がかかり、アルゴリズム実行の効率が低下する。
これにより、機械学習モデルに用いられる生成と、実行と、使用方法と、装置と、記憶媒体とを開示し、それにより、機械学習演算プロセスにおいて、演算に必要に従って直接に汎用機械学習モデルファイルの内にそれに対応する汎用モデルを読み込み、繰り返しコンパイルを避けることを実現し、機械学習アルゴリズムの実現の効率が大幅に向上させ、コンパイルから実行結果の取得までの時間が短縮される。
汎用機械学習モデル生成方法であって、前記方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得すること。
一実施例では、前記タスクパラメータには、アルゴリズム制御パラメータと計算パラメータが含まれる。
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得する前記ステップは以下を含む。
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得する。
前記計算パラメータに対して分類処理を行い、モデルパラメータを取得すること。
一実施例では、前記計算パラメータに対し分類処理を行い、モデルパラメータを取得する前記ステップは以下を含む。
前記計算パラメータを前処理して、前処理モデルパラメータを取得する。
前記計算パラメータに従ってハードウェアパラメータを取得する。
前記計算パラメータからデータ属性パラメータを抽出すること。
一実施例では、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得する前記ステップは以下を含む。
前記タスク命令に対して分類処理を行い、タスク命令ヒープデータを取得する。
前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得する。
前記モデルパラメータスタックデータを収集して、前記スタックデータを取得する。
前記モデルパラメータヒープデータを収集して、前記ヒープデータを取得する。
一実施例では、前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得する前記ステップは以下を含む。
共有属性に従ってモデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得する。
共有可能なモデルパラメータを収集して、モデルパラメータヒープデータを取得する。
前記共有不可なモデルパラメータを収集して、モデルパラメータスタックデータを取得する。
一実施例では、前記モデルパラメータヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含む。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得する前記ステップは以下を含む。
前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得する。
前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得する。
前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得する。
前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得する。
一実施例では、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを組み合わせてから、汎用機械学習モデルを取得する前記ステップは以下を含む。
前記タスク命令に従って、静的データレイアウト情報と、動的データレイアウト情報と、スタックデータレイアウト情報とを取得する。
前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得する。
前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得する。
前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得する。
前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを統合する。
一実施例では、前記計算パラメータからデータ属性パラメータを抽出する前記ステップは以下を含む。
計算パラメータの入力データ属性、出力データ属性、および中間結果一時スペース属性を取得する。
前記入力データの属性から前記入力データのデータ量を抽出し、前記入力データの記憶スペースを割り当てる。
前記出力データの属性から前記出力データのデータ量を抽出し、前記出力データの記憶スペースを割り当てる。
前記中間結果一時スペース属性から中間結果一時スペースのデータ量を抽出し、前記中間結果一時記憶スペースを割り当てる。
前記入力データの記憶スペースと出力データの記憶スペースをヒープデータとして格納し、前記中間結果一時記憶スペースをスタックデータとして格納する。
一実施例では、前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得する前記ステップは以下を含む。
スタックデータレイアウト情報に従って前記共有不可なモデルパラメータと中間結果一時記憶スペースを統合して、前記スタックデータブロックを取得する。
一実施例では、前記計算パラメータに従ってデータ属性パラメータを取得する前記ステップは以下を含む。
ハードウェアプラットフォーム情報およびハードウェア配置パラメータを取得し、ヒープデータとして格納する。
一実施例では、前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得する前記ステップは以下を含む。
前記静的データレイアウト情報に従って、前記タスク命令ヒープデータと、共用可能なモデルパラメータと、ハードウェアプラットフォーム情報と、ハードウェア配置パラメータとを統合し、前記連続した静的データブロックを取得する。
一実施例では、前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合し、連続した動的データブロックを取得する前記ステップは以下を含む。
前記動的データレイアウト情報に従って、前記入力データ記憶スペースおよび前記出力データ記憶スペースは統合し、前記連続した動的データブロックを取得する。
一汎用機械学習モデルファイルの生成装置については、前記生成装置は、
機械学習タスクのタスクパラメータを取得するために用いられる外部インターフェースモジュールと、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを生成するために用いられる分類処理モジュールと、
データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられるパラメータ収集モジュールと、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられるモデル生成モジュールとを備える装置。
一実施例では、前記タスクパラメータには、アルゴリズム制御パラメータと計算パラメータが含まれる。
前記分類処理モジュールは、
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得するために用いられるタスク命令生成モジュールと、
前記計算パラメータに対し分類処理を行い、モデルパラメータを取得するために用いられるモデルパラメータ生成モジュールとを備えることを特徴とする装置。
一実施例では、前記モデルパラメータ生成モジュールは、
共有可能なモデルパラメータを収集して、モデルパラメータスタックデータを取得するために用いられるモデルパラメータスタックデータ生成モジュールと、
前記共有不可なモデルパラメータを収集して、モデルパラメータヒープデータを取得するために用いられるモデルパラメータヒープデータ生成モジュールとを備える。
一実施例では、前記モデルパラメータヒープデータ生成モジュールは、
静的な前記モデルパラメータヒープデータを収集して、モデルパラメータ静的データを取得するために用いられるモデルパラメータ静的データ生成モジュールと、
動的な前記モデルパラメータヒープデータを収集して、モデルパラメータ動的データを取得するために用いられるモデルパラメータ動的データ生成モジュールとを備える。
一実施例では、前記モデルパラメータ生成モジュールは、
前記計算パラメータを前処理して、前処理モデルパラメータを取得するために用いられる前処理モジュールと、
前記計算パラメータに従ってハードウェアパラメータを取得するために用いられるハードウェアパラメータ生成モジュールと、
前記計算パラメータからデータ属性パラメータを抽出するために用いられる属性抽出モジュールとをさらに備える。
一実施例では、前記タスク命令は、タスク命令ヒープデータを含み、前記パラメータ収集器は、
前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得するために用いられるスタックデータ収集器と、
前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することために用いられるモデルパラメータ動的データ収集器と、
前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得するために用いられるモデルパラメータ静的データ収集器とを備えることを特徴とする装置。
一実施例では、前記モデル生成モジュールは、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することに用いられる。
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
汎用機械学習モデルの実行方法であって、前記方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。
本出願の実施例は汎用機械学習モデルの実行装置を提供し、前記装置は、
汎用機械学習モデルを取得するためのモデル取得モジュールと、
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得するためのモデル分解モジュールと、
前記スタック領域データと、前記ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力モジュールとを備える。
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記汎用機械学習モデルを分類と分解してスタックデータおよびヒープデータを取得する前記ステップは、
汎用機械学習モデルにおける共有可能なデータをスタックデータに分解する。
スタックデータをスタック領域に割り当てる。
汎用機械学習モデルにおける共有不可なデータをヒープデータに分解する。
前記ヒープデータをヒープ領域に割り当てる。
一実施例では、前記スタックデータはモデルパラメータスタックデータを含み、前記スタックデータ領域を複数のスタックデータ領域におけるデータを含む。
前記スタックデータをスタック領域に割り当て、スタック領域データを取得する前記ステップはさらに以下を含む。
前記モデルパラメータスタックデータをモデルパラメータスタック領域に割り当てる。
一実施例では、前記モデルパラメータスタックデータをスタックデータヒープ領域に割り当てる前記ステップは以下を含む。
前記モデルパラメータスタックデータに必要な占有記憶スペースのサイズと中間結果一時記憶スペースのサイズとの合計を計算して、第1の記憶スペースのサイズを取得する。
前記モデルパラメータスタック領域の記憶スペースが割り当てられ、前記モデルパラメータスタック領域の記憶スペースは第1の記憶スペースのサイズ以上である。
一実施例では、前記方法はさらに以下を含む。
実行フェーズにおいて変更したヒープデータは、モデルパラメータ動的データとして格納される。
実行フェーズにおいて変化しないヒープデータはモデルパラメータ静的データとして格納される。
一実施例では、前記ヒープデータをヒープ領域に割り当てる前記ステップは以下を含む。
前記ヒープデータをヒープ領域に割り当てる前記ステップは以下を含む。
前記ヒープ領域を、モデルパラメータ動的ヒープ領域およびモデルパラメータ動的ヒープ領域に分割する。
前記モデルパラメータ動的データを前記モデルパラメータ動的ヒープ領域に割り当てる。
前記モデルパラメータ静的データを前記モデルパラメータ静的ヒープ領域に割り当てる。
一実施例では、前記モデルパラメータ動的データをモデルパラメータ動的ヒープ領域に割り当てる前記ステップは以下を含む。
前記モデルパラメータ動的データの記憶スペースと前記入力データの記憶スペースと前記出力データの記憶スペースとを加算し、第2の記憶スペースのサイズを取得する。
前記モデルパラメータ動的ヒープ領域の記憶スペースが割り当てられ、前記動的データヒープ領域の記憶スペースは第2の記憶スペースのサイズ以上である。
一実施例では、前記モデルパラメータ静的ヒープ領域の記憶スペースは、前記デルパラメータ静的データの記憶スペース以上である。
一実施例では、前記モデルパラメータ静的データは、タスク命令ヒープデータを含む。
一実施例では、前記ヒープデータをヒープ領域に割り当て、ヒープ領域データを取得する前記ステップはさらに以下を含む。
前記ヒープデータをヒープ領域に割り当てる前記ステップはさらに以下を含む。
前記モデルパラメータ動的ヒープ領域と前記モデルパラメータ静的ヒープ領域とは、連続した記憶スペースに割り当てられる。
一実施例では、前記ヒープ領域内のデータは、前記モデルパラメータ動的データと、前記モデルパラメータ静的データと、前記入力データと、前記出力データとを含む。
一実施例では、前記スタック領域データと前記ヒープ領域データと入力データとに従って出力データを計算して取得する前記ステップはさらに以下を含む。
前記ヒープ領域から前記出力データを抽出する。
前記出力データを出力する。
汎用機械学習モデルの生成装置であって、その特徴は、
汎用機械学習モデルを取得するためのモデル取得モジュールと、
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得するためのモデル分解モジュールと、
前記スタック領域データと、前記ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力モジュールとを備える。
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記モデル分解モジュールは以下を含む。
スタック領域データ配布モジュールは、汎用機械学習モデルにおける共有不可なデータをスタックデータに分解するために用いられる。
ヒープ領域データ配布モジュールは、汎用機械学習モデルにおける共有可能なデータをヒープデータに分解するために用いられる。
一実施例では、前記スタック領域データ配布モジュールは、さらに前記スタックデータをスタック領域に割り当てるために用いられる。
一実施例では、前記ヒープ領域データ配布モジュールは、さらに前記ヒープデータをヒープ領域に割り当てるために用いられる。
一実施例では、前記スタックデータはモデルパラメータスタックデータを含み、前記スタックデータ配布モジュールは前記モデルパラメータスタックデータをモデルパラメータスタック領域に割り当てることためにさらに用いられる。
一実施例では、前記ヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含む。前記ヒープ領域データ配布モジュールは、
前記モデルパラメータ静的データをモデルパラメータ静的ヒープ領域に割り当てるために用いられるモデルパラメータ静的データ配布モジュールと、
前記モデルパラメータ動的データをモデルパラメータ動的ヒープ領域に割り当てるために用いられるモデルパラメータ動的データ配布モジュールと、を備える。
一実施例では、前記結果出力モジュールはさらに、
前記ヒープ領域から前記出力データを抽出するためのデータ抽出モジュールと、
前記出力データを出力するためのデータ出力モジュールとを備える。
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
汎用機械学習モデルファイルの生成方法であり、汎用機械学習モデルファイルは汎用機械学習モデルと、モデルディレクトリを含む。前記生成方法は以下を含む。
前記汎用機械学習モデルを取得する。
前記汎用機械学習モデルの格納オフセット量を計算する。
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、前記モデルディレクトリを生成する。
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する前記ステップは以下を含む。
前記汎用機械学習モデルのファイルヘッダおよびファイルテールを取得する。
前記ファイルヘッダと、前記モデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記汎用機械学習モデルファイルを生成する。
一実施例では、前記汎用機械学習モデルの格納オフセット量を計算する前記ステップは以下を含む。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数とを取得する。
前記汎用機械学習モデルの保存順序を取得する。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数と、前記汎用機械学習モデルの保存順序とに従って、各前記汎用機械学習モデルの格納オフセット量を毎に計算する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップは以下を含む。
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成するステップは以下を含む。
前記汎用機械学習モデルファイルの識別コードを作成する。
前記識別コードと、前記汎用機械学習モデルと、前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップはさらに以下を含む。
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成するステップは以下を含む。
汎用機械学習モデルファイルのチェックディジットおよび/または誤り訂正符号を作成する。
汎用機械学習モデルファイルのチェックディジットおよび/または誤り訂正符号と、前記汎用機械学習モデルと、前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップはさらに以下を含む。
汎用機械学習モデルファイルの誤り訂正符号を作成する。
汎用機械学習モデルファイルの誤り訂正符号と、前記汎用機械学習モデルと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する前記ステップはさらに以下を含む。
前記汎用機械学習モデルファイルが占めた記憶スペースのサイズを計算する。
前記汎用機械学習モデルと、前記汎用機械学習モデルファイルとが占めた記憶スペースのサイズと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
一汎用機械学習モデル生成方法については、その方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを生成する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
前記汎用機械学習モデルの格納オフセット量を計算する。
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
汎用機械学習モデルファイルの生成装置であり、汎用機械学習モデルファイルは汎用機械学習モデルと、モデルディレクトリを含む。前記生成装置は、
モデルフィラーと、ディレクトリジェネレータと、ファイルジェネレータとを備える。前記モデルフィラーは、前記ディレクトリジェネレータと接続し、前記ファイルジェネレータは、それぞれ前記モデルフィラーと、前記ディレクトリジェネレータと接続する。
前記モデルフィラーは、前記汎用機械学習モデルを取得するために用いられる。
前記ディレクトリジェネレータは、前記汎用機械学習モデルの格納オフセット量を計算するために用いられ、また、
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記ファイルジェネレータは、前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成する。
一実施例において、前記モデルフィラーは、前記汎用機械学習モデルをファイルジェネレータに順番に格納するためにさらに用いられる。
一実施例では、前記ファイルジェネレータは、ファイルヘッダジェネレータおよびファイルテールジェネレータをさらに含み、前記ファイルヘッダジェネレータは、前記ディレクトリジェネレータに接続されており、前記ファイルテールジェネレータは前記モデルフィラーに接続されている。
一実施例では、前記ファイルヘッダジェネレータは、機械学習モデルファイルの識別コードを作成するために用いられ、前記汎用機械学習モデルファイルの識別コードと、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
一実施例では、前記ファイルテールジェネレータは、前記汎用機械学習モデルファイルのチェックディジットおよび/または誤り訂正符号を作成するために用いられる。
一実施例では、前記生成装置は、ファイルサイズ計算器をさらに備え、前記ファイルサイズ計算器は、前記ディレクトリジェネレータと接続され、前記汎用機械学習モデルが占有した記憶スペースのサイズの計算と前記汎用機械学習モデルファイルの占有に必要な記憶ペースのサイズの計算ために用いられる。
一汎用機械学習モデルファイル生成装置については、前記生成装置は、
機械学習タスクのタスクパラメータを取得するために用いられる外部インターフェースモジュールと、
前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを生成するために用いられる分類処理モジュールと、
データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられるパラメータ収集モジュールと、
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられるモデル生成モジュールと、
前記汎用機械学習モデルの格納オフセット量を計算するために用いられる格納オフセット量計算モジュールと、
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、前記モデルディレクトリを生成するモデルディレクトリ生成モジュールと、
前記汎用機械学習モデルと前記モデルディレクトリとに従って前記汎用機械学習モデルファイルを生成するために用いられるファイル生成モジュールとを備える。
一実施例では、前記ファイルサイズ計算器は、モデルストレージ最適化器に接続される。メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
機械学習セカンダリモデルファイルの生成方法であって、前記機械学習セカンダリモデルファイルはセカンダリモデルとセカンダリモデルディレクトリを含み、前記生成方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルに対してストレージ最適化処理を実行し、前記セカンダリモデルを生成する。
前記セカンダリモデルの格納オフセット量を計算する。
前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
一実施例では、前記汎用機械学習モデルにストレージ最適化プロセスを実行し、セカンダリモデルを生成する前記ステップは、前記汎用機械学習モデルを圧縮処理および/または暗号化処理してセカンダリモデルを生成することを含む。
一実施例では、前記セカンダリモデルと前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
前記機械学習セカンダリモデルファイルのファイルヘッダおよびファイルテールを取得する。
前記ファイルヘッダと、前記セカンダリモデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記機械学習セカンダリモデルファイルを生成する。
一実施例では、前記セカンダリモデルの格納オフセット量を計算する前記ステップは以下を含む。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記セカンダリモデルの数とを取得する。
前記セカンダリモデルの保存順序を取得する。
各前記セカンダリモデルが占めた記憶スペースのサイズと、前記セカンダリモデルの数と、前記セカンダリモデルの保存順序とに従って、各セカンダリモデルの格納オフセット量を毎に計算する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
機械学習セカンダリモデルファイルの識別コードを作成する。
前記モデルファイル識別コードと、前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
一実施例では、前記セカンダリモデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成することは以下を含む。
前記セカンダリモデルファイルのチェックディジットおよび/または誤り訂正符号を作成する。前記機械学習セカンダリモデルファイルのチェックディジットおよび/または誤り訂正符号と、前記セカンダリモデルと、前記セカンダリディレクトリとに従って汎用機械学習セカンダリファイルを生成する。
一汎用機械学習モデル生成方法については、その方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータを分類して、タスク命令およびモデルパラメータを生成する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
前記汎用機械学習モデルに対してストレージ最適化処理を実行し、前記セカンダリモデルを生成する。前記セカンダリモデルの格納オフセット量を計算する。
前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記セカンダリモデルと、前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
機械学習セカンダリモデルファイルの生成装置であって、前記機械学習セカンダリモデルファイルはセカンダリモデルとセカンダリモデルディレクトリを含み、その装置は、
セカンダリモデルフィラーと、モデルストレージ最適化器と、ディレクトリジェネレータと、ファイルジェネレータとを備える。前記モデルフィラーは、前記ディレクトリジェネレータと接続し、前記ファイルジェネレータは、それぞれ前記モデルフィラーと、前記ディレクトリジェネレータと接続し、前記モデルストレージ最適化器は、前記モデルフィラーと接続する。
前記セカンダリモデルフィラーは、汎用機械学習モデルを取得するために用いられる。
前記モデルストレージ最適化器は、前記汎用機械学習モデルに対してストレージ最適化処理を実行し、セカンダリモデルを生成する。
前記ディレクトリジェネレータは、前記汎用機械学習モデルの格納オフセット量を計算するために用いられ、また、前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記ファイルジェネレータは、前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
一実施例において、前記セカンドモデルフィラーは、前記セカンドモデルをファイルジェネレータに順番に格納するためにさらに用いられる。
一実施例では、前記ファイルジェネレータは、ファイルヘッダジェネレータおよびファイルテールジェネレータをさらに含み、前記ファイルヘッダジェネレータは、前記ディレクトリジェネレータに接続されており、前記ファイルテールジェネレータは前記セカンダリモデルフィラーに接続されている。
一実施例では、前記ファイルヘッダジェネレータは、セカンダリモデルの識別コードを作成するために用いられ、前記識別コードと、前記汎用機械学習モデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
一実施例では、前記ファイルテールジェネレータは、前記機械学習セカンダリモデルファイルのチェックディジットおよび/または誤り訂正符号を作成するために用いられる。
一実施例では、前記生成装置は、ファイルサイズ計算器をさらに備え、前記ファイルサイズ計算器は、前記ディレクトリジェネレータと接続され、前記汎用機械学習モデルが占有した記憶スペースのサイズの計算と前記モデルファイルの占有に必要な記憶ペースのサイズの計算ために用いられる。
一実施例では、前記ファイルサイズ計算器は、モデルストレージ最適化器に接続される。
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
汎用機械学習モデルファイルの解析方法であり、汎用機械学習モデルファイルは汎用機械学習モデルと、セカンダリモデルディレクトリを含む。
前記方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む。
前記ターゲットのセカンダリモデルディレクトリに対して復元を実行してターゲットの汎用機械学習モデルを取得する。
一実施例では、前記汎用機械学習モデルファイルを取得するステップは以下を含む。
前記汎用機械学習モデルファイルの識別コードを取得する。
前記識別コードが事前設定された規則に適合するか否かを検出する。
前記識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
一実施例では、前記識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルのチェックディジットを取得する。
前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。
一実施例では、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、チェックコードが事前設定された標準コードと一致しない場合、エラー訂正演算を実行し、それは以下を含む。
誤り訂正符号を取得する。
前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対してエラー訂正を実行して、エラー訂正されたモデルファイルを取得する。
前記エラー訂正された汎用機械学習モデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証する。
前記訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
一実施例では、前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルにおけるターゲットのセカンダリモデルの格納オフセット量を取得する。
前記格納オフセット量に従って前記ターゲットの汎用機械学習モデルを読み込む。
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取る。
前記ハードウェアパラメータ情報に従ってハードウェアマッチング情報を生成する。
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。
汎用機械学習モデルファイルの解析装置であり、汎用機械学習モデルファイルは汎用機械学習モデルと、セカンダリモデルディレクトリを含む。
その装置の特徴は、モデル配信器と、ファイル取得器と、ディレクトリ解析器と、モデルリーダとを備える。前記ディレクトリ解析器は、それぞれ前記ファイル取得器と、前記モデルリーダとに接続されている。
前記ファイル取得器は、汎用機械学習モデルファイルを取得するために用いられる。
前記モデル配信器は、前記汎用機械学習モデルファイルにおけるセカンダリモデルディレクトリを読み取り、前記セカンダリモデルディレクトリに従ってターゲット二次モデルを読み取り、また、前記ターゲットのセカンダリモデルを復元し、ターゲットの汎用機械学習モデルを取得するために用いられる。
前記ディレクトリ解析器は、前記汎用機械学習モデルファイルからモデルディレクトリを読み込むために用いられる。
前記モデルリーダは、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むために用いられる。メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
一汎用機械学習モデル解析方法については、その方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込む。
一実施例では、前記汎用機械学習モデルファイルを取得するステップは以下を含む。
前記汎用機械学習モデルファイルのファイル識別コードを取得する。
前記ファイル識別コードが事前設定された規則に適合するか否かを検出する。
前記ファイル識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
一実施例では、前記ファイル識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルのチェックディジットを取得する。
前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。
一実施例では、前記訂正演算は以下を含む。
前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する前記ステップは以下を含む。
誤り訂正符号が取得される。
前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対してエラー訂正を実行して、エラー訂正されたモデルファイルを取得する。
前記エラー訂正されたモデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証する;
前記訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
一実施例では、前記モデルディレクトリに従って対応する汎用機械学習モデルを読み込む前記ステップは以下を含む。
前記汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルの格納オフセット量を取得する。
前記格納オフセット量に従って前記ターゲットの汎用機械学習モデルを読み込む。
一汎用機械学習モデル解析方法については、その方法は以下を含む。
汎用機械学習モデルを取得する。
前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。
前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む。
前記ターゲットのセカンダリモデルディレクトリに対して復元を実行してターゲットの汎用機械学習モデルを取得する。
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取る。
前記ハードウェアパラメータ情報に従ってハードウェアマッチング情報を生成する。
一実施例では、前記方法はさらに以下を含む。
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。
一汎用機械学習モデルファイル解析装置については、その装置は、
ファイル取得器と、ディレクトリ解析器と、モデルリーダとを備える。前記ディレクトリ解析器は、それぞれ前記ファイル取得器と、前記モデルリーダとに接続されている。
前記ファイル取得器は、汎用機械学習モデルファイルを取得するために用いられる。
前記ディレクトリ解析器は、前記汎用機械学習モデルファイルからモデルディレクトリを読み込むために用いられる。
前記モデルリーダは、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むために用いられる。
メモリおよびプロセッサを備えるコンピュータ設備であり、前記メモリは、コンピュータプログラムを格納し、前記プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
本出願における1つ以上の実施例の詳細は、図面および以下の説明に記載されている。本発明の他の特徴、目的、および利点は、明細書、図面および請求範囲から明らかになるであろう。
本開示の実施例における技術案又は公知技術をより明確に例示するために、実施例公知技術の説明に使用される図面を以下に簡単に説明する。以下の説明における図面は、本開示の実施例のみであることは明らかであり、当業者にとっては、開示された図面に基づいて他の図面を創造的な仕事をすることなく得ることもできる。
図1は、一実施例における汎用機械学習モデル生成方法のアプリケーション環境図である。 図2は、一実施例における汎用機械学習モデル生成方法の概略フローチャートである。 図3は、一実施例における汎用機械学習モデル生成装置の概略図である。 図4は、一実施例における汎用機械学習モデル実行方法の概略フローチャートである。 図5は、一実施例における汎用機械学習モデル実行装置の概略図である。 図6は、一実施例における汎用機械学習モデルはjpg画像に対する特徴抽出を実行する概略フローチャートである。 図7は、一実施例で提供されるコンピュータ装置の内部構造図である。 図8は、一実施例における汎用機械学習モデルファイル生成方法の応用シナリオ図である。 図9は、一実施例における汎用機械学習モデル生成方法の概略フローチャートである。 図10は、一実施例における汎用機械学習モデル生成装置の構造概略図である。 図11は、一実施例における汎用機械学習モデルファイル生成方法の概略フローチャートである。 図12は、一実施例における前記汎用機械学習モデルの格納オフセット量を演算する概略フローチャートである。 図13は、一実施例における前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する概略フローチャートである。 図14は、別の実施例における前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する概略フローチャートである。 図15は、もう一つの実施例における汎用機械学習モデル生成方法の概略フローチャートである。 図16は、さらにもう一つの実施例における前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する概略フローチャートである。 図17は、別の実施例における汎用機械学習モデル生成方法の概略フローチャートである。 図18は、もう一つの実施例における汎用機械学習モデル生成方法の概略フローチャートである。 図19は、一実施例における汎用機械学習モデルファイル生成装置構造の概略図である。 図20は、別の実施例における汎用機械学習モデル生成装置の構造概略図である。 図21は、一実施例における汎用機械学習モデル解析方法の概略フローチャートである。 図22は、一実施例における汎用機械学習モデルファイルを取得する概略フローチャートである。 図23は、一実施例における汎用機械学習モデルファイルを取得する概略フローチャートである。 図24は、一実施例における訂正演算を実行する概略フローチャートである。 図25は、一実施例における前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込む概略フローチャートである。 図26は、一実施例における汎用機械学習モデル解析方法の概略フローチャートである。 図27は、別の実施例における汎用機械学習モデル解析方法の概略フローチャートである。 図28は、もう一つの実施例における汎用機械学習モデル解析方法の概略フローチャートである。 図29は、一実施例における汎用機械学習モデル解析装置の構造概略図である。 図30は、一実施例における汎用機械学習モデル実行装置の構造概略図である。 図31は、一実施例におけるコンピュータ装置の内部構造図である。
以下、添付図面を参照しながら、本発明の実施例について明確に説明する。尚、以下の実施例は、本発明を具体化した一例のみであって、本発明の技術的範囲を限定する性格を有さない。本出願の範囲から逸脱することなく本出願の実施例に基づいて当業者によって得られる他のすべての実施例も、本出願の範囲である。
本願は、機械学習モデルに用いられる生成と、実行と、使用方法と、装置と、記憶媒体とを開示し、それにより、機械学習演算プロセスにおいて、演算に必要に従って直接に汎用機械学習モデルファイルの内にそれに対応する汎用モデルを読み込み、繰り返しコンパイルを避けることを実現し、機械学習アルゴリズムの実現の効率が大幅に向上させ、コンパイルから実行結果の取得までの時間が短縮される。
本出願により提供される汎用機械学習モデル生成方法は、図1に示されるようなアプリケーション環境に応用されることはできる。図1に示されるアプリケーション環境は機械学習開発プラットフォームであり、フレームワーク層1101と、コンパイル層1102と、コンバージェンス層1103と、ドライバ層1104と、ハードウェア層1105とを含む。
一実施例では、フレームワーク層1101は、機械学習タスクのアルゴリズム設計条件を提供するに用いられ、ユーザが独自のニューラルネットワーク構造を構築するために便利なトレーニングおよび予測ツールを提供する。フレームワーク層1101は、次のステップを実現するために用いられることがわかりやすい。
ユーザが設計した機械学習アルゴリズム(例えば、ニューラルネットワーク構造)を受信する。
各サブタスクのパラメータを解析し、コンパイル層に送信し、マシン命令と関連する必要な要素を生成する。
ランタイム層に送信されて計算を実行し、最終的にユーザが必要とする機械学習タスクを完了する。
一実施例では、コンパイル層1102は、機械学習タスクで機械命令を生成することに用いられる。具体的には、コンパイル層には、コンパイラ、高頻度演算子に対して最適化された高性能ライブラリおよび機械命令を生成できるその他のモジュールと、デバイスと、データベースとが含まれる。コンパイル層1102は、上位層であるフレームワーク層1101から送信された機械学習タスクのパラメータを受信し、それをハードウェアのバイナリ機械命令にコンパイルして生成し、下位層であるランタイム層に送信して、保存または実行するように構成されていることがわかりやすい。
一実施例では、コンバージェンス層1103は、ドライバをさらにカプセル化するためのプログラムであり、底層の異なるハードウェアとドライバとの違いをスクリーンすることができ、上位層であるコンパイル層1102またはユーザに統一されたプログラムインターフェースを提供する。具体的には、コンバージェンス層1103は、ハードウェアとドライバの詳細を考慮せずに上位層ソフトウェアをカプセル化する。さらに、コンバージェンス層1103は、機械学習タスクの基本操作のプログラムインターフェース、および機械学習モデルを保存すると、ロードすると、ハードウェアで実行するとに必要な機械命令などの必要な要素を提供するため、上位層ソフトウェアとユーザは、具体的なハードウェアの相違を考慮せず、機械学習タスク自身を注目するだけで十分である。必要に応じて、コンバージェンス層から提供された機械学習タスクの基本操作用のプログラムインターフェースには、メモリ空間の割り当てと、データコピーと、起動計算と、その他の機械学習タスクの基本操作用のプログラムインターフェースと含む。
一実施例では、ドライバ層1104は、ハードウェア層1105のデバイスの基本動作をパッケージ化することに用いられ、上位層であるコンバージェンス層1103に呼び出すことができるプログラムインターフェースを提供する。具体的には、ドライバ層1104の基本操作には、データストリームの入出力制御と、制御信号のハードウェアへの送信と、ハードウェアにより生成された異常信号の受信や処理と、マルチタスクの管理およびスケジューリングなどが含まれる。
一実施例では、ハードウェア層1105は、機械学習開発プラットフォームのうちにすべてのハードウェア設備を含む。必要に応じて、ハードウェア層1105は、メインプロセッサ、コプロセッサ、メモリ、入力および出力デバイス、電源モジュール、およびそれらの接続デバイスを含む。ハードウェア層1105は、上記のデバイスに限定されないことを理解されよう。
一実施例では、図2および図3を共に参照しながら、一汎用機械学習モデル生成方法および装置を提供する。一実施例では、ステップS1201で、機械学習タスクのタスクパラメータを獲得する。一実施例では、機械学習タスクのタスクパラメータは、外部インターフェースモジュール131000によって取得する。具体的には、タスクパラメータは、汎用機械学習モデルの生成に必要なパラメータであり、それは入力データと出力データ以外のパラメータを含む。具体的には、タスクパラメータは外部プログラムの入力またはユーザの入力からのものである。タスクパラメータがユーザの入力からのものである場合に、ユーザの入力データをフォーマットしてから、タスクパラメータを取得することが理解されよう。一実施例では、ステップS1202で、前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを取得する。一実施例では、モデルパラメータを、モデルパラメータ生成モジュール132100により取得し、タスク命令を、タスク命令生成モジュール132200により取得する。具体的には、タスク命令は、コンパイル処理されたタスクパラメータを指す。モデルパラメータは、機械学習アルゴリズムの実行中に必要なタスクパラメータに他の処理された処理結果を指す。
一実施例では、ステップS1203で、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得する。一実施例では、共有不可なデータをスタックデータ収集器133100によって収集し、共有可能なデータをヒープデータ収集器133200によって収集される。共有不可なデータとは、マルチコアプラットフォームのコア間で共有されていないデータを指し、共有データとは、マルチコアプラットフォームのコア間で共有されているデータを指すことは理解されよう。具体的には、収集とは、タスク命令とモデルパラメータをパッケージ化することである。
一実施例では、ステップS1204で、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得する。具体的には、汎用機械学習モデルには優れた汎用性が備える。
具体的には、汎用機械学習モデルは、上位層の異なるフレームワークと互換性があり、例えば、上位層であるフレームワーク層1101と、コンパイル層1102と、集約層1103などの上位層の異なるフレームワークと互換性があるが、下位層の異なるドライバ層とハードウェアと互換性がある。さらに、汎用機械学習モデルが形成された後、異なる操作コアの数や入力データのアドレスや出力データのアドレスや他の汎用機械学習モデルに従ってデータブロックを調整でき、異なる状況に適応する。
具体的には、汎用機械学習モデルを生成するステップは、上記のステップに限定されず、上記のステップの実行順序に限定されず、本発明の概念に基づいて行われた変更は、本発明の請求範囲とみなされる。
一実施例では、図3を参照しながら、具体的には、前記タスクパラメータには、アルゴリズム制御パラメータと計算パラメータが含まれる。
前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを取得するステップは以下を含む。
前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得する。一実施例では、アルゴリズム制御パラメータはタスク命令生成モジュール132200によりコンパイルされる。
具体的には、アルゴリズム制御パラメータには、アルゴリズムの演算構造が含まれる。具体的には、コンパイルとは、高水準言語を機械語に変換するプロセスを指す。コンパイルプロセスはターゲットプログラムを生成するプロセスであることは理解されよう。具体的には、タスク命令には、コンピュータによって直接認識および実行される指示が含まれる。タスク命令は、バイナリエンコーディング形式を採用することは理解されよう。一実施例では、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得するステップは、前記タスク命令を分類してタスク命令ヒープデータを取得することを含む。一実施例では、タスク命令ヒープデータは、タスク命令生成モジュールによって生成され、マルチコアプラットフォーム内のコア間で共有されるタスク命令データを指す。
前記計算パラメータに対して分類処理を行い、モデルパラメータを取得する。一実施例では、モデルパラメータ生成モジュールによって計算パラメータが分類され、モデルパラメータを取得する。
具体的には、計算パラメータは、機械学習演算における入力データおよび出力データ以外のデータを含む。必要に応じて、分類処理は、入力データと出力データに対して機械学習に必要な処理であり、例えば、前処理操作や後処理操作が含まれる。必要に応じて、分類処理は、機械学習に入力データに対して機械学習演算を実行する際に、取得する必要があるデータまたはパラメータがさらに含む。例えば、ハードウェアプラットフォーム情報など。前記分類処理操作は、前処理操作や後処理操作に限定されず、ハードウェアプラットフォーム情報の取得に限定されず、入力データおよび出力データに対して非機械学習演算を実行する他の操作も、分類処理操作に属すことが理解されよう。分類処理操作により、異なる入力データが異なるハードウェアプラットフォームで異なる操作を実行するために必要なさまざまな操作と互換性がある。分類処理操作は、さまざまなシナリオでの汎用機械学習モデルのアプリケーションを満たすために、実践プロセスで修正および補足できることが理解されよう。
一実施例では、図3を参照しながら、一実施例では、モデルパラメータ生成モジュール132100によって計算パラメータが分類され、モデルパラメータを取得する。一実施例では、データタイプに従って前記タスク命令およびモデルパラメータを収集し、スタックデータおよびヒープデータを取得するステップは以下を含む。前記データタイプに従ってモデルパラメータに対して分類処理を実行して、モデルパラメータスタックデータとモデルパラメータヒープデータを取得する。オプションの実施形態として、モデルパラメータ生成モジュール132100により、計算パラメータに対して分類処理を実行して、モデルパラメータスタックデータとモデルパラメータヒープデータを取得する。具体的には、モデルパラメータスタックデータは、マルチコアプラットフォームのコア間で共有不可なモデルパラメータを指し、モデルパラメータヒープデータは、マルチコアプラットフォームのコア間で共有可能なモデルパラメータを指す。具体的には、モデルパラメータスタックデータは、モデルパラメータスタックデータ生成モジュールにより取得され、モデルパラメータヒープデータは、モデルパラメータヒープデータ生成モジュールにより取得する。
計算パラメータを分類して、モデルパラメータを取得するステップには、計算パラメータを前処理して前処理されたモデルデータを取得することが含まれる。一実施例では、前処理モジュール132121によって計算パラメータを前処理する。一実施例では、計算パラメータに対して実行される前処理操作は、計算パラメータに対するフォーマット変換操作、分割操作、および分類操作を含む。必要に応じて、前処理操作は、フォーマット変換操作、分割操作、および分類操作に限定されず、計算パラメータに対して実行される他の操作も前処理操作である。
一実施例では、計算パラメータが分類処理され、モデルパラメータを取得するステップは、前記計算パラメータに従ってハードウェアパラメータを取得することを含む。ある可能な実施形態として、ハードウェアパラメータ生成モジュール132122は、ハードウェアパラメータを生成するために用いられる。一実施例では、ハードウェアパラメータは、GPUのモデル番号、CUDAコアの数、非共有キャッシュサイズ、共有キャッシュサイズ、メモリアクセス帯域幅などのハードウェアデバイスの固定パラメータを含む。
一実施例では、計算パラメータが分類処理され、モデルパラメータを取得するステップは、前記計算パラメータからデータ属性パラメータを抽出することを含む。ある可能な実施形態として、属性パラメータ抽出モジュール132123は、前記計算パラメータからデータの属性パラメータを抽出するように構成されている。一実施例では、前記計算パラメータに従ってハードウェアパラメータを取得するステップは、ハードウェアプラットフォーム情報およびハードウェア配置パラメータを取得し、ヒープデータとして格納することを含む。一実施例では、属性パラメータは、データに特有のいくつかのプロパティを含む。例えば、入力データが画像である場合、属性パラメータは、画像サイズと、チャネル数と、占有記憶スペースと、保存フォーマットと、各ピクセルのデータタイプなどを含む。
一実施例では、属性パラメータ抽出モジュール132123により、前記計算パラメータからデータ属性パラメータを抽出するステップは以下を含む。
計算パラメータの入力データ属性と、出力データ属性と、中間結果一時スペース属性とを取得する。前記入力データ属性について前記入力データのデータ量を抽出し、前記入力データ記憶スペースを割り当てる。前記出力データ属性について前記出力データのデータ量を抽出し、前記出力データ記憶スペースを割り当てる。前記中間結果一時スペース属性について中間結果一時スペースのデータ量を抽出し、前記中間結果一時記憶スペースを割り当てる。前記入力データの記憶スペースおよび出力データの記憶スペースはヒープデータとして保存され、前記中間結果一時スペースはスタックデータとして保存される。
一実施例では、前記データタイプに従ってモデルパラメータを分類処理し、モデルパラメータスタックデータを取得するステップは以下を含む。共有属性に従って前記モデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得する。前記共有不可なモデルパラメータを収集し、モデルパラメータスタックデータを取得する。一実施例では、モデルパラメータスタックデータ生成モジュール132110により、モデルパラメータスタックデータは生成される。一実施例では、前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得するステップは、前記モデルパラメータスタックデータを収集して、前記スタックデータを取得することを含む。一実施例では、スタックデータはスタックデータ収集器133100によって収集される。スタックデータを収集することにより、共有不可なデータを統一に処理でき、機械学習モデルのスタックデータがパターン化されるため、生成された機械学習モデルは汎用性になる。
一実施例では、前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合して統合し、スタックデータブロックを取得するステップは、スタックデータブロックを取得するステップは、前記スタックデータレイアウト情報に従って前記共有不能なモデルパラメータと、前記中間結果一時スペースデータとは統合されることをさらに含む。
一実施例では、前記データタイプに従ってモデルパラメータを分類処理し、モデルパラメータヒープデータを取得するステップは以下を含む。共有属性に従って前記モデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得する。前記共有可能なモデルパラメータを収集し、モデルパラメータヒープデータを取得する。一実施例では、モデルパラメータヒープデータ生成モジュール132120により前記ステップを実行し、モデルパラメータヒープデータは生成される。ヒープデータを収集することにより、共有なデータを統一に処理でき、機械学習モデルのスタックデータがパターン化されるため、生成された機械学習モデルは汎用性になる。
一実施例では、モデルパラメータヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含む。具体的には、モデルパラメータ静的データとは、例えば、タスク命令と、モデルパラメータヒープデータと、ハードウェアプラットフォーム情報などの機械学習アルゴリズムの動作中に変化しないデータである。モデルパラメータの動的データとは、入力データや出力データなどの機械学習アルゴリズムの動作中に変化するデータのことである。
一実施例では、前記スタックデータとヒープデータを統合して汎用機械学習モデルを取得する前記ステップは、静的データ収集器133210により、前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得することを含む。一実施例では、前記静的データレイアウト情報に従って、前記タスク命令ヒープデータと、モデルパラメータヒープデータと、ハードウェアプラットフォーム情報と、ハードウェア配置パラメータとは統合され、前記連続した静的データブロックを取得する。
静的データブロックを収集することにより、静的データブロックのデータを統一に処理でき、機械学習モデルの静的データがパターン化されるため、生成された機械学習モデルは汎用性になる。
一実施例では、前記スタックデータとヒープデータを統合して汎用機械学習モデルを取得する前記ステップは、動的データ収集器133220により、前記モデルパラメータ動的データをパッケージ化し統合し、連続した動的データブロックを取得することを含む。一実施例では、前記動的データレイアウト情報に従って、前記入力データ記憶スペースおよび前記出力データ記憶スペースは統合され、前記連続した動的データブロックを取得する。動的データブロックを収集することにより、動的データブロックのデータを統一に処理でき、機械学習モデルの動的データがパターン化されるため、生成された機械学習モデルは汎用性になる。
一実施例では、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得する。ある可能な実施形態として、汎用機械学習モデルはオフラインファイルに保存される。具体的には、オフラインファイルに1つ以上の汎用機械学習モデルが含まれている。具体的には、オフラインファイル内の汎用機械学習モデルは、事前設定された規則に従って呼び出される。具体的には、オフラインファイルは、確立された規則に従ってハードディスクに保存される。ある可能な実施形態として、オフラインファイルはオンライン関数を含む。具体的には、オンライン関数はメモリに保存される。
一実施例では、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから汎用機械学習モデルを取得する前記ステップは以下を含む。前記タスク命令に従って静的データレイアウト情報と、動的データレイアウト情報と、スタックデータレイアウト情報とを取得する。前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合して統合して、前記連続した静的データブロックを取得する。前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合して統合して、前記連続した動的データブロックを取得する。前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合して統合して、前記スタックデータブロックを取得する。前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとが統合される。
一実施例では、アルゴリズム制御パラメータがコンパイルされて、各データブロックレイアウト情報を取得する。具体的には、データブロックレイアウト情報は、データブロックの収集と統合に用いられ、メモリ割り当てを最適化するために各データブロックは各データブロックレイアウト情報に従って保存される。ある可能な実施形態として、データブロックレイアウト情報によると、各データブロックは優先に全ブロックでストレージされる。ある可能な実施形態として、ストレージスペースは全ブロックでストレージを満たすことができない場合に、プロセッサコアの処理順序に従ってメモリ割り当ては最適化され、データブロック情報は読みやすくなる。
一実施例では、汎用機械学習モデル生成方法は、さらにハードウェア専用パラメータセットの生成を含む。具体的には、ハードウェア専用パラメータセットは、関連するパラメータを事前に準備し、ハードウェアの不足を補うことで、さまざまな機械学習アルゴリズムの計算要求を満たすことを指す。
一実施例では、図3を参照しながら、汎用機械学習モデルの生成装置は、機械学習タスクのタスクパラメータを取得するための外部インターフェースモジュール131000と、前記タスクパラメータを分類処理を実行してタスク命令とモデルパラメータを取得するための分類処理モジュール132000と、データタイプに従って前記タスク命令とモデルパラメータを収集してスタックデータとヒープデータを取得するためのパラメータ収集モジュール133000と、スタックデータとヒープデータを統合して汎用機械学習モデルを取得するためのモデル生成モジュール134000とを備える。
前記汎用機械学習モデルの生成装置は、タスクパラメータの分類処理を実行することにより、さまざまな機械学習アルゴリズムの演算プロセスによく適合し、集約および統合プロセスによって対応する機械学習アルゴリズムの汎用モデルを取得する。前記機械学習アルゴリズムの汎用モデルにより、対応する汎用モデルのコンパイル結果が実行中のアルゴリズムで直接実行され、繰り返しコンパイルが回避されるため、機械学習アルゴリズムにおける実現の効率が大幅に向上し、コンパイルから実行結果を取得するまでの時間が短縮される。
一実施例では、前記タスクパラメータは、アルゴリズム制御パラメータおよび計算パラメータを含む。前記分類処理モジュール132000は、前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得するためのタスク命令生成モジュール132200と、前記計算パラメータに対して分類処理を実行してモデルパラメータを取得するためのモデルパラメータ生成モジュール132110とを備える。
一実施例では、前記モデルパラメータ生成モジュール132110は、共有可能なモデルパラメータを収集してモデルパラメータスタックデータを取得するためのモデルパラメータスタックデータ生成モジュール32110と、前記共有不能なモデルパラメータを収集してモデルパラメータヒープデータを取得するためのモデルパラメータヒープデータ生成モジュール132120とを備える。
一実施例では、前記モデルパラメータ生成モジュールは、前記計算パラメータを前処理して前処理モデルデータを取得するための前処理モジュール132121と、前記計算パラメータに従ってハードウェアパラメータを取得するためのハードウェアパラメータ生成モジュール132122と、前記計算パラメータからデータ属性パラメータを抽出するための属性抽出モジュール132123とをさらに備える。
一実施例では、前記タスク命令はタスク命令ヒープデータを含む。前記パラメータ収集モジュール133000は、前記モデルパラメータスタックデータをパッケージ化し統合して統合してスタックデータブロックを取得するためのスタックデータ収集器133100と、前記モデルパラメータ動的データをパッケージ化し統合して統合して連続した動的データブロックを取得するためのモデルパラメータ動的データ収集器133220と、前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合して統合して連続した静的データブロックを取得するためのモデルパラメータ静的データ収集器133210とを備える。
一実施例では、前記モデル生成モジュール134000は、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することに用いられる。
汎用機械学習モデル生成装置の具体的な定義については、前記汎用機械学習モデル生成方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデル装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
一実施例では、図4を参照しながら、一汎用機械学習モデルの実行方法を提供する。一実施例では、汎用機械学習モデルの実行方法は以下を含む。
ステップS1410では、汎用機械学習モデルを取得する。
具体的には、汎用機械学習モデルは、前記汎用機械学習モデルの方法に従って生成された汎用機械学習モデルである。汎用機械学習モデル生成方法の具体的な説明については、上記を参照することができ、ここで説明は繰り返さない。
ステップS1420では、前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。
具体的には、分類と分解の根拠は、異なるデータタイプに従って分解することである。具体的には、スタックデータとは、マルチコア開発プラットフォームのコア間で共有不可なデータを指し、ヒープデータとは、マルチコア開発プラットフォームのコア間で共有できるデータを指す。一実施例では、ステップS1420で前記汎用機械学習モデルを分類と分解してスタックデータおよびヒープデータを取得する前記ステップは、前記汎用機械学習モデルにおける共用可能なデータをスタックデータとして分解するステップS14210と、前記汎用機械学習モデルにおける共用不可なデータをヒープデータとして分解するステップS14220とを含む。
一実施例では、前記方法は、スタックデータをスタック領域に割り当てることをさらに含む。
具体的には、スタック領域とは、メモリ内の主にスタックデータを格納する記憶スペースを指す。必要に応じて、スタック領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。
一実施例では、前記方法は、ヒープデータをヒープ領域に割り当てることをさらに含む。
具体的には、ヒープ領域とは、メモリ内の主にヒープデータを格納する記憶スペースを指す。必要に応じて、ヒープ領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。具体的には、ヒープ領域データには、ヒープデータや各ヒープブロックレイアウト情報などのヒープ領域に格納されているデータが含まれる。
ステップS1430では、スタック領域データと、ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。具体的には、ステップS1430の計算処理は、ハードウェア計算ユニットにより実行され、ステップS1403のステップの実行後、ニューラルネットワークプロセッサは、ハードウェア計算ユニットによりオフされる。具体的には、ハードウェア計算ユニットは、算術論理演算ユニット、アキュムレータ、ステータスレジスタ、汎用レジスタグループなどから構成される。算術論理演算ユニットの基本機能は、4つの演算の加算、減算、乗算、除算、AND、OR、NAND、XORなどの論理演算、およびシフトと補完などの操作である。ハードウェア計算ユニットは、機械学習アルゴリズムがコンパイルされるのを待たずに、スタック領域データとヒープ領域データを取得することにより、演算を直接実行できることが理解されよう。これにより、機械学習アルゴリズムの計算効率は、汎用機械学習モデルによって向上できる。
一実施例では、前記スタックデータはモデルパラメータスタックデータを含む。
一実施例では、ステップS14230では、スタックデータをスタック領域に割り当てるステップはさらに以下を含む。
ステップS14231では、前記モデルパラメータスタックデータに必要なスペースのサイズと中間結果一時記憶スペースのサイズを取得する。具体的には、モデルパラメータスタックデータに必要なスペースのサイズと中間結果一時保存スペースのサイズに応じて、モデルアドレススタックデータと中間結果一時保存スペースに記憶アドレスと記憶スペースが割り当てられる。
ステップS14232では、前記モデルパラメータスタックデータに必要な占有記憶スペースのサイズと中間結果一時記憶スペースのサイズとの合計を計算して、第1の記憶スペースのサイズを取得する。モデルパラメータスタックデータは、機械学習動作プロセス中に中間結果を生成するため、モデルパラメータスタックデータが占有する記憶スペースと中間結果一時記憶スペースの合計は、メモリによってモデルパラメータスタック領域に割り当てられた最小記憶スペースであることは理解されよう。
一実施例では、ステップS14233において、前記モデルパラメータスタック領域の記憶スペースが割り当てられ、前記モデルパラメータスタック領域の記憶スペースは第1の記憶スペースのサイズ以上である。具体的には、モデルパラメータスタック領域とは、モデルパラメータスタックデータを格納するために主に使用される格納領域を指す。
一実施例では、実行フェーズにおいて変更したヒープデータは、モデルパラメータ動的ヒープデータとして格納され、実行フェーズにおいて変化しないヒープデータはモデルパラメータ静的ヒープデータとして格納される。モデルパラメータスタックデータとモデルパラメータヒープデータの具体的な説明については、上記汎用モデル生成方法の関連内容を参照してもよいが、ここで説明は繰り返さない。
一実施例では、ステップS14240において、前記ヒープデータをヒープ領域に割り当てる前記ステップは、モデルパラメータ動的データに必要な記憶スペースのサイズを取得するステップS14241と、モデルパラメータ動的データをモデルパラメータ動的ヒープ領域に割り当てるステップS14242と、モデルパラメータ静的データをモデルパラメータ静的ヒープ領域に割り当てるステップS14243とをさらに含む。
一実施例では、ステップS14242は、モデルパラメータ動的データを動的データヒープ領域に割り当てる前記ステップはさらに以下を含む。
ステップS142421では、前記モデルパラメータ動的データの記憶スペースと前記入力データの記憶スペースと前記出力データの記憶スペースとを加算し、第2の記憶スペースのサイズを取得する。
ステップS142422では、モデルパラメータ動的ヒープ領域の記憶スペースが割り当てられ、前記モデルパラメータ動的ヒープ領域の記憶スペースは第2の記憶スペースのサイズ以上である。具体的には、割り当てられたモデルパラメータ動的ヒープ領域の記憶スペースは、第2の記憶スペースのサイズ以上である。ステップS142422のステップにより、通常の動作を保証しながら、記憶スペースがよりスケーラブルにされる。
一実施例では、ステップS14240は、前記ヒープデータをヒープ領域に割り当て、ヒープ領域データを取得する前記ステップはさらに以下を含む。
前記モデルパラメータ動的ヒープ領域と前記モデルパラメータ静的ヒープ領域とは、連続した記憶スペースに割り当てられて、連続した記憶スペースを有するヒープ領域を得る。一実施例では、前記ヒープ領域内のデータは、前記モデルパラメータ動的データと、前記モデルパラメータ静的データと、前記入力データと、前記出力データとを含む。
一実施例では、モデルパラメータ静的データは、タスク命令ヒープデータを含む。具体的には、タスク命令ヒープデータは、コア間で共有できるタスク命令データを指す。
一実施例では、前記モデルパラメータ静的ヒープ領域の記憶スペースは、前記デルパラメータ静的ヒープデータの記憶スペース以上である。具体的には、モデルパラメータ静的ヒープ領域の記憶スペースは、モデルパラメータ静的データが占有する記憶スペース以上である。本実施例により、モデルパラメータ静的ヒープ領域は、通常の動作を保証しながら、よりスケーラブルにされる。
一実施例では、前記スタック領域データと前記ヒープ領域データと入力データとに従って出力データを計算して取得する前記ステップは、前記入力データについて前記計算が完了した後、前記ハードウェア計算ユニットをオフすることをさらに含む。具体的には、ハードウェア計算ユニットをオフすることは、機械学習操作プロセスでのコンピュータリソースの占有を減らすのに有利である。
一実施例では、前記スタック領域データと前記ヒープ領域データとに従って、前記入力データを計算して出力データを取得する前記ステップは、前記ヒープ領域から前記出力データを抽出することをさらに含む。前記出力データは、開発プラットフォームの外部に送信される。一実施例では、入力データと、出力データとはヒープ領域に格納される。入力データと、出力データとはモデルパラメータ動的ヒープ領域に格納されることは理解されよう。
一実施例では、図4を参照しながら、一汎用機械学習モデルの実行装置を提供する。
汎用機械学習モデルを取得するためのモデル取得モジュール15100と、
前記汎用機械学習モデルを分類と分解して、スタックデータおよびヒープデータを取得するためのモデル分解モジュール15200と、
スタック領域データと、ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力モジュール15400とを備える装置である。
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記モデル分解モジュール15200は以下を含む。
スタック領域データ配布モジュール15310は、汎用機械学習モデルにおける共有可能なデータをスタックデータに分解するために用いられる。必要に応じて、スタック領域データ配布モジュール15310は、さらに前記スタックデータをスタック領域に割り当てるために用いられる。
ヒープ領域データ配布モジュール15320は、前記ヒープデータをヒープ領域に割り当てるために用いられる。必要に応じて、ヒープ領域データ配布モジュール15320は、さらに汎用機械学習モデルにおける共有不可なデータをヒープデータに分解するために用いられる。
一実施例では、前記スタックデータはモデルパラメータスタックデータである。一実施例では、モデルパラメータスタックデータ配布モジュールは、前記モデルパラメータスタックデータに必要な記憶スペースのサイズと中間結果一時記憶スペースのサイズとの合計を計算して、第1の記憶スペースのサイズを取得するための第1の記憶スペース計算モジュールと、前記モデルパラメータスタック領域の記憶スペースのサイズは第2の記憶スペースのサイズ以上のように前記モデルパラメータスタック領域の記憶スペースを割り当てるためのモデルパラメータスタックデータ配布モジュールとを備える。
一実施例では、前記スタック領域データはスタックデータを含み、前記ヒープ領域データはヒープデータを含む。前記モデル分解モジュール15200は以下を含む。
スタック領域データ配布モジュール15310は、汎用機械学習モデルの共有不可なデータをスタックデータに分解するために用いられ、ヒープ領域データ配布モジュール15320は、汎用機械学習モデルの共有可能なデータをヒープデータに分解するために用いられる。一実施例では、前記スタック領域データ配布モジュール15310は、さらに前記スタックデータをスタック領域に割り当てるために用いられる。一実施例では、前記ヒープ領域データ配布モジュール15320は、さらに前記ヒープデータをヒープ領域に割り当てるために用いられる。
一実施例では、前記スタックデータはモデルパラメータスタックデータを含み、前記スタックデータ配布モジュールは前記モデルパラメータスタックデータをモデルパラメータスタック領域に割り当てることためにさらに用いられる。
一実施例では、前記結果出力モジュール15400はさらに、
前記ヒープ領域から前記出力データを抽出するためのデータ抽出モジュール15410と、
前記出力データを出力するためのデータ出力モジュール15420とを備える。汎用機械学習モデル実行装置の具体的な定義については、前記汎用機械学習モデル実行方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデル実行装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
一実施例では、図3および図6を共に参照しながら、図6は、2層ニューラルネットワークを介したjpg形式の画像の特徴抽出の概略図を提供する。一実施例では、2層ニューラルネットワークを介して画像を抽出する方法は以下を含む。
ステップS16100では、入力画像に対して入力前処理操作を実行して、処理済みの入力画像を取得する。
一実施例では、属性抽出モジュール132123は、入力画像のサイズ、データフォーマット、圧縮フォーマット情報などの入力画像属性情報を抽出し、抽出された属性情報を前処理層に送信する。具体的には、入力前処理層6100は、入力画像属性情報に従ってjpg圧縮画像を非圧縮の元画像に復元し、データポイントに値を1つずつ割り当て、畳み込み層16200が画像を易く処理するようにする。
ステップS16200では、前記処理された入力画像に対して畳み込み演算を実行し、畳み込み演算結果を取得する。
一実施例では、畳み込み層16200は、画像情報に対して特徴抽出を実行する。汎用機械学習モデルは、既に図6に示す機械学習アルゴリズム実行プラットフォームのハードウェア情報に従って、対応するタスク命令を生成した。機械学習アルゴリズム実行プラットフォームに対応するハードウェアが起動された後、タスク命令は計算完了までハードウェアを制御して徐々に入力データと重みデータを取得し、畳み込み演算を行い、中間結果を取得する。具体的には、重みデータは、汎用機械学習モデルにて既にトレーニングされたデータである。一実施例では、中間結果一時スペースの属性は、特徴マップのサイズ、占有している記憶スペースのサイズなどの中間結果の属性を含む。具体的には、中間結果一時スペースの属性に従って、中間結果に適切な記憶スペースが要求される。
ステップS16300では、畳み込み演算の結果が活性化されて、活性化結果が得られる。
一実施例では、活性化層16300は、sigmoid活性化関数を選択して、畳み込み結果を0と1の間でマッピングする。具体的には、汎用機械学習モデルは、既に図6に示す機械学習アルゴリズムプラットフォームのハードウェア情報に従って、対応するタスク命令を生成した。機械学習アルゴリズム実行プラットフォームに対応するハードウェアが起動された後、タスク命令は対応するハードウェアを制御して徐々に入力データと重みデータを取得し、活性化演算を行う。一実施例では、この実施例で画像認識を実行するための機械学習アルゴリズム実行プラットフォームは除算器を欠いているが、sigmoid関数は除算演算を含むため、対応するパラメータはハードウェア専用のパラメータセットから呼び出される。一実施例では、必要な除数の逆数は、ハードウェアパラメータセットが事前に準備される。
一実施例では、活性化層16300が活性化演算を実行する際に、タスク命令の制御によりハードウェアは活性化演算の実行に関するデータを取得し、ハードウェア専用パラメータセットからパラメータデータを取得する。一実施例では、タスク命令の制御によりハードウェアは、畳み込み演算が完了するまで畳み込み演算を実行し、出力データを処理する。
ステップS16400では、活性化結果に対して出力前処理を実行して、最終画像を取得する。
一実施例では、出力前処理層16400は、画像によって事前設定された保存フォーマットに従って出力データに対して出力前処理動作を実行する。一実施例では、出力画像プリセットはjpg形式で保存され、出力前処理層16400は出力画像のプリセット形式に従って出力画像のサイズ、圧縮形式、データ形式などを処理して最終画像を取得する。
図2、図4、および図6のフローチャートにおける各ステップは矢印の指示に従って順次表示されるが、これらのステップは必ずしも矢印で示される順序で実行されるわけではないことが理解されよう。本明細書で明示的に述べられている場合を除き、これらのステップの実行は厳密に制限されておらず、ステップは他の順序で実行されてもよい。また、図2および図4におけるステップの少なくともいくつかは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同時に実行される必要はなく、異なる時刻に実行されてもよい。これらのサブステップまたは段階の実行順序も必ずしも連続的である必要はなく、他のステップまたは他のステップのサブステップまたは段階の少なくともいくつかと交替にまたは交互に実行されてもよい。
一実施例では、一コンピュータ設備が提供され、当該コンピュータ設備はサーバでもよく、その内部構造図は図7に示す通りとしてもよい。当該コンピュータ設備には、システムバスで接続されたプロセッサと、メモリと、ネットワークインターフェースと、データベースとが含まれる。当該コンピュータ設備のプロセッサは、コンピューティングおよび制御機能を提供するために用いられる。当該コンピュータ設備のメモリは、不揮発性記憶媒体と、内部メモリとを含む。当該不揮発性記憶媒体は、オペレーティングシステムと、コンピュータプログラムと、データベースとを格納する。当該内部メモリは、不揮発性記憶媒体内のオペレーティングシステムおよびコンピュータプログラムの動作環境を提供する。当該コンピュータ設備のデータベースは、汎用機械学習モデルデータを格納するために用いられる。当該コンピュータ設備のネットワークインターフェースは、ネットワーク接続を介して外部端末と通信するために用いられる。コンピュータプログラムは、汎用機械学習モデル生成方法および/または汎用機械学習モデル実行方法を実現するためにプロセッサによって実行される。
本出願により提供される汎用機械学習モデルファイル生成方法は、図1に示されるようなアプリケーション環境に応用されることはできる。本出願により提供される汎用機械学習モデル生成方法は、図8に示されるようなアプリケーション環境に応用されることはできる。図8に示されるアプリケーション環境は機械学習開発プラットフォームであり、フレームワーク層2101と、コンパイル層2102と、コンバージェンス層2103と、ドライバ層2104と、ハードウェア層2105とを含む。
一実施例では、フレームワーク層2101は、機械学習タスクのアルゴリズム設計条件を提供するに用いられ、ユーザが独自のニューラルネットワーク構造を構築するために便利なトレーニングおよび予測ツールを提供する。フレームワーク層2101は、ユーザが設計した機械学習アルゴリズム(例えば、ニューラルネットワーク構造)の受け取りと、各サブタスクのパラメータの解析し、コンパイル層に送信して機械命令と関連する必要な要素を生成することと、ランタイム層に送信して計算を実行し、最終的にユーザに必要な機械学習タスクを完成することとのステップを実現するために用いられることが理解されよう。
一実施例では、コンパイル層2102は、機械学習タスクで機械命令を生成することに用いられる。具体的には、コンパイル層には、コンパイラ、高頻度演算子に対して最適化された高性能ライブラリおよび機械命令を生成できるその他のモジュールと、デバイスと、データベースとが含まれる。コンパイル層2102は、上位層であるフレームワーク層2101から送信された機械学習タスクのパラメータを受信し、それをハードウェアのバイナリ機械命令にコンパイルして生成し、下位層であるランタイム層に送信して、保存または実行するように構成されていることがわかりやすい。
一実施例では、コンバージェンス層2103は、ドライバをさらにカプセル化するためのプログラムであり、底層の異なるハードウェアとドライバとの違いをスクリーンすることができ、上位層であるコンパイル層2102またはユーザに統一されたプログラムインターフェースを提供する。具体的には、コンバージェンス層103は、ハードウェアとドライバの詳細を考慮せずに上位層ソフトウェアをカプセル化する。さらに、コンバージェンス層2103は、機械学習タスクの基本操作のプログラムインターフェース、および機械学習モデルを保存すると、ロードすると、ハードウェアで実行するとに必要な機械命令などの必要な要素を提供するため、上位層ソフトウェアとユーザは、具体的なハードウェアの相違を考慮せず、機械学習タスク自身を注目するだけで十分である。必要に応じて、コンバージェンス層から提供された機械学習タスクの基本操作用のプログラムインターフェースには、メモリ空間の割り当てと、データコピーと、起動計算と、その他の機械学習タスクの基本操作用のプログラムインターフェースと含む。
一実施例では、ドライバ層2104は、ハードウェア層2105のデバイスの基本動作をパッケージ化することに用いられ、上位層であるコンバージェンス層103に呼び出すことができるプログラムインターフェースを提供する。具体的には、ドライバ層2104の基本操作には、データストリームの入出力制御と、制御信号のハードウェアへの送信と、ハードウェアにより生成された異常信号の受信や処理と、マルチタスクの管理およびスケジューリングなどが含まれる。
一実施例では、ハードウェア層2105は、機械学習開発プラットフォームのうちにすべてのハードウェア設備を含む。必要に応じて、ハードウェア層2105は、メインプロセッサ、コプロセッサ、メモリ、入力および出力デバイス、電源モジュール、およびそれらの接続デバイスを含む。ハードウェア層2105は、上記のデバイスに限定されないことを理解されよう。
一実施例では、図9および図10を共に参照しながら、一汎用機械学習モデル生成方法および装置を提供する。一実施例では、ステップS1201で、機械学習タスクのタスクパラメータを獲得する。一実施例では、機械学習タスクのタスクパラメータは、外部インターフェースモジュール231000によって取得する。具体的には、タスクパラメータは、汎用機械学習モデルの生成に必要なパラメータであり、それは入力データと出力データ以外のパラメータを含む。具体的には、タスクパラメータは外部プログラムの入力またはユーザの入力からのものである。タスクパラメータがユーザの入力からのものである場合に、ユーザの入力データをフォーマットしてから、タスクパラメータを生成することが理解されよう。一実施例では、ステップS2202で、前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを生成する。一実施例では、モデルパラメータは、モデルパラメータ生成モジュール232100により生成され、タスク命令は、タスク命令生成モジュール232200により生成される。具体的には、タスク命令は、コンパイル処理されたタスクパラメータを指す。モデルパラメータは、機械学習アルゴリズムの実行中に必要なタスクパラメータに他の処理された処理結果を指す。
一実施例では、ステップS2203で、前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。一実施例では、共有不可なデータをスタックデータ収集器233100によって収集し、共有可能なデータをヒープデータ収集器233200によって収集される。共有不可なデータとは、マルチコアプラットフォームのコア間で共有されていないデータを指し、共有データとは、マルチコアプラットフォームのコア間で共有されているデータを指すことは理解されよう。具体的には、収集とは、タスク命令とモデルパラメータをパッケージ化することである。一実施例では、ステップS2204で、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
一実施例では、図11を参照しながら、一汎用機械学習モデル生成方法および装置を提供する。
ステップS2402では、汎用機械学習モデルを取得する。必要に応じて、汎用機械学習モデルは、前述ステップS2201〜ステップS2204によって生成された汎用機械学習モデルでもよく、他のモデルファイルでもよい。
ステップS2404では、前記汎用機械学習モデルの格納オフセット量を計算する。具体的には、汎用機械学習モデルは1つでも複数でも構わない。一実施例では、汎用機械学習モデルは複数である場合に、各汎用機械学習モデルの格納オフセット量を毎に計算する。
ステップS2406では、前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。モデルディレクトリは,汎用機械学習モデルファイル内のすべてのモデルの保存場所の記録であり、モデルディレクトリにより、迅速にターゲットモデルにインデックスできる。
ステップS2408では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。本実施例における汎用機械学習モデルファイルには、汎用機械学習モデル自体だけでなく、モデルディレクトリも含まれているため、汎用機械学習モデルファイル内の汎用機械学習モデルが呼び出されると、対応するモデルが迅速に特定され、読み取られる。
上記汎用機械学習モデルファイル生成方法は、取得した汎用機械モデルのディレクトリを生成することにより、汎用機械学習モデルとモデルディレクトリとに基づいて汎用機械学習モデルファイルを生成する。機械学習演算プロセスにおいて、演算に必要に従って直接に汎用機械学習モデルファイルの内にそれに対応する汎用モデルを読み込み、繰り返しコンパイルを避けることを実現し、機械学習アルゴリズムの実現の効率が大幅に向上させ、コンパイルから実行結果の生成までの時間が短縮される。
一実施例では、図12を参照しながら、ステップS2404において、前記汎用機械学習モデルの格納オフセット量を計算するステップは以下を含む。
ステップS24041では、各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数とを取得する。一実施例では、各前記汎用機械学習モデルが占めた記憶スペースのサイズと前記汎用機械学習モデルの数とに従って、汎用機械学習モデルファイルに必要な記憶スペース占有量のサイズを生成する。
ステップS2402では、前記汎用機械学習モデルの保存順序を取得する。具体的には、汎用機械学習モデルの保存順序は、事前に設定された規則に従ってもよく、保存順序をランダムに生成してもよい。具体的には、汎用機械学習モデルの保存順序が決定された後、汎用機械学習モデルは決定された保存順序に従って保存される。
ステップS24043では、各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記汎用機械学習モデルの数と、前記汎用機械学習モデルの保存順序とに従って、各前記汎用機械学習モデルの格納オフセット量を毎に計算する。格納オフセット量とは、汎用機械学習モデルファイルにおける各汎用機械学習モデルが格納された相対位置を指す。例えば、モデルA、モデルB、およびモデルCは、ファイルヘッダからファイルテールの順に格納され、モデルAのサイズは2ビットで、モデルBのサイズは3ビットで、モデルCのサイズは1ビットである場合に、モデルAのオフセットは0ビットで、モデルBのオフセットは2ビットで、モデルCのオフセットは2+3=5ビットである。
一実施例では、図13を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成するステップS2408は以下を含む。
ステップS2408aでは、前記汎用機械学習モデルファイルのファイルヘッダおよびファイルテールを取得する。
ステップS2408bでは、前記ファイルヘッダと、前記モデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記汎用機械学習モデルファイルを生成する。前記ファイルヘッダとは、汎用機械学習モデルファイルの最初の一部に一定のタスクを担うデータを指し、前記ファイルテールとは、汎用機械学習モデルファイルの最後の一部に一定のタスクを担うデータを指す。
別の実施例では、図14を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成するステップS2408は以下を含む。
ステップS2408cでは、汎用機械学習モデルファイルの識別コードを作成する。具体的には、汎用機械学習モデルファイルの識別コードは、汎用機械学習モデルファイルに添付されているキャラクタを指し、対応する機械学習モデルファイルを正確に取得するために、異なる汎用機械学習モデルファイルはファイルの識別コードによって区別できる。ステップS2408dでは、前記識別コードと、前記汎用機械学習モデルと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。一実施例では、汎用機械学習モデルの識別コードは、ファイルヘッダに格納される。
もう一つの実施例では、図15を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリに従って汎用機械学習モデルファイルを生成するステップS2408は以下を含む。
ステップS2408cでは、前記汎用機械学習モデルファイルのチェックディジットおよび/または誤り訂正符号を作成する。チェックディジットは、汎用機械学習モデルファイルの演算から取得され、汎用機械学習モデルファイルの正確性を検証する。一実施例では、チェックディジットは汎用機械学習モデルファイルの最後のビットに位置し、誤り訂正符号はファイル受信端で、汎用機械学習モデルファイルの伝送プロセスにおけるエラーを見つけることができ、それを修正する文字列を指す。
本実施例のステップにより、汎用機械学習モデルファイルの受信についてセキュリティと安定性が向上させる。伝送プロセスに伝送エラーが発生する場合に、チェックディジットによりエラーを直ちに検出し、誤り訂正符号によりエラーを訂正して、データの安定性とフォールトトレランスが向上させ、受信エラーによる後続プロセスの対応するエラーが防止されることができる。
ステップS2408fでは、前記汎用機械学習モデルファイルのチェックディジットおよび/または誤り訂正符号と、前記汎用機械学習モデルと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。一実施例では、チェックディジットおよび/または誤り訂正符号は、汎用機械学習モデルのファイルテールに格納される。
一実施例では、図16を参照しながら、前記汎用機械学習モデルと前記モデルディレクトリに従って汎用機械学習モデルファイルを生成するステップS2408はさらに以下を含む。
ステップS24081では、前記汎用機械学習モデルファイルが占める必要な記憶スペースのサイズを計算する。
一実施例では、汎用機械学習モデルファイルは、1つまたは複数の汎用機械学習モデルを含む。別の実施例では、汎用機械学習モデルファイルは、ファイルヘッダ、ファイルトレーラ、およびモデルディレクトリをさらに含む。必要に応じて、汎用機械学習モデルファイルは、モデルディレクトリの記憶スペースサイズと複数の汎用機械学習モデルの記憶スペースサイズとの合計を含んでもよい。必要に応じて、汎用機械学習モデルファイルは、ファイルヘッダの記憶スペースサイズ、ファイルテールの記憶スペースサイズ、モデルディレクトリの記憶スペースサイズ、および複数の汎用機械学習モデルの記憶スペースサイズをさらに含んでもよい。
ステップS24082では、前記汎用機械学習モデルと、前記汎用機械学習モデルファイルとが占める必要な記憶スペースのサイズと、前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。一実施例では、汎用機械学習モデルファイルモデルディレクトリと、汎用機械学習モデルとは、順にファイルヘッダからファイルテールまでに格納される。
一実施例では、図17を参照しながら、他の汎用機械学習モデル生成方法を提供し、それは、
汎用機械学習モデルを取得するステップS2501と、前記汎用機械学習モデルに対してストレージ最適化処理を実行して、セカンダリモデルを生成するステップS2502と、前記セカンダリモデルの格納オフセット量を計算するステップS2503と、前記セカンダリモデルと前記セカンダリモデルの格納オフセット量に従ってセカンダリモデルディレクトリを生成するステップS2504と、前記セカンダリモデルと前記セカンダリモデルディレクトリに従って汎用機械学習モデルファイルを生成するステップS2505とを含む。
ステップS2501は、上記の実施例におけるステップS2402の実行プロセスと同じであるため、ここで説明は繰り返さない。また、ステップS2503とステップS2404、ステップS2504とステップS2406、ステップS2505とステップS2408の違いは、実行オブジェクトが異なることであり、つまり、ステップS2503、ステップS2504、およびステップS2505の実行オブジェクトはセカンダリモデルであり、ステップS2404、ステップS2406およびステップの実行オブジェクトは汎用機械学習モデルであり、2つの実施例における前記対応するステップの実行プロセスは同じであるため、ここで説明は繰り返さない。
ステップS2501〜S2505の方法により、元の生成された汎用機械学習モデルが最適化され、汎用機械学習モデルファイルの格納と伝送が容易になり、伝送プロセスのセキュリティと安定性が向上する。
一実施例では、ステップS2502で、前記汎用機械学習モデルにストレージ最適化プロセスを実行し、セカンダリモデルを生成するステップは、前記汎用機械学習モデルを圧縮してセカンダリモデルを生成することを含む。本実施例においては、汎用機械学習モデルを圧縮することにより、汎用機械学習モデルは汎用機械学習モデルファイルに便利に格納され、それにより、対応する汎用機械学習モデルを実行する際に、対応する汎用機械学習モデルを迅速に取得することを便利になる。
別の実施例では、ステップS2502で、ストレージ最適化プロセスが汎用機械学習モデルで実行され、セカンダリモデルを生成するステップは、汎用機械学習モデルを暗号化してセカンダリモデルを生成することをさらに含む。本実施例においては、汎用機械学習モデルを暗号化することにより、格納および伝送プロセスにおける汎用機械学習モデルのセキュリティを向上させることができる。
一実施例では、前記セカンダリモデルと前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
前記機械学習セカンダリモデルファイルのファイルヘッダおよびファイルテールを取得する。
前記ファイルヘッダと、前記セカンダリモデルディレクトと、前記汎用機械学習モデルと、前記ファイルテールとに従って前記機械学習セカンダリモデルファイルを生成する。
一実施例では、前記セカンダリモデルの格納オフセット量を計算する前記ステップは以下を含む。
各前記汎用機械学習モデルが占めた記憶スペースのサイズと、前記セカンダリモデルの数とを取得する。
前記セカンダリモデルの保存順序を取得する。
各前記セカンダリモデルが占める必要な記憶スペースのサイズと、前記セカンダリモデルの数と、前記セカンダリモデルの保存順序とに従って、各セカンダリモデルの格納オフセット量を毎に計算する。
一実施例では、前記汎用機械学習モデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する前記ステップは以下を含む。
機械学習セカンダリモデルファイルの識別コードを作成する。
前記モデルファイル識別コードと、前記セカンダリモデルと、前記セカンダリモデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
一実施例では、前記セカンダリモデルと前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成することは以下を含む。
前記セカンダリモデルファイルのチェックディジットおよび/または誤り訂正符号を作成する。前記機械学習セカンダリモデルファイルのチェックディジットおよび/または誤り訂正符号と、前記セカンダリモデルと、前記セカンダリディレクトリとに従って汎用機械学習セカンダリファイルを生成する。
一汎用機械学習モデル生成方法については、その方法は以下を含む。
機械学習タスクのタスクパラメータを獲得する。
前記タスクパラメータを分類して、タスク命令およびモデルパラメータを生成する。
前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。
前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。
前記汎用機械学習モデルに対してストレージ最適化処理を実行し、前記セカンダリモデルを生成する。前記セカンダリモデルの格納オフセット量を計算する。
前記セカンダリモデルおよび前記セカンダリモデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記セカンダリモデルと、前記モデルディレクトリとに従って機械学習セカンダリモデルファイルを生成する。
もう一つの実施例では、図18を参照しながら、もう一つの汎用機械学習モデル生成方法を提供し、その方法は以下を含む。
ステップS2601では、機械学習タスクのタスクパラメータを獲得する。具体的には、タスクパラメータは、汎用機械学習モデルの生成に必要なパラメータであり、それは入力データと出力データ以外のパラメータを含む。具体的には、タスクパラメータは外部プログラムの入力またはユーザの入力からのものである。タスクパラメータがユーザの入力からのものである場合に、ユーザの入力データをフォーマットしてから、タスクパラメータを生成することが理解されよう。
ステップS2602では、前記タスクパラメータに対して分類処理を行い、タスク命令およびモデルパラメータを生成する。具体的には、タスク命令は、コンパイル処理されたタスクパラメータを指す。モデルパラメータは、機械学習アルゴリズムの実行中に必要なタスクパラメータに他の処理された処理結果を指す。
ステップS2603では、前記タスク命令およびモデルパラメータをデータタイプに従って収集されて、スタックデータおよびヒープデータを生成する。共有不可なデータとは、マルチコアプラットフォームのコア間で共有されていないデータを指し、共有データとは、マルチコアプラットフォームのコア間で共有されているデータを指すことは理解されよう。具体的には、収集とは、タスク命令とモデルパラメータをパッケージ化することである。
ステップS2604では、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成する。具体的には、汎用機械学習モデルには優れた汎用性が備える。一実施例では、汎用機械学習モデルは、上位層の異なるフレームワークと互換性があり、例えば、上位層であるフレームワーク層2101と、コンパイル層2102と、集約層2103などの上位層の異なるフレームワークと互換性があるが、下位層の異なるドライバ層とハードウェアと互換性がある。さらに、汎用機械学習モデルが形成された後、異なる操作コアの数や入力データのアドレスや出力データのアドレスや他の汎用機械学習モデルに従ってデータブロックを調整でき、異なる状況に適応する。
ステップS2605では、前記汎用機械学習モデルの格納オフセット量を計算する。ステップS2605では、前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従ってモデルディレクトリを生成する。ステップS2607では、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。本実施例におけるステップS2605と、ステップS2606と、ステップS2607とは、上記の実施例におけるステップS2405と、ステップS2406と、ステップS2408との実行プロセスと同じであるため、ここで説明は繰り返さない。
一実施例では、図18を参照しながら、モデルフィラー2701と、ディレクトリジェネレータ2702と、ファイルジェネレータ2703とを備える汎用機械学習モデルファイル生成装置が提供され、前記モデルフィラー2701と前記ディレクトリジェネレータ2702とは接続され、ファイルジェネレータ2703は前記モデルフィラー2701と前記ディレクトリジェネレータ2702とそれぞれに接続される。具体的には、前記モデルフィラー2701は前記汎用機械学習モデルを取得するために用いられる。
前記ディレクトリジェネレータ2702は、前記汎用機械学習モデルの格納オフセット量を計算するために用いられ、また、
前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成する。
前記ファイルジェネレータ2703は、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
一実施例において、前記モデルフィラー2701は、前記汎用機械学習モデルをファイルジェネレータに順番に格納するためにさらに用いられる。
一実施例では、前記ファイルジェネレータ2703は、ファイルヘッダジェネレータ27031およびファイルテールジェネレータ27032をさらに含み、前記ファイルヘッダジェネレータ27031は、前記ディレクトリジェネレータ2702に接続されており、前記ファイルテールジェネレータ27032は前記モデルフィラー2701に接続されている。一実施例では、前記ファイルヘッダジェネレータ27031は、機械学習モデルファイルの識別コードを作成するために用いられ、前記識別コードと、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成する。
一実施例では、前記ファイルテールジェネレータ27032は、前記汎用機械学習モデルファイルのチェックディジットおよび/または誤り訂正符号を作成するために用いられる。
一実施例では、前記生成装置は、モデルストレージ最適化器2704をさらに備え、前記モデルストレージ最適化器2704は、前記モデルフィラー2701および前記ディレクトリジェネレータと接続され、前記汎用機械学習モデルをストレージ最適化してセカンダリモデルを生成するために用いられる。一実施例において、セカンダリモデルフィラーは、前記セカンドモデルを受信してファイルジェネレータに順番に格納するために用いられる。
一実施例では、前記生成装置は、ファイルサイズ計算器2705をさらに備え、前記ファイルサイズ計算器2705は、前記ディレクトリジェネレータ2702と接続され、前記汎用機械学習モデルが占有した記憶スペースのサイズの計算と前記汎用機械学習モデルファイルの占有に必要な記憶ペースのサイズの計算ために用いられる。
一実施例では、前記ファイルサイズ計算器2705は、モデルストレージ最適化器2704に接続される。具体的には、上記実施例における接続関係には、電気的接続または無線接続が含まれる。
一実施例では、図20を参照しながら、一汎用機械学習モデル生成装置は、以下を含む。
外部インターフェースモジュール2801は、機械学習タスクのタスクパラメータを取得するために用いられる。
分類処理モジュール2802は、前記タスクパラメータを分類処理して、タスク命令およびモデルパラメータを生成するために用いられる。
パラメータ収集モジュール2803は、データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられる。
モデル生成モジュール2804は、前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられる。
格納オフセット量計算モジュール2805は、前記汎用機械学習モデルの格納オフセット量を計算するために用いられる。
モデルディレクトリ生成モジュール2806は、前記汎用機械学習モデルおよび前記汎用機械学習モデルの格納オフセット量に従って、モデルディレクトリを生成するために用いられる。
ファイル生成モジュール2807は、前記汎用機械学習モデルと前記モデルディレクトリとに従って汎用機械学習モデルファイルを生成するために用いられる。
一実施例では、図20を参照しながら、汎用機械学習モデル生成装置は、汎用機械学習モデルファイル生成装置に接続されており、前記汎用機械学習モデルファイル生成装置は、汎用機械学習モデル生成装置にて生成された汎用機械学習モデルを汎用機械学習モデルファイルに変換するために用いられる。
汎用機械学習モデルファイル生成装置の具体的な定義については、前記汎用機械学習モデルファイル生成方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデルファイル生成装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
一実施例では、図21を参照しながら、もう一つの汎用機械学習モデルファイル解析方法を提供し、その方法は以下を含む。
ステップS2701では、汎用機械学習モデルを取得する。汎用機械学習モデルファイルは、ステップS2402〜ステップS2408によって生成されたモデルファイルを含む。さらに、汎用機械学習ファイルにおける汎用機械学習モデルは、ステップS2201〜ステップS2204によって生成されたモデルファイルを含む。
ステップS2702では、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。具体的には、モデルディレクトリには、上述のステップS2406により生成されたモデルディレクトリが含まれる。
ステップS2703では、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込む。前記ターゲットの汎用機械学習モデルとは、汎用機械学習モデルファイルにおける取り出される汎用機械学習モデルを指す。ターゲットの汎用機械学習モデルは、ユーザの操作命令に従って決定されてもよいし、タスク実行の必要に従って決定されてもよい。
一実施例では、図15を参照しながら、汎用機械学習モデルファイルを取得するステップS2701は以下を含む。
ステップS27011では、前記汎用機械学習モデルファイルの識別コードを取得する。特に、汎用機械学習モデルファイルの識別コードは、汎用機械学習モデルファイルの識別を容易にするために、汎用機械学習モデルファイルヘッダに位置されてもよい。具体的には、汎用機械学習モデルファイルの識別コードは、汎用機械学習モデルファイルに添付されているキャラクタを指し、対応する機械学習モデルファイルを正確に取得するために、異なる汎用機械学習モデルファイルはファイルの識別コードを識別することによって区別できる。さらに、識別コードはステップS2408cで作成された汎用機械学習モデルファイルの識別コードでもよい。
ステップS27012では、前記識別コードが事前設定された規則に適合するか否かを検出する。一実施例では、事前設定された規則は、対応する汎用機械学習モデルファイルを読み取る前に取得された汎用機械学習モデルファイルの識別コードの説明情報を指す。さらに、汎用機械学習モデルファイルを取得した後、汎用機械学習モデルファイルの識別コードが説明情報と一致するか否かを検出し、一致する場合に、識別コードが事前設定された規則に適合していると判断し、一致しない場合に、識別コードが事前設定された規則に適合していると判断する。
ステップS27013では、前記識別コードが事前設定された規則に適合している場合に、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。具体的には、識別コードが事前設定された規則を満たしている場合に、前記汎用機械学習モデルファイルに伝送中に異常がないことを判断できる。
一実施例では、識別コードが事前設定された規則を満たしている場合に、取得した汎用機械学習モデルファイルは読み取りべきの汎用機械学習モデルファイルとは一致ではない。具体的には、識別コードが事前設定された規則を満たしていない場合に、読み込まれた汎用機械学習モデルファイルが異常であると判断され、汎用機械学習モデルファイルの解析方法は実行を停止する。
一実施例では、図23を参照しながら、汎用機械学習モデルを取得するステップS2701は以下を含む。
ステップS27014では、前記汎用機械学習モデルファイルのチェックディジットを取得する。具体的には、チェックディジットが正しい場合に、取得した汎用機械学習モデルファイルは正しいものであり、取得した汎用機械学習モデルファイルのチェックディジットをさらに検出して、汎用機械学習モデルファイルの内容が正しいか否かを判断する。
ステップS27015では、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、前記チェックディジットが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。汎用機械学習モデルファイルの内容が正しい場合に、事前設定された標準コードはチェックディジットと一致する。さらに、取得されたチェックディジットが事前設定された標準コードと一致する場合に、汎用機械学習モデルファイルの内容が正しいと判断され、逆に、取得されたチェックディジットが事前設定された標準コードと一致しない場合に、汎用機械学習モデルファイルの内容が正しくないと判断される。必要に応じて、汎用機械学習モデルファイルが正しくない場合に、エラーが生じる原因は元のファイルにエラーがあるか、元のファイルは正しいが伝送中にエラーが発生する可能性もある。
一実施例では、図24を参照しながら、ステップS27015では、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認するチェックコードが事前設定された標準コードと一致しない場合、エラー訂正演算を実行し、それは以下を含む。
ステップS27015aでは、誤り訂正符号を取得する。誤り訂正符号は、上記ステップS2408eにより取得された誤り訂正符号であってもよい。具体的には、誤り訂正符号はファイル受信端で、汎用機械学習モデルファイルの伝送プロセスにおけるエラーを見つけることができ、それを修正する文字列を指す。
ステップS27015bでは、前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対してエラー訂正を実行して、エラー訂正されたモデルファイルを取得する。具体的には、ファイルのチェックディジットが事前設定された標準コードと一致しない場合に、汎用機械学習モデルファイルの内容が正しくないと判断されると、ファイルの誤り訂正符号に従って汎用機械学習モデルに対してエラーを修正する。具体的には、誤り訂正符号は、汎用機械学習モデルファイルのファイルテールに位置してもよい。
ステップS27015cでは、前記エラー訂正されたモデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証する。具体的には、エラー訂正が完了した後、エラー訂正効果を検出するために、エラー修正されたモデルファイルのチェックディジットが事前設定された標準コードと一致しているか否かをもう一度検証する。
ステップS27015dでは、前記訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。訂正した汎用機械学習モデルファイルのチェックディジットは事前設定された標準コードとは一致すると、訂正した汎用機械学習モデルファイルの内容が正しいと判断されできることは理解されよう。
別の実施例では、前記汎用機械学習モデルファイル解析方法は、前記訂正した汎用機械学習モデルファイルのチェックコードが前記事前設定された標準コードと一致しない場合に、前記方法の実行を停止することをさらに含む。訂正した汎用機械学習モデルファイルのチェックディジットは前記事前設定された標準コードとは一致しないと、訂正誤り訂正が失敗したと判断でき、訂正した汎用機械学習モデルにはまだエラーがあることは理解されよう。
一実施例では、図25を参照しながら、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むステップS2703は以下を含む。
ステップS27031では、前記汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルの格納オフセット量を取得する。格納オフセット量とは、汎用機械学習モデルファイルにおける各汎用機械学習モデルが格納された相対位置を指す。例えば、モデルA、モデルB、およびモデルCは、ファイルヘッダからファイルテールの順に格納され、モデルAのサイズは2ビットで、モデルBのサイズは3ビットで、モデルCのサイズは1ビットである場合に、モデルAのオフセットは0ビットで、モデルBのオフセットは2ビットで、モデルCのオフセットは2+3=5ビットである。
ステップS2703では、前記格納オフセット量に従って前記ターゲットの汎用機械学習モデルを読み込む。一実施例では、格納オフセット量に従ってターゲットの汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルの位置を取得し、さらにターゲットの汎用機械学習モデルの位置に従ってターゲットの汎用機械学習モデルを読み込む。
一実施例では、図26を参照しながら、もう一つの汎用機械学習モデルファイル解析方法を提供し、その方法は以下を含む。
ステップS2801では、汎用機械学習モデルを取得する。具体的には、ステップS2801の実行プロセスは、上述のステップS2701のステップと同じであり、ここで説明は繰り返さない。
ステップS2802では、前記汎用機械学習モデルファイルからセカンダリモデルディレクトリを読み込む。具体的には、本実施例では、汎用機械学習モデルファイルにセカンダリモデルファイルが格納されている。具体的には、本実施例におけるセカンダリモデルおよびセカンダリモデルディレクトリは、上記ステップS2501〜S2505を介して生成されてもよい。
ステップS2803では、前記セカンダリモデルディレクトリに従ってターゲットのセカンダリモデルを読み込む。一実施例では、前記汎用機械学習モデルファイルにおけるターゲットのセカンダリモデルの格納オフセット量を取得し、前記格納オフセット量に従って、前記ターゲットのセカンダリモデルを読み込む。ターゲットのセカンダリモデルとは、汎用機械学習モデルファイルにおける取り出される汎用機械学習モデルを指す。
ステップS2804では、前記ターゲットのセカンダリモデルディレクトリに対して復元を実行してターゲットの汎用機械学習モデルを取得する。具体的には、セカンダリモデルは、ストレージ最適化処理を行った汎用機械学習モデルである。一実施例では、ストレージ最適化プロセスの操作に従ってセカンダリモデルが復元される。例えば、ストレージ最適化プロセスが暗号化である場合に、復元操作はセカンダリモデルに対して復号することである。例えば、ストレージ最適化プロセスが圧縮である場合に、復元操作はセカンダリモデルに対して解凍することである。ストレージ最適化プロセスは暗号化と圧縮の場合に、復元操作は復号と解凍である。
一実施例では、図27を参照しながら、汎用機械学習モデルファイル解析方法はさらに以下を含む。
ステップS2901では、前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取る。具体的には、ハードウェアパラメータ情報は、汎用機械学習モデルを実行するときに必要なハードウェア情報を指す。
ステップS2902では、前記ハードウェアパラメータ情報に従ってハードウェアマッチング情報を生成する。具体的には、ハードウェアパラメータ情報に従ってデバイスプールにおけるハードウェアパラメータ情報を満たすハードウェアを照合する。一実施例では、デバイスプールは異なるハードウェアプラットフォーム内のデバイスであってもよく、デバイスプール内でハードウェアパラメータ情報を照合することにより、汎用機械学習モデルの解析プロセスまたは実行プロセスは、クロスプラットフォームで実現できる。例えば、ハードウェアパラメータ情報によると、汎用機械学習モデルファイルの実現には一つのCPUと一つのGPUは必要であるが、当該プラットフォームはGPUがなく1つのCPUだけの場合は、デバイスプールから他のGPUがあるプラットフォームを探し、デバイスプールにおける異なるプラットフォーム内のハードウェアデバイスを接続して、当該汎用機械学習モデルの実行を完了する。
一実施例では、図22を参照しながら、汎用機械学習モデルファイル解析方法はさらに以下を含む。
ステップS2903では、前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得する。具体的には、分類と分解の根拠は、異なるデータタイプに従って分解することである。具体的には、スタックデータとは、マルチコア開発プラットフォームのコア間で共有不可なデータを指し、ヒープデータとは、マルチコア開発プラットフォームのコア間で共有できるデータを指す。一実施例では、ステップS2903で前記汎用機械学習モデルを分類と分解してスタックデータおよびヒープデータを取得する前記ステップは、前記汎用機械学習モデルにおける共用可能なデータをスタックデータとして分解するステップS29031と、前記汎用機械学習モデルにおける共用不可なデータをヒープデータとして分解するステップS29032とを含む。
ステップS2904では、前記スタック領域データと、前記ヒープ領域データと、入力データとに基づいて計算を行い、出力データを取得する。一実施例では、前記方法は、スタックデータをスタック領域に割り当てることをさらに含む。
具体的には、スタック領域とは、メモリ内の主にスタックデータを格納する記憶スペースを指す。必要に応じて、スタック領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。一実施例では、前記方法は、ヒープデータをヒープ領域に割り当てることをさらに含む。具体的には、ヒープ領域とは、メモリ内の主にヒープデータを格納する記憶スペースを指す。必要に応じて、ヒープ領域に格納されたデータには、機械学習演算中に生成された中間結果も含まれる。具体的には、ヒープ領域データには、ヒープデータや各ヒープブロックレイアウト情報などのヒープ領域に格納されているデータが含まれる。
図9、図11−18、および図21−28のフローチャートにおける各ステップは矢印の指示に従って順次表示されるが、これらのステップは必ずしも矢印で示される順序で実行されるわけではないことが理解されよう。本明細書で明示的に述べられている場合を除き、これらのステップの実行は厳密に制限されておらず、ステップは他の順序で実行されてもよい。また、図9、図11−18、および図21−28におけるステップの少なくともいくつかは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同時に実行される必要はなく、異なる時刻に実行されてもよい。これらのサブステップまたは段階の実行順序も必ずしも連続的である必要はなく、他のステップまたは他のステップのサブステップまたは段階の少なくともいくつかと交替にまたは交互に実行されてもよい。
一実施例では、図29を参照しながら、もう一つの汎用機械学習モデルファイル解析装置を提供し、
その装置は、ファイル取得器2901と、ディレクトリ解析器2902と、モデルリーダ2903とを備える。前記ディレクトリ解析器2902は、それぞれ前記ファイル取得器2901と、前記モデルリーダ2903とに接続されている。
前記ファイル取得器2901は、汎用機械学習モデルファイルを取得するために用いられる。
前記ディレクトリ解析器2902は、前記汎用機械学習モデルファイルからモデルディレクトリを読み込むために用いられる。
前記モデルリーダ2903は、前記モデルディレクトリに従ってターゲットの汎用機械学習モデルを読み込むために用いられる。
一実施例では、前記ファイル取得器2901は、ファイルヘッダチェッカー29011を備える。
前記ファイルヘッダーチェッカー29011は、前記汎用機械学習モデルファイルの識別コードを取得し、前記識別コードが設定された規則を満たしているか否かを検出するために用いられる。前記ファイルヘッダの識別コードが正しい場合に、前記汎用機械学習モデルファイルにモデルディレクトリを読み込む。前記ヘッダーチェッカーは次の目的でも用いられる。
前記汎用機械学習モデルファイルのチェックディジットを取得し、前記チェックディジットが事前設定されたチェックディジットと一致するか否かを確認し、チェックコードが事前設定された標準コードと一致しない場合、エラー訂正演算を実行する。
一実施例では、前記ファイル取得器2901は、ファイルテール訂正器29012をさらに備える。
前記ファイルテール訂正器29012は、ファイルテールの誤り訂正符号を取得するために用いられ、さらに前記誤り訂正符号に従って前記汎用機械学習モデルファイルに対して訂正して、訂正したモデルファイルを取得するために用いられる。また、前記訂正されたモデルファイルのチェックディジットが前記事前設定された標準コードと一致しているか否かを検証するために用いられる。前記訂正されたモデルファイルのチェックディジットは前記事前設定された標準コードとは一致すると、前記汎用機械学習モデルファイルからモデルディレクトリを読み込む。
一実施例では、前記ファイルテール訂正器29012は、前記訂正したモデルファイルのチェックコードが前記事前設定された標準コードと一致しない場合に、前記方法の実行を停止するために用いられる。
一実施例では、前記モデルリーダ2903は、前記汎用機械学習モデルファイルにおけるターゲットの汎用機械学習モデルのオフセット量を取得し、前記オフセット量に従って、前記ターゲットの汎用機械学習モデルを読み込む。
一実施例では、前記汎用機械学習モデルファイル解析装置は、モデル配信器2904をさらに備え、前記モデル配信器2904は前記ディレクトリ解析器2902と接続する。一実施例では、前記モデル配信器2904は、前記汎用機械学習モデルファイルにおけるセカンダリモデルディレクトリを読み取り、前記セカンダリモデルディレクトリに従ってターゲット二次モデルを読み取り、前記ターゲットのセカンダリモデルを解析し、汎用機械学習モデルを取得するために用いられる。
一実施例では、前記汎用機械学習モデルファイル解析装置は、ハードウェアマッチャー2905をさらに含み、前記ハードウェアマッチャー2905はモデルリーダー2903に接続され、前記ハードウェアマッチャーは、前記汎用機械学習モデルにおけるハードウェアパラメータ情報を読み取り、前記ハードウェアパラメータに従ってデバイスプールで対応するハードウェアを照合するために用いられる。
一実施例では、前記汎用機械学習モデルファイル解析装置は、前記汎用機械学習実行装置29100に接続されており、図30を参照しながら、前記汎用機械学習実行装置は、
汎用機械学習モデルを取得するためのモデル取得器29101と、
前記汎用機械学習モデルを分類と分解して、スタック領域データおよびヒープ領域データを取得するためのモデル分解器29102と、
前記スタック領域データと、前記ヒープ領域データと、入力データと取得して計算を行い、出力データを取得するための結果出力器29103とを備える。
汎用機械学習モデルファイル解析装置の具体的な定義については、前記汎用機械学習モデルファイル解析方法の定義を参照することができ、ここで説明は繰り返さない。前記汎用機械学習モデルファイル生成装置の各モジュールは、ソフトウェア、ハードウェア、およびそれらの組み合わせによって全体的または部分的に実現されてもよい。前記各モジュールは、ハードウェア形式でコンピュータ装置のプロセッサに組み込まれるか、コンピュータ装置のプロセッサから独立していてもよいし、プロセッサに呼び出されやすいためにソフトウェア形式でコンピュータ装置のメモリに格納されてもよい。
一実施例では、一コンピュータ設備が提供され、当該コンピュータ設備は端末でもよく、その内部構造図は図31に示す通りとしてもよい。当該コンピュータ設備には、システムバスで接続されたプロセッサと、メモリと、ネットワークインターフェースと、ディスプレイと、インプットデバイスとが含まれる。当該コンピュータ設備のプロセッサは、コンピューティングおよび制御機能を提供するために用いられる。当該コンピュータ設備のメモリは、不揮発性記憶媒体と、内部メモリとを含む。当該不揮発性記憶媒体は、オペレーティングシステムと、コンピュータプログラムとを格納する。当該内部メモリは、不揮発性記憶媒体内のオペレーティングシステムおよびコンピュータプログラムの動作環境を提供する。当該コンピュータ設備のネットワークインターフェースは、ネットワーク接続を介して外部端末と通信するために用いられる。コンピュータプログラムは、汎用機械学習モデルファイル生成方法および/または汎用機械学習モデル解析方法を実現するためにプロセッサによって実行される。当該コンピュータ設備のディスプレイは、液晶ディスプレイまたは電子インクディスプレイであってもよく、当該コンピュータ設備のインプットデバイスは、ディスプレイ上に覆われたタッチ層であってもよいし、またはココンピュータ設備のケーシング上に設けられたボタン、トラックボールまたはタッチパッドであってもよいし、さらに外部キーボード、タッチパッド、またはマウスなどであってもよい。
図31に示される構造は、本出願の解決策に関連する構造の一部のブロック図にすぎず、本出願の解決策が適用されるコンピュータ設備の制限を構成しないことが当業者には理解されるであろう。図に示されているコンポーネントよりも多いまたは少ないコンポーネントが含まれているか、一部のコンポーネントが組み合わされているか、コンポーネントの配置が異なっていることはできる。
一実施例では、メモリおよびプロセッサを備えるコンピュータ装置が提供され、メモリにコンピュータプログラムを格納し、当該プロセッサはコンピュータプログラムを実行する際に上記実施例のいずれかによって提供される方法のステップを実現する。
一コンピュータ可読記憶媒体は、コンピュータプログラムを格納し、前記コンピュータプログラムはプロセッサによって実行される際に、上記実施例のいずれかによって提供される方法のステップを実現する。
当業者であれば、上述した実施例の様々な方法の全部または一部を関連ハードウェアに命令するためのプログラムによって達成することができ、そのプログラムをコンピュータ可読メモリに格納することができ、そのプログラムは実行される際に、上記各方法の実施例のフローを含むことを理解するであろう。本出願で提供される各実施例で使用されるメモリ、ストレージ、データベース、または他の媒体への参照には、不揮発性および/または揮発性メモリのすべてが含まれ得る。不揮発性メモリには、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能なROM(EEPROM)、またはフラッシュメモリが含まれる。揮発性メモリには、ランダムアクセスメモリ(RAM)または外部キャッシュメモリが含まれる。制限ではなく例として、RAMは、静的RAM(SRAM)、動的RAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDRSDRAM)、拡張SDRAM(ESDRAM)、同期チェーン(Synchlink)、DRAM(SLDRAM)、メモリバス(Rambus)ダイレクトRAM(RDRAM)、ダイレクトメモリバスダイナミックRAM(DRDRAM)、およびメモリバスダイナミックRAM(RDRAM)などのさまざまな形式で利用できる。
図7に示される構造は、本出願の解決策に関連する構造の一部のブロック図にすぎず、本出願の解決策が適用されるコンピュータ設備の制限を構成しないことが当業者には理解されるであろう。図に示されているコンポーネントよりも多いまたは少ないコンポーネントが含まれているか、一部のコンポーネントが組み合わされているか、コンポーネントの配置が異なっていることはできる。最後に、説明すべきは、1番目と2番目などの関係用語は、あるエンティティまたは操作を別のエンティティまたは操作から区別するためにのみ使用され、必ずしもこれらのエンティティにはこのような実際の関係や操作の間には順序がある必要とするわけではないことに注意されよう。また、用語「備える」、「含む」またはその任意の変形は、非排他的な包含を網羅する意図であり、複数の要素を含むプロセス、方法、物品、またはデバイスがそれらの要素だけでなく、明示的にリストされていない他の要素も、またはそのようなプロセス、メソッド、アイテム、またはデバイスに固有の要素も包含する。「…を含む」という語句によって定義される要素は、要素を構成するプロセス、メソッド、アイテム、またはデバイスに他の要素が存在することを除外しない。
本明細書の各実施例は漸進的に説明されており、各実施例は他の実施例との違いに焦点を合わせており、各実施例の間の同じ類似部分は互いに参照され得る。
開示された実施例について上記の説明は、当業者が本出願を作成または使用することを可能にする。これらの実施例に対する様々な修正は当業者には明らかであり、本明細書で定義される一般原理は、本出願の精神または範囲から逸脱することなく他の実施例で実施することができる。したがって、本出願は、本明細書に示された実施例に限定されず、本明細書に開示された原理および新規の特徴の最も広い範囲が与えられるべきである。

Claims (21)

  1. 汎用機械学習モデルの生成方法であって、
    機械学習タスクのタスクパラメータを獲得することと、
    前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得することと、
    前記タスク命令およびモデルパラメータをデータタイプに従って収集し、スタックデータおよびヒープデータを取得することと、
    前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得することとを含む方法。
  2. 請求項1に記載の方法であって、前記タスクパラメータは、アルゴリズム制御パラメータおよび計算パラメータを含み、
    前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを取得する前記ステップは、
    前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得することと、
    前記計算パラメータに対して分類処理を行い、モデルパラメータを取得することを含むことを特徴とする方法。
  3. 請求項2に記載の方法であって、前記計算パラメータを分類処理して、モデルパラメータを取得する前記ステップは、
    前記計算パラメータを前処理して、前処理モデルパラメータを取得することと、
    前記計算パラメータに従ってハードウェアパラメータを取得することと、
    前記計算パラメータからデータ属性パラメータを抽出することとを含むことを特徴とする方法。
  4. 請求項3に記載の方法であって、前記タスク命令およびモデルパラメータをデータタイプに従って収集して、スタックデータおよびヒープデータを取得する前記ステップは、
    前記タスク命令に対して分類処理を行い、タスク命令ヒープデータを取得することと、
    前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得することと、
    前記モデルパラメータスタックデータを収集して、前記スタックデータを取得することと、
    前記モデルパラメータヒープデータおよびタスク命令ヒープデータに対して収集し、前記ヒープデータを取得することとを含むことを特徴とする方法。
  5. 請求項4に記載の方法であって、前記データタイプに従ってモデルパラメータに対して分類処理を行い、モデルパラメータスタックデータおよびモデルパラメータヒープデータを取得する前記ステップは、
    共有属性に従ってモデルパラメータを分類し、共有可能なモデルパラメータおよび共有不可なモデルパラメータを取得することと、
    共有可能なモデルパラメータを収集して、モデルパラメータヒープデータを取得することと、
    前記共有不可なモデルパラメータを収集して、モデルパラメータスタックデータを取得することとを含むことを特徴とする方法。
  6. 請求項4に記載の方法であって、前記モデルパラメータヒープデータは、モデルパラメータ静的データおよびモデルパラメータ動的データを含み、
    前記スタックデータとヒープデータを統合して、汎用機械学習モデルを取得する前記ステップは、
    前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得することと、
    前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することと、
    前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得することと、
    前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することとを含むことを特徴とする方法。
  7. 請求項6に記載の方法であって、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得する前記ステップは、
    前記タスク命令に従って、静的データレイアウト情報と、動的データレイアウト情報と、スタックデータレイアウト情報とを取得することと、
    前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得することと、
    前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することと、
    前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得することと、
    前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを統合することとを含むことを特徴とする。
  8. 請求項7に記載の方法であって、前記計算パラメータから、データ属性パラメータを抽出する前記ステップは、
    計算パラメータの入力データ属性、出力データ属性、および中間結果一時スペース属性を取得することと、
    前記入力データの属性から前記入力データのデータ量を抽出し、前記入力データの記憶スペースを割り当てることと、
    前記出力データの属性から前記出力データのデータ量を抽出し、前記出力データの記憶スペースを割り当てることと、
    前記中間結果一時スペース属性から中間結果一時スペースのデータ量を抽出し、前記中間結果一時記憶スペースを割り当てることと、
    前記入力データの記憶スペースと出力データの記憶スペースをヒープデータとして格納し、前記中間結果一時記憶スペースをスタックデータとして格納することとを含むことを特徴とする方法。
  9. 請求項8に記載の方法であって、前記スタックデータレイアウト情報に従って前記モデルパラメータスタックデータをパッケージ化し統合し、前記スタックデータブロックを取得する前記ステップは、
    スタックデータレイアウト情報に従って前共有不可なモデルパラメータと前記中間結果一時記憶スペースを統合して、前記スタックデータブロックを取得することを含むことを特徴とする方法。
  10. 請求項9に記載の方法であって、前記計算パラメータに従って、ハードウェアパラメータを取得する前記ステップは、
    ハードウェアプラットフォーム情報およびハードウェア配置パラメータを取得し、ヒープデータとして格納することを含むことを特徴とする方法。
  11. 請求項10に記載の方法であって、前記静的データレイアウト情報に従って前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、前記連続した静的データブロックを取得する前記ステップは、
    前記静的データレイアウト情報に従って、前記タスク命令ヒープデータと、モデルパラメータヒープデータと、ハードウェアプラットフォーム情報と、ハードウェア配置パラメータとを統合し、前記連続した静的データブロックを取得することを含むことを特徴とする方法。
  12. 請求項8に記載の方法であって、前記動的データレイアウト情報に従って前記モデルパラメータ動的データをパッケージ化し統合し、連続した的データブロックを取得する前記ステップは、
    前記動的データレイアウト情報に従って、前記入力データ記憶スペースおよび前記出力データ記憶スペースは統合し、前記連続した動的データブロックを取得することを含むことを特徴とする方法。
  13. 汎用機械学習モデルの生成装置であって、
    機械学習タスクのタスクパラメータを取得するために用いられる外部インターフェースモジュールと、
    前記タスクパラメータに対し分類処理を行い、タスク命令およびモデルパラメータを生成するために用いられる分類処理モジュールと、
    データタイプに従って前記タスク命令およびモデルパラメータを収集して、スタックデータおよびヒープデータが生成するために用いられるパラメータ収集モジュールと、
    前記スタックデータとヒープデータを統合して、汎用機械学習モデルを生成するために用いられるモデル生成モジュールとを備える装置。
  14. 請求項13に記載の装置であって、前記タスクパラメータは、アルゴリズム制御パラメータおよび計算パラメータを含み、
    前記分類処理モジュールは、
    前記アルゴリズム制御パラメータをコンパイルしてタスク命令を取得するために用いられるタスク命令生成モジュールと、
    前記計算パラメータに対し分類処理を行い、モデルパラメータを取得するために用いられるモデルパラメータ生成モジュールとを備えることを特徴とする装置。
  15. 請求項14に記載の装置であって、前記モデルパラメータ生成モジュールは、
    共有可能なモデルパラメータを収集して、モデルパラメータスタックデータを取得するために用いられるモデルパラメータスタックデータ生成モジュールと、
    前記共有不可なモデルパラメータを収集して、モデルパラメータヒープデータを取得するために用いられるモデルパラメータヒープデータ生成モジュールとを備えることを特徴とする装置。
  16. 請求項15に記載の装置であって、前記モデルパラメータヒープデータ生成モジュールは、
    静的な前記モデルパラメータヒープデータを収集して、モデルパラメータ静的データを取得するために用いられるモデルパラメータ静的データ生成モジュールと、
    動的な前記モデルパラメータヒープデータを収集して、モデルパラメータ動的データを取得するために用いられるモデルパラメータ動的データ生成モジュールとを備えることを特徴とする装置。
  17. 請求項15に記載の装置であって、前記モデルパラメータ生成モジュールは、
    前記計算パラメータを前処理して、前処理モデルパラメータを取得するために用いられる前処理モジュールと、
    前記計算パラメータに従ってハードウェアパラメータを取得するために用いられるハードウェアパラメータ生成モジュールと、
    前記計算パラメータからデータ属性パラメータを抽出するために用いられる属性抽出モジュールとをさらに備えることを特徴とする装置。
  18. 請求項17に記載の装置であって、前記タスク命令は、タスク命令ヒープデータを含み、前記パラメータ収集器は、
    前記モデルパラメータスタックデータをパッケージ化し統合し、スタックデータブロックを取得するために用いられるスタックデータ収集器と、
    前記モデルパラメータ動的データをパッケージ化し統合して、連続した動的データブロックを取得することために用いられるモデルパラメータ動的データ収集器と、
    前記タスク命令ヒープデータと前記モデルパラメータ静的データをパッケージ化し統合し、連続した静的データブロックを取得するために用いられるモデルパラメータ静的データ収集器とを備えることを特徴とする装置。
  19. 請求項18に記載の装置であって、前記モデル生成モジュールは、前記連続した静的データブロックと、前記連続した動的データブロックと、スタックデータブロックとを合併してから、汎用機械学習モデルを取得することを特徴とする装置。
  20. コンピュータプログラムを格納するメモリとプロセッサとを備えるコンピュータ設備であって、前記プロセッサは前記コンピュータプログラムを実行する際に請求項1〜12のいずれの一項に記載の方法のステップを実現することを特徴とするコンピュータ設備。
  21. コンピュータプログラムを格納するコンピュータ可読記憶媒体であって、前記コンピュータプログラムをプロセッサによって実行する際に、請求項1〜12のいずれの一項記載の方法のステップを実現する実現することを特徴とするコンピュータ可読記憶媒体。

JP2019554861A 2018-06-08 2019-05-07 汎用機械学習モデル、モデルファイルの生成および解析方法 Active JP7386706B2 (ja)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
CN201810588623.3 2018-06-08
CN201810588623.3A CN110647996B (zh) 2018-06-08 2018-06-08 通用机器学习模型的执行方法、装置和存储介质
CN201810589390.9 2018-06-08
CN201810589390.9A CN110580527B (zh) 2018-06-08 2018-06-08 通用机器学习模型的生成方法、装置和存储介质
CN201811457719.2A CN111260018B (zh) 2018-11-30 2018-11-30 机器学习二级模型文件生成方法、装置、存储介质
CN201811457719.2 2018-11-30
CN201811459853.6 2018-11-30
CN201811456246.4 2018-11-30
CN201811459853.6A CN111260071B (zh) 2018-11-30 2018-11-30 通用机器学习模型文件解析方法、装置、存储介质
CN201811459679.5 2018-11-30
CN201811459679.5A CN111338630B (zh) 2018-11-30 2018-11-30 通用机器学习模型文件的生成方法、装置、存储介质
CN201811456246.4A CN111258584B (zh) 2018-11-30 2018-11-30 通用机器学习二级模型文件解析方法、装置、存储介质
PCT/CN2019/085853 WO2019233231A1 (zh) 2018-06-08 2019-05-07 通用机器学习模型、模型文件的生成和解析方法

Publications (2)

Publication Number Publication Date
JP2021526670A true JP2021526670A (ja) 2021-10-07
JP7386706B2 JP7386706B2 (ja) 2023-11-27

Family

ID=68770069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019554861A Active JP7386706B2 (ja) 2018-06-08 2019-05-07 汎用機械学習モデル、モデルファイルの生成および解析方法

Country Status (5)

Country Link
US (7) US11334329B2 (ja)
EP (1) EP3751477A4 (ja)
JP (1) JP7386706B2 (ja)
KR (1) KR20210017985A (ja)
WO (1) WO2019233231A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414187B (zh) * 2019-07-03 2021-09-17 北京百度网讯科技有限公司 模型安全交付自动化的系统及其方法
US11348035B2 (en) * 2020-10-27 2022-05-31 Paypal, Inc. Shared prediction engine for machine learning model deployment
KR102485528B1 (ko) * 2021-11-02 2023-01-06 주식회사 에이젠글로벌 금융 서비스를 위한 금융 모델 및 금융 데이터 가치 평가 방법 및 이러한 방법을 수행하는 장치
US11675571B1 (en) * 2021-12-28 2023-06-13 Nb Ventures, Inc. Restructuring enterprise application
CN116247248B (zh) * 2023-05-10 2023-07-25 北京新研创能科技有限公司 基于排放物分析的氢燃料电池堆健康状态诊断方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01248268A (ja) * 1988-03-30 1989-10-03 Nippon Telegr & Teleph Corp <Ntt> 神経回路網学習装置
JP2005227794A (ja) * 2002-11-21 2005-08-25 Matsushita Electric Ind Co Ltd 標準モデル作成装置及び標準モデル作成方法
JP2011204105A (ja) * 2010-03-26 2011-10-13 Kddi R & D Laboratories Inc スクリプト起動プログラム、スクリプト起動プログラムの生成プログラム、およびプログラムセット
JP2013190879A (ja) * 2012-03-12 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> コンピュータシステム及びシステム制御方法
JP2016517550A (ja) * 2013-02-14 2016-06-16 アダプティブ スペクトラム アンド シグナル アラインメント インコーポレイテッド ブロードバンドネットワークのチャーン予測
US20180088996A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Systems and Methods of Memory Allocation for Neural Networks

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676691A3 (en) 1994-04-06 1996-12-11 Hewlett Packard Co Device for saving and restoring registers in a digital computer.
US6381738B1 (en) * 1999-07-16 2002-04-30 International Business Machines Corporation Method for optimizing creation and destruction of objects in computer programs
US7024668B2 (en) 2000-05-15 2006-04-04 Matsushita Electric Industrial Co., Ltd. Application execution apparatus and method
US20030055881A1 (en) 2001-09-14 2003-03-20 Ngo Kim Cuc Method and apparatus for transmitting data over a network
US7558935B1 (en) * 2004-05-04 2009-07-07 Sun Microsystems, Inc. Method and system for optimizing memory allocation
KR101164194B1 (ko) 2008-12-11 2012-07-10 한국전자통신연구원 멀티 쓰레드 기반의 정적 스택 할당 방법
US20100185568A1 (en) * 2009-01-19 2010-07-22 Kibboko, Inc. Method and System for Document Classification
US8620461B2 (en) * 2009-09-24 2013-12-31 Honeywell International, Inc. Method and system for updating tuning parameters of a controller
JP5381624B2 (ja) 2009-11-04 2014-01-08 富士通株式会社 メモリ管理機能を有するプログラム及び装置
CN101782976B (zh) 2010-01-15 2013-04-10 南京邮电大学 一种云计算环境下机器学习自动选择方法
CN101833438A (zh) 2010-04-19 2010-09-15 浙江大学 一种基于多重并行的数据通用处理方法
US8990502B2 (en) * 2010-11-23 2015-03-24 International Business Machines Corporation Write cache structure in a storage system
CN102289496B (zh) 2011-08-22 2013-03-06 北京航空航天大学 一种基于贝叶斯网络的无线认知网络知识库构建方法
US8566559B2 (en) 2011-10-10 2013-10-22 Microsoft Corporation Runtime type identification of native heap allocations
CN102609714B (zh) 2011-12-31 2017-07-07 哈尔滨理工大学 基于信息增益和在线支持向量机的新型分类器及分类方法
US9324033B2 (en) 2012-09-13 2016-04-26 Nokia Technologies Oy Method and apparatus for providing standard data processing model through machine learning
US9086950B2 (en) 2012-09-26 2015-07-21 Avaya Inc. Method for heap management
US9069656B2 (en) 2012-09-28 2015-06-30 Apple Inc. Obfuscating function resources while reducing stack consumption
US9286574B2 (en) 2013-11-04 2016-03-15 Google Inc. Systems and methods for layered training in machine-learning architectures
US20150242760A1 (en) 2014-02-21 2015-08-27 Microsoft Corporation Personalized Machine Learning System
US10225280B2 (en) * 2014-02-24 2019-03-05 Cyphort Inc. System and method for verifying and detecting malware
US10289962B2 (en) 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
US9460002B1 (en) * 2014-06-30 2016-10-04 Emc Corporation Memory allocation
US9875736B2 (en) 2015-02-19 2018-01-23 Microsoft Technology Licensing, Llc Pre-training and/or transfer learning for sequence taggers
US9710238B2 (en) 2015-03-26 2017-07-18 IfWizard Corporation Automatically optimizing analytics database server
US11221990B2 (en) 2015-04-03 2022-01-11 The Mitre Corporation Ultra-high compression of images based on deep learning
CN106067028A (zh) * 2015-04-19 2016-11-02 北京典赞科技有限公司 基于gpu的自动化机器学习的建模方法
CN106156810B (zh) * 2015-04-26 2019-12-03 阿里巴巴集团控股有限公司 通用机器学习算法模型训练方法、系统和计算节点
CN104850592B (zh) 2015-04-27 2018-09-18 小米科技有限责任公司 生成模型文件的方法和装置
US9912759B2 (en) 2015-06-24 2018-03-06 International Business Machines Corporation Dynamically generating solution stacks
US10540588B2 (en) 2015-06-29 2020-01-21 Microsoft Technology Licensing, Llc Deep neural network processing on hardware accelerators with stacked memory
CN105824713B (zh) 2016-03-10 2019-07-16 中国银行股份有限公司 一种数据校验方法及装置
CN105912500B (zh) * 2016-03-30 2017-11-14 百度在线网络技术(北京)有限公司 机器学习模型生成方法和装置
CN106371765B (zh) 2016-08-29 2020-09-18 成都科鸿达科技有限公司 一种高效大规模系统的ltl模型检测去内存抖动的方法
CN106383842A (zh) 2016-08-30 2017-02-08 广联达科技股份有限公司 模型文件的解析方法、解析装置和服务器
US11681943B2 (en) * 2016-09-27 2023-06-20 Clarifai, Inc. Artificial intelligence development via user-selectable/connectable model representations
WO2018078590A2 (en) 2016-10-27 2018-05-03 Voodoo Manufacturing, Inc. Automated manufacturing system
WO2018088794A2 (ko) * 2016-11-08 2018-05-17 삼성전자 주식회사 디바이스가 이미지를 보정하는 방법 및 그 디바이스
US20180165779A1 (en) * 2016-11-15 2018-06-14 Scriyb LLC System and method for event management in an online virtual learning environment with integrated real-learning augmentation and cyber workforce optimization
US10796217B2 (en) * 2016-11-30 2020-10-06 Microsoft Technology Licensing, Llc Systems and methods for performing automated interviews
CN106779087B (zh) * 2016-11-30 2019-02-22 福建亿榕信息技术有限公司 一种通用机器学习数据分析平台
CN106682280A (zh) 2016-12-08 2017-05-17 润泽安泰(北京)科技有限公司 一种优化算法的通用建模方法及系统
CN108229686B (zh) 2016-12-14 2022-07-05 阿里巴巴集团控股有限公司 模型训练、预测方法、装置、电子设备及机器学习平台
US10684984B2 (en) * 2016-12-21 2020-06-16 Intel Corporation Computing devices and server systems with processing cores having different instruction set architectures
US10885188B1 (en) * 2016-12-30 2021-01-05 Comodo Security Solutions, Inc. Reducing false positive rate of statistical malware detection systems
US10089467B1 (en) * 2017-05-23 2018-10-02 Malwarebytes Inc. Static anomaly-based detection of malware files
US10394811B2 (en) * 2017-05-30 2019-08-27 Oracle International Corporation Tail-based top-N query evaluation
CN107436762B (zh) 2017-07-03 2021-02-23 北京东土军悦科技有限公司 一种寄存器代码文件生成方法、装置和电子设备
CN107563512B (zh) 2017-08-24 2023-10-17 腾讯科技(上海)有限公司 一种数据处理方法、装置以及存储介质
CN107844634B (zh) * 2017-09-30 2021-05-25 平安科技(深圳)有限公司 多元通用模型平台建模方法、电子设备及计算机可读存储介质
CN107844371A (zh) 2017-10-12 2018-03-27 北京京东尚科信息技术有限公司 任务处理方法、系统及电子设备
CN107749757B (zh) 2017-10-18 2020-08-14 广东电网有限责任公司电力科学研究院 一种基于堆栈式自编码和pso算法的数据压缩方法及装置
US10360214B2 (en) 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US10963226B2 (en) * 2017-10-25 2021-03-30 Aspiring Minds Assessment Private Limited Generating compilable code from uncompilable code
US10275710B1 (en) * 2017-10-31 2019-04-30 KenSci Inc. Machine learning model repository
CN108763268B (zh) 2018-04-04 2020-12-29 深圳市彬讯科技有限公司 一种三维模型的批处理方法与装置、存储介质
US10565229B2 (en) * 2018-05-24 2020-02-18 People.ai, Inc. Systems and methods for matching electronic activities directly to record objects of systems of record
EP3841517A1 (en) * 2018-08-20 2021-06-30 Yield Systems Oy Method and system for generating annotated training data
CN109409513B (zh) * 2018-10-10 2021-03-12 广州市百果园信息技术有限公司 一种基于神经网络的任务处理方法及相关设备
CN109614220B (zh) * 2018-10-26 2020-06-30 阿里巴巴集团控股有限公司 一种多核系统处理器和数据更新方法
CN111507476A (zh) * 2019-01-31 2020-08-07 伊姆西Ip控股有限责任公司 部署机器学习模型的方法、设备和计算机程序产品
US10956698B2 (en) * 2019-04-18 2021-03-23 Paypal, Inc. Systems and methods for using machine learning to determine an origin of a code
US11443234B2 (en) * 2019-09-25 2022-09-13 Sap Se Machine learning data processing pipeline
US20210191765A1 (en) * 2019-12-18 2021-06-24 Deep Vision Inc. Method for static scheduling of artificial neural networks for a processor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01248268A (ja) * 1988-03-30 1989-10-03 Nippon Telegr & Teleph Corp <Ntt> 神経回路網学習装置
JP2005227794A (ja) * 2002-11-21 2005-08-25 Matsushita Electric Ind Co Ltd 標準モデル作成装置及び標準モデル作成方法
JP2011204105A (ja) * 2010-03-26 2011-10-13 Kddi R & D Laboratories Inc スクリプト起動プログラム、スクリプト起動プログラムの生成プログラム、およびプログラムセット
JP2013190879A (ja) * 2012-03-12 2013-09-26 Nippon Telegr & Teleph Corp <Ntt> コンピュータシステム及びシステム制御方法
JP2016517550A (ja) * 2013-02-14 2016-06-16 アダプティブ スペクトラム アンド シグナル アラインメント インコーポレイテッド ブロードバンドネットワークのチャーン予測
US20180088996A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Systems and Methods of Memory Allocation for Neural Networks

Also Published As

Publication number Publication date
US20210109729A1 (en) 2021-04-15
US20210109726A1 (en) 2021-04-15
US20210089285A1 (en) 2021-03-25
JP7386706B2 (ja) 2023-11-27
US11334330B2 (en) 2022-05-17
US20220326919A1 (en) 2022-10-13
US20210109725A1 (en) 2021-04-15
US11403080B2 (en) 2022-08-02
WO2019233231A1 (zh) 2019-12-12
US11334329B2 (en) 2022-05-17
US11036480B2 (en) 2021-06-15
US11379199B2 (en) 2022-07-05
US11726754B2 (en) 2023-08-15
EP3751477A4 (en) 2021-11-03
US11307836B2 (en) 2022-04-19
US20210109728A1 (en) 2021-04-15
KR20210017985A (ko) 2021-02-17
US20210109727A1 (en) 2021-04-15
EP3751477A1 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
JP7386706B2 (ja) 汎用機械学習モデル、モデルファイルの生成および解析方法
US10157045B2 (en) Systems and methods for automatically generating code for deep learning systems
CN111427681B (zh) 边缘计算中基于资源监控的实时任务匹配调度系统和方法
US10303837B2 (en) Virtual cell model geometry compression
US10102039B2 (en) Converting a hybrid flow
EP3843013A1 (en) Systems and methods for quantizing a neural network
CN114399019A (zh) 神经网络编译方法、系统、计算机设备及存储介质
EP3403221A1 (en) Systems and methods for automatically generating code for deep learning systems
CN114168154B (zh) 模型数据处理方法、装置、电子设备及存储介质
CN105446952B (zh) 用于处理语义片段的方法和系统
CN111260071B (zh) 通用机器学习模型文件解析方法、装置、存储介质
CN111813739A (zh) 数据迁移方法、装置、计算机设备及存储介质
CN111949312A (zh) 数据模块的打包方法、装置、计算机设备和存储介质
CN114968325A (zh) 代码注释的生成方法及装置、处理器和电子设备
CN111338630B (zh) 通用机器学习模型文件的生成方法、装置、存储介质
CN111258584B (zh) 通用机器学习二级模型文件解析方法、装置、存储介质
CN111260018B (zh) 机器学习二级模型文件生成方法、装置、存储介质
CN110647996B (zh) 通用机器学习模型的执行方法、装置和存储介质
CN116911406B (zh) 风控模型部署方法、装置、计算机设备和存储介质
WO2021134231A1 (zh) 基于推理引擎的计算资源分配方法、装置和计算机设备
CN109670601B (zh) 机器学习特征生成方法及装置、电子设备和存储介质
CN116089430A (zh) 针对大数据任务的实现方法、装置、设备及存储介质
CN115577760A (zh) 一种数据处理方法、系统及相关设备
CN117993865A (zh) 一种研发过程管理方法、系统及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231114

R150 Certificate of patent or registration of utility model

Ref document number: 7386706

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150