金融 / 暗号資産取引所
Coinbase:不正検知にユーザー行動の順序を反映
- 企業
- Coinbase
- 国
- 米国
- 導入状況
- 運用中
- 資料公開
- 日付の基準
- 資料が公開された時点。導入を開始した日とは異なる場合がある。
- 根拠の確認方法
- 原文の本文を閲覧
業務課題
Coinbaseの技術ブログ記事によると、Coinbaseは通知から不正検知まで多くの業務で機械学習を使い、ML Platformが管理する手作業のfeatureは5,000を超える。同じ記事は、こうしたfeatureが領域の専門家が作った長期の集計値で、1日単位のbatchか準リアルタイムのstreamingで更新されると説明した。同じ記事は、直近30日間にデジタル資産を購入した回数のようなfeatureには、どの資産をどれだけ、いつ買ったかが抜け落ちると記した。同じ記事は、その情報を持つfeatureをさらに作る作業には時間がかかり、性能向上も不確かだと説明した。
使った技術とデータ
同じ記事によると、Coinbaseは手作業のfeatureの代わりに、サインイン、購入、売却、暗号資産の送金といったユーザー行動を時間順にモデルへ入れるsequence featureの仕組みを、TectonとDatabricks Sparkの上に構築した。同じ記事は共通要件として、sequenceあたりのイベント種類100未満、読み出し時に最新イベント最大1,000件、1秒から2秒以内の反映、オンライン読み出しのp99遅延100ms未満を挙げた。同じ記事によると、この仕組みは、機械学習エンジニアがKafka topic、イベント形式、sequenceの条件を宣言するだけで、data sourceとTecton feature viewを自動で作り、observabilityの機能も標準で備えるように設計された。同じ記事は、数百のKafka topicに形式がまちまちな数千種類のイベントがあるため、機械学習に使うイベントをML Event Registryに一つずつ登録し、リアルタイム処理はKafkaから、batchとbackfillはDelta Lakeから読み、user_id、event_name、timestamp、metadataの共通形式にそろえると説明した。同じ記事によると、処理間隔0秒のcontinuous modeがイベントを受け取るとすぐDynamoDBに書き込み、1人のユーザーのイベントは読み出しのときにsequence全体にまとめられる。どのイベントと期間を入れるかはエンジニアが決め、同じ記事は、TransformerやLSTMのような深層学習モデルがこうしたsequenceから直接学習できると説明した。
成果
同じ記事によると、最も負荷の大きいリアルタイム処理の一つは毎秒約2,000件のイベントを受けながら、平均のend-to-end遅延500ms未満を出した。同じ記事は、Sparkのdriverとworkerを1台のmachineでまとめて動かすDatabricks Single Node clusterに切り替えた後、すべてのリアルタイム処理の反映速度を同じかそれ以上に保ちつつ、CPUと計算コストを20%から40%減らしたと記した。同じ記事は、初期の結果として不正検知と推薦モデルの性能が上がり、過去1年間で主要な事業指標に数千万ドル規模の効果をもたらしたと記した。同じ記事によると、多くの重要なモデルで、いくつかのsequence featureが全体のfeature重要度の上位10位に入る。
限界と残る課題
同じ記事は、数千万ドルの効果をモデル別や指標別に分けて示しておらず、不正検知で減った損失の規模も別に記していない。検索ツールの抜粋には、その後Databricksのリアルタイム処理方式に移った顧客事例が見えたが、今回の調査ではその原文を閲覧していない。
出典
- How Coinbase Builds Sequence Features for Machine Learningcoinbase.com, 確認
公開資料をまとめた事例です。ATF Works導入企業の成果ではありません。