Cloudflareのブログでは、MLOpsプラットフォームと人工知能(AI)デプロイメントを大規模に実行するためのベストプラクティスについて述べられている。WAF攻撃スコアリング、ボット管理、グローバル脅威識別を含むCloudflareの製品は、常に進化する機械学習(ML)モデルに依存している。これらのモデルは、顧客の保護を強化し、サポートサービスを増強する上で極めて重要である。同社は、MLをネットワーク全体に提供することで比類のない規模を達成しており、堅牢なMLトレーニング手法の重要性を強調している。
CloudflareのMLOpsの取り組みは、データサイエンティストと協力してベストプラクティスを実装している。JupyterHubを介してKubernetes上にデプロイされたJupyter Notebooksは、データ探索とモデル実験のためのスケーラブルでコラボレーティブな環境を提供する。GitOpsはCloudflareのMLOps戦略の要として登場し、インフラとデプロイプロセスを管理するための単一の真実のソースとしてGitを活用している。ArgoCDは宣言型GitOpsに採用され、アプリケーションとインフラのデプロイと管理を自動化する。
将来のロードマップには、JupyterHubなどのプラットフォームを、最近CNCFのインキュベーション・プロジェクトとなったKubernetes上の機械学習ワークフロー・プラットフォームであるKubeflowに移行することも含まれている。この動きは、Kubeflowコンポーネントの分散構成管理を提供するdeployKF プロジェクトによって促進される。
Cloudflare MLopsチームは、データサイエンティストが自信をもって、効率的に、適切なツールでプロジェクトを開始できるよう、サンプルモデルを含むプロダクションレディのリポジトリとして機能するモデルテンプレートを提供している。これらのテンプレートは現在社内向けだが、Cloudflareはオープンソース化する予定だ。これらのテンプレートがカバーするユースケースは以下の通りだ。
1.トレーニングテンプレート: ETLプロセス、実験トラッキング、DAGベースのオーケストレーション用に構成されている
2.バッチ推論テンプレート: スケジュールされたモデルによる効率的な処理のために最適化されている
3ストリーム推論テンプレート: Kubernetes上のFastAPIを使用したリアルタイム推論用に調整されている
4.説明可能性テンプレート: StreamlitやBokehのようなツールを使って、モデルインサイトのダッシュボードを生成する
MLOpsプラットフォームのもう一つの重要なタスクは、MLワークフローを効率的にオーケストレーションすることだ。Cloudflareは、チームの好みやユースケースに基づいて様々なオーケストレーションツールを採用している。
-Apache Airflow:コミュニティが幅広くサポートする標準的なDAGコンポーザー
-Argo Workflows:マイクロサービスベースのワークフローのためのKubernetesネイティブオーケストレーション
-Kubeflow Pipelines:MLワークフロー向けにカスタマイズされており、コラボレーションとバージョニングに重点を置いている
-Temporal:イベント駆動型アプリケーション向けのステートフルなワークフローに特化している
最適なパフォーマンスを実現するには、ワークロードを理解し、それに応じてハードウェアを調整する必要がある。Cloudflareは、データセンターのコアワークロードとエッジ推論のGPU利用を重視し、Prometheusのメトリクスを活用してオブザーバビリティと最適化を図っている。Cloudflareで採用を成功させるには、MLプロセスの合理化、パイプラインの標準化、データサイエンスの専門知識を持たないチームへのプロジェクト導入が必要だ。
Cloudflareのビジョンは、データサイエンスがビジネスにおいて重要な役割を果たす未来であり、そのためにCloudflareはAIインフラに投資し、Metaのような他の企業とも協力し、例えばLLama2を自社のプラットフォームでグローバルに利用できるようにしている。