JP2023516220A - 深層学習大規模モデル訓練の方法、システム、装置及び媒体 - Google Patents

深層学習大規模モデル訓練の方法、システム、装置及び媒体 Download PDF

Info

Publication number
JP2023516220A
JP2023516220A JP2022562519A JP2022562519A JP2023516220A JP 2023516220 A JP2023516220 A JP 2023516220A JP 2022562519 A JP2022562519 A JP 2022562519A JP 2022562519 A JP2022562519 A JP 2022562519A JP 2023516220 A JP2023516220 A JP 2023516220A
Authority
JP
Japan
Prior art keywords
gpu
tensors
topology layer
tensor
layer
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
JP2022562519A
Other languages
English (en)
Other versions
JP7265099B2 (ja
Inventor
漣水 趙
韶華 呉
Original Assignee
▲蘇▼州浪潮智能科技有限公司
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 ▲蘇▼州浪潮智能科技有限公司 filed Critical ▲蘇▼州浪潮智能科技有限公司
Publication of JP2023516220A publication Critical patent/JP2023516220A/ja
Application granted granted Critical
Publication of JP7265099B2 publication Critical patent/JP7265099B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

本発明は、深層学習大規模モデル訓練の方法、システム、装置、および記憶媒体を開示する。この方法では、各トポロジ層においては、テンソルが要求されるトポロジ層のシリーズ番号に従ってテンソルを昇順で配列するステップと、テンソルを配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定するステップと、現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定するステップと、現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正するステップと、を実行することを含む。本発明で提供された深層学習大規模モデル訓練の方法、システム、装置、および媒体は、テンソルが使用される先後関係によってより精密で正確な移送対策を作成し、それによって性能の最大化を確保する。

Description

本出願は、2020年4月16日に出願された中国特許出願第202010297962.3号(発明の名称:深層学習大規模モデルの訓練方法、システム、装置及び媒体)に基づく優先権を主張し、引用によりその全ての記載内容が本明細書に組み込まれる。
本出願は、深層学習の分野に関し、特に、深層学習大規模モデル訓練の方法、システム、装置及び媒体に関する。
GPU(Graphics Processing Unit、グラフィックス処理装置)は、深層学習大規模モデル訓練においてますます重要な位置を占め、その主な理由は、大型モデル訓練における高度な並列計算によく適しているとともに、CPU(Central Processing Unit、中央処理装置)での訓練よりも消費されるエネルギーが低いである。しかしながら、深層学習大規模モデルの構造が複雑になり、その必要なメモリが大きくなり、市販のGPUの既存のメモリ仕様を超えるため、深層学習大規模モデルがGPUで訓練することができなくなり、GPUで訓練することによる利益が失われる。
現在市販のGPUのメモリ不足による影響を軽減するために、GPUのテンソルをCPUの豊富なメモリで格納する方法が提案されている。大型モデルの訓練では、不要なテンソルをGPUからCPUに移送し、適当なタイミングで必要なテンソルをCPUからGPUに移送する。できる限り良好な性能を維持するため、テンソルをCPUからGPUに戻す場合、必要なテンソルが使用される前にGPUに移送されるように、移送プロセスは可能な限り演算で非表示にする必要がある。従来技術には、以下のいくつかの欠点がある。
(1)その移送対策は粗略すぎて、全てのテンソルを同じ対策で移送し、訓練性能上に向上の余裕がある。
(2)計算グラフにおいて、同一のトポロジ層における並列計算可能な演算が多数存在するため、メモリ要件がGPUのメモリを超えることを引き起こし得る、ということは従来技術では考慮されていない。
(3)いくつかのテンソルはGPU内に複数のコピーが存在することがある、ということは従来技術では考慮されていない。
上記に鑑み、本発明の実施形態の目的は、深層学習大規模モデル訓練の方法、システム、装置及びコンピュータ読み取り可能な記憶媒体を提供することである。テンソルが使用される先後関係によってより精密で正確な移送対策を作成し、テンソルが早過ぎるようにGPUに移送されないように制限することによって、メモリ断片による悪影響を低減し、同一のトポロジ層での演算を再割り当てすることによって、並列計算過大によるメモリ不足の問題を解決するとともに、各トポロジ層の最大並列度を確保し、テンソルがGPUに移送される前に、前のコピーが既に使用済みであるという対策を作成することによって、GPUメモリが過剰に使用される問題を解決する。
上記目的に基づき、本発明の実施形態の一態様によれば、深層学習大規模モデル訓練の方法であって、テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列するステップと、前記テンソルを前記配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定するステップと、現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定するステップと、現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正するステップと、を含む方法を提供する。
いくつかの実施形態では、位置に異常が現れたテンソルを補正するステップは、GPUに位置的に異常なテンソルが存在するか否かを判定するステップと、GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定するステップと、CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するステップと、を含む。
いくつかの実施形態では、GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定するステップと、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てするステップと、をさらに含むこと。
いくつかの実施形態では、前記トポロジ層における演算を再割り当てするステップは、新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUのメモリ容量を超える前記の演算に関連しない演算とを前記新たなトポロジ層に移転するステップ、を含む。
本発明の実施形例の別の態様によれば、深層学習大規模モデル訓練のシステムであって、テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列するように構成される順序付けモジュールと、前記テンソルを前記配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定するように構成される第1の判定モジュールと、現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定するように構成される第2の判定モジュールと、現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正するように構成される補正モジュールと、を含むシステムを提供する。
いくつかの実施形態では、前記補正モジュールは、GPUに位置的に異常なテンソルが存在するか否かを判定し、GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定し、CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するようにさらに構成される。
GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定し、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てするように構成される第3の判定モジュールをさらに含む。
いくつかの実施形態では、前記第3の判定モジュールは、新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUのメモリ容量を超える前記の演算に関連しない演算とを前記新たなトポロジ層に移送するようにさらに構成される。
本発明の実施形態のさらに別の態様によれば、少なくとも1つのプロセッサと、記憶装置とを含むコンピュータ装置であって、前記メモリには、前記プロセッサ上で実行可能なコンピュータ読み取り可能な命令が記憶され、前記命令は、前記プロセッサによって実行されると、上記の方法のステップを実施するコンピュータ装置をさらに提供する。
本発明の実施形態のさらに他の態様によれば、プロセッサによって実行されると、上記の方法のステップを実施するコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体をさらに提供する。
本発明は、下記の有益な技術的効果を有する。テンソルが使用される先後関連によってより精密で正確な移送対策を作成し、テンソルが早すぎるようにGPUに移送されないように制限することによって、メモリ断片による悪影響を低減し、同一のトポロジ層での演算を再割り当てすることによって、並列計算の過大によるメモリ不足の問題を解決するとともに、各トポロジ層の最大並列度を確保し、テンソルがGPUに移送される前に、前のコピーが既に使用済みであるという対策を作成することによって、GPUのメモリが過剰に使用される問題を解決する。
本発明の実施形態又は従来技術の技術案をより明確に説明するために、実施形態又は従来技術の説明に必要な図面を簡単に説明すると、以下の説明における図面は本発明の実施形態に過ぎず、当業者にとって、創造的な労力を払わずに、他の図面をこれらの図面に基づいて得ることができることは明らかである。
本発明で提供される深層学習大規模モデル訓練の方法の実施形態を示す図である。 本発明で提供される深層学習大規模モデル訓練の方法の実施形態におけるトポロジ層での演算を再割り当てすることを示す図である。 本発明で提供される深層学習大規模モデル訓練のコンピュータ装置の実施形態におけるハードウェア構成を示す図である。 本発明で提供される深層学習大規模モデル訓練のシステムの実施形態を示す図である。 本発明で提供されるコンピュータ読み取り可能な記憶媒体を示す図である。
本発明の目的、技術的解決策、および利点をより明確にするために、以下、具体的な実施形態を参照し、添付の図面を参照して、本発明の実施形態をさらに詳細に説明する。
なお、本発明の実施形態における「第1」及び「第2」という表現は、いずれも、二つの同じ名称が同一でない実体又は同一でないパラメータを区別するために用いられるものであり、「第1」、「第2」という表現は、単に、表現の便宜上のものであり、本発明の実施形態を限定するものと理解すべきではなく、後続の実施形態は、これについての個別の説明を省略する。
上記の目的に基づき、本発明に係る実施形態の第1の態様では、深層学習大規模モデル訓練の方法の実施形態を提供する。図1は、本発明で提供される深層学習大規模モデル訓練の方法の実施形態を示す図である。図1に示すように、本発明の実施形態は、以下のステップを含む。
ステップS1:テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列する、
ステップS2:テンソルを配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定する、
ステップS3:現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定する、および、
ステップS4:現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正する。
テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列する。例えば、テンソルaが要求される最初のトポロジ層のシリーズ番号は6であり、テンソルbが要求される最初のトポロジ層のシリーズ番号は11であり、テンソルcが要求される最初のトポロジ層のシリーズ番号は13であり、テンソルdが要求される最初のトポロジ層のシリーズ番号は15であると、テンソルの並び順は、a、b、c、dである。
テンソルを順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定する。a、b、c、dの順番でテンソルを順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かをリアルタイムに判定する。閾値は、例えば10GBであり、テンソルaは4GB、テンソルbは3GB、テンソルcは4GB、テンソルdは3GBである。テンソルa及びテンソルbをGPUに移送した場合、4+3<10のため、この時点でGPUに移送されたテンソルの総和は閾値を超えないが、テンソルcをさらにGPUに移送すると、4+3+4>10のため、その時点でGPUに移送されたテンソルの総和は閾値を超える。
現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定する。引き続き上記の例では、テンソルcがGPUに移送すると、GPUに移送されたテンソルの総和が閾値を超えるため、テンソルc、dがCPUに移送することができる。さらに、現在のトポロジ層が最後のトポロジ層であるか否かを判定する。
現在のトポロジ層が最後のトポロジ層である場合、位置に異常が現れたテンソルを補正する。位置に異常が現れたテンソルを補正するステップは、GPUに位置的に異常なテンソルが存在するか否かを判定するステップと、GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定するステップと、CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するステップと、を含む。
いくつかの実施形態では、GPUに位置的に異常なテンソルが存在するか否かを判定するステップでは、前記テンソルの次のトポロジ層における位置はCPUであるか否かを判定することを含む。異なるトポロジ層において同一のテンソルが存在する位置は異なる場合がある。例えば、テンソルcが層4で生成され、要求される次のトポロジ層のシリーズ番号は11である場合、計算により、テンソルcは層6と8でCPUに、層5、7、9、10でGPUに存在することが見られ、この方法は、要求される層に近づくほど、このテンソルがGPUに存在する可能性が高くなることを確保し、要求される層の一つ前の層まで、このテンソルがGPUに移送される必要がある。1枚のテンソルの位置が異常か否かの判断基準は、この時点でテンソルがGPUに位置するが、その次の位置がCPUになる、ということである。例えば、層5と層7である。上記で決定されたテンソルの位置から見れば、テンソルcが実際にGPUに位置するべきであるのは、層9と層10であり、層4、層5及び層7の時、テンソルcがCPUに位置するべきであるのに、GPU内に位置すると考えられ、これは実際と一致しないため、テンションcは位置的に異常なテンソルである。
GPUに位置的に異常なテンソルが存在することに応答して、テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定する。1枚のテンソルのGPUでの位置が異常か否かの判断基準は、テンソルがこの時点でCPUに位置するが、その次の位置がGPUになる、ということである。例えば、層6と層8である。
CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送する。GPUにスペースがあり、CPUに位置的に異常なテンソルが存在する場合、そのテンソルをGPUに移送することができる。
訓練性能に影響を及ぼす要因は多岐にわたるため、テンソルがGPUにタイムリーに移送されるか否かだけでなく、cuDNNに含まれたアクセラレータライブラリが十分に活用されるか否かことがさらに含む。cuDNN(CUDA Deep Neural Network library、NVIDIA)とは、CUDAベースのディープニューラルネットワーク加速ライブラリであり、CUDA(Compute Unified Device Architecture)とは、NVIDIAが提出するGPUベースの演算プラットフォームである。テンソルがGPUに早すぎるように移送されると、GPU内に過剰なメモリ断片が存在することになりやすく、それによって実際の訓練過程が不安定になるとともに、GPU内余裕のあるメモリも限られてしまい、cuDNNにおけるより高速化のアルゴリズムを適用するのに不利となり、性能が低下する。大量の実験結果解析により、テンソルをGPUに戻すタイミングを、要求される層の上位100のトポロジ層よりも早くない、と設定すると、一般に、比較的良好な性能を得られることが分かっている。
いくつかの実施形態では、GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定する。前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てする。計算グラフにおいて、各トポロジ層における全ての計算は並列計算を行うことができるが、多数の並列計算が同時に存在する場合、必要なメモリがGPUのメモリ容量を超える可能性があり、そのためモデルがGPUで訓練できないという問題が生じる。並列計算に必要なメモリが過剰であるという問題を解決するために、各トポロジ層が収容可能な最大並列度を制御して、その必要なメモリがある閾値を超えないようにしてもよい。
いくつかの実施形態では、前記トポロジ層における演算を再割り当てするステップは、新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUメモリ容量を超える前記の演算に関連しない演算とを前記新たなトポロジ層に移送する。図2は、トポロジ層における演算を再割り当てすることを示す。図2に示すように、a)には、元の計算グラフのトポロジ層が示されており、各層における全ての黒いノードは、並列に計算できる演算を表す。メモリを計算することにより、第1層の並列計算が設定された閾値を超えないことが見出され、したがって、第1層の並列度を再割り当てする必要はない。第2層で計算するとき、b)における第2層の黒いノードに示すように、部分的な演算のみが第2層に残すことができることが見出される。残りの4つのノード(第2層の円)は新たな層になければならない、c)に示すように、この4つの演算は、新たなトポロジ層に割り当てられた。新たなトポロジ層を最大の並列度にするために、元の第3層における前の4つの演算と依存関係のない演算を、新たなトポロジ層に移送してもよい。c)に示すように、元の第3層における2つの演算(円)を、d)に示すように、新たなトポロジ層に割り当てられることができる。元の第3層における2つの演算が新たなトポロジ層に割り当てられたため、最大の並列度を達成するために、第3層の演算と依存関係のない演算を第3層に割り当ててもよい、d)に示すように、第3層に1つの演算(円)を割り当てることができる。残りの各トポロジ層も最大の並列度を達成するために、各トポロジ層に対して上記のステップを実行してもよい。このとき、新たに作成されたトポロジ層は、6つの演算を有し、メモリ要求が閾値を超えない場合、その6つの演算が最終的に新たなトポロジ層を構成する。メモリ要求が閾値を超える場合、層2を処理する際のステップを実行し、再割り当てを行う。
GPUでは、同一のテンソルが複数のコピーを有する場合があり、GPUのメモリが過剰に使用され、GPUのメモリ不足を引き起こしやすい。例えば、演算1~4は、同一のテンソルを使用するが、異なる移送操作によってGPUに入る。演算4の実行開始時に演算1~3が完了していないと、GPU内にそのテンソルのコピーが2つ存在し、GPUのメモリが過剰に使用され、メモリ不足にさえ至るという問題が発生する。この問題を解決するために、演算4で使用されるコピーは、演算1~3が完了した後にGPUに移送され始めることを強制することができる。
本発明の実施形態は、テンソルがより早く使用されるほど、GPUに最初に移送される可能性が高いという考えに基づき、各テンソルについて、移送対策を作成し、性能の最大化を確保する。テンソルが早過ぎるようにGPUに移送されることを制限することにより、メモリ断片によってもたらされる悪影響が低減する。同一のトポロジ層に制限を行い、同時に各トポロジ層の最大並列度を確保するように、並列計算の過大なトポロジ層を再割り当てすることにより、同一のトポロジ層における並列計算の過大な問題によるGPUのメモリ不足の問題を解決する。本発明は、テンソルがGPUに移送される前に、前のコピー既に使用されているという対策を作成することにより、GPUにおける同一テンソルの複数のコピーの問題を解決し、GPUメモリの過剰使用を回避する。
特に指摘するのは、上述した深層学習大規模モデル訓練の方法の各実施形態における各ステップは、いずれも互いに交差、置換、追加、削除できるため、これらの合理的な配列、組合、変換を深層学習大規模モデル訓練のために使用する方法も、本発明の保護範囲に属するべきであり、本発明の保護範囲を実施形態に限定するべきではない。
上記目的に基づいて、本発明に係る実施形態の第2の態様は、図4に示すように、テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列するように構成される順序付けモジュール401と、前記テンソルを前記配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定するように構成される第1の判定モジュール402と、現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定するように構成される第2の判定モジュール403と、現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正するように構成される補正モジュール404と、を含む深層学習大規模モデル訓練のシステム400を提供する。
いくつかの実施形態では、前記補正モジュール404は、GPUに位置的に異常なテンソルが存在するか否かを判定し、GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定し、CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するようにさらに構成される。
いくつかの実施形態では、システム400は、GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定し、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てするように構成される第3の判定モジュールをさらに含む。
いくつかの実施形態では、前記第3の判定モジュールは、新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUのメモリ容量を超える前記の演算に関連しない演算とを前記新たなトポロジ層に移送するようにさらに構成される。
上記目的に基づいて、本発明に係る実施形態の第3の態様は、少なくとも1つのプロセッサと、記憶装置とを含むコンピュータ装置を提供する。その記憶装置には、プロセッサ上で実行可能なコンピュータ読み取り可能な命令が記憶され、命令は、前記プロセッサによって実行されると、下記のステップを実施する。ステップS1:テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列するステップ。ステップS2:テンソルを配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定する。ステップS3:現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定する。ステップS4:現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正する。
いくつかの実施形態では、GPUに位置的に異常なテンソルが存在するか否かを判定するステップと、GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定するステップと、CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するステップと、を含む。
いくつかの実施形態では、GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定するステップと、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てするステップと、をさらに含む。
いくつかの実施形態では、前記トポロジ層における演算を再割り当てするステップは、新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUのメモリ容量を超える前記の演算に関連しない演算とを前記新たなトポロジ層に移転する。
図3に示すように、図3は本発明で提供される深層学習大規模モデル訓練のコンピュータ装置の一実施形態のハードウェア構成を示す図である。
図3に示す装置を例にとると、この装置には、一つのプロセッサ301と一つの記憶装置302とが含まれ、さらに入力装置303と出力装置304とが含まれる。
プロセッサ301、記憶装置302、入力装置303、及び出力装置304は、バス又は他の方式で接続されてもよく、図3ではバス接続を例としている。
記憶装置302は、不揮発性ソフトウェアプログラム、不揮発性コンピュータ実行可能なプログラム、およびモジュール、例えば、本願の実施形態における深層学習大規模モデル訓練の方法に対応するプログラム命令/モジュールを記憶するために使用され得る、不揮発性コンピュータ読み取り可能な記憶媒体である。プロセッサ301は、記憶装置302に記憶された不揮発性ソフトウェアプログラム、命令、及びモジュールを実行することにより、サーバの様々な機能アプリケーション及びデータ処理、すなわち、上述した方法の実施形態における深層学習大規模モデル訓練の方法を実現する。
記憶装置302は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションを記憶する記憶プログラム領域と、深層学習大規模モデル訓練の方法の使用のため生成されたデータなどを記憶する記憶データ領域とを含み、さらに、記憶装置302は、高速ランダムアクセスメモリを含んでもよく、少なくとも1つのディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含んでもよい。いくつかの実施形態において、記憶装置302は、プロセッサ301に対して遠隔に配置されたメモリを任意選択で含み、これらの遠隔に配置されたメモリは、ネットワークを介してローカルモジュールに接続され得る。上記ネットワークの例としては、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワーク、及びそれらの組み合わせが挙げられるが、これらに限定されない。
入力装置303は、入力されたユーザ名やパスワードなどの情報を受け付けることができる。出力装置304は、ディスプレイなどの表示装置を含んでもよい。
1つ以上の深層学習大規模モデル訓練の方法に対応するプログラム命令/モジュールが記憶装置302に記憶され、プロセッサ301によって実行されると、上述の方法の実施形態のいずれかにおける深層学習大規模モデル訓練の方法が実行される。
以上で説明した深層学習大規模モデル訓練の方法を実行するコンピュータ装置のいずれかの実施形態は、前述した深層学習大規模モデル訓練の方法に対応する実施形態のいずれかと同一または類似の効果を奏することができる。
本発明は、図5に示すように、プロセッサ501によって実行されると、上記の方法を実行するコンピュータプログラム502を記憶したコンピュータ読み取り可能な記憶媒体500も提供する。
最後に、当業者は、前述の実施形態の方法を実現する全て又は一部のフローは、コンピュータプログラムにより関連ハードウェアに命令して完成させることができ、深層学習大規模モデル訓練の方法のプログラムは、コンピュータ読み取り可能な記憶媒体に記憶され、該プログラムが実行されると、前述の各方法の実施形態のフローを含むことができることを理解することができる。ここで、プログラムの記憶媒体は、磁気ディスク、光ディスク、リードオンリーメモリ(ROM,Read-Only Memory)又はランダムアクセスメモリ(RAM,Random Access Memory)等であってもよい。上記コンピュータプログラムの実施形態は、それに対応する上記方法の実施形態のいずれかと同一又は類似の効果を達成することができる。
また、本発明の実施形態に係る方法は、プロセッサによって実行されるコンピュータプログラムとして具現化され、このコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記憶されてもよい。このコンピュータプログラムがプロセッサによって実行されると、本発明の実施形態によって開示される方法において定義される上記機能が実行される。
また、上記方法のステップ及びシステムユニットは、コントローラと、コントローラに上記ステップ又はユニットの機能を実現させるコンピュータプログラムを記憶するコンピュータ読み取り可能な記憶媒体と、により実現されてもよい。
さらに、本明細書のコンピュータ読み取り可能な記憶媒体(例えば、記憶装置)は、揮発性メモリまたは不揮発性メモリのいずれかであってもよく、あるいは揮発性メモリおよび不揮発性メモリの両方を含んでもよいことが理解されるべきである。限定ではなく例として、不揮発性メモリは、読み出し専用メモリ(ROM)、プログラマブルROM(PROM、Programmable Read-Only Memory)、電気的プログラマブルROM(EPROM、Erasable Programmable Read-Only Memory)、電気的消去可能なプログラマブルROM(EEPROM、Electrically Erasable Programmable Read-Only Memory)、またはフラッシュメモリを含んでもよい。揮発性メモリは、外部キャッシュメモリとして機能し得るランダムアクセスメモリ(RAM)を含み得る。限定ではなく例として、RAMは、ダイナミックRAM(DRAM,Dynamic Random Access Memory )、シンクロナスDRAM(SDRAM,Sychronous Dynamic Random Access Memory)、ダブルデータレートSDRAM(DDR SDRAM,Double Data Rate Sychronous Dynamic Random Access Memory)、強化型SDRAM(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、シンクロナスDRAM(SLDRAM,Sync Link Dynamic Random Access Memory)、およびダイレクトRambus RAM(DRRAM,Direct Rambus Random Access Memory)など、様々な形態で利用可能である。開示された態様の記憶装置は、これらおよび他の適切なタイプのメモリを含むことが意図されるが、これらに限定されない。
また、当業者は、本明細書の開示に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを理解できる。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップの機能性に関して、一般的に説明されている。そのような機能がソフトウェアとして実装されるか、またはハードウェアとして実装されるかは、具体的な適用およびシステム全体に課せられる設計制約に依存する。当業者は、それぞれの具体的な適用に対して様々な方法で機能を実施することができるが、そのような実現の決定は、本開示の実施形態の開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書の開示に関連して説明した様々な例示的な論理ブロック、モジュール、および回路は、本明細書での機能を実行するために設計された以下のコンポーネントまたはその任意の組合せを用いて実装または実行され得る。例えば、汎用プロセッサ、デジタル信号プロセッサ(DSP、Digital Signal Processo)、特定用途向け集積回路(ASIC、Application Specific Integrated Circuit)、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理、ディスクリートハードウェアコンポーネントが挙げられる。汎用プロセッサはマイクロプロセッサであってもよいが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPと連携する1つもしくは複数のマイクロプロセッサ、および/または任意の他のそのような構成として実装され得る。
本明細書の開示に関連して説明された方法またはアルゴリズムのステップは、ハードウェアに直接含まれ得るか、プロセッサによって実行されるソフトウェアモジュールに直接含まれ得るか、またはその2つの組合せであり得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM(Compact Disc-Read Only Memory)、または当技術分野で知られている任意の他の形態の記憶媒体中に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、または記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体化され得る。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、ユーザ端末内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内に個別構成要素として存在し得る。
1つまたは複数の例示的な設計では、機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ読み取り可能な媒体上に記憶されるか、またはコンピュータ読み取り可能な媒体を介して送信され得る。コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体と、ある場所から別の場所へのコンピュータプログラムの移送を容易にする任意の媒体を含む通信媒体とを含む。記憶媒体は、汎用または専用コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、コンピュータ読み取り可能な媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態の所望のプログラムコードを移送もしくは記憶するために使用され得、汎用もしくは専用コンピュータまたは汎用もしくは専用プロセッサによってアクセスされ得る、任意の他の媒体を備えることができる。また、任意の接続が、コンピュータ読み取り可能な媒体と適切に呼ばれ得る。例えば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL、Digital Subscribe Line)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースからソフトウェアを送信する場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術はすべて、媒体の定義に含まれる。ここで、磁気ディスク、CDを含む光ディスク、レーザーディスク(登録商標)、光ディスク、DVD(Digital Video Disc)、フレキシブルディスク、ブルーレイディスク等があり、磁気ディスクは一般的に磁気的にデータを再生し、光ディスクはレーザー光によって光学的にデータを再生する。上記の組合せもコンピュータ読み取り可能な媒体の範囲内に含まれるべきである。
以上、本発明の例示的な実施形態であるが、特許請求で限定された本発明の実施形態で開示された範囲から逸脱しないことを前提に、種々の変形変更が可能である。本明細書に記載の開示された実施形態による方法クレームの機能、ステップ、および/または動作は、いかなる特定の順序でも実行される必要はない。また、本発明の実施形態に開示された構成要素は、個別的な形態で説明または要約されてもよいが、単数に明確に限定されない限り、複数に理解されてもよい。
文脈が例外を明確にサポートしない限り、本明細書で使用される単数形「1つ」は複数形も含むことを目的としている。本明細書で使用される「および/または」は、関連して列挙される1つ、または複数の項目の可能な任意およびすべての組み合わせを含むことを指すことも理解されるべきである。
なお、上記で開示した実施形態の番号は、あくまでも説明のためのものであり、実施形態の優劣を示すものではない。
当業者であれば、上述した実施形態を実現するためのステップの全部または一部が、ハードウェアによって実現されてもよいし、または、プログラムによって指示されたハードウェアに関連付けられたコンピュータ読み取り可能な記憶媒体、例えば、読み出し専用メモリ、磁気ディスク、光ディスクなどに記憶されてもよい。
当業者であれば、上記の実施形態の説明は、例示に過ぎず、本発明の実施形態の開示範囲(請求項を含む)がこれらの例に限定されることを示唆するものではないこと、また、本発明の実施形態の思想の下で、上記の実施形態または異なる実施形態の技術的特徴の間で組み合わせることも可能であること、および、本発明の実施形態の上記の異なる態様に対する多くの他の変更が、簡潔さのために詳細に提供されないことを理解されたい。したがって、本発明の精神と原則内において、任意の省略、修正、均等物、改良等が本発明の実施形態の保護範囲に含まれる。

