(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-30
(54)【発明の名称】人工知能推論モデルを軽量化する方法およびシステム
(51)【国際特許分類】
G06N 3/0495 20230101AFI20240123BHJP
G06N 3/082 20230101ALI20240123BHJP
【FI】
G06N3/0495
G06N3/082
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023545183
(86)(22)【出願日】2021-11-23
(85)【翻訳文提出日】2023-07-26
(86)【国際出願番号】 KR2021017320
(87)【国際公開番号】W WO2022163985
(87)【国際公開日】2022-08-04
(31)【優先権主張番号】10-2021-0013311
(32)【優先日】2021-01-29
(33)【優先権主張国・地域又は機関】KR
(81)【指定国・地域】
(71)【出願人】
【識別番号】523165640
【氏名又は名称】ノタ、インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】キム、タエ-ホ
(72)【発明者】
【氏名】チャエ、ミュンス
(72)【発明者】
【氏名】ベク、ジョンウォン
(72)【発明者】
【氏名】リム、ドンウク
(72)【発明者】
【氏名】チョーダリー、ビベク
(72)【発明者】
【氏名】キム、ドンウック
(72)【発明者】
【氏名】パク、チョルビン
(57)【要約】
人工知能モデル軽量化方法およびシステムを開示する。一実施例に係る軽量化方法は、軽量化のための推論モデルの入力を受ける段階、ターゲットデバイスプールからターゲットデバイスを選択する段階、圧縮メソッドプールから圧縮メソッドの組み合わせを選択する段階、推論モデルを選択された圧縮メソッドの組み合わせを利用して圧縮する段階、選択されたターゲットデバイスを利用して圧縮された推論モデルの性能を測定する段階および測定された性能に基づいて最終軽量化推論モデルを決定する段階を含むことができる。
【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサを含むコンピュータ装置の軽量化方法において、
前記少なくとも一つのプロセッサによって、軽量化のための推論モデルの入力を受ける段階;
前記少なくとも一つのプロセッサによって、ターゲットデバイスプールからターゲットデバイスを選択する段階;
前記少なくとも一つのプロセッサによって、圧縮メソッドプールから圧縮メソッドの組み合わせを選択する段階;
前記少なくとも一つのプロセッサによって、前記推論モデルを前記選択された圧縮メソッドの組み合わせを利用して圧縮する段階;
前記少なくとも一つのプロセッサによって、前記選択されたターゲットデバイスを利用して前記圧縮された推論モデルの性能を測定する段階;および
前記少なくとも一つのプロセッサによって、前記測定された性能に基づいて最終軽量化推論モデルを決定する段階を含む、軽量化方法。
【請求項2】
前記圧縮する段階は、
前記選択された圧縮メソッドの組み合わせが含むメソッドを圧縮パイプラインを通じて前記推論モデルに順次適用して前記推論モデルを圧縮する、請求項1に記載の軽量化方法。
【請求項3】
前記性能を測定する構成は、
前記圧縮された推論モデルを前記選択されたターゲットデバイスに伝送する段階;および
前記ターゲットデバイスから前記圧縮された推論モデルの性能に対するテスト結果を受信する段階を含む、請求項1に記載の軽量化方法。
【請求項4】
前記選択されたターゲットデバイスは、前記圧縮された推論モデルに対する遅延時間および正確度のうち少なくとも一つを含む性能を測定するように具現される、請求項1に記載の軽量化方法。
【請求項5】
前記少なくとも一つのプロセッサによって、デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む制約(constraint)を設定する段階をさらに含む、請求項1に記載の軽量化方法。
【請求項6】
前記少なくとも一つのプロセッサによって、前記設定された制約の項目別優先順位を設定する段階をさらに含む、請求項5に記載の軽量化方法。
【請求項7】
前記ターゲットデバイスを選択する段階は、
前記デバイスの制約により前記ターゲットデバイスを選択する、請求項5に記載の軽量化方法。
【請求項8】
前記最終軽量化推論モデルを決定する段階は、
前記正確度の制約、前記遅延時間の制約および前記エネルギー消耗量の制約のうち少なくとも一つと前記測定された性能に基づいて前記最終軽量化推論モデルを決定する、請求項5に記載の軽量化方法。
【請求項9】
前記圧縮時間の制約により前記ターゲットデバイスでの前記圧縮された推論モデルの学習回数および前記選択された圧縮メソッドの組み合わせが含む圧縮メソッドの数のうち少なくとも一つが調節される、請求項5に記載の軽量化方法。
【請求項10】
前記圧縮メソッドの組み合わせを選択する段階は、
前記圧縮メソッドプールから前記圧縮メソッドの複数の組み合わせを選択し、
前記圧縮する段階は、
前記推論モデルを前記選択された複数の組み合わせそれぞれに圧縮する、請求項1に記載の軽量化方法。
【請求項11】
前記圧縮メソッドプールは、枝刈り(Pruning)、量子化(Quantization)、知識蒸留(Knowledge Distillation)、モデル探索(Neural Architecture Search)、解像度変更(Resolution change)、フィルタデコンポジション(Filter decomposition)およびフィルタ分解(Filter Decomposition)のうち少なくとも一つに基づいた2つ以上の圧縮メソッドを含む、請求項1に記載の軽量化方法。
【請求項12】
前記圧縮メソッドの組み合わせを選択する段階は、
前記圧縮メソッドの組み合わせ内で量子化(Quantization)に基づいた圧縮メソッドが前記圧縮メソッドの組み合わせの最後に位置しなければならない第1規則および活性化変換(Activation Change)に基づいた圧縮メソッドが量子化に基づいた圧縮メソッド以前に含まれなければならない第2規則のうち少なくとも一つの規則に沿って圧縮メソッドの組み合わせを選択する、請求項1に記載の軽量化方法。
【請求項13】
コンピュータ装置と結合されて請求項1~請求項12のいずれか一項に記載された方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラム。
【請求項14】
請求項1~請求項12のいずれか一項に記載された方法をコンピュータ装置に実行させるためのプログラムが記録されているコンピュータ読み取り可能な記録媒体。
【請求項15】
コンピュータ装置で読み取り可能な命令を実行するように具現される少なくとも一つのプロセッサを含み、
前記少なくとも一つのプロセッサによって、
軽量化のための推論モデルの入力を受け、
ターゲットデバイスプールからターゲットデバイスを選択し、
圧縮メソッドプールから圧縮メソッドの組み合わせを選択し、
前記推論モデルを前記選択された圧縮メソッドの組み合わせを利用して圧縮し、
前記選択されたターゲットデバイスを利用して前記圧縮された推論モデルの性能を測定し、
前記測定された性能に基づいて最終軽量化推論モデルを決定するコンピュータ装置。
【請求項16】
前記推論モデルを圧縮するために、前記少なくとも一つのプロセッサによって、
前記選択された圧縮メソッドの組み合わせが含むメソッドを圧縮パイプラインを通じて前記推論モデルに順次適用して前記推論モデルを圧縮する、請求項15に記載のコンピュータ装置。
【請求項17】
前記圧縮された推論モデルの性能を測定するために、前記少なくとも一つのプロセッサによって、
前記圧縮された推論モデルを前記選択されたターゲットデバイスで伝送し、
前記ターゲットデバイスから前記圧縮された推論モデルの性能に対するテスト結果を受信する、請求項15に記載のコンピュータ装置。
【請求項18】
前記少なくとも一つのプロセッサによって、
デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む制約(constraint)を設定する、請求項15に記載のコンピュータ装置。
【請求項19】
前記圧縮メソッドの組み合わせを選択するために、前記少なくとも一つのプロセッサによって、
前記圧縮メソッドプールから前記圧縮メソッドの複数の組み合わせを選択し、
前記推論モデルを圧縮するために、前記少なくとも一つのプロセッサによって、
前記推論モデルを前記選択された複数の組み合わせそれぞれに圧縮する、請求項15に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は人工知能推論モデルを軽量化する方法およびシステムに関する。
【背景技術】
【0002】
ディープラーニングモデル(または人工知能モデル)の軽量化は与えられたディープラーニングモデルをさらに小さいディープラーニングモデルに作る関数、モジュールおよび/または機能を意味する。ここで、「小さい」はディープラーニングモデルを構成する加重値(weights/bias)の数を減らしたり、容量を減らしたり、推論速度をはやくすることを意味し得る。この時、軽量化を進めながら性能を低下させないことが非常に重要である。
【0003】
軽量化技法には多様な種類がある。大きく分類すれば、枝刈り(Pruning)、量子化(Quantization)、知識蒸留(Knowledge Distillation)、モデル探索(Neural Architecture Search)、フィルタ分解(Filter Decomposition)があり、各分類内にも非常に多様な種類の軽量化技法が存在する。
【0004】
この時、各軽量化技法は単純に利用することはできない。各軽量化技法を利用するためのパラメータが存在する。例えば、枝刈りの場合、各Layer別にどれほど多い量のパラメータを枝刈りするかに対するパラメータを予め調整しなければならず、パラメータをどのように設定するかにより軽量化性能に多くの影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【0005】
多様な軽量化技法を順次および/または並列的にディープラーニングモデルに適用してディープラーニングモデルを圧縮できる軽量化方法およびシステムを提供する。
【課題を解決するための手段】
【0006】
少なくとも一つのプロセッサを含むコンピュータ装置の軽量化方法において、前記少なくとも一つのプロセッサによって、軽量化のための推論モデルの入力を受ける段階;前記少なくとも一つのプロセッサによって、ターゲットデバイスプールからターゲットデバイスを選択する段階;前記少なくとも一つのプロセッサによって、圧縮メソッドプールから圧縮メソッドの組み合わせを選択する段階;前記少なくとも一つのプロセッサによって、前記推論モデルを前記選択された圧縮メソッドの組み合わせを利用して圧縮する段階;前記少なくとも一つのプロセッサによって、前記選択されたターゲットデバイスを利用して前記圧縮された推論モデルの性能を測定する段階;および前記少なくとも一つのプロセッサによって、前記測定された性能に基づいて最終軽量化推論モデルを決定する段階を含む軽量化方法を提供する。
【0007】
一側面によると、前記圧縮する段階は、前記選択された圧縮メソッドの組み合わせが含むメソッドを圧縮パイプラインを通じて前記推論モデルに順次適用して前記推論モデルを圧縮することを特徴とすることができる。
【0008】
他の側面によると、前記性能を測定する構成は、前記圧縮された推論モデルを前記選択されたターゲットデバイスに伝送する段階;および前記ターゲットデバイスから前記圧縮された推論モデルの性能に対するテスト結果を受信する段階を含むことを特徴とすることができる。
【0009】
さらに他の側面によると、前記選択されたターゲットデバイスは、前記圧縮された推論モデルに対する遅延時間および正確度のうち少なくとも一つを含む性能を測定するように具現されることを特徴とすることができる。
【0010】
さらに他の側面によると、前記軽量化方法は前記少なくとも一つのプロセッサによって、デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む制約(constraint)を設定する段階をさらに含むことができる。
【0011】
さらに他の側面によると、前記軽量化方法は前記少なくとも一つのプロセッサによって、前記設定された制約の項目別優先順位を設定する段階をさらに含むことができる。
【0012】
さらに他の側面によると、前記ターゲットデバイスを選択する段階は、前記デバイスの制約により前記ターゲットデバイスを選択することを特徴とすることができる。
【0013】
さらに他の側面によると、前記最終軽量化推論モデルを決定する段階は、前記正確度の制約、前記遅延時間の制約および前記エネルギー消耗量の制約のうち少なくとも一つと前記測定された性能に基づいて前記最終軽量化推論モデルを決定することを特徴とすることができる。
【0014】
さらに他の側面によると、前記圧縮時間の制約により前記ターゲットデバイスでの前記圧縮された推論モデルの学習回数および前記選択された圧縮メソッドの組み合わせが含む圧縮メソッドの数のうち少なくとも一つが調節されることを特徴とすることができる。
【0015】
さらに他の側面によると、前記圧縮メソッドの組み合わせを選択する段階は、前記圧縮メソッドプールから前記圧縮メソッドの複数の組み合わせを選択し、前記圧縮する段階は、前記推論モデルを前記選択された複数の組み合わせそれぞれに圧縮することを特徴とすることができる。
【0016】
さらに他の側面によると、前記圧縮メソッドプールは、枝刈り(Pruning)、量子化(Quantization)、知識蒸留(Knowledge Distillation)、モデル探索(Neural Architecture Search)およびフィルタ分解(Filter Decomposition)のうち少なくとも一つに基づいた2つ以上の圧縮メソッドを含むことを特徴とすることができる。
【0017】
コンピュータ装置と結合されて前記方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムを提供する。
【0018】
前記方法をコンピュータ装置に実行させるためのプログラムが記録されているコンピュータ読み取り可能な記録媒体を提供する。
【0019】
コンピュータ装置で読み取り可能な命令を実行するように具現される少なくとも一つのプロセッサを含み、前記少なくとも一つのプロセッサによって、軽量化のための推論モデルの入力を受け、ターゲットデバイスプールからターゲットデバイスを選択し、圧縮メソッドプールから圧縮メソッドの組み合わせを選択し、前記推論モデルを前記選択された圧縮メソッドの組み合わせを利用して圧縮し、前記選択されたターゲットデバイスを利用して前記圧縮された推論モデルの性能を測定し、前記測定された性能に基づいて最終軽量化推論モデルを決定することを特徴とするコンピュータ装置を提供する。
【発明の効果】
【0020】
多様な軽量化技法を順次および/または並列的にディープラーニングモデルに適用してディープラーニングモデルを圧縮することができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の一実施例に係るネットワーク環境の例を図示した図面である。
【
図2】本発明の一実施例に係るコンピュータ装置の例を図示したブロック図である。
【
図3】本発明の一実施例に係る軽量化システムの例を図示した図面である。
【
図4】本発明の一実施例に係る軽量化方法の例を図示したフローチャートである。
【
図5】本発明の一実施例において、最適パラメータ決定過程の例を図示した図面である。
【発明を実施するための形態】
【0022】
以下、実施例を添付した図面を参照して詳細に説明する。
【0023】
本発明の実施例に係る軽量化システムは少なくとも一つのコンピュータ装置によって具現され得る。この時、コンピュータ装置には本発明の一実施例に係るコンピュータプログラムが設置および駆動され得、コンピュータ装置は駆動されたコンピュータプログラムの制御により本発明の実施例に係る軽量化方法を遂行できる。前述したコンピュータプログラムはコンピュータ装置と結合されて軽量化方法をコンピュータに実行させるためにコンピュータ読み取り可能な記録媒体に保存され得る。
【0024】
図1は、本発明の一実施例に係るネットワーク環境の例を図示した図面である。
図1のネットワーク環境は複数の電子機器110、120、130、140、複数のサーバー150、160およびネットワーク170を含む例を示している。このような
図1は発明の説明のための一例であり、電子機器の数やサーバーの数が
図1のように限定されるものではない。また、
図1のネットワーク環境は本実施例に適用可能な環境のうち一つの例を説明するものに過ぎず、本実施例に適用可能な環境が
図1のネットワーク環境に限定されるものではない。
【0025】
複数の電子機器110、120、130、140はコンピュータ装置で具現される固定型端末であるか移動型端末であり得る。複数の電子機器110、120、130、140の例を挙げると、スマートフォン(smart phone)、携帯電話、ナビゲーション、コンピュータ、ノートパソコン、デジタル放送用端末、PDA(登録商標)(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPCなどがある。一例として、
図1では電子機器110の例としてスマートフォンの形状を示しているが、本発明の実施例で電子機器110は実質的に無線または有線通信方式を利用してネットワーク170を通じて他の電子機器120、130、140および/またはサーバー150、160と通信できる多様な物理的なコンピュータ装置のうち一つを意味し得る。
【0026】
通信方式は制限されず、ネットワーク170が含むことができる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を活用する通信方式だけでなく、機器間の近距離無線通信も含まれ得る。例えば、ネットワーク170は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうち一つ以上の任意のネットワークを含むことができる。また、ネットワーク170はバスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的(hierarchical)ネットワークなどを含むネットワークトポロジーのうち任意の一つ以上を含むことができるが、これに制限されない。
【0027】
サーバー150、160それぞれは、複数の電子機器110、120、130、140とネットワーク170を通じて通信して命令、コード、ファイル、コンテンツ、サービスなどを提供するコンピュータ装置または複数のコンピュータ装置で具現され得る。例えば、サーバー150はネットワーク170を通じて接続した複数の電子機器110、120、130、140でサービス(一例として、インスタントメッセージングサービス、ソーシャルネットワークサービス、決済サービス、仮想取引所サービス、リスクモニタリングサービス、ゲームサービス、グループ通話サービス(または音声カンファレンスサービス)、メッセージングサービス、メールサービス、地図サービス、翻訳サービス、金融サービス、検索サービス、コンテンツ提供サービスなど)を提供するシステムであり得る。
【0028】
図2は、本発明の一実施例に係るコンピュータ装置の例を図示したブロック図である。前述した複数の電子機器110、120、130、140それぞれやサーバー150、160それぞれは、
図2を通じて図示されたコンピュータ装置200により具現され得る。
【0029】
このようなコンピュータ装置200は
図2に図示された通り、メモリ210、プロセッサ220、通信インターフェース230そして入出力インターフェース240を含むことができる。メモリ210はコンピュータで読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)およびディスクドライブのような非消滅性大容量記録装置(permanent mass storage device)を含むことができる。ここで、ROMとディスクドライブのような非消滅性大容量記録装置はメモリ210とは区分される別途の永久保存装置であって、コンピュータ装置200に含まれてもよい。また、メモリ210には運営体制と少なくとも一つのプログラムコードが保存され得る。このようなソフトウェア構成要素は、メモリ210とは別途のコンピュータで読み取り可能な記録媒体からメモリ210にローディングされ得る。このような別途のコンピュータで読み取り可能な記録媒体はフロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含むことができる。他の実施例においてソフトウェア構成要素は、コンピュータで読み取り可能な記録媒体ではなく通信インターフェース230を通じてメモリ210にローディングされ得る。例えば、ソフトウェア構成要素はネットワーク170を通じて受信されるファイルによって設置されるコンピュータプログラムに基づいてコンピュータ装置200のメモリ210にローディングされ得る。
【0030】
プロセッサ220は基本的な算術、ロジックおよび入出力演算を遂行することによって、コンピュータプログラムの命令を処理するように構成され得る。命令はメモリ210または通信インターフェース230によりプロセッサ220に提供され得る。例えばプロセッサ220はメモリ210のような記録装置に保存されたプログラムコードにより受信される命令を実行するように構成され得る。
【0031】
通信インターフェース230はネットワーク170を通じてコンピュータ装置200が他の装置(一例として、前述した保存装置)と互いに通信するための機能を提供することができる。一例として、コンピュータ装置200のプロセッサ220がメモリ210のような記録装置に保存されたプログラムコードにより生成した要請や命令、データ、ファイルなどが、通信インターフェース230の制御によりネットワーク170を通じて他の装置に伝達され得る。逆に、他の装置からの信号や命令、データ、ファイルなどがネットワーク170を経てコンピュータ装置200の通信インターフェース230を通じてコンピュータ装置200に受信され得る。通信インターフェース230を通じて受信された信号や命令、データなどはプロセッサ220やメモリ210に伝達され得、ファイルなどはコンピュータ装置200がさらに含むことができる保存媒体(前述した永久保存装置)に保存され得る。
【0032】
入出力インターフェース240は入出力装置250とのインターフェースのための手段であり得る。例えば、入力装置はマイク、キーボードまたはマウスなどの装置を、そして出力装置はディスプレイ、スピーカーのような装置を含むことができる。他の例として、入出力インターフェース240はタッチスクリーンのように入力と出力のための機能が一つで統合された装置とのインターフェースのための手段であってもよい。入出力装置250のうち少なくとも一つはコンピュータ装置200と一つの装置で構成されてもよい。例えば、スマートフォンのようにタッチスクリーン、マイク、スピーカーなどがコンピュータ装置200に含まれた形態で具現され得る。
【0033】
また、他の実施例において、コンピュータ装置200は
図2の構成要素よりさらに少ないかあるいはさらに多くの構成要素を含んでもよい。しかし、多くの従来技術的構成要素を明確に図示する必要性はない。例えば、コンピュータ装置200は前述した入出力装置250のうち少なくとも一部を含むように具現されるかまたはトランシーバー(transceiver)、データベースなどのような他の構成要素をさらに含んでもよい。
【0034】
図3は、本発明の一実施例に係る軽量化システムの例を図示した図面である。本実施例に係る軽量化システム300はハイパーパラメータ最適化部310(以下、HPO(Hyperparameter Optimization))、ターゲットデバイスプール(Target Device Pool、320)、圧縮メソッドプール(Compression Method Pool、330)および圧縮パイプライン(Compression pipeline、340)を含むことができる。
【0035】
軽量化技法はパラメータにより依存度が大きいため、多数の軽量化技法を利用する場合、各軽量化技法のパラメータがどのようにセッティングされているかにより大きく性能が左右され得る。このような問題を解決するために、軽量化システム300はHPO310およびターゲットデバイスプール320を含むことができる。
【0036】
HPO310は与えられたハイパーパラメータ探索空間(Hyperparameter search space)で最適なハイパーパラメータを探すアルゴリズムであり得、実質的には軽量化システム300を具現するコンピュータ装置200のプロセッサ220がコンピュータプログラムの制御により動作する機能の機能的表現であり得る。例えば、HPO310は可能なパラメータ組み合わせのうちパラメータ組み合わせ1、パラメータ組み合わせ2、…、パラメータ組み合わせNに対してそれぞれ学習を進めた後、性能が低いパラメータ組み合わせを一部廃棄し、上位性能が良いパラメータ組み合わせに基づいて新しいパラメータ組み合わせを探索することができる。ハイパーパラメータの例示としては、バッチサイズ(Batch size)、学習率(Learning Rate)、モメンタム(Momentum)等がある。ハイパーパラメータの範疇をレイヤの数、ニューロン(neuron)の数、レイヤのタイプと設定する場合、HPO310はNAS(Neural Architecture Search)を含むことができる。
【0037】
本実施例に係るHPO310は異様な探索空間(search space)で探索を処理することができる。多数の軽量化技法のパラメータが探索空間(search space)となり得る。例えば枝刈り比率(pruning ratio)、量子化臨界値(quantization threshold)、知識蒸留(Knowledge Distillation)での温度(Temperature in KD)等がHPO310の探索空間となり得る。このようなHPO310は一例として、ハイパーバンド(Hyperband)、ベイズ最適化(Bayesian Optimization)のようなアルゴリズムを活用することができる。
【0038】
一方、ターゲットデバイスプール320と圧縮メソッドプール330は一例として、データベースの形態で具現され得る。ターゲットデバイスプール320は多様なデバイスに対する情報を含むことができ、圧縮メソッドプール330は多様な圧縮メソッドそれぞれのためのコードを含むことができる。HPO310は圧縮メソッドプール330から圧縮メソッドを選択することができ、選択された圧縮メソッドを利用して推論モデルを軽量化することができる。ターゲットデバイスプール320に含まれるデバイスと圧縮メソッドプール330に含まれる圧縮メソッドはすでに広く知られているデバイスおよび圧縮メソッドが活用され得る。
【0039】
この時、HPO310は推論モデルを軽量化するにおいて、圧縮メソッドプール330から2つ以上の圧縮メソッドを選択することができ、選択された2つ以上の圧縮メソッドを圧縮パイプライン340に順次配置することができる。以後、HPO310は推論モデルを圧縮パイプライン340に入力して推論モデルが2つ以上の圧縮メソッドによって順次圧縮されるように推論モデルに対する軽量化を処理することができる。実施例により圧縮パイプライン340はHPO310に含まれる形態で具現され得る。
【0040】
また、HPO310は圧縮メソッドの多様な組み合わせごとに軽量化モデルを生成してもよい。実施例により、HPO310は多数の圧縮パイプラインを運用することによって、一つの推論モデルに互いに異なる組み合わせの圧縮メソッドを適用して多数の軽量化モデルを並列的に生成してもよい。一例として、多数のターゲットデバイスが存在する場合、HPO310は多数の圧縮パイプラインを運用して多数のターゲットデバイスのための多数の軽量化モデルを同時に生成することができる。
【0041】
また、HPO310はターゲットデバイスプール320を通じて選択されたターゲットデバイス350に軽量化された推論モデルを伝達することができる。ターゲットデバイス350は軽量化された推論モデルのコードを実行して遅延時間、正確性などの性能を測定した後、測定された性能をHPO310に返還することができる。HPO310は返還された性能に基づいてパラメータ組み合わせ間の優劣をつけることができるようになり、このような優劣によりターゲットデバイス350に最適化されたパラメータ組み合わせを探すことができる。
【0042】
このような過程のために、HPO310は一例として、軽量化のための推論モデルとデータセット(データおよびラベルを含む)そして制約(constraint)の入力を受けることができる。ここで、制約はデバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含むことができる。
【0043】
デバイスの制約はターゲットデバイス350の選定のための情報を含むことができる。軽量化システム300はデバイスの制約によりターゲットデバイスプール320からターゲットデバイス350を選択することができる。
【0044】
また、正確度の制約は軽量化された推論モデルが有するべき正確度の最小臨界値であり得る。換言すると、HPO310は軽量化された推論モデルが少なくとも正確度の制約による最小臨界値以上の正確度を有するように推論モデルを軽量化することができる。例えば、HPO310はターゲットデバイス350が返還する性能としての正確度が正確度の制約による最小臨界値以上のパラメータ組み合わせを選択することができる。
【0045】
モデルの大きさの制約は軽量化されたモデルの大きさに対する制約であり得る。モデルの大きさの制約が設定された場合、HPO310は軽量化推論モデルのうちモデルの大きさの制約以下(または未満)の大きさを有する軽量化推論モデルを使って性能テストを進行することができる。
【0046】
遅延時間の制約は軽量化された推論モデルが入力値に対する出力値を生成するのにかかる時間に対する制約であり得る。軽量化された推論モデルに対する遅延時間はターゲットデバイスがHPO310に返還する性能に含まれ得る。HPO310は返還された性能に含まれた遅延時間に基づいて遅延時間の制約を満足する軽量化された推論モデルを選択することによって、パラメータ組み合わせを選択することができる。
【0047】
圧縮時間の制約は軽量化された推論モデルを生成するのにかかる時間の制約であり得る。一例として、望む入力条件を満足する推論モデルを生成する時間は推論モデルを圧縮するシステムの性能およびリソースに依存的であり、一つの推論モデルを圧縮するのに何日もかかる場合もある。しかし、使用者が圧縮時間の制約を設定する場合、HPO310は設定された圧縮時間の制約に合うように最大学習回数(エポック(epoch))を指定したり順次適用される圧縮メソッドの数を減らして軽量化された推論モデルの生成時間が使用者が設定した遅延時間の制約を越えないように調節することができる。
【0048】
エネルギー消耗量の制約はターゲットデバイスで軽量化された推論モデルの性能を測定するにおいて、ターゲットデバイスでのエネルギー消耗量に対する制約を含むことができる。換言すると、HPO310はターゲットデバイスでのエネルギー消耗量が使用者によって設定されたエネルギー消耗量の制約を越えないパラメータ組み合わせを選択することができる。このために、ターゲットデバイスにはエネルギー消耗測定モジュールが含まれ得、ターゲットデバイスで測定されるエネルギー消耗量が軽量化された推論モデルに対する性能の一部としてHPO310に伝達され得る。
【0049】
一方、すべての制約を満足する結果(軽量化推論モデル)が生成される場合もあれば、そうでない場合もある。例えば、軽量化推論モデルの性能において、さらに低い遅延時間のために正確度を低くしなければならないこともある。他の例として、さらに低いエネルギー消耗量のために正確度を低くしなければならないこともある。したがって、制約には優先順位が指定され得、HPO310は指定された優先順位により優先順位が高い制約を先に満足し、下位の制約を満足するモデル最適化を進行することができる。
【0050】
図4は、本発明の一実施例に係る軽量化方法の例を図示したフローチャートである。本実施例に係る軽量化方法はHPO310を具現するコンピュータ装置200により遂行され得る。一例として、コンピュータ装置200のプロセッサ220はメモリ210が含む運営体制のコードや少なくとも一つのコンピュータプログラムのコードによる制御命令(instruction)を実行するように具現され得る。ここで、プロセッサ220はコンピュータ装置200に保存されたコードが提供する制御命令によりコンピュータ装置200が
図4の方法が含む段階410~470を遂行するようにコンピュータ装置200を制御することができる。
【0051】
段階410でコンピュータ装置200は軽量化のための推論モデルの入力を受けることができる。実施例により推論モデルと共にデータセットと制約が共に入力されてもよい。データセットはデータとラベル(データに対する正解)を含むことができ、以後ターゲットデバイスに提供されてターゲットデバイスが圧縮された推論モデルの性能を測定するのに活用され得る。
【0052】
段階420でコンピュータ装置200はデバイス、正確度、モデルの大きさ、遅延時間、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む制約を設定することができる。圧縮時間の制約が設定された場合、設定された圧縮時間の制約により、ターゲットデバイスでの圧縮された推論モデルの学習回数および選択された圧縮メソッドの組み合わせが含む圧縮メソッドの数のうち少なくとも一つが調節され得る。設定される制約は推論モデルと共に入力される制約であり得るがこれに限定されはしない。また、実施例によりコンピュータ装置200は設定された制約の項目別優先順位をさらに設定することができる。優先順位については前記にて詳しく説明したことがある。
【0053】
段階430でコンピュータ装置200はターゲットデバイスプールからターゲットデバイスを選択することができる。ここで、ターゲットデバイスプールは先立って
図3を通じて説明したターゲットデバイスプール320に対応し得る。この時、段階420でデバイスの制約が設定された場合、コンピュータ装置200はデバイスの制約によりターゲットデバイスプールからターゲットデバイスを選択することができる。
【0054】
段階440でコンピュータ装置200は圧縮メソッドプールから圧縮メソッドの組み合わせを選択することができる。ここで、圧縮メソッドプールは先立って
図3を通じて説明した圧縮メソッドプール320に対応し得る。この時、圧縮メソッドプールは、枝刈り(Pruning)、量子化(Quantization)、知識蒸留(Knowledge Distillation)、モデル探索(Neural Architecture Search)、解像度変更(Resolution change)、フィルタデコンポジション(Filter decomposition)およびフィルタ分解(Filter Decomposition)のうち少なくとも一つに基づいた2つ以上の圧縮メソッドを含むことができる。実施例によりコンピュータ装置200は圧縮メソッドプールから圧縮メソッドの複数の組み合わせを選択してもよい。
【0055】
また、コンピュータ装置200は一定の規則に沿って圧縮メソッドの組み合わせを選択してもよい。例えば、コンピュータ装置200は圧縮メソッドの組み合わせ内で量子化(Quantization)に基づいた圧縮メソッドが組み合わせの最後に位置しなければならない第1規則および活性化変換(Activation Change)に基づいた圧縮メソッドが量子化に基づいた圧縮メソッド以前に含まれなければならない第2規則のうち少なくとも一つの規則に沿って圧縮メソッドの組み合わせを選択することができる。例えば、量子化の場合にはコンパイラ(Compiler)と結合されて具現されている場合が多いので、ソフトウェアレベルで圧縮に量子化を利用する場合、量子化が圧縮パイプラインの最も最後に配置され得る。また、活性化変換は量子化の性能を高めるための目的で使われるため、活性化変換に基づいた圧縮メソッドは量子化に基づいた圧縮メソッドより組み合わせ内に先に含まれ得る。
【0056】
実施例により段階410~段階440の遂行順序は変更され得る。例えば、圧縮メソッドの組み合わせを選択した以後にターゲットデバイスを選択したりまたは推論モデルの入力以前にターゲットデバイスを選択してもよい。
【0057】
段階450でコンピュータ装置200は推論モデルを選択された圧縮メソッドの組み合わせを利用して圧縮することができる。一例として、コンピュータ装置200は選択された圧縮メソッドの組み合わせが含むメソッドを圧縮パイプラインを通じて推論モデルに順次適用して推論モデルを圧縮することができる。圧縮パイプラインは先立って
図3を通じて説明した圧縮パイプライン340に対応し得る。一方、段階440で複数の組み合わせが選択された場合、コンピュータ装置200は推論モデルを選択された複数の組み合わせそれぞれに圧縮することができる。
【0058】
段階460でコンピュータ装置200は選択されたターゲットデバイスを利用して圧縮された推論モデルの性能を測定することができる。一例として、コンピュータ装置200は圧縮された推論モデルを選択されたターゲットデバイスに伝送でき、ターゲットデバイスから圧縮された推論モデルの性能に対するテスト結果を受信することができる。この時、ターゲットデバイスは圧縮された推論モデルに対する遅延時間および正確度のうち少なくとも一つを含む性能を測定するように具現され得る。推論モデルが複数の組み合わせそれぞれに対して圧縮された場合、多数の圧縮された推論モデルそれぞれに対する性能が測定され得る。
【0059】
段階470でコンピュータ装置200は測定された性能に基づいて最終軽量化推論モデルを決定することができる。一例として、コンピュータ装置200は正確度の制約、遅延時間の制約およびエネルギー消耗量の制約のうち少なくとも一つと測定された性能に基づいて最終軽量化推論モデルを決定することができる。他の例として、コンピュータ装置200は推論モデルに対してパラメータ組み合わせを変えながら多数の圧縮された推論モデルを生成した場合、または圧縮メソッドの多数の組み合わせを通じて多数の圧縮された推論モデルを生成した場合、多数の圧縮された推論モデルのうち性能が最も高い圧縮された推論モデルを最終軽量化推論モデルとして決定することができる。
【0060】
図5は、本発明の一実施例において、最適パラメータ決定過程の例を図示した図面である。
図5は、HPO310およびターゲットデバイス350を示している。
図5の実施例は、HPO310がターゲットデバイス350を通じて推論モデル510を圧縮して最終軽量化推論モデル520を生成する過程の例を説明する。
【0061】
パラメータ選択過程531でHPO310は入力される推論モデル510のためのパラメータを選択することができる。すでに説明した通り、推論モデル510は事前学習されたモデルであり得、パラメータは多数の圧縮メソッドの組み合わせのためのパラメータの組み合わせであり得る。
【0062】
モデル圧縮過程532でHPO310は選択されたパラメータを利用して推論モデル510を圧縮することができる。圧縮された推論モデルはターゲットデバイス350に伝達され得る。この時、圧縮された推論モデルと共に、推論モデル510に対して入力されたデータセット(データおよびラベル含む)がターゲットデバイス350に共に伝達され得る。
【0063】
モデル受信過程533でターゲットデバイス350はHPO310で伝達される圧縮された推論モデルを受信することができる。すでに説明した通り、ターゲットデバイス350は圧縮された推論モデルと共にデータセットを受信することができる。
【0064】
モデルテスト過程534でターゲットデバイス350は圧縮された推論モデルをテストすることができる。一例として、ターゲットデバイス350はデータセットのデータと正解であるラベルを利用して圧縮された推論モデルをテストして圧縮された推論モデルの性能(一例として、遅延時間、正確度など)を測定することができ、測定された性能をHPO310に伝達することができる。より具体的な例として、ターゲットデバイス350は圧縮された推論モデルにデータセットのデータを入力することができ、データが入力された時刻および圧縮された推論モデルが入力されたデータに対する結果を出力する時刻に基づいて遅延時間を測定することができる。他の例として、ターゲットデバイス350は出力された結果とデータに対する正解であるラベルを比較して圧縮された推論モデルの正確性を測定することができる。
【0065】
反復過程535でHPO310はターゲットデバイス350から伝達された性能によりパラメータ選択過程531~モデルテスト過程534を繰り返すかどうかを決定することができる。一例として、HPO310は伝達された性能に基づいて圧縮された推論モデルが制約をすべて満足するかまたは優先順位に基づいた制約を一定基準以上満足するかどうかを判断することができる。満足する場合、HPO310はパラメータ選択過程531~モデルテスト過程534の反復なしに圧縮された推論モデルを最終軽量化推論モデル520として提供することができる。反面、満足しない場合、HPO310はパラメータ選択過程531~モデルテスト過程534を繰り返して新しいパラメータにより圧縮された推論モデルを再びテストすることができる。
【0066】
実施例により反復過程535は単純に互いに異なるパラメータを通じて圧縮された予め設定された数の圧縮された推論モデルをテストするための過程であり得る。この場合、HPO310は制約の基準で最も性能が良い圧縮された推論モデルを最終軽量化推論モデル520として提供することができる。
【0067】
さらに他の実施例で反復過程535は、一つの圧縮された推論モデルを互いに異なる予め設定された数のターゲットデバイスにテストするための過程であってもよい。
【0068】
このように、本発明の実施例によると、多様な軽量化技法を順次および/または並列的にディープラーニングモデルに適用してディープラーニングモデルを圧縮することができる。
【0069】
以上で説明されたシステムまたは装置はハードウェア構成要素、またはハードウェア構成要素およびソフトウェア構成要素の組み合わせで具現され得る。例えば、実施例で説明された装置および構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令(instruction)を実行し応答できる他のある装置とともに、一つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して具現され得る。処理装置は運営体制(OS)および前記運営体制上で遂行される一つ以上のソフトウェアアプリケーションを遂行できる。また、処理装置はソフトウェアの実行に応答して、データを接近、保存、操作、処理および生成してもよい。理解の便宜のために、処理装置は一つが使われるものとして説明された場合もあるが、該当技術分野で通常の知識を有する者は、処理装置が複数個の処理要素(processing element)および/または複数類型の処理要素を含むことができることがわかる。例えば、処理装置は複数個のプロセッサまたは一つのプロセッサおよび一つのコントローラを含むことができる。また、並列プロセッサ(parallel processor)のような、他の処理構成(processing configuration)も可能である。
【0070】
ソフトウェアはコンピュータプログラム(computer program)、コード(code)、命令(instruction)、またはこれらのうち一つ以上の組み合わせを含むことができ、望む通りに動作するように処理装置を構成したり独立的にまたは結合的に(collectively)処理装置を命令することができる。ソフトウェアおよび/またはデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するために、或る類型の機械、構成要素(component)、物理的装置、仮想装置(virtual equipment)、コンピュータ保存媒体または装置に具体化(embody)され得る。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散されて、分散された方法で保存されたり実行されてもよい。ソフトウェアおよびデータは一つ以上のコンピュータ読み取り可能記録媒体に保存され得る。
【0071】
実施例に係る方法は多様なコンピュータ手段を通じて遂行され得るプログラム命令形態で具現されてコンピュータ読み取り可能媒体に記録され得る。前記コンピュータ読み取り可能媒体はプログラム命令、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。媒体はコンピュータで実行可能なプログラムを継続して保存したり、実行またはダウンロードのために臨時保存するものであってもよい。また、媒体は単一または複数個のハードウェアが結合された形態の多様な記録手段または保存手段であり得るが、或るコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散存在するものであってもよい。媒体の例示としては、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体、CD-ROMおよびDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、およびROM、RAM、フラッシュメモリなどを含んでプログラム命令語が保存されるように構成されたものがあり得る。また、他の媒体の例示として、アプリケーションを流通するアプリストアやその他多様なソフトウェアを供給または流通するサイト、サーバーなどで管理する記録媒体または保存媒体も挙げることができる。プログラム命令の例にはコンパイラによって作られるような機械語コードだけでなく、インタープリタなどを使ってコンピュータによって実行され得る高級言語コードを含む。
【0072】
以上のように、実施例がたとえ限定された実施例と図面によって説明されたが、該当技術分野で通常の知識を有する者であれば前記の記載から多様な修正および変形が可能である。例えば、説明された技術が説明された方法とは異なる順序で遂行されたり、および/または説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合または組み合わせられたり、他の構成要素または均等物によって対峙されたり置換されても適切な結果が達成され得る。
【0073】
したがって、他の具現、他の実施例および特許請求の範囲と均等なものなども後述する特許請求の範囲の範囲に属する。
【手続補正書】
【提出日】2023-07-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
少なくとも一つのプロセッサを含むコンピュータ装置によって実行される、推論モデルの軽量化のための最適なパラメータ組み合わせを決定する方法において、
前記少なくとも一つのプロセッサによって、推論モデルおよび使用者が設定した制約の入力を受ける段階;
前記少なくとも一つのプロセッサによって、前記制約を考慮して前記推論モデルに適用される互いに異なる複数の圧縮メソッド組み合わせおよび前記複数の圧縮メソッド組み合わせに関連した互いに異なる複数のパラメータ組み合わせを選択する段階;
前記少なくとも一つのプロセッサによって、複数の圧縮パイプラインを通じて前記複数の圧縮メソッド組み合わせと前記複数のパラメータ組み合わせを前記推論モデルに順次適用して複数の軽量化モデルを獲得し、ターゲットデバイスを通じて前記複数の軽量化モデルそれぞれに対する性能を獲得する段階;
前記少なくとも一つのプロセッサによって、前記性能に基づいて前記複数の軽量化モデルのうち前記制約を満足する少なくとも一つの軽量化モデルが存在するかを判断する段階;
前記少なくとも一つのプロセッサによって、前記制約を満足する前記少なくとも一つの軽量化モデルが存在すると判断されると、前記少なくとも一つの軽量化モデルのうち最も高い性能を有する軽量化モデルを最終軽量化モデルに提供し、前記最終軽量化モデルに基づいて最適なパラメータ組み合わせを決定する段階;および
前記少なくとも一つのプロセッサによって、前記制約を満足する前記少なくとも一つの軽量化モデルが存在しないと判断されると、前記複数の軽量化モデルのうち予め設定された順位以上の性能を有する軽量化モデルの軽量化に利用されたパラメータ組み合わせに基づいて新しいパラメータ組み合わせを探索したり、前記ターゲットデバイスと異なるターゲットデバイスを通じて前記複数の軽量化モデルそれぞれに対する性能を獲得する段階;を含む、方法。
【請求項2】
前記複数のパラメータ組み合わせは、
第1パラメータ組み合わせおよび前記第1パラメータ組み合わせと異なる第2パラメータ組み合わせを含む、請求項1に記載の方法。
【請求項3】
前記性能を獲得する段階は、
前記複数の軽量化モデルを前記ターゲットデバイスに伝送する段階、および
前記ターゲットデバイスから前記複数の軽量化モデルの性能に対するテスト結果を受信する段階を含む、請求項1に記載の方法。
【請求項4】
前記性能は、
前記複数の軽量化モデルに対する遅延時間および正確度のうち少なくとも一つを含む、請求項1に記載の方法。
【請求項5】
前記制約は、
デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値
を含む、請求項1に記載
の方法。
【請求項6】
前記制約の各項目には優先順位が設定されており、
前記判断する段階は、
前記優先順位に基づいて前記制約を満足する前記少なくとも一つの軽量化モデルが存在するかを判断する、請求項5に記載の方法。
【請求項7】
前記ターゲットデバイスは、
前記制約に基づいてターゲットデバイスプールから選択される、請求項1に記載の方法。
【請求項8】
前記圧縮時間の制約により前記ターゲットデバイスでの前記
複数の軽量化モデルの学習回数および前記
複数の圧縮メソッド組み合わせに含まれた圧縮メソッドの数のうち少なくとも一つが調節される、請求項5に記載
の方法。
【請求項9】
前記複数の圧縮メソッド組み合わせに含まれた圧縮メソッドは、
圧縮メソッドプールから選択され、
前記圧縮メソッドプールは、枝刈り(Pruning)およびフィルタ分解(Filter Decomposition)を含む、請求項1に記載の方法。
【請求項10】
データセットの入力を受けて前記ターゲットデバイスに提供する段階;をさらに含み、
前記性能は、
前記データセットを利用して前記ターゲットデバイスによって測定される、請求項3に記載の方法。
【請求項11】
コンピュータ装置と結合されて請求項1~請求項
10のいずれか一項に記載された方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラム。
【請求項12】
請求項1~請求項
10のいずれか一項に記載された方法をコンピュータ装置に実行させるためのプログラムが記録されているコンピュータ読み取り可能な記録媒体。
【請求項13】
少なくとも一つのプロセッサを含むコンピュータ装置において、
前記少なくとも一つのプロセッサは、
推論モデルおよび使用者が設定した制約の入力を受け、
前記制約を考慮して前記推論モデルに適用される互いに異なる複数の圧縮メソッド組み合わせおよび前記複数の圧縮メソッド組み合わせに関連した互いに異なる複数のパラメータ組み合わせを選択し、
複数の圧縮パイプラインを通じて前記複数の圧縮メソッド組み合わせと前記複数のパラメータ組み合わせを前記推論モデルに順次適用して複数の軽量化モデルを獲得し、ターゲットデバイスを通じて前記複数の軽量化モデルそれぞれに対する性能を獲得し、
前記性能に基づいて前記複数の軽量化モデルのうち前記制約を満足する少なくとも一つの軽量化モデルが存在するかを判断し、
前記制約を満足する前記少なくとも一つの軽量化モデルが存在すると判断されると、前記少なくとも一つの軽量化モデルのうち最も高い性能を有する軽量化モデルを最終軽量化モデルで提供し、前記最終軽量化モデルに基づいて最適なパラメータ組み合わせを決定し、
前記少なくとも一つのプロセッサによって、前記制約を満足する前記少なくとも一つの軽量化モデルが存在しないと判断されると、前記複数の軽量化モデルのうち予め設定された順位以上の性能を有する軽量化モデルの軽量化に利用されたパラメータ組み合わせに基づいて新しいパラメータ組み合わせを探索したり、前記ターゲットデバイスと異なるターゲットデバイスを通じて前記複数の軽量化モデルそれぞれに対する性能を獲得する、コンピュータ装置。
【請求項14】
前記複数のパラメータ組み合わせは、
第1パラメータ組み合わせおよび前記第1パラメータ組み合わせと相異なった第2パラメータ組み合わせを含む、請求項13に記載のコンピュータ装置。
【請求項15】
通信インターフェース;をさらに含み、
前記少なくとも一つのプロセッサは、
前記通信インターフェースを通じて前記複数の軽量化モデルをターゲットデバイスに伝送し、
前記通信インターフェースを通じて前記ターゲットデバイスから前記複数の軽量化モデルの性能に対するテスト結果を受信する、請求項13に記載のコンピュータ装置。
【請求項16】
前記制約は、
デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む
、請求項
13に記載のコンピュータ装置。
【請求項17】
前記制約の各項目には優先順位が設定されており、
前記少なくとも一つのプロセッサは、
前記優先順位に基づいて前記制約を満足する前記少なくとも一つの軽量化モデルが存在するかを判断する、請求項16に記載のコンピュータ装置。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0073
【補正方法】変更
【補正の内容】
【0073】
したがって、他の具現、他の実施例および特許請求の範囲と均等なものなども後述する特許請求の範囲の範囲に属する。
(他の可能な項目)
(項目1)
少なくとも一つのプロセッサを含むコンピュータ装置の軽量化方法において、
前記少なくとも一つのプロセッサによって、軽量化のための推論モデルの入力を受ける段階;
前記少なくとも一つのプロセッサによって、ターゲットデバイスプールからターゲットデバイスを選択する段階;
前記少なくとも一つのプロセッサによって、圧縮メソッドプールから圧縮メソッドの組み合わせを選択する段階;
前記少なくとも一つのプロセッサによって、前記推論モデルを前記選択された圧縮メソッドの組み合わせを利用して圧縮する段階;
前記少なくとも一つのプロセッサによって、前記選択されたターゲットデバイスを利用して前記圧縮された推論モデルの性能を測定する段階;および
前記少なくとも一つのプロセッサによって、前記測定された性能に基づいて最終軽量化推論モデルを決定する段階を含む、軽量化方法。
(項目2)
前記圧縮する段階は、
前記選択された圧縮メソッドの組み合わせが含むメソッドを圧縮パイプラインを通じて前記推論モデルに順次適用して前記推論モデルを圧縮する、項目1に記載の軽量化方法。
(項目3)
前記性能を測定する構成は、
前記圧縮された推論モデルを前記選択されたターゲットデバイスに伝送する段階;および
前記ターゲットデバイスから前記圧縮された推論モデルの性能に対するテスト結果を受信する段階を含む、項目1に記載の軽量化方法。
(項目4)
前記選択されたターゲットデバイスは、前記圧縮された推論モデルに対する遅延時間および正確度のうち少なくとも一つを含む性能を測定するように具現される、項目1に記載の軽量化方法。
(項目5)
前記少なくとも一つのプロセッサによって、デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む制約(constraint)を設定する段階をさらに含む、項目1に記載の軽量化方法。
(項目6)
前記少なくとも一つのプロセッサによって、前記設定された制約の項目別優先順位を設定する段階をさらに含む、項目5に記載の軽量化方法。
(項目7)
前記ターゲットデバイスを選択する段階は、
前記デバイスの制約により前記ターゲットデバイスを選択する、項目5に記載の軽量化方法。
(項目8)
前記最終軽量化推論モデルを決定する段階は、
前記正確度の制約、前記遅延時間の制約および前記エネルギー消耗量の制約のうち少なくとも一つと前記測定された性能に基づいて前記最終軽量化推論モデルを決定する、項目5に記載の軽量化方法。
(項目9)
前記圧縮時間の制約により前記ターゲットデバイスでの前記圧縮された推論モデルの学習回数および前記選択された圧縮メソッドの組み合わせが含む圧縮メソッドの数のうち少なくとも一つが調節される、項目5に記載の軽量化方法。
(項目10)
前記圧縮メソッドの組み合わせを選択する段階は、
前記圧縮メソッドプールから前記圧縮メソッドの複数の組み合わせを選択し、
前記圧縮する段階は、
前記推論モデルを前記選択された複数の組み合わせそれぞれに圧縮する、項目1に記載の軽量化方法。
(項目11)
前記圧縮メソッドプールは、枝刈り(Pruning)、量子化(Quantization)、知識蒸留(Knowledge Distillation)、モデル探索(Neural Architecture Search)、解像度変更(Resolution change)、フィルタデコンポジション(Filter decomposition)およびフィルタ分解(Filter Decomposition)のうち少なくとも一つに基づいた2つ以上の圧縮メソッドを含む、項目1に記載の軽量化方法。
(項目12)
前記圧縮メソッドの組み合わせを選択する段階は、
前記圧縮メソッドの組み合わせ内で量子化(Quantization)に基づいた圧縮メソッドが前記圧縮メソッドの組み合わせの最後に位置しなければならない第1規則および活性化変換(Activation Change)に基づいた圧縮メソッドが量子化に基づいた圧縮メソッド以前に含まれなければならない第2規則のうち少なくとも一つの規則に沿って圧縮メソッドの組み合わせを選択する、項目1に記載の軽量化方法。
(項目13)
コンピュータ装置と結合されて項目1~項目12のいずれか一項に記載された方法をコンピュータ装置に実行させるためにコンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラム。
(項目14)
項目1~項目12のいずれか一項に記載された方法をコンピュータ装置に実行させるためのプログラムが記録されているコンピュータ読み取り可能な記録媒体。
(項目15)
コンピュータ装置で読み取り可能な命令を実行するように具現される少なくとも一つのプロセッサを含み、
前記少なくとも一つのプロセッサによって、
軽量化のための推論モデルの入力を受け、
ターゲットデバイスプールからターゲットデバイスを選択し、
圧縮メソッドプールから圧縮メソッドの組み合わせを選択し、
前記推論モデルを前記選択された圧縮メソッドの組み合わせを利用して圧縮し、
前記選択されたターゲットデバイスを利用して前記圧縮された推論モデルの性能を測定し、
前記測定された性能に基づいて最終軽量化推論モデルを決定するコンピュータ装置。
(項目16)
前記推論モデルを圧縮するために、前記少なくとも一つのプロセッサによって、
前記選択された圧縮メソッドの組み合わせが含むメソッドを圧縮パイプラインを通じて前記推論モデルに順次適用して前記推論モデルを圧縮する、項目15に記載のコンピュータ装置。
(項目17)
前記圧縮された推論モデルの性能を測定するために、前記少なくとも一つのプロセッサによって、
前記圧縮された推論モデルを前記選択されたターゲットデバイスで伝送し、
前記ターゲットデバイスから前記圧縮された推論モデルの性能に対するテスト結果を受信する、項目15に記載のコンピュータ装置。
(項目18)
前記少なくとも一つのプロセッサによって、
デバイス、正確度(accuracy)、モデルの大きさ、遅延時間(latency)、圧縮時間およびエネルギー消耗量のうち少なくとも一つの項目に対する値を含む制約(constraint)を設定する、項目15に記載のコンピュータ装置。
(項目19)
前記圧縮メソッドの組み合わせを選択するために、前記少なくとも一つのプロセッサによって、
前記圧縮メソッドプールから前記圧縮メソッドの複数の組み合わせを選択し、
前記推論モデルを圧縮するために、前記少なくとも一つのプロセッサによって、
前記推論モデルを前記選択された複数の組み合わせそれぞれに圧縮する、項目15に記載のコンピュータ装置。
【国際調査報告】