MoTLab -Mobility Technologies Engineering Blog-MoTLab -Mobility Technologies Engineering Blog-

 Mobility Technologies(MoT)では、クラウドサービス上にあるマネージドデータベースや、BigQueryに流しているサービスログの参照ツールとして、ダッシュボードツール「Redash」を活用しています。  以前の記事でご紹介した、Self Hosted版 Redashの構築時は、最新版であるRedashバージョンv10の安定版が出た直後だったため、ひとつ前の安定版であるバージョンv8での構築でした。  なので、今回、社内でのSelf Hosted版 Redashの運用も慣れてきたタイミングに、最新版であるv10へとアップデートを行いました。  この記事では、バージョンアップの際のポイントや、注意点をご紹介できればと思います。

タクシーアプリ「GO」の iOS アプリを開発している久利です。今回は Snapshot Test の導入検討した話をご紹介します。

浮動小数点数が絡む実装のエラーパターンと対策法を紹介します

タクシーアプリ「GO」の iOS アプリを開発している古屋です。今回は「GO」にあったら便利になりそうなWidgetのプロトタイプを作ってみたので、その紹介をしたいと思います。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。今回、dbt と Dataform を比較して Dataform を利用することにしましたので、導入経緯および Dataform の初期構築を紹介します。※ 本記事の対象読者はELTツールを利用している方を対象にしています

Mobility Technologies(以下MoT)取締役の惠良です。 MoTでは、2021年度下期よりエンジニアのスキルアップを促進するための取り組みとして、『Engineer Challenge Week』という施策を開始しました。これは、プロダクトの開発・運営に向き合うエンジニアが、日々の業務では得にくい新たな知識や技術を獲得するための機会創出を目的として作った施策です。この記事では、この施策の紹介と、何故このような施策を行うことを決めたのか、その想いをお伝えしたいと思います。

SREグループの古越です。MoTのサービスは多くがAWSのAurora MySQLまたはPostgreSQLを利用しリーダーエンドポイントを利用し参照クエリを発行しています。一部のサービスはGoogle Cloud上で構成されており、Cloud SQLの参照クエリの負荷分散が課題としてありました。EKSからCloud SQLに対する負荷分散アプローチを検討する機会があり検証したところ、HAProxyサイドカーとして横付けする方法が有用と分かりましたので本記事で紹介いたします。

Mobility Technologies(MoT)では、MoTの前身の時代から、Googleが提供しているクラウドインフラサービス群であるGoogle Cloud Platform(GCP)を利用していました。MoTが新しくスタートするにあたり、以前まで、各々の会社のGoogle Cloudの組織内で作成し運用していたGCPプロジェクトを、MoT名義のGoogle Cloudの組織内で管理するため、必要なGCPプロジェクトの精査を行ったのち、組織間の移行作業を実施しました。  今回は、この時に実施した組織間でGCPプロジェクトを移行した事例を紹介できればと思います。

MoTではマイクロサービスアーキテクチャを採用しており、標準技術スタックにGitHub Actionsを採用しています。本記事では数多くのリポジトリのCI/CDパイプラインを管理していくアプローチを紹介します。

今年1月からFlutterのWebアプリケーションを開発している孫と申します。一つのFlutterアプリで様々なプラットフォームに提供するためには適応性(Adaptive)と反応性(Responsive)を考慮する必要があります。適応性(Adaptive)と反応性(Responsive)は何なのか、そして何が違うかを解説いたします。※ Youtubeの「アダプティブとレスポンシブの比較 | Decoding Flutter」の内容を元に編集しました。

今年1月からFlutterのWebアプリケーションを開発している孫と申します。Flutter 3.0から公開されたThemeExtensionはあなたのコードをもっと綺麗に整えるのができます。なぜThemeExtensionシステムを使うべきなのか、どのように使ったらいいのかを確認してみましょう!※ Youtubeの「ThemeExtension | Decoding Flutter | Decoding Flutter」の内容を元に編集しました。

タクシーアプリ「GO」のAndroidアプリを開発している山本です。本記事ではAndroid アプリの UI 開発ツールキットである Jetpack Compose ライブラリをプロダクトの機能開発を進めながら導入している事例をご紹介します。

AI技術開発部の木村です。Mobility Technologies(以下MoT)では、画像認識モデル(主にニューラルネットワーク)の開発に加え、車載デバイス上でモデルをリアルタイムに動作させるための軽量化・高速化にも取り組んでいます。軽量化・高速化には、こちらの資料で紹介しているように枝刈りや蒸留など色々なアプローチがありますが、本記事では量子化による高速化を取り上げます。量子化はモデルの軽量化・高速化に非常に効果的ですが、物体検出モデルなど複雑なモデルでは(この記事で実験するように)量子化による精度低下が発生しやすい傾向にあります。本記事では、YOLOv3とYOLOv5の量子化を具体例として、物体検出モデルの精度低下を抑えつつ量子化するためのポイントを解説します。

タクシーアプリ「GO」の iOS アプリを開発している久利です。今回は Xcode Previews をより使いやすくするための3つの工夫についてご紹介します。

GO BUSINESSのフロントエンド側を担当している林です。 この記事ではReact18で正式に実装されるSuspenseという機能について紹介します。

