ラーニング
LEARNING
マシンラーニング技術の活用 ~Amazon SageMaker~

IPアドレスに対して様々な判定を行うにあたり、弊社ではマシンラーニング技術を用いて判定を実施する取り組みを始めています。
本ラーニング記事ではAmazon SageMakerを活用し大規模な学習基盤の構築について解説します。
IPは一定ではない
私たちが日々利用するIPアドレスは常に一定ではなく、条件に応じて入れ替わりながら日々運用されています。入れ替わるタイミングは一定ではなく、利用しているデバイスや回線によって異なります。弊社が提供するサービスはこれらの情報を日々更新しながら運用しておりますが、DBの更新には多大な時間が必要です。
マシンラーニング技術の活用
IPと関連する情報を更新するためにマシンラーニング技術を活用しています。IPと関連する情報が紐づいたデータセットを基に学習モデルを生成することで、IPに対して付加すべき情報を予測することが可能です。
弊社では、IPに付加する情報を予測するためにAmazon SageMakerを用いて学習及び予測を行う内部システムを構築しております。
Amazon SageMakerとは
Amazonによって提供されるマシンラーニング等を利用するプラットフォームになります。
データの前処理~学習~予測部分すべてを管理でき、また大量の学習処理も分散処理により大幅に時間短縮が見込めるサービスとなります。
AWS上のサービスのため、他のAWSサービスとの連携も容易です。
Amazon SageMaker(機械学習モデルを大規模に構築、トレーニング、デプロイ)| AWS
各AWSとの連携とSageMakerの構成について

弊社では複数のAWSサービスと連携し最新の学習モデルが生成されるような構成としています。主に次のような構成となっております。
下記構成により、任意に推論エンドポイントを呼び出し、IPをインプットすることで関連情報の予測値を返すことが可能です。
【SageMaker】
・前処理/学習/推論エンドポイントの作成
・SageMaker Pipelineへの登録
【S3】
・SageMakerとのやり取りするデータの保存
【Athena】
・S3データに保存したデータの抽出
【Amazon EventBridge】
・SageMaker Pipelineの自動実行
SageMakerを利用することによるメリット
前処理の分散化
大量に前処理を実施する場合、専用のコンテナを利用することで並列分散処理が可能です。
また、並列処理による時間短縮も可能です。
新たな処理を付け加える場合もSageMaker Pipelineにて処理を追加することも可能なため拡張性も有しています。
上記はSageMaker Processingを用いることで実現可能です。
Amazon SageMaker Processing — sagemaker 2.116.0 ドキュメント
学習処理の分散化
前処理と同様、分散処理が可能です。これにより最も時間的なコストが必要な学習処理時間を短くすることが可能です。
複数のモデルを生成した場合も、専用の機能機能によって各モデルの呼び出しが可能となります。
推論呼び出し機能の扱いやすさ
推論エンドポイントの呼び出しは様々な方法で呼び出すことができます。
また呼び出しのコマンドも容易で簡単に推論結果を得ることが可能です。
複数のモデルを同一のエンドポイントで呼び出すことも可能です。
Host multiple models in one container behind one endpoint – Amazon SageMaker
定期実行の容易さ
Amazon EventBridgeからSageMaker Pipelineを登録できることもあり、容易に定期実行することが可能です。
適宜モデル精度を確認していくことで、前処理~学習~エンドポイントデプロイの一連の作業を自動化することができます。
Amazon EventBridge Integration – Amazon SageMaker
まとめ
今回はAmazon SageMakerを用いて弊社の取り組みについて紹介いたしました。
最後にポイントを紹介いたします。
・SageMakerを用いることで大規模な学習システムを構築することが可能
・分散処理が容易で、サービス運用のボトルネックとなりやすい学習にかかる時間を短縮することが可能
・AWSサービスとの連携が容易であり、Amazon EventBridgeを用いて定期実行可能
・推論結果の受け取り方法も様々な方法が用意されており、また簡単に推論結果を取得可能