ID:63410さん

3年後の目標や野望


Tektonのコアコントリビュータになる

好きなOSSにコントリビュートしたい。

年収評価シート

2018年/半年以内

機械学習によるリアルタイム不正検知システム

機械学習を用いた不正購買のリアルタイム検知システムを、ビジネスヒアリングから設計、開発、運用(引き渡しまで)を行いました。 ## ビジネス上の課題 不正購買(クレジットカード流出、不正ログイン等によるもの)によってECに発生している損害は大きいものの、 ルールベースでは高度化する不正を検知しきれず、また、人的監視では決済を未然に防ぐことができないでいました。 そこでユーザのリアルタイムなアクティビティ情報(過去の統計、閲覧やページ遷移など)をストリーミングETLし、機械学習によって不正をリアルタイムに検知するモデルを構築し、不正の可能性が高い場合はアカウントの一時停止や決済を未然にブロックする機能を開発しました。 ## 価値 1. ルールベースでは検知できないものや判断の難しいケースでも機械的に検出可能になった 2. アクティビティなどの情報から推論を行うことで不正決済(損害)の発生する前に検出可能になった 3. 手動でルールを更新する必要がなくなり、監視の人的オペレーション負荷を削減できた ## 技術的課題に対するアプローチ - 厳しい時間的な要件 - 最悪でも決済が発生して1秒後までという厳しい要件を達成するために、**低レイテンシなETL処理とストリーミング可能な特徴量設計**が必要でした。 - プロトタイピングにApache Sparkを使いましたが、当時はストリーミング処理が未成熟で、ミニバッチ方式では30秒ほどのラグを超えられず、決済に間に合わないと判断しました。 - ストリーミングETLにApache Beamを採用しました。ミニバッチ方式ではなく完全なストリーミング処理であり、また分散ストリーミングアルゴリズムを簡単に実装可能なAPI設計、モデルAPIの呼び出しやDBアクセスなどのプログラミング処理と統合が容易であることが採用の決め手でした。Apache Beam採用と最適化によって、**イベント発生から平均5秒程度のラグで推論が可能**になり、決済前に不正を検知できる割合が大幅に向上しました。 - 当日以前の過去の統計量はSparkでデイリーバッチで計算を行い、圧縮してRedis(オンメモリ)に保持しました。アクティビティ上で計算される統計量は予測精度が多少落ちてもストリーミングで計算可能な統計値に変更し、高速な分散推論を可能にしました。 - 大量のトラフィックに対応する運用 - 重要な課題として、トラフィック変化に対応することでした。ユーザのアクティビティは時間帯や曜日によって大きく異なり、イベント等によってアクセスが急増するケースもありました。Kinesisをデータソースの接続に用いており、シャードの自動スケーリング対応をApache Beamに実装し、また、**アプリケーションはすべてKubernetes上で運用し、Kinesisのトラフィック量に応じてポッドを自動スケーリングするようにしました**。自動スケーリングにより、システムの安定を保ちつつ、必要なだけのリソースを使用することが可能になりました。 ## アピールポイント プロジェクトは、マネージャ1人と、モデル設計について壁打ちをしてもらったデータサイエンティストが1人です。 ビジネス上の課題に対し、課題分析、モデル化、システム設計、アプリケーション開発、引き渡しまでの基本運用まで、基本的に私が行いました。 機械学習に精通し、パフォーマンスを要求されるアプリケーション開発についても経験があることは、大きな強みだと自負しています。

2020年/2年以上

TektonによるMLOpsプラットフォームの開発

データ分析・機械学習モデル開発から、デプロイ・運用まで自動化を行うMLOpsプラットフォームを開発しました。 ## 課題 データ分析・機械学習を実装するデータサイエンティストは増えつつあるものの、実際にモデルが売上を生み出すにはシステムに組み込まなければ意味がありません。しかし、データサイエンティストのスキルはアプリケーション開発ではなく、データサイエンティストはデータ分析や機械学習の本質的な設計に工数を割く必要があります。AWSなどのマネージド・サービスにも機械学習のプラットフォームが提供されていますが、ビジネス要件を達成するために必要な機能が十分とはいえません。 例えば、毎日自動で学習・モデルのリリースを行いA/Bテストを行い、結果を自動集計し、自動で性能の良い方をデプロイするといったオペレーションを構築するのは、マネージド・サービスの機能では十分ではありません。社内システムとも密接な連携が必要になるでしょう。 そこで、TektonというOSSのCI/CDシステムをベースに、**Kubernetes上ですべてが自動化されたMLOpsシステムを立案、設計・開発しました。**マネージャが1人、開発には2人のメンバーを迎えました。一部の運用は他チームへ委譲しています。 ## 主なコンポーネント - Jupyter - データサイエンティストがすぐに開発を始められるように、Kubernetes上にJupyter Hubを構築しています。GPUを使ったり、メモリに特化したインスタンスなどを自由に選んで、すぐに開発を行えます。社内システムとも連携しており、また、Tektonパイプラインや自動デプロイされるモデルの推論APIなども、同じKubernetes内でアクセスが可能になっています。 - Jupyter上で開発したプログラムを、コマンド一つでそのまま分散学習パイプラインを起動し、完了後にそのままAPIを起動することも可能にしています。 - Tekton - アプリケーションのlintやテスト、ビルドからデプロイ、デプロイ後の自動テストなど、様々なパイプラインを構築しています。これらはKubernetesリソースとしてyamlで管理され、コード化されています。実際にはデータサイエンティストはほとんどyamlを覚える必要はなく、コードから自動生成することができます。 ## アピールポイント Kubernetesの運用、オペレーター開発、gRPC API開発、GitOps/CIOpsの経験、最適化の技術があります。 TensorFlow,Sparkなどの分散エンジン・フレームワークのランタイムの最適化、並びにそれを最大化するためにKubernetesのスケジューリング・スケーリングを自動化・最適化できます。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
あり
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
あり

今後、身につけなければいけないと思っている技術は何ですか?

未入力です

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

- tmux+zsh+neovim - kubernetes, terraform - tensorflow, apache beam, apache spark - リモートワーク、裁量労働

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 問題解決力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
SI
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で20代後半
好きな Text Editor
neovim
希望勤務地
東京都
希望年収
2000万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?