タクシーアプリ「GO」の iOS アプリを開発している今入です。本記事では RIBs アーキテクチャにおける「Workflow」の概念とその活用方法について具体的な実装例を交えて紹介します。

ソフトウェア開発部バックオフィス基盤グループの廖です。 本番運用中にRDBのマイグレーションが行われた際に不意に起きたデッドロックの失敗事例について紹介し、ここで得られた教訓を活かせられたらと思います。

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第3話になっていて、ロードバランサーの構成を大幅に変更した話になります。是非第1話から読んでいただいたほうが背景と内容がわかりやすくなるかと思います!

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第5話になっていて、Helmのメジャーバージョンをバージョン2からバージョン3にアップデートした話になります。是非第1話から読んでいただいたほうが背景と内容ががわかりやすくなるかと思います!

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第2話になっていて、数年をかけてKubernetesのバージョンを1.10から1.21まで11回アップデートした話になります。是非第1話から読んでいただいたほうが背景と内容がわかりやすくなるかと思います!

こんにちは、技術戦略部 SREグループのカンタンです。Mobility Technologies(MoT)では様々なサービスを支えるためにKubernetesを幅広く利用しています。マルチクラウド構成でIstioサービスメッシュやHelmパッケージマネージャなどを使ってAmazon EKSとGKEクラスターを運用しています。本記事ではKubernetes、Istio、Helmのとても古いバージョンで動いていたクラスターの大幅アップデートストーリー、乗り越えた壁、ダウンタイムを発生させないためのコツなどを紹介させていただきます。内容がそれなりにあるため複数の記事に分けて説明させていただきます。

こんにちは、技術戦略部 SREグループのカンタンです。本記事はKubernetesアップデートストーリーシリーズの第4話になっていて、Istioをバージョン1.2から1.13までに数時間でアップデートした話になります。是非第1話から読んでいただいたほうが背景と内容ががわかりやすくなるかと思います!

こんちには、SREグループの水戸です。今回はMoTのSREグループが社内に提供している標準技術スタックを紹介したいと思います。

こんにちは、AI技術開発部AI研究開発第二グループの劉です。私は、道路情報の自動差分抽出プロジェクトにて、ドラレコ映像から標識などの物体を見つける機能の開発を担当しており、その中で画像の分類が必要になります。現在、最先端の画像分類モデルの1つとしてConvNeXtがありますが、アーキテクチャがImageNetの224x224という画像サイズに合わせて設計されおり、例えば32x32といったより小さいサイズの画像を扱う私たちのタスクでは性能を出しきれないという課題がありました。本記事では、小さい画像に対して良好な性能が得られるように、ConvNeXtのアーキテクチャを変更していく流れとその結果をご紹介したいと思います。

タクシーアプリ「GO」の iOS アプリを開発している今入です。本記事では GitHub Actions の特徴を紹介し、それを iOS アプリ開発にどう活かしているのかについて紹介します。

AI技術開発部分析グループの島田です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 今回は因果推論における変数選択の役割について紹介します。

2022年3月17日にDeNA TechCon 2022「Unlimited Expansion」にて、「あと何分?タクシーアプリ『GO』到着予測AIの社会実装まで」という内容で登壇を行いました。本記事では登壇の内容を簡単に紹介します。

こんにちは、SREグループの水戸 (@y_310)です。2月に初めての子供が生まれ、3/1-5/8まで約2ヶ月の育児休暇を取得しました。まだまだ男性育休取得率が低いと言われている世の中なので、育休を取得するというのは具体的にどういうことなのか少しでも解像度が上がることを期待して自分の体験を共有したいと思います。

スマートドライビング事業部 システム開発部 AI基盤グループ の廣安です。ドライブレコーダー上で動作する交通事故削減支援システム『DRIVE CHART』のAI推論処理を行うEdge AIライブラリの開発やAIテスト環境の改善等を担当しています。この記事ではサーバサイドのCPU上でAI推論処理を高速に動作させるための方法と、運用中サービスに実際に適用して処理時間を1/3にまで改善できたという話をします。

タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。この記事ではiOS 13のサポートを切るにあたって対応した内容を紹介したいと思います。

タクシーアプリ「GO」の iOS アプリを開発している久利です。キャンプに行きたいけど花粉症が怖い今日この頃。今回はアーキテクチャ変更の過程で必要になった、アーキテクチャの部分適用についてご紹介します。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。BigQuery Remote Functions (Preview) を利用することのメリットや、導入にあたり工夫した点を紹介します。※ 本記事の対象読者は BigQuery を利用してパイプラインを作成している方を対象にしています

2022年4月6日に「MoT TechTalk #11 深掘りコンピュータビジョン!研究開発から社会実装まで」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

AI技術開発部分析グループ所属の秋月です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 今回はBIツール「Looker」を利用した地図上でのデータ可視化を方法を紹介します。

MoT、AI技術開発部の立松です。先日、統計検定準一級(CBT)を受験し合格しました。非常に学びの多い資格だったので、勉強の流れや受験してよかった点などをご紹介したいと思います。

タクシーアプリ「GO」、法人向けサービス「GO BUSINESS」、タクシーデリバリーアプリ「GO Dine」の分析基盤を開発運用している伊田です。GitHub Actions から OIDC トークンを利用し、サービスアカウントキーなしで GCP に認証した上で Terraform の CI/CD を構築する方法を紹介します。※ 対象読者は分析基盤を管理しているデータエンジニア、または Terraform を管理しているエンジニアです

