Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

AIプラットフォームにおけるMLflowの利用について

 AIプラットフォームにおけるMLflowの利用について

2025年12月9日に開催された「AIエージェント/MLモデル開発を加速するMLflow:実践ノウハウ共有」での発表資料です。

More Decks by LINEヤフーTech (LY Corporation Tech)

Other Decks in Technology

Transcript

  1. © LY Corporation Public 湯原 基貴 LINEヤフー DATA&AI CBU AI

    CBU AIPFユニット 〜2022.02 通信会社、SIerのR&Dチーム • プライベートIaaS基盤の開発 • 分散機械学習ライブラリの開発 • 機械学習(深層学習)を利用したPoC • 機械学習基盤の研究 2022.03〜 LINEヤフーに中途入社 AIプラットフォームの開発、運用 • MLflow • ACP を担当
  2. © LY Corporation 4 AIプラットフォーム(AIPF) Public Google Cloud「MLOps: ML における継続的デリバリーと自動化のパイプライン」より引用

    • MLOpsを支える内製ツール、OSSを全 社向けに提供 • 約100サービス/プロダクトが利用 • オンプレミス環境のマルチテナント Kubernetes環境(ACP)上に構築
  3. © LY Corporation Public • 学習の観点 • ML/DLモデル学習結果の記録 • パラメータ

    • メトリクス • モデル(artifact) • グラフ • (最近)LLMに対する実験結果の記録 • Trace • Evaluation(LLM as a Judgeなど) • 推論の観点 • デプロイするモデルの保存場所 5 AIPFにおけるMLflowの役割
  4. © LY Corporation Public • サービス(チーム)ごとにMLflowサーバが欲しいという要望 • リソースの効率的な利用のためにマネージドサービスとして提供 マネージドなMLflowの提供 ユーザー

    Dragon(オブジェクトストレージ) ACP 学習Pod MySQL(プライベートDBaaS) アーティファクトを格納 メタ情報を格納 MLflow Pod Ingress Service サービス MLflow MLflow Pod
  5. © LY Corporation Public • MLflowへのアクセス(モデルやデータへのアクセス)は制限したい • モデル学習はACPのPod上で実施 • ユーザだけでなく、プログラム(サービス)からMLflow(API)にアクセスする

    • サービス間の認証認可フローを考慮する必要がある 7 サービス間の認証認可フロー ユーザー ACP 学習用Pod サービス 認証 認可 MLflow
  6. © LY Corporation Public • OAuth2.0にはサービス間の認証認可フローとしてClient Credentials Grant Flowが定義されている •

    ユーザの介在なしにサービスが自分自身を認証してAccessTokenを取得し、保護されたAPIにアクセ スするためのフロー 9 Client Credentials Grant Flow
  7. © LY Corporation Public • MLflowにおけるサービス間認証認可フローを Client Credentials Grant Flow

    に基づいて実現する • サービス(プログラム)に必要な機能 • Authorization Serverとの認証 • Access Tokenの取得 • MLflow(=Resource Server)に必要な機能 • Access Tokenの検証 • 認可チェック 10 Client Credentials Grant Flow
  8. © LY Corporation Public • LINEヤフーでAthenzによる認証認可プラットフォームが社内で提供されている • Athenz • OAuth2.0に準拠したサービス間認証、RBACをサポートするOSS

    • 米国のYahoo Inc. とLINEヤフーが協力して開発に貢献 • CNCF(Cloud Native Computing Foundation)のSandboxプロジェクト • AthenzはClient Credentials Grant Flowをサポートしている • MLflow(とACP)においてもAthenzを利用してサービス間の認証認可フローを実現している 11 AthenzによるClient Credentials Grant Flowの実現
  9. © LY Corporation Public • AthenzにはSPIFFEの仕様に基づいて、サービスを証明するためのX509証明書形式のClient Certを発行す る機能(Athenz Copper Argos)がある

    • SPIFFE: Secure Production Identity Framework For Everyone • 分散システムにおける安全なID管理のためのオープン標準仕様 • Client CertによりAuthorization ServerとmTLS通信することで自身が正当なサービスであることを証明 できる • ACPではPodのデプロイ時にAthenz Copper Argosを利用してmTLS認証を行い、AccessTokenを取得す る機能を実装している • Kubernetesのwebhookを用いて自動的に認証、AccessToken取得用のcontainerを追加 • Podが起動したときにはAccess Tokenが配置されている • Pod上で起動するサービス(例:モデル学習プログラム)はAccess Tokenの取得を意識することなく 利用できる 12 AIPF MLflowにおけるサービス間の認証認可の実現方法 サービスの認証とAccess Tokenの取得 参考資料: Athenz & Spire によるアクセス制御
  10. © LY Corporation Public • MLflowサーバに対してResource Serverの 機能を追加する必要がある • Athenzのプロダクトの1つである

    Authorization Proxyを利用 • Kubernetesのサイドカーとして動く リバースプロキシ。Access Tokenの 検証や認可チェック 13 AIPF MLflowにおけるサービス間の認証認可の実現方法 MLflowにおけるAccess Tokenの検証、認可チェック
  11. © LY Corporation Public 14 AIPF MLflowにおけるサービス間の認証認可の実現方法 • APIリクエスト時は AuthorizationヘッダにAccess

    Tokenを設定 • MLflowのPythonライブラリを 使用するときは、環境変数 MLFLOW_TRACKING_TOKEN にAccess Tokenを設定
  12. © LY Corporation Public • マネージドなMLflowサーバを提供するために認証認可が必要 • ユーザだけではなく、サービス(プログラム)に対しても認証認可を行う必要がある • OAuth2.0で定義されたサービス間の認証認可フロー(Client

    Credentials Grant Flow)の実現 • Athenzによる認証認可プラットフォームと連携して実現 • ACPとも連携し、Access Tokenの取得を意識せずに利用(MLflowのAPIにアクセス)できるようにして いる 15 まとめ
  13. © LY Corporation Public • MLflowのprometheus-exporterからのメトリクスの取得 • HTTPステータス、処理時間 • エラー監視、パフォーマンス監視に利用

    • Ingressからアクセスログを取得 • MLflow API(パス)の取得、集計 • 週次、月次のMLflowの利用状況の分析に利用 MLflowの利用状況の取得 16 Supplement: AIPF MLflowの利用状況
  14. © LY Corporation Public • 新規Runやモデル参照数は増加 • 新規Model数はほぼ一定 • 単純に自サービスのモデル学習結果

    を記録する以外の利用方法も増えて いる • 日次のモデル評価を記録 • AutoML的なプロダクトの backendとして利用 18 新規Run、新規モデル、モデル参照数(1日あたりの平均アクセス数)