JP7161560B2 - 人工知能開発プラットフォームの管理方法及び装置、媒体 - Google Patents

人工知能開発プラットフォームの管理方法及び装置、媒体 Download PDF

Info

Publication number
JP7161560B2
JP7161560B2 JP2021045551A JP2021045551A JP7161560B2 JP 7161560 B2 JP7161560 B2 JP 7161560B2 JP 2021045551 A JP2021045551 A JP 2021045551A JP 2021045551 A JP2021045551 A JP 2021045551A JP 7161560 B2 JP7161560 B2 JP 7161560B2
Authority
JP
Japan
Prior art keywords
instances
model service
model
traffic
service
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.)
Active
Application number
JP2021045551A
Other languages
English (en)
Other versions
JP2021121921A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2021121921A publication Critical patent/JP2021121921A/ja
Application granted granted Critical
Publication of JP7161560B2 publication Critical patent/JP7161560B2/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/20Software design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • 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/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2895Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本開示は、人工知能技術分野に関し、特に人工知能開発プラットフォームの管理方法及び装置、媒体に関する。
様々な業界で人工知能(artificial intelligence、略称は「AI」である)技術が用いられる中、AI技術能力を有する企業は、AI開発プラットフォームによりユーザにカスタマイズモデルの自動展開やサービスソリューションを提供している。大規模のAIモデルサービスは、AI開発プラットフォームのモデル展開とオンライン推論に課題をもたらしている。
本開示の一態様によれば、人工知能開発プラットフォームの管理方法であって、前記人工知能開発プラットフォームには、複数のモデルサービスのインスタンスが展開され、且つ各モデルサービスは、1つまたは複数のインスタンスを有し、前記管理方法は、少なくとも1つのモデルサービスの呼び出し情報を取得することと、前記呼び出し情報に基づき、前記少なくとも1つのモデルサービスのアクティブレベルを決定することと、決定されたアクティブレベルが第1条件を満たすことにレスポンスし、少なくとも前記少なくとも1つのモデルサービスの全てのインスタンスを削除することとを含むことを特徴とする管理方法を提供する。
本開示の他の態様によれば、1つ又は複数のインスタンスを有する複数のモデルサービスのインスタンスが展開されているように構成されるクラウドサーバーと、少なくとも1つのモデルサービスの呼び出し情報を取得するように構成される呼び出し情報収集モジュールと、前記呼び出し情報に基づき、前記少なくとも1つのモデルサービスのアクティブレベルを決定するように構成される検出モジュールと、決定されたアクティブレベルが第1条件を満たすことにレスポンスし、少なくとも前記少なくとも1つのモデルサービスの全てのインスタンスを削除するように構成される実行モジュールとを含むことを特徴とする人工知能開発プラットフォームシステムを提供する。
本開示の他の態様によれば、プロセッサと、プログラムを格納するメモリとを備え、前記プログラムは、命令を含み、前記命令は、前記プロセッサにより実行される時に、前記プロセッサに上記の管理方法を実行させることを特徴とする電子装置を提供する。
本開示の他の態様によれば、プログラムが格納されるコンピュータ可読記憶媒体であって、前記プログラムが命令を含み、前記命令は、電子装置のプロセッサにより実行される時に、前記電子装置に上記の管理方法を実行させることを特徴とするコンピュータ可読記憶媒体を提供する。
本開示の他の態様によれば、コンピュータ可読記憶媒体に格納されるコンピュータプログラムであって、前記コンピュータプログラムが命令を含み、前記命令は、少なくとも一つのプロセッサにより実行される時に、上記の管理方法を実現させるコンピュータプログラムを提供する。
図面は、実施例を例示的に示し、明細書の一部を構成し、明細書の文字記述とともに実施例の例示的実施例を説明するために使用される。示された実施例は、例示のみを目的としており、請求項の範囲を限定するものではない。全ての図面において、同様の符号は、類似しているが必ずしも同様ではない要素を示す。
例示的実施例に係る人工知能開発プラットフォームの管理方法を示すフローチャートである。 例示的実施例に係る少なくともモデルサービスの全てのインスタンスを削除することを示すフローチャートである。 例示的実施例に係る人工知能開発プラットフォームの管理方法を示すフローチャートである。 例示的実施例に係る人工知能開発プラットフォームシステムを示す概略構成ブロック図である。 例示的実施例に利用可能な例示的コンピューティング装置を示す構成ブロック図である。
本開示において、別段の記載がない限り、様々な要素を説明するための「第1」、「第2」等の用語は、これらの要素の位置関係、時系列関係、または重要性の関係を修飾することを意図するものではなく、1つの要素を別の要素から区別するために使用される。いくつかの例では、第1の要素および第2の要素は、当該要素の同じインスタンスを意味し得、場合によっては、文脈の記述に基づいて、それらは異なるインスタンスを意味し得る。
本開示の様々な前記例の説明で使用される用語は、特定の例を説明することのみを目的としており、限定することを意図していない。 文脈が明示的に示さない限り、要素の数が意図的に制限されていなければ、当該要素は1つまたは複数であってもよい。 さらに、本開示で使用される「および/または」という用語は、記載された項目のいずれか1つおよびすべての可能な組み合わせを包含する。
AI開発プラットフォームについて、AIモデル、特に深層学習モデルのネットワーク構造は非常に複雑であり、1つのモデルサービスインスタンスを展開するのに必要なメモリ容量は膨大(GBレベル)である。AI開発プラットフォームは、非常に多い数のモデルサービスをサポートしなければならず、大量のメモリリソースを提供する必要があり、装置にかかるコストが高く、且つ長時間大量のモデルサービスを呼び出せない場合があり、リソースの利用率が低い。そして、大量のサービスアクセスは、AI開発プラットフォームのアクセス層に負担をかけ、例えば、大量のトラフィックルーティングのルール配置、頻繁的なルーティングルールの変更は、アクセス層の機能問題を引き起こしやすく、それにより、オンライン推論サービスの全体的な機能低下をもたらす。
関連技術において、大規模のAIモデルサービスに起因する上記の問題を解決するために、以下のような2種類の手段がある。
1種目:マルチクラスタ方法に基づいて、1つの大規模クラスタを複数の中規模クラスタに分割し、階層的なルーティングルールを作成することで、個々のクラスタのルーティング負荷を軽減する。
2種目:Serverless(サーバーレス)方法に基づいて、トラフィックの特性に応じてサービスインスタンスの数を自動的に調整する。
しかし、1種目の方法では、大規模のモデルがメモリリソースを占有するという問題を根本的に解決することはできず、拡張には依然として大量のマシンリソースを必要とする。そして、クラスタ間連携の問題をもたらし、ネットワークトポロジーが複雑であり、ネットワークの問題で複数のクラスタ間で状態がずれやすくなる。2種目の方法では、AI開発プラットフォーム上に任意のモデルサービスインスタンスを展開せず、トラフィック特性に応じてサービスインスタンスの数を自動的に調整するが、AIモデルサービスの初期化にかかる時間が長く、複雑なモデルでは分単位のレベルになることもある。そのため、Serverless方法では、トラフィックを保持して転送することによる自動ウェイクアップのメカニズムが機能せず、オンライン推論要求がタイムアウトになりやすい。Serverless方法では、サービスグリッドフレームワークも導入する必要があり、ストックサービスの移行作業は煩雑であり、プラットフォームの改造コストが増加する。そのため、AIモデルサービスに起因する上記の問題点を解決するための効果的な技術が必要となる。
そこで、本開示は、人工知能開発プラットフォームの管理方法を提供し、モデルサービスの呼び出し情報を取得し、呼び出し情報に基づいてモデルサービスのアクティブレベルを決定する。決定されたモデルサービスのアクティブレベルが第1条件を満たすことにレスポンスし、モデルサービスが開発プラットフォームに展開した全てのインスタンスを削除し、機器CPU及びメモリ等のリソースを解放するポリシールールを設定することができる。これによって、リソース利用率を向上させ、AI開発プラットフォームに対するマシンリソース要件を減らすことができる。そして、モデルサービスの呼び出しアクティブレベルに基づいてモデルサービスインスタンスを削除することで、Serverless自動ウェイクアップのメカニズムではオンライン推論要求のタイムアウトが発生しやすいという問題を克服でき、サービスグリッドのフレームワークを導入する必要がなく、AI開発プラットフォームの低コストでの改造が可能となる。
本開示において、モデルサービスのモデル推論トラフィックを受信することにレスポンスして、モデルサービスの1つのインスタンスによりオンライン推論を実行する。モデルサービスの呼び出し情報は、実際にはモデルサービスの全てのインスタンスの呼び出し情報である。
以下、図面を参照しながら本開示の人工知能開発プラットフォームの管理方法を更に説明する。
AI開発プラットフォームは、ユーザに自動化展開(Automationdeployment)やサービスソリューションを提供する。AI開発プラットフォームには、複数のモデルサービスのインスタンスが展開されていてもよい。モデルサービスインスタンスは、モデルサービスのモデル推論トラフィックを受信することにレスポンスしてオンライン推論を実行し、特定の功能、例えば、画像分類、物体検出、テキスト認識、音声認識、自然言語処理等を実現する。各モデルサービスは、1つ又は複数のインスタンスを有していてもよく、各インスタンスは、当該モデルサービスのコピーであり、前記1つ又は複数のインスタンスは、オンライン推論を実行して同じ機能を実現することができる。ユーザは、各々の実際の需要に応じてモデルサービスインスタンスの展開数を選択することができる。
なお、別段の記載がない限り、本開示におけるモデルサービスは、ともにユーザがAI開発プラットフォームにインスタンスのモデルを展開して特定の機能を実現可能なものを指す。ユーザは、自分がAI開発プラットフォームに展開したモデルサービスインスタンスを呼び出してもよく、他のユーザがAI開発プラットフォームに展開したモデルサービスインスタンスを呼び出してもよい。
図1は、例示的実施例に係る人工知能開発プラットフォームの管理方法を示すフローチャートである。図1に示すように、前記管理方法は、少なくとも1つのモデルサービスの呼び出し情報を取得するステップS101、前記呼び出し情報に基づき、前記少なくとも1つのモデルサービスのアクティブレベルを決定するステップS102、及び決定されたアクティブレベルが第1条件を満たすことにレスポンスし、少なくとも前記少なくとも1つのモデルサービスの全てのインスタンスステップを削除するS103を含むことができる。これによってマシンリソースの利用率を向上させる。
いくつかの実施例によれば、AIプラットフォームに展開された全てのストックモデルサービスのアクティブレベルを決定し、アクティブレベルが前記第1条件を満たす少なくとも1つのモデルサービスに対してその全てのインスタンスの削除を実行することができる。
前記呼び出し情報は、例えばモデルサービスの作成時間と、最近の呼び出し時間、所定の時間窓内の呼び出しの回数、所定の時間窓内の呼び出し時間の分布のうちの少なくとも1つの情報と、を含むことができる。これによって、前記呼び出し情報に基づいてモデルサービスのアクティブレベル(即ち、呼び出しアクティブレベル)を決定することができる。
いくつかの実施例によれば、モデルサービスのアクティブレベルをアクティブ及びローアクティブの2つのレベルに分けることができるが、これに限定されない。この場合、決定されたアクティブレベルがローアクティブレベルであることにレスポンスして、少なくとも前記少なくとも1つのモデルサービスの全てのインスタンスを削除する。
いくつかの例示的実施例において、モデルサービスの呼び出し情報に基づき、当該モデルサービスが最近安定した呼び出しを有すると決定された場合、当該モデルサービスが第1条件を満たしていないと決定し、当該モデルサービスのインスタンスが削除されないことで、当該モデルサービスのオンライン推論要求の適時性を保証することができる。当該モデルサービスが最近呼び出されていないが、長期的な時間スケール(例えば、モデルサービスの作成時間から現在の時間までの時間スケール)において安定した呼び出しを有すると決定された場合、当該モデルサービスが第1条件を満たしていると決定し、当該モデルサービスの全てのインスタンスを削除する。
いくつかの実施例によれば、インスタンスが削除された少なくとも1つのモデルサービスについて、インスタンスが削除された前記少なくとも1つのモデルサービスが所定の時間内に呼び出されていないと決定されたことにレスポンスして、前記少なくとも1つのモデルサービスの前記プラットフォームアクセス層におけるルーティング構成を削除することができる。即ち、インスタンスが削除されたモデルサービスついて、所定の時間窓内に呼び出されているかどうかをさらに判断し、呼び出されている場合には、インスタンスが削除されたモデルサービスについて、対応するルーティングルールを更に削除する。これによって、トラフィックルーティングルールの構成及び頻繁なルーティングルールの変更によるプラットフォームアクセス層への負担を軽減することができ、オンライン推論サービスの機能を向上させる。
上記のポリシールールでは、呼び出し情報に基づいてモデルサービスが最近呼び出されているか、且つ安定した呼び出しを有するかを決定することにより、モデルサービスをアクティブサービスとローアクティブサービスに分ける。モデルサービスのアクティブレベルがローアクティブレベル(即ち、第1条件を満たす)であると決定されたことにレスポンスし、モデルサービスの全てのインスタンスを削除する。その後、インスタンスが削除されたモデルサービスが所定の時間窓内に呼び出されているかを決定し、呼び出されている場合、インスタンスが削除されたモデルサービスに対応するルーティングルールを継続して削除する。これによって、リソース利用率を向上させるができるとともに、過剰のルーティングルールが業務サービスにもたらす機能低下を軽減する。
なお、他のポリシールールに従って上記の第1条件とは異なるものを設定し、モデルサービスのアクティブレベルが設定された第1条件を満たすと決定したことにレスポンスし、少なくともモデルサービスの全てのインスタンスを削除することもできる。例えば、呼び出し情報に基づいてモデルサービスをアクティブサービス、ローアクティブサービス及び非アクティブサービスに分けることができる。モデルサービスのアクティブレベルがアクティブであると決定したことにレスポンスし、モデルサービスのインスタンスの削除を実行しない。モデルサービスのアクティブレベルがローアクティブであると決定したことにレスポンスし、モデルサービスの全てのインスタンスのみを削除する。モデルサービスのアクティブレベルが非アクティブであると決定したことにレスポンスし、モデルサービスの全てのインスタンス及びルーティングルールを削除する。即ち、前記第1条件は、更に異なるサブ条件を含んでもよく、異なるサブ条件に基づいて少なくともモデルサービスの全ての実施例の削除を実行する。本例示的実施例において、アクティブサービスは、例えばモデルサービスの作成時間から現在の時間までの時間スケールにおいていずれも安定した呼び出しを有するサービスであってもよく、ローアクティブサービスは、例えば最近呼び出されていないが、比較的長い時間窓内に安定した呼び出しを有するサービスであってもよく、非アクティブサービスは、例えば比較的長い時間窓内に呼び出しされていないサービスであってもよい。
いくつかの実施例によれば、図2に示すように、前記少なくとも前記少なくとも1つのモデルサービスの全てのインスタンスを削除するステップS103は、前記少なくとも1つのモデルサービスが前記人工知能開発プラットフォームのクラスタ内に存在するかどうかを決定するステップS1031、及び前記少なくとも1つのモデルサービスが前記クラスタ内に存在すると決定したことにレスポンスし、前記少なくとも1つのモデルサービスのバックエンドをトラフィック引受モジュールに切り替えるステップS1032を含むことができる。ここで、前記トラフィック引受モジュールは、インスタンスが削除されたモデルサービスのモデル推論トラフィックを受信するために用いられる。これによって、モデルサービスがAI開発プラットフォームに展開した全てのインスタンス(即ち、全てのコピー)のみを削除することができ、モデルサービス自体を削除することなく、後続にモデルサービスのインスタンスの展開の復元を容易にする。
ユーザがAI開発プラットフォームモデルサービスを作成した後、モデルサービスを独自のストレージシステム(例えばクラウドストレージシステム)に格納することができ、且つオンライン推論を実行するためにユーザのニーズに応じて一定数のインスタンスを展開することができる。
いくつかの実施例によれば、ステップS103は、更に、前記少なくとも1つのモデルサービスの生データ情報を前記クラスタ内に格納し続けるステップS1033を含むステップS1033を含むことができる。ここで、前記生データ情報は、少なくとも前記少なくとも1つのモデルサービスが、インスタンスが削除される前に前記開発プラットフォームに展開したインスタンスの第1数を含む。これによって、インスタンスが削除されたモデルサービスが呼び出される時に、モデルサービスの全てのインスタンスを復元することができ、ユーザのオンライン推論要求に影響を与えない。
前記生データ情報は、例えば、更に、インスタンスが削除されたモデルサービスが必要とするコンピューティングリソース(例えば、プロセッサの種類とモデル)を含むことができ、これによって削除されたモデルサービスの全てのインスタンスを復元した後に、モデルサービスのオンライン推論機能を保証することができる。
前記人工知能開発プラットフォームは、単一クラスタであってもよいが、これに限定されない。これによって、後続にモデルサービスのインスタンスの展開を復元できるように、モデルサービスのインスタンスが削除された後にも、モデルサービスの生データ情報が前記クラスタに存在し、且つ前記クラスタに格納され続けることを保証することができる。
AI開発プラットフォームが単一クラスタである場合、モデルサービスの全てのインスタンスが削除されたことにレスポンスし、インスタンスが削除されたモデルサービスのバックエンドをトラフィック引受モジュールに切り替えることを直接実行することができ、前記トラフィック引受モジュールは、インスタンスが削除されたモデルサービスのモデル推論トラフィックを受信することに用いられる。
いくつかの実施例によれば、図3に示すように、前記管理方法は、更に、前記トラフィック引受モジュールがインスタンスが削除された前記少なくとも1つのモデルサービスのモデル推論トラフィックを受信したことにレスポンスし、前記少なくとも1つのモデルサービスに対するウェイクアップ操作をトリガーするステップS104を含むことができる。前記ウェイクアップ操作は、前記第1数のインスタンスが全部の起動が完成されるまでに、前記人工知能開発プラットフォームにおいて前記少なくとも1つのモデルサービスの前記第1数のインスタンスを復元し、且つ復元されたインスタンスの状態をポーリングすること、及び前記少なくとも1つのモデルサービスのバックエンドを復元された第1数のインスタンスに切り替え戻すこととを含むことができる。これによって、ユーザがインスタンスが削除されたモデルサービスを呼び出す時に、AI開発プラットフォームにおいてモデルサービスの全てのインスタンスを復元し、オンライン推論を実行する。そして、後続の当該モデルサービスの呼び出しを容易にし、当該モデルサービスのオンライン推論要求が遅延する問題を回避するように、削除されたモデルサービスの全てのインスタンスを復元した後に、モデルサービスのバックエンドをモデルサービスのインスタンスに切り替え戻す。
前記少なくとも1つのモデルサービスの前記プラットフォームアクセス層におけるルーティング構成が削除された場合、前記ウェイクアップ操作は、更に、前記少なくとも1つのモデルサービスに対応するルーティングルールを再構成することを含むことができる。これによって、アクセス層がインスタンスが復元された前記少なくとも1つのモデルサービスのモデル推論トラフィックを受信した時に、ルーティングルールに基づいてユーザとモデルサービスインスタンスとの接続を確立することができる。
1つの例示的実施例において、前記トラフィック引受モジュールは、複数のインスタンスを有することができ、且つ前記トラフィック引受モジュールの複数のインスタンス中の第1インスタンスが先ずインスタンスが削除された前記少なくとも1つのモデルサービスのモデル推論トラフィックを受信した時に、前記第1インスタンスが分散ロックリソースを取得して前記ウェイクアップ操作をトリガーする。前記第1インスタンスが前記分散ロックリソースを保持している時に、前記トラフィック引受モジュールの複数のインスタンス中の他のインスタンスが前記ウェイクアップ操作をトリガーすることを防止することができる。このように、分散ロックリソースを設けることで、インスタンスが削除されたモデルサービスを重複してウェイクアップすることを回避し、マシンリソースの無駄な使用を回避することができる。
本開示の技術手段は、モデルサービスの呼び出し情報に基づいてモデルサービスの呼び出しのアクティブレベルを決定し、ポリシールールを設定することにより、モデルサービスのアクティブレベルが所定の第1条件を満たすことにレスポンスし、少なくともモデルサービスの全てのインスタンスを削除することで、マシンリソースの利用効率を向上させ、プラットフォームに対するマシンリソース要件を減らすことができ、オンライン推論の機能を向上させることもできる。
上記のように、モデルサービスが呼び出されるアクティブレベルを表現できる呼び出し情報は、モデルサービスの作成時間と、モデルサービスにおける最近の呼び出し時間、所定の時間窓内の呼び出しの回数、所定の時間窓内の呼び出し時点の分布のうちの少なくとも1つの情報とを含むことができる。これによって、前記呼び出し情報に基づいてモデルサービスの呼び出しのアクティブレベルを決定することができる。
即ち、前記少なくとも1つのモデルサービスの呼び出し情報を取得するステップS101は、前記少なくとも1つのモデルサービスの作成時間を取得することと、前記少なくとも1つのモデルサービスにおける最近の呼び出し時間、所定の時間窓内の呼び出しの回数、所定の時間窓内の呼び出し時点の分布のうちの少なくとも1つの情報を取得することとを含むことができる。
いくつかの実施例によれば、前記少なくとも1つのモデルサービスの全てのインスタンスに関連するトラフィックログを分析することで、前記少なくとも1つのモデルサービスにおける最近の呼び出し時間、所定の時間窓内の呼び出しの回数及び所定の時間窓内の呼び出し時点の分布のうちの少なくとも1つの情報を取得する。例えば、プラットフォームアクセス層により前記少なくとも1つのモデルサービスの全てのインスタンスに関連するトラフィックログを取得し、トラフィックログを分析することにより前記少なくとも1つのモデルサービスの前記情報を取得することができる。前記少なくとも1つのモデルサービスの全てのインスタンスに関連するトラフィックログを取得することを定期的に実行することができ、例えば、当日に前日の前記少なくとも1つのモデルサービスの全てのインスタンスに関連するトラフィックログを取得する。プラットフォームアクセス層の全てのインスタンスのトラフィックログを集約し、ログ中の各推論トラフィック要求を解析し、各モデルサービスの呼び出し情報を取得することができる。プラットフォームアクセス層のトラフィックログによりAI開発プラットフォームの全てのストックモデルサービスの全てのインスタンスの呼び出し情報を取得することができ、トラフィックログを解析することにより各ストックモデルサービスの呼び出し情報を取得し、呼び出し情報に基づいて各ストックモデルサービスの呼び出しアクティブレベルを決定することができる。
本開示の他の態様によれば、更に、人工知能開発プラットフォームシステムを提供する。図4に示すように、人工知能開発プラットフォームシステム100は、複数のモデルサービスのインスタンスが展開され、且つ各モデルサービスが1つ又は複数のインスタンスを有するように構成されるクラウドサーバー1001と、少なくとも1つのモデルサービスの呼び出し情報を取得するように構成される呼び出し情報収集モジュール101と、前記呼び出し情報に基づき、前記少なくとも1つのモデルサービスのアクティブレベルを確定するように構成される検出モジュール102と、決定されたアクティブレベルが第1条件を満たすことにレスポンスし、少なくとも前記少なくとも1つのモデルサービスの全てのインスタンスを削除するように構成される実行モジュール103とを含むことができる。これによって、マシンリソースの利用率を向上させる。
いくつかの実施例によれば、呼び出し情報収集モジュール101は、前記少なくとも1つのモデルサービスの作成時間を取得することと、前記少なくとも1つのモデルサービスの全てのインスタンスに関連するトラフィックログを分析することで、前記少なくとも1つのモデルサービスにおける最近の呼び出し時間、所定の時間窓内の呼び出しの回数及び所定の時間窓内の呼び出し時点の分布のうちの少なくとも1つの情報を取得することとを行うように構成することができる。なお、前記呼び出し情報は、更に、前記少なくとも1つのモデルサービスの呼び出しのアクティブレベルを表現できれば、その他の情報を含んでもよく、これに限定されない。
いくつかの実施例によれば、実行モジュール103は、更に、インスタンスが削除された前記少なくとも1つのモデルサービスが所定の時間内に呼び出されていると決定したことにレスポンスし、前記少なくとも1つのモデルサービスのプラットフォームアクセス層105におけるルーティング構成を削除するように構成されてもよい。これによって、トラフィックルーティングルール構成及び頻繁的なルーティングルールの変更によるプラットフォームアクセス層への負担を軽減することができ、オンライン推論サービスの機能を向上させる。
いくつかの実施例によれば、人工知能開発プラットフォームシステム100は、更に、トラフィック引受モジュール104を含んでもよく、且つ決定されたアクティブレベルが第1条件を満たすことにレスポンスし、モジュール103は、更に、前記少なくとも1つのモデルサービスが前記人工知能開発プラットフォームシステムのクラスタ内に存在するかを決定することと、前記少なくとも1つのモデルサービスが前記クラスタ内に存在すると決定したことにレスポンスし、前記少なくとも1つのモデルサービスのバックエンドをトラフィック引受モジュール104に切り替えることとを行うように構成されてもよく、トラフィック引受モジュール104は、インスタンスが削除されたモデルサービスのモデル推論トラフィックを受信する。
いくつかの実施例によれば、実行モジュール103は、更に、前記少なくとも1つのモデルサービスの生データ情報を前記クラスタ内に格納し続けるように構成されてもよく、前記生データ情報は、インスタンスが削除された前に、前記少なくとも1つのモデルサービスがクラウドサーバー1001に展開したインスタンスの第1数を少なくとも含む。これによって、インスタンスが削除されたモデルサービスが呼び出される時に、モデルサービスの全てのインスタンスを復元することができ、ユーザのオンライン推論要求に影響を与えない。
前記人工知能開発プラットフォームシステムは、単一クラスタであってもよいが、これに限定されない。これによって、モデルサービスのインスタンスを削除した後に、後続にモデルサービスのインスタンスの展開の復元を容易にするように、モデルサービスの生データ情報が前記クラスタ内に存在し、且つ継続して前記クラスタ内に格納され続けることを保証することができる。
いくつかの実施例によれば、人工知能開発プラットフォームシステム100は、更に、サービスウェイクアップモジュール106を含んでもよく、サービスウェイクアップモジュール106は、トラフィック引受モジュール104がインスタンスが削除された前記少なくとも1つのモデルサービスのモデル推論トラフィックを受信したことにレスポンスし、前記第1数のインスタンスが全部の起動を完成するまでに、クラウドサーバー1001において前記少なくとも1つのモデルサービスの前記第1数のインスタンスを復元し、且つ復元されたインスタンスの状態をポーリングすることと、前記少なくとも1つのモデルサービスのバックエンドを復元された第1数のインスタンスに切り替え戻すこととを行うように構成することができる。これによって、ユーザがインスタンスが削除されたモデルサービスを呼び出す時に、AI開発プラットフォームシステムのクラウドサーバーにおいてモデルサービスの全てのインスタンスを復元し、オンライン推論を実行する。そして、削除されたモデルサービスの全てのインスタンスを復元した後に、後続の当該モデルサービスの呼び出しを容易にするために、モデルサービスのバックエンドをモデルサービスのインスタンスに切り替え戻し、当該モデルサービスのオンライン推論要求が遅延する問題の発生を回避する。
前記少なくとも1つのモデルサービスの前記プラットフォームアクセス層におけるルーティング構成が削除された場合、サービスウェイクアップモジュール106は、更に、前記少なくとも1つのモデルサービスに対応するルーティングルールを再構成するように構成されてもよい。これによって、アクセス層が前記少なくとも1つのモデルサービスのモデル推論トラフィックを受信した時に、ルーティングルールに基づいてユーザとモデルサービスインスタンスとの接続を確立することができる。
1つの例示的実施例において、トラフィック引受モジュール104は、複数のインスタンスを含んでもよく、且つトラフィック引受モジュール104の複数のインスタンス中の第1インスタンスが先ずインスタンスが削除された前記少なくとも1つのモデルサービスのモデル推論トラフィックを受信した時に、前記第1インスタンス分散ロックリソースを取得して前記ウェイクアップ操作をトリガーし、前記第1インスタンスが前記分散ロックリソースを保持いている時に、前記トラフィック引受モジュールの複数のインスタンス中の他のインスタンスが前記ウェイクアップ操作をトリガーすることを防止することができる。これによって、分散ロックリソースを設けることで、インスタンスが削除されたモデルサービスを重複してウェイクアップすることを回避し、マシンリソースの無駄な使用を回避することができる。
本開示の他の態様によれば、更に、プロセッサ、プログラムを格納するメモリを備え、前記プログラムは、命令を含み、前記命令は、前記プロセッサにより実行される時に、前記プロセッサに上記の管理方法を実行させる電子装置を提供する。
本開示の他の態様によれば、更に、プログラムを格納するコンピュータ読み取り可能な記憶媒体を提供し、前記プログラムは、命令を含み、前記命令は、電子装置のプロセッサによって実行される時に、前記電子装置に上記の管理方法を実行させる。
図5に示すように、コンピューティング装置2000は、本開示の各態様に利用可能なハードウェア装置(電子装置)の例である。コンピューティング装置2000は、処理及び/又はコンピューティングを実行するように構成されたいずれの機械であってもよく、ワークステーション、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント、ロボット、スマートフォン、車載コンピュータ又はこれらのいずれの組み合わせであってもよいが、これらに限定されない。上記の管理方法の全部又は少なくとも一部は、コンピューティング装置2000又はそれに類似する装置又はシステムにより実行することができる。
コンピューティング装置2000は、(1つ又は複数のインターフェースを介して)バス2002に接続され又はバス2002と通信する素子を含んでもよい。例えば、コンピューティング装置2000は、バス2002、1つ又は複数のプロセッサ2004、1つ又は複数の入力装置2006及び1つ又は複数の出力装置2008を含んでもよい。1つ又は複数のプロセッサ2004は、いずれのタイプのプロセッサであってもよく、且つ1つ又は複数の汎用プロセッサ及び/又は1つ又は複数の専用プロセッサ(例えば特殊処理チップ)を含んでもよいが、これに限定されない。入力装置2006は、コンピューティング装置2000に情報を入力可能ないずれのタイプの装置であってもよく、且つマウス、キーボード、タッチスクリーン、マイクロフォン及び/又はリモコンを含んでもよいが、これらに限定されない。出力装置2008は、情報を提示可能ないずれのタイプの装置であってもよく、且つディスプレイ、スピーカー、ビデオ/オーディオ出力端末、バイブレータ及び/又はプリンタを含んでもよいが、これらに限定されない。コンピューティング装置2000は、更に、非一時的メモリ装置2010を含んでもよく、又は非一時的メモリ装置2010に接続されてもよく、非一時的メモリ装置は、非一時的あってもよく、且つデータの格納を実現するいずれのメモリ装置であってもよく、且つディスクドライブ、光学メモリ装置、ソリッドステートメモリ、フロッピィディスク、フレキシブルディスク、ハードディスク、テープ又はその他のいずれの磁気媒体、光ディスク又はその他のいずれの光学媒体、ROM(読み出し専用メモリ)、RAM(ランダムアクセスメモリ)、キャッシュメモリ及び/又はその他のいずれのメモリチップ又はカートリッジ、及び/又はコンピュータがデータ、命令及び/又はコードを読み取り可能なその他のいずれの媒体を含んでもよいが、これらに限定されない。非一時的メモリ装置2010は、インターフェースから取り外し可能であってもよい。非一時的メモリ装置2010は、上記の方法及びステップを実現するためのデータ/プログラム(命令を含む)/コードを有していてもよい。コンピューティング装置2000は、更に、通信装置2012を含んでもよい。通信装置2012は、外部装置及び/又はネットワークと通信可能ないずれのタイプの装置又はシステムであってもよく、且つモデム、ネットワークカード、赤外線通信装置、無線通信装置及び/又はチップセットを含んでもよく、例えばブルートゥース(登録商標)装置、1302.11装置、WiFi装置、WiMax装置、セルラー通信装置及び/又は類似物であるが、これらに限定されない。
コンピューティング装置2000は、更に、ワーキングメモリ2014を含んでもよく、当該プワーキングメモリ2014は、プロセッサ2004の動作に有用なプログラム(命令を含む)及び/又はデータを格納可能ないずれのタイプのワーキングメモリでもよく、且つランダムアクセスメモリ及び/又は読み出し専用メモリを含むが、これらに限定されない。
ソフトウェア要素(プログラム)は、ワーキングメモリ2014に配置されてもよく、オペレーティングシステム2016、1つ又は複数のアプリケーションプログラム2018、ドライバープログラム及び/又はその他のデータ及びコードを含んでもよいが、これらに限定されない。上記の方法及びステップを実行するための命令は、1つ又は複数のアプリケーションプログラム2018に含まれていてもよく、且つ上記の管理方法は、プロセッサ2004が1つ又は複数のアプリケーションプログラム2018の命令を読み取りして実行することによって実現することができる。より具体的に、上記の管理方法において、ステップS101~ステップS103は、例えば、プロセッサ2004に、ステップS101~ステップS103の命令を有するアプリケーションプログラム2018を実行させることによって実現することができる。更に、上記の管理方法のその他のステップは、例えば、プロセッサ2004に、対応するステップを実行するための命令を有するアプリケーションプログラム2018を実行させることによって実現することができる。ソフトウェア要素(プログラム)の命令の実行可能コードまたはソースコードは、非一時的なコンピュータ可読媒体(例えば、上記のメモリ装置2010)に格納されてもよく、且つ実行時にワーキングメモリ2014に(コンパイル及び/又はインストールされる可能性がある)格納されてもよい。ソフトウェア要素(プログラム)の命令の実行可能コードまたはソースコードは、リモートでダウンロードすることができる。
なお、具体的な要件に応じて様々な変更をすることができる。 例えば、カスタムハードウェア、及び/又はハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語又はこれらのいずれの組み合わせを用いることで特定の素子を実現することができる。例えば、開示された方法及び装置の一部又は全部は、本開示の論理及びアルゴリズムを利用して、アセンブリ言語又はハードウェアアプログラミング言語(例えば、VERILOG、VHDL、C++)でハードウェア(例えば、フィールドプログラマブルゲートアレイ(FPGA)及び/又はプログラマブルロジックアレイ(PLA)を含むプログラマブル論理回路)をプログラミングすることによって実現することができる。
なお、前記方法は、サーバ-クライアントモードにより実現することができる。例えば、クライアントは、ユーザが入力したデータを受信して前記データをサーバに送信することができる。クライアントは、ユーザが入力したデータを受信し、前記方法の一部の処理を行い、処理によって得られたデータをサーバに送信してもよい。サーバは、クライアントからのデータを受信し、前記方法又は前記方法の別の部分を実行し、実行結果をクライアントにフィードバックするようにしてもよい。クライアントは、サーバから方法の実行結果を受信し、例えば出力装置によりユーザに表示してもよい。
なお、コンピューティング装置2000の構成要素は、ネットワークに分散されていてもよい。 例えば、1つのプロセッサを用いていくつかの処理を実行し、同時に当該1つのプロセッサから離れた他のプロセッサにより他の処理を実行してもよい。コンピューティング装置2000の他の構成要素も同じように分散されていてもよい。このように、コンピューティング装置2000は、複数の場所で処理を実行する分散コンピューティングシステムと解釈してもよい。
本開示の実施例または例を添付の図面を参照して説明したが、上記の方法、システム、およびデバイスは、単なる例示的な実施例または例であり、本発明の範囲は、これらの実施例または例によって限定されるものではなく、登録された請求項及びそれに相当する範囲によって限定されるものである。実施例または例における様々な要素は、省略または同等の要素によって置き換え可能である。さらに、各ステップは、本開示に記載されている順序とは異なる順序で実行されてもよい。さらに、実施例または例における様々な要素は、様々な方法で組み合わせることができる。技術が進化するにつれて、本明細書に記載されている多くの要素を本開示の後に現れる同等の要素に置き換え可能である。