タクシーアプリ「GO」の iOS アプリを開発している今入です。Unit Test のひな形を自動生成することで Unit Test を書き始めるまでの準備時間を短縮した事例を紹介します。

バックオフィスチームのGo言語の実装事例を紹介します。

ソフトウェア開発部バックオフィス基盤グループの廖です。普段開発されたサービスの中、処理速度が遅くなったり、メモリ/CPU消費率が高くなったりすることを経験したことがありますでしょうか?この記事では今までサーバーサイドの開発でパフォーマンス改善の取り組みについてご紹介したいと思います。

こんにちは、Mobility Technologiesのデータエンジニアの渡部徹太郎です。データサイエンティストの皆さん、以下のような状況になったことないでしょうか。こういったときは以下の資料を見てください。きっと解決します!スライドへのリンクこの資料は、先日社内の勉強会で説明した資料になります。

2022年2月17日(木)、18日(金)に開催される「Developers Summit 2022」にMobility Technologies(以下、MoT)のエンジニアが登壇し「24時間走り続けるタクシー車載器の安定稼働を目指したログ基盤の開発」について発表します。

2022年2月1日に「MoT TechTalk #10 タクシーアプリGOでAIとGCPを駆使しリアルタイムにタクシー需要を予測!アーキテクチャ全貌公開」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

いよいよ今週末となりましたが、2022年1月22日(土)から1月30日(日)のおよそ一週間に渡って開催される技術書オンリーイベント「技術書典12」にシルバースポンサーとして協賛します。

あけましておめでとうございます(といってももう1月半ばですが)、技術広報チームの山本です。皆さま、年末年始はどのように過ごされましたでしょうか?12月はテック業界恒例のアドベントカレンダーがあるので、ブログの未読消化に忙しかった方もいらっしゃるのではないでしょうか。弊社Mobility Technologies(以下、MoT)でもアドベントカレンダーにチャレンジし、無事完走できました。本記事ではアドベントカレンダーとして投稿された記事をふりかえり、一言紹介をしてみたいと思います。 もしまだご覧になっていない記事があったらぜひこの機会に読んでみてください。

これはMobility Technologies Advent Calendar 2021の25日目の記事です。こんにちは、『GO』のユーザーアプリ開発のエンジニアマネージャーの日浅です。『GO』のプロダクト開発では、Large Scale Scrum(以下 LeSS)を採用しています。本ブログでは、どのような課題に対して、LeSSを採用するに至ったかを書き留めました。また、より詳細な内容は、Regional Scrum Gathering Tokyo 2022 『どうする?GOする!LeSS導入する!?』で現場感も含めてお伝えできればと考えているので、是非ご参加の方はご視聴ください。

2021年12月13日に「MoT TechTalk #9 タクシーアプリのビジネスデータ分析」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

これはMobility Technologies (MoT) アドベントカレンダー20日目の記事です。2021/10/23 に開催された企業・学校対抗のアルゴリズムコンテストPG BATTLE 2021 にMoTから参加したので、今回出題された問題や結果、感想についてまとめます。

この記事はMobility Technologies Advent Calendar 2021の18日目です。こんにちは、AI技術開発AI研究開発第二グループの劉です。私はドラレコ映像から標識などの物体を見つける物体検出技術を開発しているのですが、その精度を改善していくためにはまず検出エラーを細かく分析することが重要です。本記事では、物体検出のエラー分析に関する論文である”TIDE: A General Toolbox for Identifying Object Detection Errors”を解説すると共に、その著者らが公開しているツールを実際に使ってみた結果をご紹介をしたいと思います。

この記事は Mobility Technologies Advent Calendar 2021 の17日目です。タクシーアプリ「GO」の iOS アプリを開発している今入です。日々複雑化するアプリをどのように設計して開発しているかについて紹介します。

DRIVE CHARTでは、機械学習システムのデータパイプラインとしてAirflowを利用しています。 今回は、AWSで提供されているマネージドサービス「Amazon Managed Workflows for Apache Airflow(MWAA)」に移行したので、ちょっとしたtipsや導入・運用時のハマリポイントをまとめようと思います。

次世代事業本部 データビジネス部 KUUグループの田中です。今回は、PosgreSQLのFDWを活用して、外部データベースに存在するテーブルを透過的に扱えるようにし、同一データベース内でJOINやサブクエリ利用をできるようにした話です。

この記事はMobility Technologies Advent Calendar 2021の14日目です。タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。この記事では GO でなぜバグバッシュを開発のプロセスに組み込んだか、やってどうだったかについて紹介します。

この記事は Mobility Technologies Advent Calendar 2021 の12日目です。  MoTでサービス展開しているタクシーアプリ『GO』では、地理情報を元にした様々な処理を行っているのですが、その中でも、タクシー車輌やお客様が特定範囲内に位置しているかどうかの判定処理は様々な処理の中で実行されるものとなります。 この記事では、この高頻度で実行される処理の高速化をどのように実現しているのかについてご紹介します。