Claims (10)

  1. 深層学習大規模モデル訓練の方法であって、各トポロジ層においては、
    テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列するステップと、
    前記テンソルを前記配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定するステップと、
    現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定するステップと、
    現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正するステップと、
    を実行することを含むことを特徴とする、方法。
  2. 位置に異常が現れたテンソルを補正するステップは、
    GPUに位置的に異常なテンソルが存在するか否かを判定するステップと、
    GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定するステップと、
    CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するステップと、
    を含むことを特徴とする、請求項1に記載の方法。
  3. GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定するステップと、
    前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てするステップと、
    をさらに含むことを特徴とする、請求項2に記載の方法。
  4. 前記トポロジ層における演算を再割り当てするステップは、
    新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUのメモリ容量を超える前記の演算に関連しない演算とを、前記新たなトポロジ層に移送するステップを含むことを特徴とする、請求項3に記載の方法。
  5. 深層学習大規模モデル訓練のシステムであって、
    テンソルが要求されるトポロジ層のシリーズ番号に従って前記テンソルを昇順で配列するように構成される順序付けモジュールと、
    前記テンソルを前記配列に従って順次GPUに移送し、現在GPUに移送されたテンソルの総和が閾値を超えるか否かを判定するように構成される第1の判定モジュールと、
    現在GPUに移送されたテンソルの総和が閾値を超えることに応答して、超える部分をCPUに移送し、現在のトポロジ層が最後のトポロジ層であるか否かを判定するように構成される第2の判定モジュールと、
    現在のトポロジ層が最後のトポロジ層であることに応答して、位置に異常が現れたテンソルを補正するように構成される補正モジュールと、
    を含むことを特徴とする、システム。
  6. 前記補正モジュールは、
    GPUに位置的に異常なテンソルが存在するか否かを判定し、
    GPUに位置的に異常なテンソルが存在することに応答して、前記テンソルを削除し、CPUに位置的に異常なテンソルが存在するか否かを判定し、
    CPUに位置的に異常なテンソルが存在することに応答して、前記テンソルをGPUに移送するようにさらに構成されることを特徴とする、請求項5に記載のシステム。
  7. GPUに位置的に異常なテンソルが存在しないことに応答して、前記トポロジ層に必要なメモリがGPUのメモリ容量を超えるか否かを判定し、
    前記トポロジ層に必要なメモリがGPUのメモリ容量を超えることに応答して、前記トポロジ層における演算を再割り当てするように構成される第3の判定モジュールをさらに含むことを特徴とする、請求項6に記載のシステム。
  8. 前記第3の判定モジュールは、
    新たなトポロジ層を作成し、元のトポロジ層におけるGPUのメモリ容量を超える演算と、次のトポロジ層におけるGPUのメモリ容量を超える前記の演算に関連しない演算とを前記新たなトポロジ層に移送するようにさらに構成されることを特徴とする、請求項7に記載のシステム。
  9. 少なくとも1つのプロセッサと、記憶装置とを含むコンピュータ装置であって、
    前記記憶装置には、前記プロセッサ上で実行可能なコンピュータ読み取り可能な命令が記憶され、前記命令は、前記プロセッサによって実行されると、請求項1から4のいずれか一項に記載の方法のステップを実施することを特徴とする、装置。
  10. コンピュータプログラムが記憶されている記憶媒体であって、
    前記コンピュータプログラムがプロセッサによって実行されると、請求項1から4のいずれか一項に記載の方法のステップを実施することを特徴とする、記憶媒体。
