Amazon Web Services ブログ

【寄稿】株式会社 GEOTRA 未来の人流シミュレーションへの取組

未来の人流シミュレーションサービスへの取組

序章

こんにちは。ソリューションアーキテクトの齋藤と松本です。株式会社 GEOTRA (以下、GEOTRA) では、“データの力で、社会を前に進める” を、ミッションとして掲げて、機械学習を活用し、各データから未来の人流シミュレーションサービスを提供しています。人流シミュレーションサービスは、モデル要件定義→データ選定→データクレンジング→モデル構築→モデル精度検証 まで内製で開発しています。本ブログでは、GEOTRA 執行役員 CTO プロダクト開発部長 森山 拓洋 氏 に寄稿いただき、GEOTRA がどのように、人流シミュレーションサービスを開発してきたのかを紹介します。

人流シミュレーションサービスについて

AWS : 人流シミュレーションサービスとはどのようなユースケースで活用するか教えてください。

GEOTRA 森山 : 幅広い人流シミュレーションに対応することができます。一つ例をあげると、橋梁・道路新設や車線規制等の通行止めを行った場合の交通流の変化について人流シミュレーションが可能です。 これにより、土木計画の精度を向上し、より精緻な計画に繋がります。

AWS : 人流シミュレーションサービスの開発について教えてください。

GEOTRA 森山 : 人流シミュレーションサービスには、GPS 位置情報から、ひとりひとりの移動がわかる「非集計トリップデータ」を作成する必要があります。「非集計トリップデータ」作成には自社で開発したアルゴリズムを用いています。数人の情報なら問題ないのですが、政令指定都市だと 100万人以上のデータを作成する必要があり、この時の計算量は膨大になりデータ作成に時間がかかります。ここの課題として位置情報は個人情報になり、個人を特定することにも繋がりえません。そうした事態を避けるために、合成データ作成技術を活用することで、プライバシー保護と個表データの作成を両立することが可能です。

AWS : どのようなお客様が、人流シミュレーションサービス を使用していますか?

GEOTRA 森山 : 大手デベロッパー様、ゼネコン様、建設会社様をはじめ多種多様な業界の方にご利用いただいています。

アーキテクチャ について

AWS : 人流シミュレーションサービス のアーキテクチャについても紹介していただけますか?

GEOTRA 森山 : アーキテクチャは下記の通りです。

GEOTRA 森山 : 人流シミュレーションサービスは、AWS のフルマネージド型のサービスを中心としたアーキテクチャで構成されています。弊社で C++ と Python で開発した独自アルゴリズムが実装されたコンテナイメージを、Amazon ECR に保管しています。それを用いて「非集計トリップデータ」を作成します。このときにETL処理が必要で以前は自前でワークフローを EC2 で実装していましたが、AWS Step Functions に移行しました。作成された「非集計トリップデータ」は、Amazon RDS に書き込まれます。顧客はReact で作成されたアプリケーションから人流データを確認することが出来ます。

Why AWS?

AWS : 人流シミュレーションサービス に、AWS が採用された理由を教えてください。

GEOTRA 森山 : 大きく 3つ理由があります。1つめは CPU アーキテクチャの選択肢です。本システムを開発時に X86 アーキテクチャと ARM アーキテクチャの両方を提供しているのは AWS だけでした。独自アルゴリズムを試行錯誤しながら開発する中で CPU アーキテクチャの選択肢があることは重要でした。2つめは市場でのエンジニアの数と情報量です。AWS コミュニティは活発で、最新情報や技術ブログなどが豊富で実践的な知見を得ることができました。3つめはサーバレスサービスです。秘匿性の高い GPS からの位置情報で「非集計トリップデータ」を作成する関係上、セキュリティは最重要です。AWS のフルマネージド型 サービスを採用することで OS やミドルウェアの運用保守を AWS にオフロードし開発に集中することが可能になりました。又、フルマネージド型 サービスの多くが採用している時間による従量課金でなく、実際の使用量に応じた従量課金であることもスタートアップで小さく始める事業で利用しやすかったです。

直面した課題と解決へのアプローチ

C++とPythonで開発した独自アルゴリズムで「非集計トリップデータ」を作成しています。元々はEC2上で「非集計トリップデータ」作成とワークフローを、独自に実装していたのですがジョブの依存関係など複雑な部分がありメンテナンスに課題を抱えていました。これに対応するために、AWS Batch と AWS Step Functions を使用することで、 バッチの終了をAWS Step Functionsで検知することが可能です。ジョブの依存関係をGUIで確認し、途中のジョブからの再実行の時間などの機能により効率化へと繋がりました。

今後の展望について

AWS : 今後の展望について教えてください

GEOTRA 森山 : インフラの運用を簡素化するサーバレスサービスの種類の多さ、スケーラビリティの柔軟さといったAWS の特性を活かして人流シミュレーションサービスに関する試行錯誤を繰り返していきます。その中でビジネス効果があるものは、ブラッシュアップし、お客様が求めるプロダクトの開発に繋げていきます。最終的には位置情報×AIの領域でNo.1になることを目指しています!


著者について



九州大学大学院理学府化学修了。大学では量子化学を学ぶ。人と人をつなげるITに興味を持ち、KDDIに2014年に新卒入社。入社後は法人向けの事業本部に所属し、DX関連のフロントSEとしてIoTを活用した法人向けソリューションや5Gネットワークと4K映像の画像認識を組み合わせたシステムの設計・構築に従事。 現在は技術責任者としてGEOTRAのプロダクト開発をリードし、自らも実装に従事する傍ら、データサイエンティストとしてGEOTRA Activity Dataを活用したデータ分析を推進。日夜お客様の新しいインサイトを模索している。