Claims (20)

  1. 人工知能(AI)開発プラットフォームの管理方法であって、
    前記AI開発プラットフォームには、複数のAIモデルサービスのインスタンスが展開され、且つ各AIモデルサービスは、1つまたは複数のインスタンスを有し、前記管理方法は、
    少なくとも1つのAIモデルサービスの全てのインスタンスの呼び出し情報を取得することと、
    前記呼び出し情報に基づき、前記少なくとも1つのAIモデルサービスの呼び出しアクティブレベルを決定することと、
    決定された呼び出しアクティブレベルが第1条件を満たすことにレスポンスし、前記AI開発プラットフォームのアクセス層における前記少なくとも1つのAIモデルサービスのルーティング構成を削除することなく、少なくとも前記少なくとも1つのAIモデルサービスの全てのインスタンスを削除することとを含む、ことを特徴とする管理方法。
  2. インスタンスが削除された前記少なくとも1つのAIモデルサービスが所定の時間内に呼び出されていないと決定されたことにレスポンスし、前記AI開発プラットフォームのアクセス層における前記少なくとも1つのAIモデルサービスのルーティング構成を削除することを更に含む、ことを特徴とする請求項1に記載の管理方法。
  3. 少なくとも前記少なくとも1つのAIモデルサービスの全てのインスタンスを削除することは、
    前記少なくとも1つのAIモデルサービスが前記人工知能開発プラットフォームのクラスタ内に存在しているかを決定することと、
    前記少なくとも1つのAIモデルサービスが前記クラスタ内に存在すると決定したことにレスポンスし、前記少なくとも1つのAIモデルサービスのバックエンドをトラフィック引受モジュールに切り替えることとを含み、
    前記トラフィック引受モジュールは、インスタンスが削除されたAIモデルサービスのモデル推論トラフィックを受信する、ことを特徴とする請求項2に記載の管理方法。
  4. 少なくとも前記少なくとも1つのAIモデルサービスの全てのインスタンスを削除することは、更に、
    前記少なくとも1つのAIモデルサービスの生データ情報を前記クラスタ内に格納し続けることを含み、
    前記生データ情報は、インスタンスが削除される前に、前記少なくとも1つのAIモデルサービスが前記人工知能開発プラットフォームに展開したインスタンスの第1数を含むことを特徴とする請求項3に記載の管理方法。
  5. 前記トラフィック引受モジュールが、インスタンスが削除された前記少なくとも1つのAIモデルサービスのモデル推論トラフィックを受信したことにレスポンスし、前記少なくとも1つのAIモデルサービスのウェイクアップ操作をトリガーし、前記ウェイクアップ操作は、
    前記第1数のインスタンスの全部の起動を完成するまでに、前記人工知能開発プラットフォームにおいて前記少なくとも1つのAIモデルサービスの前記第1数のインスタンスを復元し、且つ復元されたインスタンスの状態をポーリングすることと、
    前記少なくとも1つのAIモデルサービスのバックエンドを復元された第1数のインスタンスに切り替え戻すこととを更に含む、ことを特徴とする請求項4に記載の管理方法。
  6. 前記AI開発プラットフォームのアクセス層における前記少なくとも1つのAIモデルサービスのルーティング構成が削除された場合、前記ウェイクアップ操作は、更に、
    前記少なくとも1つのAIモデルサービスに対応するルーティングルールを再構成することを含む、ことを特徴とする請求項5に記載の管理方法。
  7. 前記トラフィック引受モジュールは、複数のインスタンスを有し、
    前記トラフィック引受モジュールの複数のインスタンス中の第1インスタンスが先ずインスタンスが削除された前記少なくとも1つのAIモデルサービスのモデル推論トラフィックを受信した時に、前記第1インスタンスは分散ロックリソースを取得して前記ウェイクアップ操作をトリガーし、
    前記第1インスタンスが前記分散ロックリソースを保持している時に、前記トラフィック引受モジュールの複数のインスタンス中の他のインスタンスが前記ウェイクアップ操作をトリガーすることを防止することができる、ことを特徴とする請求項5又は6に記載の管理方法。
  8. 前記少なくとも1つのAIモデルサービスの呼び出し情報を取得することは、
    前記少なくとも1つのAIモデルサービスの作成時間を取得することと、
    前記少なくとも1つのAIモデルサービスの全てのインスタンスに関連するトラフィックログを分析することで、前記少なくとも1つのAIモデルサービスにおける最近の呼び出し時間、所定の時間窓内の呼び出しの回数、所定の時間窓内の呼び出し時点の分布のうちの少なくとも1つの情報を取得することとを含む、ことを特徴とする請求項1に記載の管理方法。
  9. 前記人工知能開発プラットフォームは、単一クラスタである、ことを特徴とする請求項1の管理方法。
  10. 人工知能(AI)開発プラットフォームシステムであって、
    1つ又は複数のインスタンスを有する複数のAIモデルサービスのインスタンスが展開されているように構成されるクラウドサーバーと、
    少なくとも1つのAIモデルサービスの全てのインスタンスの呼び出し情報を取得するように構成される呼び出し情報収集モジュールと、
    前記呼び出し情報に基づき、前記少なくとも1つのAIモデルサービスの呼び出しアクティブレベルを決定するように構成される検出モジュールと、
    決定された呼び出しアクティブレベルが第1条件を満たすことにレスポンスし、前記AI開発プラットフォームのアクセス層における前記少なくとも1つのAIモデルサービスのルーティング構成を削除することなく、少なくとも前記少なくとも1つのAIモデルサービスの全てのインスタンスを削除するように構成される実行モジュールとを含む、ことを特徴とする人工知能開発プラットフォームシステム。
  11. 前記実行モジュールは、更に、インスタンスが削除された前記少なくとも1つのAIモデルサービスが所定の時間内に呼び出されていないと決定されたことにレスポンスし、前記AI開発プラットフォームのアクセス層における前記少なくとも1つのAIモデルサービスのルーティング構成を削除するように構成される、ことを特徴とする請求項10に記載の人工知能開発プラットフォームシステム。
  12. 前記人工知能開発プラットフォームシステムは、更に、トラフィック引受モジュールを含み、且つ、
    決定されたアクティブレベルが第1条件を満たすことにレスポンスし、前記実行モジュールは、更に、
    前記少なくとも1つのAIモデルサービスが前記人工知能開発プラットフォームシステムのクラスタ内に存在するかを決定し、
    前記少なくとも1つのAIモデルサービスが前記クラスタ内に存在すると決定されたことにレスポンスし、前記少なくとも1つのAIモデルサービスのバックエンドを前記トラフィック引受モジュールに切り替えるように構成され、
    前記トラフィック引受モジュールは、インスタンスが削除されたAIモデルサービスのモデル推論トラフィックを受信する、ことを特徴と請求項11に記載の人工知能開発プラットフォームシステム。
  13. 前記実行モジュールは、更に、
    前記少なくとも1つのAIモデルサービスの生データ情報を前記クラスタ内に格納し続けるように構成され、
    前記生データ情報は、前記少なくとも1つのAIモデルサービスのインスタンスが削除される前に前記クラウドサーバーに展開したインスタンスの第1数を少なくとも含む、ことを特徴とする請求項12に記載の人工知能開発プラットフォームシステム。
  14. 前記人工知能開発プラットフォームシステムは、更に、サービスウェイクアップモジュールを含み、
    前記サービスウェイクアップモジュールは、
    前記トラフィック引受モジュールがインスタンスが削除された前記少なくとも1つのAIモデルサービスのモデル推論トラフィックを受信したことにレスポンスし、前記第1数のインスタンスの全部の起動を完成するまでに、前記クラウドサーバーにおいて前記少なくとも1つのAIモデルサービスの前記第1数のインスタンスを復元し、且つ復元されたインスタンスの状態をポーリングし、
    前記少なくとも1つのAIモデルサービスのバックエンドを復元された第1数のインスタンスに切り替え戻すように構成される、ことを特徴とする請求項13に記載の人工知能開発プラットフォームシステム。
  15. 前記AI開発プラットフォームのアクセス層における前記少なくとも1つのAIモデルサービスのルーティング構成が削除された場合、前記サービスウェイクアップモジュールは、更に、前記少なくとも1つのAIモデルサービスに対応するルーティングルールを再構成するように構成される、ことを特徴とする請求項14に記載の人工知能開発プラットフォームシステム。
  16. 前記トラフィック引受モジュールは、複数のインスタンスを有し、
    前記トラフィック引受モジュールの複数のインスタンス中の第1インスタンスが先ずインスタンスが削除された前記少なくとも1つのAIモデルサービスのモデル推論トラフィックを受信した時に、前記第1インスタンスは分散ロックリソースを取得してウェイクアップ操作をトリガーし、
    前記第1インスタンスが前記分散ロックリソースを保持している時に、前記トラフィック引受モジュールの複数のインスタンス中の他のインスタンスが前記ウェイクアップ操作をトリガーすることを防止することができる、ことを特徴とする請求項14又は15に記載の人工知能開発プラットフォームシステム。
  17. 前記呼び出し情報収集モジュールは、前記少なくとも1つのAIモデルサービスの作成時間を取得し、前記少なくとも1つのAIモデルサービスの全てのインスタンスに関連するトラフィックログを分析することで、前記少なくとも1つのAIモデルサービスにおける最近の呼び出し時間、所定の時間窓内の呼び出しの回数、所定の時間窓内の呼び出し時点の分布のうちの少なくとも1つの情報を取得するように構成される、ことを特徴とする請求項10に記載の人工知能開発プラットフォームシステム。
  18. プロセッサと、プログラムを格納するメモリとを備え、
    前記プログラムは、命令を含み、前記命令は、前記プロセッサにより実行される時に、前記プロセッサに請求項1~9のいずれか1項に記載の管理方法を実行させる、ことを特徴とする電子装置。
  19. プログラムが格納されるコンピュータ可読記憶媒体であって、前記プログラムが、命令を含み、
    前記命令は、電子装置のプロセッサにより実行される時に、前記電子装置に、請求項1~9のいずれか1項に記載の管理方法を実行させる、ことを特徴とするコンピュータ可読記憶媒体。
  20. コンピュータ可読記憶媒体に格納されるコンピュータプログラムであって、前記コンピュータプログラムが命令を含み、
    前記命令は、少なくとも一つのプロセッサにより実行される時に、請求項1~9のいずれか1項に記載の管理方法を実現させる、ことを特徴とするコンピュータプログラム。