この記事はMobility Technologies Advent Calendar 2021の7日目です。こんにちは!タクシーアプリ「GO」の iOS アプリを開発しているパクです。今回は「GO」アプリを支えるGoogle Mapsの活用について紹介したいと思います。

 この記事はMobility Technologies Advent Calendar 2021の9日目です。 MoTでは、社内で利用してる数々のサービスやリソースに安全にアクセスできるようにするため、AWSのマネージドなVPNサービスである、AWS Client VPN環境を準備し、社内に展開しています。 この記事では、実際に利用してるこのAWS Client VPN環境の設定・構築内容をご紹介できればと思います。

DRIVE CHARTのAIシステムの開発・運用では、EKS上に構築したKubeflow Pipelinesをワークフロー環境として利用しています。本投稿では、このプラットフォームの活用や構成、構築やスケールの過程で遭遇した問題とその解決についてご紹介します。

この記事はMobility Technologies Advent Calendar 2021の1日目です。タクシーアプリ『GO』のアプリ開発のマネージャーの日浅です。 2020年の会社統合後、iOSチームのマネージャをしていましたが、その当時、どのような考えでチーム戦略を考えていったのかを振り返っていきたいと思います。

この記事ではドライバー同定という運転に関する情報からドライバーを当てるという問題について紹介します。まずこの分野の背景知識として同定における3つの階層というものを説明し、最後に最近の事例をいくつか紹介していきたいと思います。

BigQuery でさまざまな情報が JSON 形式で格納されているテーブルはありませんか? MoT でも JSON 形式でログ情報を格納しているテーブルが存在します。そのようなテーブルの難点と、難点を克服するためのエンジニアリングについて紹介します。

こんにちは、SREグループの水戸 (@y_310) です。前回の記事でも触れたとおりMoTにはたくさんのサービスが稼働しており、それに応じて様々なインフラリソースも作成されています。そのためリソースの見通しを良くし、インフラ構築時に迷わず命名できるようにするために色々な命名規則を定めています。命名規則はその組織が置かれている状況や直面している課題によって何を優先するかも異なり絶対的に正しい方法は無いと考えているため、この記事を読んだ方がご自分の状況と照らし合わせて取捨選択の判断がしやすいようにそれぞれの命名規則を決めた理由と合わせて紹介していきます。

 MoTでは、クラウドサービス上にあるマネージドデータベースや、BigQueryに流しているサービスログの参照ツールとして、ダッシュボードツール「Redash」を活用しています。 以前は、Web版のRedashを利用していましたが、2021年11月末にWeb版のサービス提供が終了することが告知されたため、弊社が管理しているAmazon EKS上インフラ基盤Kenos(ケノス)上に、新たにSelf Hosted版 Redashを構築し運用する事となりました。急遽の対応だったにも関わらず、短期間で準備し検証、構築までできたうえ、現状大きなトラブルなく安定稼働しています。 この記事では、現在MoTで利用しているSelf Hosted版Redashの構築内容についてご紹介いたします。

こんにちは、技術戦略部 SREグループのカンタンです。MoTが提供しているサービスを成長させるために様々なマイクロサービスを次から次と開発しています。マイクロサービスの増加に伴って全体のシステムが複雑になり、前回の記事で話た共通ログフォーマットも含めて様々な機能の共通化がとても大事になってきています。API開発のハードルを下げるため、サービス間の通信をgRPCに統一しようとしていて、本記事ではMoTで採用しているProtocol Buffers (PB)の一元管理方法を紹介させていただきます。

今回は弊社タクシーデリバリーアプリ「GO Dine」において取り組んでいるソフトウェアテストの自動化についてブログを書かせて頂きます。本アプリでは自動化ツール「Autify for  Mobile」を用いて自動化に取り組んでおりますので導入から現在の状況までをまとめていきます!

AI技術開発部アルゴリズムグループの齋藤です。今回は前回紹介した到着予想時間(Estimated Time of Arrival, ETA)について、タクシーアプリ「GO」を運用する際に出てくる特有の問題を考慮して開発した内製ETA算出エンジンの概要と特徴について紹介します。

AI技術開発部アルゴリズムグループマネージャーの織田です。MoTでは既存のタクシー交通システムのDXによる効率化を推進していますが、「果たしてどこまで効率化が可能なのか」という究極的な問いについて考えることは有益であると考えています。未来が完全に予測できるとして、最適な運行管理を行うことで無駄な走行(コスト、CO2排出量)をどの程度まで削減できるのでしょうか?本記事ではMIT Senseable City Laboのグループが提案したvehicle-shareability networkによる最小車両数問題の解法について紹介し、実際に東京のタクシートリップデータで行った評価結果について議論したいと思います。

プッシュ通知関連のデータを制御するテーブルは1億レコードにも及ぶのですが、この巨大なテーブルによってDBのパフォーマンスが悪化する問題が発生していました。それらをどのように改善したのかについて解説します。

こんにちは、SREグループの水戸 (@y_310) です。MoTでは多種多様なマイクロサービスが稼働しています。マイクロサービスは一般的に、あるプロダクトを何らかの形で分割した内の一部の役割を担うものです。その分割されたマイクロサービスにおいてどこまでをそのサービスの責務とし、どの役割を含めてどの役割を含めないか、という他のサービスとの適切な境界を見つけることは非常に重要です。SREグループでは多くのマイクロサービスのアーキテクチャ設計に関わりながらマイクロサービスの分割点についての知見を得てきました。この記事では実例をベースにマイクロサービスの分割点の見つけ方について書きたいと思います。