JP2022562519A 2020-04-16 2021-01-25 深層学習大規模モデル訓練の方法、システム、装置及び媒体 Active JP7265099B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010297962.3A CN111488987B (zh) 2020-04-16 2020-04-16 一种深度学习大模型训练的方法、系统、设备及介质
CN202010297962.3 2020-04-16
PCT/CN2021/073654 WO2021208558A1 (zh) 2020-04-16 2021-01-25 一种深度学习大模型训练的方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
JP2023516220A true JP2023516220A (ja) 2023-04-18
JP7265099B2 JP7265099B2 (ja) 2023-04-25

Family

ID=71810911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022562519A Active JP7265099B2 (ja) 2020-04-16 2021-01-25 深層学習大規模モデル訓練の方法、システム、装置及び媒体

Country Status (6)

Country Link
US (1) US20230146933A1 (ja)
EP (1) EP4131081A4 (ja)
JP (1) JP7265099B2 (ja)
KR (1) KR20230016044A (ja)
CN (1) CN111488987B (ja)
WO (1) WO2021208558A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111488987B (zh) * 2020-04-16 2022-12-06 苏州浪潮智能科技有限公司 一种深度学习大模型训练的方法、系统、设备及介质
CN114884908B (zh) * 2022-04-29 2024-02-13 浪潮电子信息产业股份有限公司 一种数据同步方法、装置、设备及存储介质
CN116862019B (zh) * 2023-07-06 2024-03-19 清华大学 基于数据并行范式的模型训练方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976903A (zh) * 2019-02-22 2019-07-05 华中科技大学 一种基于层宽内存分配的深度学习异构计算方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160267380A1 (en) * 2015-03-13 2016-09-15 Nuance Communications, Inc. Method and System for Training a Neural Network
CN105224502A (zh) * 2015-09-28 2016-01-06 浪潮(北京)电子信息产业有限公司 一种基于gpu的深度学习方法及系统
US10929749B2 (en) * 2017-04-24 2021-02-23 Intel Corporation Neural network optimization mechanism
US11138494B2 (en) * 2017-05-02 2021-10-05 International Business Machines Corporation Storage controller acceleration for neural network training and inference
CN109902818B (zh) * 2019-01-15 2021-05-25 中国科学院信息工程研究所 一种面向深度学习训练任务的分布式加速方法及系统
CN110032449A (zh) * 2019-04-16 2019-07-19 苏州浪潮智能科技有限公司 一种优化gpu服务器的性能的方法及装置
CN110503194B (zh) * 2019-08-09 2022-05-24 苏州浪潮智能科技有限公司 一种分布式并行训练的方法和系统
CN110647999A (zh) * 2019-08-23 2020-01-03 苏州浪潮智能科技有限公司 一种基于拓扑结构提高深度学习训练速度的方法及装置
CN111078395B (zh) * 2019-11-12 2023-06-20 华中科技大学 一种基于张量的深度学习gpu内存管理优化方法及系统
CN110942138B (zh) * 2019-11-13 2022-02-15 华中科技大学 一种混合内存环境下深度神经网络的训练方法和系统
CN111488987B (zh) * 2020-04-16 2022-12-06 苏州浪潮智能科技有限公司 一种深度学习大模型训练的方法、系统、设备及介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976903A (zh) * 2019-02-22 2019-07-05 华中科技大学 一种基于层宽内存分配的深度学习异构计算方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LE, TUNG D. ET AL.: ""TFLMS: Large Model Support in TensorFlow by Graph Rewriting"", ARXIV [ONLINE], JPN6023009668, October 2019 (2019-10-01), ISSN: 0005013057 *
MENG, CHEN ET AL.: ""Training Deeper Models by GPU Memory Optimization on TensorFlow"", 31ST CONFERENCE ON NEURAL INFORMATION PROCESSING SYSTEMS (NIPS 2017) [ONLINE], JPN6023009667, 2017, ISSN: 0005013056 *