JP2021045551A 2020-06-30 2021-03-19 人工知能開発プラットフォームの管理方法及び装置、媒体 Active JP7161560B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010624194.8A CN111782185B (zh) 2020-06-30 2020-06-30 人工智能开发平台的管理方法及设备、介质
CN202010624194.8 2020-06-30

Publications (2)

Publication Number Publication Date
JP2021121921A JP2021121921A (ja) 2021-08-26
JP7161560B2 true JP7161560B2 (ja) 2022-10-26

Family

ID=72760076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021045551A Active JP7161560B2 (ja) 2020-06-30 2021-03-19 人工知能開発プラットフォームの管理方法及び装置、媒体

Country Status (5)

Country Link
US (1) US11455173B2 (ja)
EP (1) EP3817339B1 (ja)
JP (1) JP7161560B2 (ja)
KR (1) KR102556186B1 (ja)
CN (1) CN111782185B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608751B (zh) * 2021-08-04 2023-04-07 北京百度网讯科技有限公司 推理服务平台的运行方法、装置、设备及存储介质
CN114844843B (zh) * 2022-03-24 2024-06-25 清华大学 应用实例数量的调整方法及装置
CN115437781B (zh) * 2022-06-30 2023-10-31 北京九章云极科技有限公司 一种gpu资源管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102206A1 (en) 2017-09-30 2019-04-04 Oracle International Corporation Leveraging microservice containers to provide tenant isolation in a multi-tenant api gateway
US20190156244A1 (en) 2017-11-22 2019-05-23 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012160567A1 (en) * 2011-05-20 2012-11-29 Yogesh Chunilal Rathod A system and method for providing unified active search engine based on search result item specific identified, dynamic, contextual & accessible active links.
CN104331492B (zh) * 2014-11-14 2017-11-21 北京国双科技有限公司 一种缓存多实例数据的方法及装置
CN106257888A (zh) * 2015-06-16 2016-12-28 金士顿数位股份有限公司 用于私有通信架构的私有云端路由服务器连接机制
US10581705B2 (en) * 2017-07-04 2020-03-03 Vmware, Inc. Smart service catalogs based deployment of applications
US10474438B2 (en) * 2017-07-21 2019-11-12 Accenture Global Solutions Limited Intelligent cloud engineering platform
KR102146602B1 (ko) * 2017-12-22 2020-08-20 건국대학교 산학협력단 도커를 이용한 컨테이너 기반 딥러닝 개발 플랫폼 제공 방법 및 장치
CN110442369A (zh) * 2019-07-15 2019-11-12 上海易点时空网络有限公司 适用于git的代码清理方法及装置、存储介质
US11029947B2 (en) * 2019-08-30 2021-06-08 Accenture Global Solutions Limited Utilizing artificial intelligence to improve productivity of software development and information technology operations (DevOps)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190102206A1 (en) 2017-09-30 2019-04-04 Oracle International Corporation Leveraging microservice containers to provide tenant isolation in a multi-tenant api gateway
US20190156244A1 (en) 2017-11-22 2019-05-23 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system