2021年11月8日に「MoT TechTalk #8 IoT/クラウドでRust言語をフル活用!AIドラレコの裏側を紹介」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

タクシーアプリ「GO」の iOS アプリを開発をしている古屋です。この記事では GO でデバッグメニューにどのようなものを実装して開発の効率を上げているか紹介します。

タクシーアプリ「GO」の iOS アプリを開発している久利です。最近 SwiftUI を使った機能がリリースされたので、どのように導入していったかについてご紹介します。

AI技術開発部アルゴリズムグループの谷本です。今回はマップマッチ結果を複数出すロジックについて紹介します。GPSだけだと走った道路を特定し切らないときに「道路の走行軌跡の候補を複数出して」後で絞る、といった使い方をしたいときに用いることができます。

技術戦略部 SREグループのカンタンです。弊社が提供しているタクシーアプリ「GO」、タクシーデリバリーアプリ「GO Dine」、法人向けサービス「GO BUSINESS」の実現に当たって多数のマイクロサービスを構築することになりました。マイクロサービスの増加に伴って、ログの出力フォーマット、収集方法、閲覧方法の共通化がより大事になってきました。本記事では弊社で考えたログフォーマットを紹介させていただきます。

『JapanTaxi』アプリと『MOV』の統合による後継アプリ『GO』の誕生に伴い、決済集計サービスをAWS Step Functionsを利用して開発しました。

2021年10月14日に「MoT TechTalk #7 技術書典頒布のタクシーアプリ『GO』アーキテクチャ図録を一挙解説」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

この記事では以前Bokehを使ったインタラクティブな可視化ツールの作成したときの経験に基づいて、複数の実現方法を比較・検証します。

AI技術開発部分析グループ所属の秋月です。 分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。 本記事では、ABテストを実施した際の効果検証に利用する Baysian Testing という手法を紹介します

リリースは終わりではなく、終わりなきサービス運営のはじまりです。サービスの運営には、サービスの現状を映し出すダッシュボードが重要となります。私たちがデータポータル (DataStudio) を用いてダッシュボードを作成し、失敗・改善した事例をご紹介します。

AI技術開発部アルゴリズムグループマネージャーの織田です。タクシーアプリ「GO」のコアとなるビジネスロジックの一つに、「利用客」と要件にあった適切な乗務員・車両(本記事では「供給者」と呼ぶ)をマッチングするアルゴリズムがあります。では、どのようなマッチングが適切なのでしょうか?近年、マーケットデザインの研究・社会実装が注目されており、モビリティプラットフォームにおいてもマーケットデザインの考え方が活用できる場面が多くあるのではないかと考えています。本記事ではタクシー配車におけるマッチング・マーケットデザインについて議論してみたいと思います。

システム開発部 AI基盤グループの廣安です。交通事故削減支援を行う次世代AIドラレコサービス『DRIVE CHART』のAI推論処理を行うEdge AIライブラリの開発やメンテナンスを主業務としています。今回はそのライブラリ開発の品質保証のためにどのようにCI/CDを利用しているかという事例について紹介します。

みなさん、こんにちは。タクシーデリバリーアプリ「GO Dine」のバックエンドエンジニアをしている平井と申します。MoT TechTalk #6の中でも触れたのですが、弊社では、Amazon EKS上にKenos(ケノス)と呼んでいるK8sがベースとなっているインフラ基盤をSREチームが構築し、プロダクト開発に活用しています。

こんにちは、MoTのソフトウェア開発部のパクです。私はタクシーアプリ「GO」のiOSユーザーアプリを開発しています。今回は日々増えているサービス要件に従って、無限に肥大化し続けているアプリをどうやって開発破綻しないようにするかについて話したいと思います。

AI技術開発部アルゴリズムグループの齋藤です。今回は弊社が提供するタクシーアプリ「GO」における非常に大事な到着予想時間(Estimated Time of Arrival, ETA)とは何か、精度向上のためにどのような工夫をしているのかについて紹介させていただきます。

プロダクトマネジメント本部クオリティマネジメント部の澤田です。クオリティマネジメント部では、『業務効率化・最適化』に対する活動を日々進めています。 この活動の一つとして、弊社プロダクトの一つである「DRIVE CHART」のQCチームにおいて、RPAツールを活用した「テスト業務の自動化」を実現しましたので、今回は、テスト業務における自動化部分の選定から実現方法までの流れをご紹介します。

2021年8月25日に「MoT TechTalk #6 タクシーデリバリーアプリ「GO Dine」を支えるバックエンド」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

MoTのAI技術開発部の立松と島越です。先日行われたkaggleの"Google Smartphone Decimeter Challenge"コンペティションにて、私たちが参加したチームが6位で金メダルを獲得しました。本記事では、我々の解法や上位陣の解法を含めたコンペの概要についてスライドで紹介させていただきます。

AI技術開発部アルゴリズムグループの谷本です。「マップマッチ・経路検索などのアルゴリズムを含む内製地図ライブラリ」のメンテナンスを主業務としています。今回はpythonによって実装された内製地図ライブラリ、特に経路探索部分をCythonを使って高速化した事例を紹介します。

