Neural Architecture Search を取り入れた時系列予測モデル運用に向けた一検討
理学専攻・情報科学コース

1

はじめに

高橋佑里子

似度の最大値の max similarity の 2 種類である．

近年のクラウドサービスでは，物理サーバ (PhysicalMachine: PM) の低 CPU 使用率が課題となっており，これを改善すべく，事業者では，サーバを仮想化することで CPU 使用率を向上させ，PM 数を削減する取り組みが行われている．この取り組みでは，PM が自身の CPU 資源を超えた仮想 CPU を割り当てられるオーバーコミット状態に陥ることで，仮想マシン (VirtualMachine: VM) の性能が低下する可能性がある．これを防ぐことを目的として，図 1 のように，VM の CPU使用率を予測モデルによって予測し，オーバーコミット状態が発生する前に VM を別の PM へマイグレーションするという制御技術が知られている [1]．

図 2: フローチャート
準備段階では，過去のデータすべてを細分化し，クラスタリングの基準の作成を行い，クラスタリングの基準に当てはめて得られたクラスタ番号の分布を保存する．その後，過去のデータをすべて使用して NAS を行い，ベストモデルを保存する．運用段階では，まず直近のデータを取得して細分化を行った後，準備段階で作成したクラスタリングの基準に当てはめ，得られたクラスタ番号の分布を保存する．そして，直近の分布と過去の分布のコサイン類似度の最大値が max similarity 以上だった場合は，NAS を行う必要がないため，その時点で使用されたモデルを流用する．一方，直近の分布と過去の分布のコサイン類似度の最大値が max similarity未満だった場合は，過去のデータも含めて NAS を行い，ベストモデルを保存して使用する．これを一定間隔で繰り返すというものである．

図 1: VM 制御のイメージ

VM 上で多く実行されるアプリケーションは時間が経つにつれ変化していくため，それに伴って実行される VM のワークロードも変化していく．そのため，環境の変化に合わせて予測モデルを継続的に学習し，モデルを更新することで予測精度を担保することが望ましいが，従来は学習させるデータを変えるのみで，予測モデルのネットワーク構造を変えることはなかった．
しかし，学習させるデータによって最適な予測モデルのネットワーク構造は異なる．
そこで本研究は，Neural Architecture Search(NAS) を取り入れることで，環境の変化に応じて予測モデルの構造を変化させながら予測モデルを運用する手法の検討を行う．NAS とは，ニューラルネットワークの構造自体を自動的に最適化することである [2]．この NASを，予測モデルの継続的な学習の中で適切なタイミングで行うことで，より高精度な VM の CPU 使用率予測が可能になると考えた．

2

2.1

細分化

本研究では，図 3 のように，データを 1 点ずつずらしながら学習元データ数と正解データ数の合計値ごとに区切る処理を細分化と呼んでいる．本研究では，学習元データ数を 200，正解データ数を 1 と設定しているため，201 点ごとに区切る処理を行っていることになる．

2.2

提案手法

NASNAS はライブラリとして AutoKeras[3][4] を使用し，予備実験により決定した表 1 のような探索範囲で行った．その他の条件は，エポック数 100，バッチサイズ100，ウィンドウ幅 200，最大トライアル数 100 とした．

VMCPU 使用率予測モデル運用における提案手法のフローチャートを図 2 に示す．黄色部分が準備段階，オレンジ色部分が運用段階であり，パラメータはクラスタリングの基準作成時のクラスタ数の n clusters，類1

ており，NAS を取り入れることでより高精度な予測モデルの運用が可能であることなどが読み取れる．

図 3: 細分化のイメージ
表 1: NAS の探索範囲
パラメータ範囲

ラーニングレート

0.01 または 0.001

LSTM の層数2

LSTM のユニット数20-30

図 4: 実験結果

4 まとめと今後の予定
仮想環境における VM の CPU 使用率を予測モデルの運用において，NAS を取り入れる手法の検討を行った．提案手法のフローチャートに沿って実験を行った
結果，NAS を取り入れることでより高精度な予測が可能になることが判明した．今後は，提案手法のパラメータを変えた実験や，フローチャートの改善に取り組みたいと考えている．

3 実験
3.1 データセットの作成と実験準備
本研究では，Microsoft 社が提供している Azure のVM トレースデータセット [5][6] の一部の，”avg cpu”項目を使用した．異なる傾向を持つデータセットを作成する目的で，データセットを正規化した後 360 点に細分化し，その中から類似度の低い 100 種類の波形を抽出し，これらを異なる割合で含む傾向を 20 種類作成し，これらを準備段階の 10 種類と運用段階の 10 種類に分け，準備段階で必要な作業を行った．

謝辞
本研究の一部はお茶の水女子大学と富士通株式会社との共同研究契約に基づくものであり，JST CREST
JPMJCR1503 の支援を受けたものである．

参考文献

3.2 実験方法[1] Hiroyoshi Kodama, Hiroshi Endo, Shigeto Suzuki,and Hiroyuki Fukuda. High eﬃciency cloud data center management system using live migration. In 2017
IEEE 10th International Conference on Cloud Computing (CLOUD), pages 733–738. IEEE, 2017.

実験では，提案手法を n clusters を 50，類似度の最大値の max similarity を 0.94 として行い，提案手法以外に以下の値と正解値との RMSE を比較した．

• 過去のデータで学習したモデルを使用し続ける場
合の予測値[2] Thomas Elsken, Jan Hendrik Metzen, Frank Hutter,et al. Neural architecture search: A survey. J. Mach.
Learn. Res., 20(55):1–21, 2019.

• 過去のデータで NAS 行い出力されたベストモデルを使用し続ける場合の予測値[3] Haifeng Jin, Qingquan Song, and Xia Hu. Autokeras: An eﬃcient neural architecture search system.
In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data
Mining, pages 1946–1956. ACM, 2019.

• 各区間で毎回学習を行う場合の予測値• 各区間で過去のデータを含めて毎回 NAS を行う
場合の予測値• 各区間で過去のデータを含めずに毎回 NAS を行う場合の予測値[4] Autokeras. https://autokeras.com/.
[5] Mohammad Shahrad, Rodrigo Fonseca, Íñigo Goiri,
Gohar Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich,and Ricardo Bianchini. Serverless in the wild:
Characterizing and optimizing the serverless workload at a large cloud provider. arXiv preprint
arXiv:2003.03423, 2020.

• 1 つ前の値を繰り返しただけのデータ (repeat 値)
上記のようにパラメータを設定したところ，NAS が行われる回数は 4 回となった．

3.3 結果実験結果は図 4 のようになった．縦軸は RMSE の平均値，横軸は区間番号である．この結果から，NAS を行う場合は過去のデータを使用することが重要である
こと，提案手法では適切なタイミングで NAS を行っ[6] Azure/azurepublicdataset:
Microsoft
azuretraces.
https://github.com/Azure/AzurePublicDataset.
2