Also Published As

Publication number Publication date
EP3817339A2 (en) 2021-05-05
EP3817339A3 (en) 2021-05-19
CN111782185A (zh) 2020-10-16
KR20210034558A (ko) 2021-03-30
US11455173B2 (en) 2022-09-27
KR102556186B1 (ko) 2023-07-14
EP3817339B1 (en) 2023-10-18
US20210211361A1 (en) 2021-07-08
JP2021121921A (ja) 2021-08-26
CN111782185B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
JP7161560B2 (ja) 人工知能開発プラットフォームの管理方法及び装置、媒体
US10735509B2 (en) Systems and methods for synchronizing microservice data stores
US20190235979A1 (en) Systems and methods for performing computing cluster node switchover
US8910138B2 (en) Hot pluggable extensions for access management system
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
CN113742031B (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
US10572319B2 (en) Optimization of message oriented middleware monitoring in heterogenenous computing environments
CN112463290A (zh) 动态调整计算容器的数量的方法、系统、装置和存储介质
CN113204353B (zh) 一种大数据平台组件部署方法及装置
CN112114939A (zh) 一种分布式系统部署设备和方法
WO2023093127A1 (zh) 一种监控集群的方法、装置及电子设备
CN113297031A (zh) 容器集群中的容器组防护方法及装置
CN110738156B (zh) 一种基于消息中间件的人脸识别系统及方法
CN114296953B (zh) 一种多云异构系统及任务处理方法
US8621260B1 (en) Site-level sub-cluster dependencies
US12120086B2 (en) Service discovery and renaming
US20230385164A1 (en) Systems and Methods for Disaster Recovery for Edge Devices
WO2022022442A1 (zh) 数据处理方法、装置、智能网卡和服务器
CN111767345B (zh) 建模数据同步方法、装置、计算机设备及可读存储介质
CN111400060B (zh) 设备联动方法、装置、服务器和介质
CN113641641A (zh) 文件存储服务的切换方法、切换系统、设备及存储介质
CN114237858A (zh) 一种基于多集群网络的任务调度方法及系统
CN113326052A (zh) 业务组件的升级方法、装置、计算机设备和存储介质
CN113742646A (zh) 将单语言复合函数编译为单个实体
CN110022220A (zh) 名片识别中的路由激活方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220517

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221014

R150 Certificate of patent or registration of utility model

Ref document number: 7161560

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150