AWS SageMakerを用いたIP Geolocationシステム

IPアドレスに対して様々な判定を行うにあたり、株式会社Geolocation Technologyではマシンラーニング技術を用いて判定を実施する取り組みを始めています。
本ラーニング記事では株式会社Geolocation Technologyで活用しているAmazon SageMakerシステムの構築について解説します。

新たな技術の投入-マシンラーニング技術の活用

IPと関連する情報を更新するためにマシンラーニング技術を活用しています。IPと関連する情報が紐づいたデータセットを基に学習モデルを生成することで、IPに対して付加すべき情報を予測することが可能です。
株式会社Geolocation Technologyでは、IPに付加する情報を予測するためにAmazon SageMakerを用いて学習及び予測を行う内部システムを構築しております。

Amazon SageMakerとは

Amazonによって提供されるマシンラーニング等を利用するプラットフォームになります。
データの前処理~学習~予測部分すべてを管理でき、また大量の学習処理も分散処理により大幅に時間短縮が見込めるサービスとなります。
AWS上のサービスのため、他のAWSサービスとの連携も容易です。

Amazon SageMaker(機械学習モデルを大規模に構築、トレーニング、デプロイ)| AWS

各AWSとの連携とSageMakerの構成について

前処理 – S3、Athenaとの連携

Athenaを用いてS3のデータを取得することが可能です。
任意のバケットを指定してAthenaからSQLにてデータを取得する流れとなります。
Amazon Athena とは – Amazon Athena

前処理 – pandasを用いてAthenaを実行する

Athenaにて発行したSQLをpandasのDataFrameとして格納することが可能です。
本機能を用いてSQL結果を抽出できるため、データの抽出に対してメモリを節約可能です。

from pyathena import connect
import pandas as pd

conn = connect(s3_staging_dir="S3ディレクトリ",
              region_name="リージョン")

sql = "任意のSQL"
df = pd.read_sql(sql, conn)

前処理 – 処理用コンテナ

前処理に特殊な処理を取り入れる場合、専用のDockerコンテナを作成し実行すること可能です。
SageMakerにてあらかじめ用意されたコンテナ以外にもカスタマイズできることから汎用性が高い機能になります。
Amazon SageMaker におけるカスタムコンテナ実装パターン詳説 〜学習編〜 | Amazon Web Services ブログ

学習処理 – 複数モデルの学習を並列に実行可能

学習の場合も専用のコンテナの作成が可能となります。
複数の学習モデルを生成する場合、それぞれのモデル生成を並列的に学習可能となります。
amazon-sagemaker-examples/xgboost_multi_model_endpoint_home_value.ipynb at main · aws/amazon-sagemaker-examples · GitHub

学習処理 – Multi Model Endpoint

複数のモデルをエンドポイントから呼び出すために下記を利用することが可能です。
エンドポイント実行時にモデルを指定することにより任意のモデルを利用した推論が可能となります。
Host multiple models in one container behind one endpoint – Amazon SageMaker

定期実行 – パイプライン

SageMaker Pipelinesを用いることで前処理~学習~エンドポイントの更新までの処理を一つのパイプラインとして登録する機能があります。本機能を用いることで、一連処理の定期実行を容易に行うことが可能です。
SageMaker Pipelines Overview – Amazon SageMaker

定期実行 – 定期実行

EventsBridgeを用いることでSageMaker Pipelinesにて登録したパイプラインを実行することが可能です。
EventsBridge上で実行するタイミングを設定することができます。任意のタイミングで定期実行が可能なため、前処理~エンドポイントのデプロイまでの一連の処理を定期的に実行できます。
Amazon EventBridge Integration – Amazon SageMaker

まとめ

今回はAmazon SageMakerを用いて株式会社Geolocation Technologyの取り組みについて紹介いたしました。
最後にポイントを紹介いたします。

・SageMakerを用いることで大規模な学習システムを構築することが可能
・AWSの機能を組み合わせることで複雑なシステムを容易に構築することが可能
・SageMaker上に様々な機能があり、目的によって適切に機能を選択する必要がある

上記のような取り組みや仕事にご興味がありましたら、
下記採用ページより申し込みご検討ください。
採用情報 – 株式会社Geolocation Technology (ジオロケ) コーポレートサイト