Slide 1

Slide 1 text

1 Privacy Tech事業部紹介 Tech編 LayerX Inc.

Slide 2

Slide 2 text

2 CONFIDENTIAL: © LayerX Inc. 自己紹介 ● Osuke(須藤 欧佑) ● Privacy Tech事業部 エンジニア ● LayerX創業期から主にプライバシー分野での R&Dをしつつ、現在はプロダクト開発やインフ ラの設計・構築あたりをメインに取り組んでい ます。 ● 今年6月に長男が誕生し、育児と両立しながら頑 張っています。

Slide 3

Slide 3 text

3 CONFIDENTIAL: © LayerX Inc. 技術面に関わる主な業務 ● 現状は、devメンバーがそれぞれ横断して取り組んでいる データ分析 ● 有用性を分析・評価しながら試行錯誤し、 最終的にユースケースに合わせた適切なプ ライバシー保護手法を適用する ● そもそもデータにどんな価値やユースケー スがあり、そのサービス化にはどういう統 計・機械学習の手法を用いるのが良いか設 計する プロダクト開発 ● プロダクトのコアとなる価値を検証しなが ら、本番システムの設計・開発をする ● 選定したプライバシー保護手法やクエリを アプリケーションに実装する R&D ● 学術的なプライバシー保護の理論や手法に 基づき、ユースケースに合わせた適切な手 法を選定し、必要に応じて既存手法を改善 する データOps・データエンジニアリング ● 社内のデータ分析基盤を改善し、セキュリ ティを十分に保証しつつチームの生産性を 高める

Slide 4

Slide 4 text

4 CONFIDENTIAL: © LayerX Inc. 技術スタック データ分析 プロダクト開発

Slide 5

Slide 5 text

5 CONFIDENTIAL: © LayerX Inc. データ分析プロジェクトの大まかな流れ(一例) ①プロジェクトごとのデータ基盤セットアップ ②ユースケースの洗い出し・要件定義・技術検証 ③データ分析 ④プライバシー保護技術を適用しデータ生成

Slide 6

Slide 6 text

6 CONFIDENTIAL: © LayerX Inc. データ分析プロジェクトにおけるデータ基盤概要(インフラ) ● DWHはBigQueryを活用し、その他のワークロードはAWSに寄せる設計

Slide 7

Slide 7 text

7 CONFIDENTIAL: © LayerX Inc. プロジェクトごとのデータ基盤高速セットアップ ● 適切なセキュリティ保護をしつつプロジェクト開始に向けたセットアップを高速化するのが肝 ● Terraform ModuleやGithub ActionsのReusable workflowを積極的に活用し、プロジェクトごとの データ基盤セットアップを高速化し誰がセットアップしても適切なセキュリティ保護や権限管理が適用 される プロジェクトごとに 数行設定項目を記述するだけで 各種必要なインフラセットアップ(BigQueryデー タセットや権限周り)が完了 Terraform Moduleの例

Slide 8

Slide 8 text

8 CONFIDENTIAL: © LayerX Inc. dbtとは ● ELTクエリへのレビューコメントをどうつ ければいい・・? ● GithubのPRベースでレビュー実施 ● Github Actionsで自動的にテーブル&ド キュメント生成 ● このテーブルってどのテーブルからどう いうクエリで生成されたんだっけ・・? ● dbt docsでデータリネージを可視化 ● テーブルごとにDDLをドキュメント化 ● このSQLクエリにミスはない・・? ● SQL自体を細かくファイル分割し、テス トSQLもdbtで管理 ● DWH上でのELTを管理・実行するためのツール 課題 ソリューション

Slide 9

Slide 9 text

9 CONFIDENTIAL: © LayerX Inc. dbt docs ● BigQuery上の全てのテーブル・ビューのメタデータはdbt docsで社内向けに閲覧可能に https://docs.getdbt.com/docs/building-a-dbt-project/documentation

Slide 10

Slide 10 text

10 CONFIDENTIAL: © LayerX Inc. dbtとは ● ELTクエリへのレビューコメントをどうつ ければいい・・? ● GithubのPRベースでレビュー実施 ● Github Actionsで自動的にテーブル&ド キュメント生成 ● このテーブルってどのテーブルからどう いうクエリで生成されたんだっけ・・? ● dbt docsでデータリネージを可視化 ● テーブルごとにDDLをドキュメント化 ● このSQLクエリにミスはない・・? ● SQL自体を細かくファイル分割し、テス トSQLもdbtで管理 ● DWH上でのELTを管理・実行するためのツール 課題 ソリューション

Slide 11

Slide 11 text

11 CONFIDENTIAL: © LayerX Inc. データの品質保証 ● 満たすべき必要条件や具体的なインプット値とアウトプット値の条件に対してSQLテスト https://docs.getdbt.com/guides/lega cy/writing-custom-generic-tests

Slide 12

Slide 12 text

12 CONFIDENTIAL: © LayerX Inc. dbtとは ● ELTクエリへのレビューコメントをどうつ ければいい・・? ● GithubのPRベースでレビュー実施 ● Github Actionsで自動的にテーブル&ド キュメント生成 ● このテーブルってどのテーブルからどう いうクエリで生成されたんだっけ・・? ● dbt docsでデータリネージを可視化 ● テーブルごとにDDLをドキュメント化 ● このSQLクエリにミスはない・・? ● SQL自体を細かくファイル分割し、テス トSQLもdbtで管理 ● DWH上でのELTを管理・実行するためのツール 課題 ソリューション

Slide 13

Slide 13 text

13 CONFIDENTIAL: © LayerX Inc. プライバシー保護されたデータ生成 ● データ分析結果を元に差分プライバシーのノイズをデータに付与する ● OSSがいくつか存在するが、Google DPやPyDP(Google DPのPython Wrapper)を利用することが 多い https://github.com/google/differential-privacy

Slide 14

Slide 14 text

14 CONFIDENTIAL: © LayerX Inc. プロダクト開発 ● ここまでのデータ分析フローをソフトウェアで自動化できたら楽では・?? -> プライバシー保護したデータを継続的・効率的に外部提供することが可能な、Anonifyを組み込んだ データ加工・抽出基盤

Slide 15

Slide 15 text

15 CONFIDENTIAL: © LayerX Inc. プロダクト開発における課題 ● いかにデータやユースケースにとらわれずクエリやアプリケーションの汎用化ができる か ○ ナイーブにはデータやユースケースに合わせて都度分析クエリやテストクエリを考え る必要がある ● いかにさまざまな分析の切り口を比較してユースケースに応じて最適なプライバシー保 護とデータ生成を実行できるか ● いかに大規模データに対し現実的な実行時間内で良いユーザー体験をもたらしデータに 対するインサイトを提供できるか …

Slide 16

Slide 16 text

16 CONFIDENTIAL: © LayerX Inc. 「最初の10人」になってください!