Also Published As

Publication number Publication date
JP7265099B2 (ja) 2023-04-25
CN111488987B (zh) 2022-12-06
EP4131081A1 (en) 2023-02-08
EP4131081A4 (en) 2023-08-16
US20230146933A1 (en) 2023-05-11
WO2021208558A1 (zh) 2021-10-21
CN111488987A (zh) 2020-08-04
KR20230016044A (ko) 2023-01-31

Similar Documents

Publication Publication Date Title
JP7265099B2 (ja) 深層学習大規模モデル訓練の方法、システム、装置及び媒体
JP7242998B2 (ja) ニューロモルフィック・アクセラレータ・マルチタスキング
WO2018032995A1 (zh) 一种数据存储、数据校验、数据溯源方法和设备
TWI638311B (zh) Data processing method and processor
US10884939B2 (en) Cache pre-fetching using cyclic buffer
US20180101482A1 (en) Latency by persisting data relationships in relation to corresponding data in persistent memory
CN109643574B (zh) 用于在完成数据加载操作之前启动预读取操作的方法和设备
WO2019019926A1 (zh) 系统参数的优化方法、装置及设备、可读介质
US20210034950A1 (en) Method for implementing neural network model in heterogeneous computing platform and apparatus for performing the same
US9507534B2 (en) Home agent multi-level NVM memory architecture
US20240152292A1 (en) Redundant computing across planes
US20170068620A1 (en) Method and apparatus for preventing bank conflict in memory
KR20210103393A (ko) 낮은-지역성 데이터에서 높은-지역성 데이터로의 변환을 관리하기 위한 시스템 및 방법
WO2016106738A1 (zh) 事务冲突检测方法、装置及计算机系统
US11403102B2 (en) Technology to learn and offload common patterns of memory access and computation
CN111768195A (zh) 加速区块链数据的计算的系统
US8381195B2 (en) Implementing parallel loops with serial semantics
CN107832121B (zh) 一种应用于分布式串行长事务的并发控制方法
WO2024000464A1 (zh) 一种张量计算的分块策略生成方法及装置
JP5687603B2 (ja) プログラム変換装置、プログラム変換方法、および変換プログラム
US10452546B2 (en) Cache utility modeling for automated cache configuration
US20200311200A1 (en) Neural networks using data processing units
US20240094944A1 (en) Implementing data flows of an application across a memory hierarchy of a data processing array
CN113325999B (zh) 用于处理非结构化源数据的方法和系统
US20230259298A1 (en) Method for providing logging for persistent memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221013

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20221013

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230413

R150 Certificate of patent or registration of utility model

Ref document number: 7265099

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150