はじめに
日頃、仕事でAWSのAmazon Sagemaker Studioを使っています。
使用目的は
・データの集計やリスト作成
・機械学習モデルの作成
の2つがあり、9:1くらいで集計作業が多いです。
⇒意思決定支援のためのデータ分析が主目的のため
こちらの記事では、コスパよく使うためのコツを記事にしました。
今回は、「結局どのくらいのメモリサイズを選べばいいの?」を整理してみます。
ご注意※私の日頃の感覚に基づく選定なので、あまり根拠はありません。
インスタンスサイズ表
メモリ最適化インスタンス
インスタンス | vCPU | メモリ | データ量目安 |
---|---|---|---|
ml.r5.large | 2 | 16 GiB | ~2GBのファイル 数個 |
ml.r5.xlarge | 4 | 32 GiB | ~2GBのファイル 5~10個 |
ml.r5.2xlarge | 8 | 64 GiB | ~5GBのファイル 数個 |
ml.r5.4xlarge | 16 | 128 GiB | ~5GBのファイル 5~10個 |
ml.r5.8xlarge | 32 | 256 GiB | ~10GBのファイル 数個 |
ml.r5.12xlarge | 48 | 384 GiB | ~10GBのファイル 5~10個 |
ml.r5.16xlarge | 64 | 512 GiB | ~20GBのファイル 数個 |
ml.r5.24xlarge | 96 | 768 GiB | ~20GBのファイル 5~10個 |
データ量のレコード数と列数のイメージ
データ量目安 | レコード数×列数 |
---|---|
~2GBのファイル | 150万×200 |
~5GBのファイル | 250万×250 |
~10GBのファイル | 500万×300 |
~20GBのファイル | 1500万×200 |
インスタンスのGiBとデータ量目安の差について
勘がいい方は、だいぶ余裕あるな~という印象かもしれません。
例えば下記であれば、2GBのファイルを4個読み込んでも
2GB*4=8GBしか消費しませんね。
インスタンス | vCPU | メモリ | データ量目安 |
---|---|---|---|
ml.r5.large | 2 | 16 GiB | ~2GBのファイル 数個 |
実際には、各種計算に使うメモリ分も必要なので、読み込んだデータだけで半分近く消費してしまうとインスタンスがぶっ飛ぶ可能性が高くなります👹
※ぶっ飛んでも、インスタンス上で読み込んでいた作業中のデータがすべてリセットされるだけなのでご安心ください。
※※ 切りのいいところで、pklファイル等に保存しておくと安心ですね✨
最後に
今回は、使用するインスタンスサイズの目安表をご紹介しました💡
「とりあえず、大きいインスタンス使っとけばいいか」という方は、ぜひ見直してみて下さいね!