AI技術開発部分析グループマネージャーの島田です。分析グループは、タクシーアプリ「GO」におけるデータドリブンなビジネス意思決定を行うために、様々なユーザ分析、乗務員分析を行っています。本記事では、分析グループ内で開催した統計的因果推論の勉強会について紹介したいと思います。

MoTでは、さまざまな施策の効果をデータ分析によって計測し、次の施策に繋げています。本記事ではその例の一つとして、統計的因果推論を用いたマーケティング施策の効果推定事例を紹介します。

 AI技術開発部アルゴリズムグループの島越です。前回は、アルゴリズムグループの老木と島越がGoogle Cloud Day: Digital' 21 で登壇した内容について、BigQueryの活用例についてまで紹介しました。こちらの後半パートでは、BigQuery ML の活用例について紹介していきます。当日の動画はGoogle Cloud Dayのサイトに、スライドについてはこちらに公開されています。

バックオフィスグループのアベです。普段はタクシーアプリ「GO」の事業者向けサービスのサーバーサイドを開発しています。今回はマーケティングチームの業務の自動化に協力しつつ、成果物の一部をOSSとして公開したお話を紹介します。

 AI技術開発部アルゴリズムグループの島越です。今回は、アルゴリズムグループの老木と島越がGoogle Cloud Day: Digital' 21のブレイクアウトセッションで「AI を用いたタクシー配車における BigQuery 徹底活用術」というタイトルで登壇しましたので、その内容について紹介させていただきます。なお、当日の動画はGoogle Cloud Dayのサイトで視聴することができます。また、スライドについてもこちらに公開されています。ブログについては、老木が発表した部分を前半パート、島越が発表した部分を後半パートとして紹介させていただきます。この記事は前半パートの記事となっています。

前回はNeovimにLuaランタイムが組込みされた事によりNeovimのプラグインのエコシステムに大きな変化が起こったことを書きました。 後編ではNeovim v0.5から追加された大きな新機能であるTree-sitterとLSPクライアントについて解説してきます。この2つの機能はどちらもLuaで実装されており、Neovim v0.5以降のLuaランタイムが組込みされたNeovimでのみ動作します。 もし前編をご覧になっていなければ、前編のあとに後編をご覧になったほうが、より理解が深まると思いますので、時間に余裕があればぜひご一読ください。Neovim v0.5リリース記念 v0.5の新機能を紹介します【前編】

はじめまして、AI技術開発部 分析グループ の浅見です。Mobility Technologies(MoT)では、BigQuery上でログの保存やデータマート運用を行い、集計や分析をした上で、LookerやGoogleスプレッドシートで効果検証などをレポート化しています。BigQueryはとても強力なツールなのですが、統計処理を入れようとすると、PythonやRなどの別モジュールを構築する必要があり、メンテナンスコストが発生してしまいます。そんな時のため、BigQuery内で統計処理を完結させるちょっとしたTipsを紹介します。

みなさん初めまして、バックオフィスグループのサーバーサイドエンジニア@lighttiger2505です。普段は弊社が提供するタクシーアプリ「GO」を利用するタクシー事業者がタクシー配車状況を確認したり、車両の情報を管理するための事業者向けの管理画面などを作っています。本日はMoTの話とは少し離れて、私も使っているテキストエディタ。Neovimの話をします。なぜかというと、つい先月Neovimの新バージョンv0.5がリリースされたからです。イチNeovimユーザーとして、ブログにこのネタを採用しないわけにはいけません。

August 02, 2021

AI技術開発部アルゴリズムグループマネージャーの織田です。アルゴリズムグループは、配車アプリ「GO」におけるデータ分析や、機械学習システムの開発・運用を行なっているチームです。本記事では、私たちがチームとして実践している「GO」のデータサイエンスの魅力を紹介したいと思います。

2021年7月7日に「MoT TechTalk #5 Flutterで作るタクシーデリバリーアプリ「GO Dine」」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します

こんにちは!プロダクトマネジメント部クオリティマネジメントグループの芝山です。今回、2021年5月28日に開催された JaSST'21 Tohoku に参加してきました。私はMoTに2021年5月に入社したばかりで、今まで約7年QAエンジニアをやっていますが、JaSSTへ参加したのは今回が初めてです。初めて参加してみた視点をみなさまに共有できればと思います。

2021年5月27日に「MoT TechTalk #4 Androidエンジニア必見!タクシーアプリGOのUXを高める工夫」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

 初めまして。MoTのAI技術開発部アルゴリズム第一グループの島越 [1]です。本ブログでは、私が最近ソロで10位を獲得したKaggleのコンペティション「Shopee - Price Match Guarantee」で行った取り組みについてと上位の手法について紹介したいと思います。なお、本記事で使用している画像は特に断りがない限り、上記コンペの画像を使用しております。

2021年4月19日から23日まで開催されたThe Web Conference 2021(WWW)にAI技術開発部 アルゴリズムグループの織田が参加しましたので、モビリティサービス観点での学会概要を報告したいと思います。また、効果検証、推薦システムに関するLikedIn / Googleの論文を紹介します。

