😽

Offers 技術組織の課題 a.k.a 誰か手伝ってリスト - Data/ML と社内 IT 戦略編 | Offers Tech Blog

2022/07/19に公開

こんにちは、Offers を運営している株式会社 overflow CTO の 大谷旅人 です。
最近ジム通いをはじめましたが、クーラーが故障していて灼熱の中でベンチプレス上げています。
暑さの中で訓練すると、若き日の夏合宿を思い出しノスタルジーに浸れますオススメ(しない)。

今回は、引き続き技術組織の課題開示しちゃうぞシリーズ - Data Engineering & 社内 IT 戦略編をお届けします。
進行中または予定のプロジェクトを具体的な課題とともに開示し、技術組織としてどのような事に取り組んでいるかを紹介します。

Data Engineering for All - 脱サイロ化

頑張りすぎないデータ基盤の構築

SLO
Data Flow

技術課題かつ経営における意思決定プロセスの課題として、財務データ、非財務データ(事業データ、プロダクトデータ)を統合的に管理しかつ、データガバナンス的に健全なデータ基盤の構築を進めています。

個人目標、チーム KPI、OKR、Forecast の積み重ねが全体の売上と一致するような状態を目指し、それにより状態が変化した際に、即座に要因分解し、原因説明が可能となる(頑張りすぎない)状態を作ることが目標です。

また、統合することで相関関係にあるパラメータを推測&抽出し、その上いくつかのパラメータ変動をシュミレーションした上での予測ができることも理想として目指しています。

これは、プロダクト開発同様の PDCA サイクルによる改善を、事業面でも行いたいという思いからきています。
様々なメトリクスを元に観測&分析しその評価をし続けるサイクルと同様のことを、経営面でも基盤として整えて健全な経営をしていきたいという考えです。

何かの変動が起きた際に、サイロ化のせいで相関関係を調べることすら出来ない状態というのは、事業フェーズとしては妥協しつつもフラストレーションは少なからずあり、組織規模を考慮して徐々にあるべき姿に近づけています。

また、今の段階からデータサイロの発生をなくせば、副次効果でコンウェイの法則?に従い人的な調整や障害もなくなりサイロ化した組織構造になりづらくなるのではとも思って進めています。

データを活用するよりも探す時間のほうが長くならないように意識したいです。

Data Engineering for Product - AutoML 活用と MLOps 整備

AutoML による専任がいないチームでのアプローチ

https://zenn.dev/offers/articles/20220516-data-science-musou-with-automl

ML Algorithm Cheat Sheet
https://docs.microsoft.com/ja-jp/azure/machine-learning/algorithm-cheat-sheet より再度引用

私達開発チームは、職能ごとにチームを分けておらず提供機能やサービスごとにプロジェクトチームを構成し副業の方々にもそこに参画頂きながら連携して開発しています。

データサイエンティストの方に設計段階から入って頂くこともあれば、そうではない PJT チームもあり、そのような構成でも一定のモデル構築が行えるよう AutoML によるモデル構築を一部で試みています。

参考としてあげた弊社ブログ記事でもあるように、まだ検証段階ではあり随時アップデートしていく予定ですが、様々な PJT で同様のサービスイン方法を一緒に取り組んでいただける方を募集しています。

サービス横断データからの機械学習を適用したデータ処理の最適化、特徴データ、表現データ生成 (MLOps)

ML Algorithm Cheat Sheet
AWS Redshift ML より引用

サービス体験向上のため様々なスコアリングや推薦システムを開発し提供しています。

  • e.g.)
    • 海外居住判定、ビジネス経験スコア、スキル経験スコア、時給診断
    • 自動リストアップ、推薦評価値

現在、以下のような課題があります。

  • ウェアハウス内のデータ調査後の ETL & トレーニングデータ生成 & 機械学習モデル生成が一連の流れで行えていない
    • ウェアハウス内のデータ調査後、学習データを別途出力している(ETL)
    • 出力されたデータを Python スクリプト上で読み込み、モデル生成、訓練している
    • 生成されたモデルを ECS タスク内で読み込み実データを元にした予測している
  • 上記に関連して MLOps の流れが見える化できておらず、構成把握のしづらい環境となっている

これらの生成を安定的に行うためにも、データ欠損やドリフト検知を含むモニタリング体制を整え、データフローの見える化(MLOps)を推進していく必要があります。
以下を順に構築していますが、他の緊急度が高い案件に忙殺されていることもあり進捗していません。一緒に整備してくれる方を絶賛募集中です。

  • 共通基盤としての MLOps 導入推進、運用、モニタリング体制の効率化
  • JupterNotebook 環境を SageMaker 利用にシフト
  • StepFunction をベースにフロー管理
    • データ調査部分は、RedashAPI 叩くなりを SageMaker 上で行うか ECS タスク呼び出す方式に
    • モデル生成は、そのまま SageMaker(JupterNotebook にて)
    • モデルを利用した推論または二値分類は既存 ECS タスクを StepFunction 上から呼び出す形式に

CorpIT - 働きやすく、データ化された社内IT環境

社内向けの認証、認可基盤の導入

こちらは Okta などによる社員アカウントの SSO や権限管理における認証、認可基盤の話です。
弊社は正社員 30 名程度ですが、副業の方含めると 150 名を超える組織となりそれぞれ部署によって使用するサービスも、その権限も異なっているため柔軟に管理できる環境を整備しています。

IT ガバナンス体制の準備

こちらは全社的な体制や基盤構築、IT サポートに関しての話です。
様々な対応を人数規模拡大に合わせて、優先度、緊急度判断しながら行っています。
詳細は、専任担当者にいずれ Tech Blog 書いてもらおうかと思ってますので、以下のことをやってるよくらいの紹介に留めます。

  • 全社セキュリティ
    • ISMS マネジメントシステム導入
    • ショートレビュー、監査対応
    • データ管理方法の見直しと、改善
    • 各 SaaS の権限、承認フロー整備
    • アカウント管理整備
      • 認証(IdP)導入
    • 監査ログ(SIEM)整備
    • 端末管理(MDM)導入
    • セキュリティツールの導入(MS Defernder)
  • IT サポート
    • 端末キッティング
    • 稟議フロー
    • 各種社内活動のログ管理

あとがき

ここまで計 4 本の技術課題記事を公開し、我々開発チームで行っていることやこれからの取組みについて紹介させていただきました。
やることは沢山あれど、副業の方に協力いただきながら着実に進行しています。弊社が行ってきた副業経営の賜物です。

いずれかの課題を一緒に取り組みたいと思った方、ぜひカジュアルな面談をさせて下さい。
真面目な文体で書いてますが、お話する場ではラフな形で課題とどう取り組むかディスカッションできれば

関連情報

もっと詳しく聞いてみたい!と思った方はぜひ カジュアル面談 しましょう。Podcast では弊社の技術チャレンジである「HR のデジタル化」についても語っています。

https://open.spotify.com/episode/4SxOcLXuxSUPVODeb2Axro
https://zenn.dev/offers/articles/20220714-develop-issues-part3
https://zenn.dev/offers/articles/20220711-develop-issues-part2
https://zenn.dev/offers/articles/20220707-develop-issues-part1

Offers Tech Blog

Discussion