TrueLayer でシニア機械学習エンジニアを務めている Moreno Raimondo Vendra と申します。弊社の機械学習チームは組織内でデータ集約のニーズを抱える他のチームをサポートしており、大量データの処理、データインサイトの生成、そのデータを元にした機械学習モデルの作成を支援しています。コアとなる TrueLayer 製品のユースケースを中心に支援していますが、リサーチプロジェクトの作業に携わることもあります。
TrueLayer はフィンテック企業であり、オープンバンキング事業者でもあるため、主に財務データを取り扱っています。弊社は GDPR への準拠を確保しながら、顧客がオープンバンキングデータにアクセスできるようにしています。私のチームが関わっているプロジェクトの 1 つでは、追加のマーチャント情報でユーザー取引の質を高めています。
財務データは容易に扱えるものではありません。単に本番データベースやデータレイクにアクセスし、データをダウンロードして処理するということができないためです。データへの安全なアクセスを確保し、簡単に共有できるインサイトを生成する必要もあります。
以前はスタンドアロン型の AWS EC2 マシンを使用していましたが、複数の VPN が存在し、一時的な個人の資格情報が頻繁に期限切れになっていたためにログインに支障をきたしていました。データ量の増大に対応するためにインスタンスのサイズをアップグレードするのも簡単なことではありませんでした。また、新しいチームメンバーのオンボーディングも悩みの種でした。
「Datalore のおかげで、セキュリティ要件を満たしながら人間工学的にデータにアクセスできるようになりました。私たちのチームにとっては革命的な存在です。最終的には機械学習チーム内のコラボレーションも関係者とのコラボレーションもかなり簡単になりました。」
— Moreno Raimondo Vendra、TrueLayer シニア機械学習エンジニア
Datalore は 3 人構成の機械学習チームで集中的に使用していますが、社内にはさらにもう 2 人の関係者がいます。
私たちが扱っているデータは主に運用中のデータベースに生成されるものですが、そのデータの一部は AWS S3 のデータレイクに保管しています。主に扱っているのは、オープンバンキングの取引に関する非パーソナル化されたメタデータです。普段は Python クライアントを使用して S3 にアクセスしています。
また、弊社独自のサービスで生成されたログやメトリクスなどのデータも扱っています。Datalore のおかげで、数百ギガバイトものデータを取得する必要のある複雑な問題のデバッグや、パターンの特定、データの可視化、およびインサイトの共有を実現できました。
主に Pandas を使用し、Visualize(可視化)タブを頻繁に使用しています。このタブは実に直感的に使用でき、かなり素早く快適にデータ探索を行えます。
これは私たちのコラボレーション環境であるとも言えます。誰かがデータを引き出してノートブックを共有し、チームでそれを編集すると、誰かが後でその作業を引き取って再開しています。また、ノートブックは必ずレポートにするように努めています。解析が完了した後は必ず結論を追加し、ストーリーテリングを実践して有意義な作業となるようにしています。
Datalore では、このようなデータストーリーテリングを非常に効果的に実践できます。データを取り出して Python で複雑な処理を行い(好きなだけ深く掘り下げることができます)、可視化を行い、その結果をビジネスコンシューマーが使いやすい形式にエクスポートする作業を 1 か所で行えるためです。複数のツールを操作する必要はありません。PDF と静的レポートを作成できるだけでなく、この作成を定期的に実行するようにスケジュールし、特徴量やメトリクスの経時的な変化を追跡することも可能です。このような実行内容の履歴にアクセスできるのはチームにとって非常に便利でした。
「データ探索とレポートの使用は私たちのユースケースに非常に適していました。しかし、私たちはモデルのプロトタイピングやトレーニングなどの分野でも Datalore を使用しており、データへ簡単にアクセスできることで実験をより迅速に行えるようになったことを実感しました。」
ノートブックをワークスペースで整理できるようになったため、各チームメンバーが特定のプロジェクトやトピックの何に取り組んでいるのかを簡単に追跡できます。この問題は、GitHub や GitLab、Git に似たその他のプラットフォームを使用できるソフトウェアエンジニアリングではすでに解決していましたが、データサイエンスとノートブックコラボレーションに関しては組織で簡単に実現できることではありません。
「Datalore のおかげでコラボレーションがはるかに簡単になりました。大切な作業をまとめて整理できる場所が 1 か所で済むようになりました。」
TrueLayer の機械学習エンジニアチームでは、ノートブックでのコラボレーションやペアプログラミングはごく一般的です。
また、PyCharm と Code With Me プラグインを使ってコード開発を行っています。リアルタイムでコードを編集できるインターフェースとエクスペリエンスが複数のツール間で似ていることがとても気に入っています。たとえば、機械学習モデルのトレーニングスクリプトを実行しながら、Attached files(添付ファイル)の Python スクリプトでリアルタイムなコラボレーションを実現できました。ビデオチャットではなく一緒にコードに取り組むことができたため、問題をより素早く簡単に特定して修正することができました。1 箇所で履歴を追跡しながらワークスペースで作業を整理できるため、チームの生産性が向上しました。
モデルサーバーをクラスターにデプロイしています。これは基本的に Python API です。通常はトレーニングノートブックを Datalore に置き、モデルをトレーニングしてモデルアーティファクト(アーカイブ)を生成した後、それをクラスターにデプロイしています。その後、PyCharm と Code With Me を使ってモデルサーバー API を開発しています。別々の JetBrains ツールで使い慣れた UI が使用されているため、チームがこのプロセスに取り組むのは非常に簡単でした。
最近、ソフトウェアエンジニアとデータエンジニアから大きな関心が寄せられています。データに関する知識と経験が豊富で、生成データにはるかに簡単な方法でアクセスすることを望んでいる人たちです。現在は多くのエンジニアが Jupyter ノートブックが何であるかを知ってはいますが、Datalore を通じて簡単にデータへ接続できるようにすることで、ソフトウェアエンジニアの参入障壁を大幅に下げることができるでしょう。
Netanel Golani、Hunters 脅威ハンティングエキスパート
Hunters のデータサイエンスチームが Datalore を使い始めてから 1 か月しか経っていませんが、多数の顧客データソースを処理する場合など、すでに日常のワークフローで生産性とユーザビリティが改善されています。
Chad Rosenberg、The Center for New Data テクノロジー責任者
Datalore では、パイプラインの結果のデバッグ、ウェブフックの試用、自動プロット作成機能によるデータの迅速な可視化など、Airflow では実現できないデータ処理を行えます。 Datalore でネイティブの Snowflake コネクターや pandas によるコネクタープログラムを使用できるため、共有ノートブックでの作業時間が確実に節約されています。
Surya Rastogi、Chainalysis シニアスタッフデータサイエンティスト
最大の課題は、ブロックチェーンの領域が急速に拡大しているため、取得して分析する必要のある新しいデータが常に存在することです。 弊社では、データ取り込みと処理の関数が大量にあり、今後も増加し続けると見込んでいます。