こんにちは、AI技術開発部AI研究開発第二グループの宮澤(@kzykmyzw)です。私は、地図のメンテナンスのためにドラレコ映像から道路の変化情報を自動抽出するプロジェクトに携わっています(プレスリリース)。このプロジェクトでは、ドラレコ映像に写った道路標識や信号機などを検出してそれらの位置を特定し、地図と比較することで変化を見つけます。この記事では、このプロジェクトのコアとなるコンピュータビジョン技術について、映像から検出した物体を地図と比べるためにどんな処理を行なっているかをご紹介します。

次世代事業本部 データビジネス部 KUUグループ の田中です。今回はシステムのログを分析をしやすくするためにAWSのCloudWatch LogsのログをGCPのBigQueryに転送する仕組みを構築し、BigQuery上で分析できるようにした話です。

2021年4月8日に「MoT TechTalk #3 タクシー配車ならではの技術が盛りだくさん!iOSアプリの開発現場」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

こんにちは、バックエンドグループの冨永と申します。 弊社のタクシーアプリGO にはGAE Standard 1st Go1.11を使用しているAPIサーバーがあり、このサーバーの2nd Go1.12以上への移行を計画しています。他サイトでもGAE 2ndへの移行記事が増えてきましたが、実際に取り組んでみると新たに得られた知見がありましたので共有したいと思います。

AI技術開発部アルゴリズムグループの織田です。 この度、自身が取り組んでいた研究「Equilibrium Inverse Reinforcement Learning for Ride-hailing Vehicle Network」がWeb・データマイニングに関する国際会議「The Web Conference 2021」にて論文採択されましたので、内容を紹介したいと思います。

こんにちは、AI技術開発部AI研究開発第二グループの佐々木です。 本記事では、物体検出アルゴリズムを効率的に開発できるフレームワークIceVisionを紹介します。airctic/icevision

2021年3月9日に「MoT Online Tech Talk Vol.2 車載Androidシステムの技術と開発チーム」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

こんにちは。 車載システム第二グループの空中です。Twitter等では @soranakk で活動しているのでそちらの方がわかるかもしれません。 普段はタクシー車両に搭載された専用端末上で動作するAndroidアプリ開発をしています。さて、唐突ですがJCenterが閉鎖されます。https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/概要についてはこちらの記事が参考になると思います。 https://bps-tomoya.hateblo.jp/entry/2021/02/04/184317 Androidアプリ開発ではほぼほぼ100%ぐらいのアプリがJCenterを参照しているのでJCenterからMavenCentralに移行して大丈夫かどうかを調べる必要があります。 これの影響調査と暫定対応をやったので備忘録として残しておきます。

2021年2月5日に「MoT Online Tech Talk Vol.1 No.1*タクシーアプリを支えるバックエンド」(connpass)を開催しました。本記事では当日の内容を簡単に紹介します。

2020/12/08に開催されたprimeNumber社+Looker社の共同ウェビナー [リンク ]で、PDM部の千種とAI部の鳩が登壇しました。本記事では共同ウェビナーで登壇したスライドを紹介させて頂ければと思います。

こんにちは。AI技術開発部の加藤(@_tkato_)です。前回に引き続きプログラミング言語Rustの社内イベントを開催しました。本記事では、イベントの紹介と一部の発表資料を公開します。

2020/11/3 ~ 2020/11/06 にかけて開催された ACM SIGSPATIAL 2020 (28th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems) にAI技術開発部 アルゴリズムグループの 高橋 と 齋藤 が参加しましたので論文紹介とあわせて報告します。なお、本記事は高橋、齋藤の共著となります。

 2020 年 10 月に終了した Kaggle のコンペ 「RSNA STR Pulmonary Embolism Detection」で MoT のメンバー 佐藤*、島越*で構成されるチームで、784 チーム中9位となり、金メダルを獲得しました! 本記事では、このコンペの概要と我々のソリューションを紹介したいと思います。なお、本記事は佐藤、島越の共著となります。また使用したコードはgithub 上でも公開しているのでぜひご覧ください。

 2020/08/23~2020/08/27 にかけて開催されたKDD2020(The 26th ACM SIGKDD Conference on Knowledge Discovery and Data Mining)に佐藤と島越が参加しました。KDD は機械学習やデータマイニングに関するトップカンファレンスの1つであり、Mobility に関する手法も数多く提案されています。今回KDD2020 はCOVID-19 の影響もありオンラインでの開催となりました。 本記事ではKDD2020 で佐藤・島越がそれぞれ興味を持った論文を紹介させていただきます。記事内では簡単に概要を説明させていただき、より詳細な内容は Mobility Technologies と DeNA が合同で行っている技術共有会のスライドをご参照頂ければと思います。

こんにちは。AI技術開発部の加藤(@_tkato_)です。前回に引き続きプログラミング言語Rustの社内イベントを開催しました。本記事では、イベントの紹介と一部の発表資料を公開します。

はじめまして、AI技術開発部の加藤(@nk35jk)です。本記事では、コンピュータビジョン分野において近年注目されつつある研究トピックである、ラベルの与えられていない動画データを用いて画素レベルでの物体追跡(dense tracking)を学習する研究の動向を紹介します。

Kaggleコンペティション「OpenVaccine: COVID-19 mRNA Vaccine Degradation Prediction」において、MoTのデータサイエンティスト 藤川和樹* を含む2名のチームが1,636チーム中2位に入賞しました。

こんにちは。AI技術開発部の加藤(@_tkato_)です。先日プログラミング言語Rustの社内イベントを開催しました。本記事では、イベントの紹介と一部の発表資料を公開します。

こんにちは。AI技術開発部 MLエンジニアリング第1グループの築山です。以前、社内でOptunaとKubeflow Pipelines(以下KFP)を用いて並列ハイパーパラメータチューニングを行い、とあるプロダクト(後述する『お客様探索ナビ』の経路推薦システム)のパラメータに適用する機会がありました。

はじめまして、バックオフィスシステム第二グループの辻田です。参画してからもう少しで3ヶ月目を迎えようとしています。主に運用改善系のお仕事をさせていただいていて、インフラとサーバーサイドを触ることが多いです。今回は、わたしの大好きなNuxt.jsにいま勉強中のクリーンアーキテクチャを当てはめてサンプルを実装してみたので紹介したいと思います。業務で実際に試した内容ではないのですが、今後機会があれば挑戦したいと思っていますし、こんなことしてるメンバーもいるんだなあくらいの温度感で読んでいただければと思います。

はじめまして、AI技術開発部の齋藤です。現在MoTではタクシー配車アプリの「GO」と「JapanTaxi」アプリを運営していますが、今回はDataRobot Japan主催の第1回 MLOps 勉強会 Tokyoにて、「JapanTaxi」アプリに導入している機械学習モデルについてお話させていただいたのでそちらについて紹介します。

はじめまして、AI技術開発部分析グループの伊田です。MoTではタクシー配車アプリのKPIなどを筆頭にBIツール「Looker」でレポートを作成し、Slackに日々配信しています。この時、稀にSlack配信が失敗する場合があります。Lookerにはリトライ機構がないため配信が失敗した場合は障害対応として手動でレポートを再配信する運用が発生します。本記事ではLooker APIを利用してスケジュール配信を自動リトライする方法を紹介したいと思います。

こんにちは、Mobility Technologies (以下 MoT) の AI 技術開発部 AI 研究開発第二グループのパエです。MoT では、タクシー配車以外にも、MaaS 発展のための次世代サービス実現に向けて研究開発を行なっています。本記事では、そうした取り組みの一つとして我々が開発中のドライブレコーダ映像から自車両が走行するレーンの番号を認識する技術について紹介します。

はじめまして、AI技術開発部の亀澤です。AI技術開発部では様々な機械学習モデルの開発に加えて、車載デバイスやクラウド上でDeep neural network (DNN)を使ったリアルタイムな予測を行うための、DNNの高速化や軽量化にも取り組んでいます。この記事では、エッジデバイスでDNNを動かす上で、高速化、軽量化に効果があるDNNの量子化について次の3点について説明していきます。

2020/7/5 ~ 2020/7/10 にかけて開催された ACL 2020 (The 58th Annual Meetings of the Association for Computational Linguistics) にデータサイエンスグループの 藤川 と 田口 が参加しました。

MoTメンバーの内田祐介が第76回(令和元年度)電子情報通信学会論文賞を受賞しました。本論文は中部大学の山下准教授との共著のCNNモデルに関するサーベイ論文です。

 初めまして。MoTのAI技術開発部アルゴリズム第一グループの島越 [1]です。本ブログでは、私が最近ソロで3位入賞を達成したKaggleのコンペティション「TReNDS Neuroimaging」で行った取り組みについて紹介したいと思います。また、今回使用したコードについては、github上でも公開しているのでよろしければそちらもご覧ください。

はじめまして、AI技術開発部の廣安です。私たちのチームでは、機械学習を使用したシステムをRustで開発しています。本記事では、機械学習システムのテストに役立つスナップショットテストという手法をRustで実践する方法を紹介します。

はじめまして、AI技術開発部の加藤(@_tkato_)です。私たちはエッジ x クラウドの機械学習システムのプロダクション開発を行う上で、Rustを開発言語の一つとして利用しています。今後はこのブログを使って、私たちがRustで開発している際に得た知見を共有していきたいと思います。

 記念すべき MoT (Mobility Technologies) の技術ブログ第一号記事です :) MoT はタクシーアプリなどの事業統合により、2020 年 4 月から新体制でスタートしたモビリティ DX カンパニーです。「移動で人を幸せに。」をミッションに、タクシーアプリ『JapanTaxi』、『MOV』の運営の他、タクシー車内での広告や決済、タクシー需給予測による乗務員の営業サポート、ドライブレコーダーや交通事故削減支援システム『DRIVE CHART』、自動運転社会やスマートシティの実現を見据えたビッグデータ解析などの R&D 事業と、幅広く事業を展開しています。 本ブログではそんな MoT の強みの一つ、『技術』にフォーカスして様々なお話をさせて頂きます!第一回の本記事では、データ分析コンペティション Kaggle において MoT メンバーが奮闘し、上位成績を収めた際の話を共有させて頂きます!! 2020 年 6 月に終了した Kaggle のコンペ Tweet Sentiment Extraction で MoT のメンバー 田口*、藤川*、山川*、松井*並びに社外のチームメンバー tkm2261 さんで構成されるチームで、2,227 チーム中 5 位となり、金メダルを獲得しました! 本記事では、このコンペの概要と我々のソリューションを紹介したいと思います。なお、本記事は田口、藤川、山川、および松井の共著となります。