Skip to content

Latest commit

 

History

History
113 lines (81 loc) · 14.2 KB

mlops-tools.md

File metadata and controls

113 lines (81 loc) · 14.2 KB

MLOps関連ツール

Note 当文書はMLOps Toolsを日本語に翻訳したものです。

ツールとは儚いもので、あらゆるソフトウェアはいずれ時代遅れになってしまうので、本書の中ではツールについて解説することは控えました。ただし、要点の説明の役に立つ場合には本書の中でもツールに言及している箇所があります。初期の読者の皆さんから、本書のおかげで便利なツールを見つけることができたという声や、お勧めのツールをもっと教えてほしいという声を頂きましたので、ここで紹介してみようと思います。

当文書では、まずはじめに他の方がまとめてくださった膨大なツールのリストを掲載し、その後に私が特にお勧めしたいツールを簡単にいくつか掲載します。リストが長くなり過ぎないようにデータサイエンスのコミュニティで既によく知られているツールは割愛しています。新たなお勧めのツールがあれば、お気軽にissueを起票、またはプルリクエストをお送りください。ありがとうございます。

また、MLOpsのDiscordのチャンネル(#tools-watch)でも興味深いツールについての議論が交わされています。

MLOps関連ツールのリスト(多め)

言うまでもなくMLOps関連のツールは山のように存在しています。多数のツールを掲載したリストが既にいくつも存在するので、ここで新たにリストを作成するつもりはありません。膨大なツールのリストを見たい場合は、次のような情報源が有名です。

Warning

  • このリストの多くはベンダーが後援するコミュニティによって作成されています。スポンサーを得ることに問題はありません。コミュニティ運営にもコストがかかりますから、スポンサーを得ることができるコミュニティは賞賛に値します。しかしながら、ベンダーのスポンサーシップとレビューのベンダー中立性との間で利害が対立することもあるでしょう。
  • ツールをカテゴリーに分けて機能で評価していますが、状況の変化が激しいためカテゴリがまだはっきりと定まっているわけではありません。同様にベストプラクティスについても過渡期にあり、企業にとってどの機能が自分たちに必要かを判断することが難しくなっています。
  1. MLOps Community’s Learn: 現時点で、特徴ストア、監視、メタデータストレージと管理ツール(モデルストアも含む)の3つのカテゴリで構成されており、新たにデプロイのカテゴリが追加されようとしているところです。ツールを複数選択して比較検討することができます。
  2. TwiML Solutions Guide: サポートする機能やデプロイ可能な場所に応じてカテゴリ別にツールがグループ化されています
  3. StackShare: 様々な開発ツールを閲覧でき、そのツールを採用している企業や、言及している採用情報を確認できます。代替ツールをチェックしたりレビューを読んだりすることもできます。また、有名なテック系企業の技術スタックを見ることもできますし、複数のツールを比較検討することもできます。私が思うに、StackShareは多くのMLOpsソリューションガイドが目指しているものですが、StackShareはMLOpsだけでなく、あらゆる技術スタックに対応しています。
  4. AI Infrastructure Landscape: AIインフラにフォーカスしたメンバーシップ制の団体(オープンソースにフォーカスしたLFAI & Dataよりも一般的)で、MLOpsツールに関する包括的な調査と分析を多数手がけています。
  5. Matt Turckが毎年発表しているMachine Learning, AI and Data (MAD) Landscape: 投資家の観点からのハイレベルな分析です。
  6. Leigh Marie BraswellのStartup Opportunities in Machine Learning Infrastructure: 別の投資家の視点からMLOpsの展望のギャップを分析したものです。
  7. こちらは私が作成したMLOps Landscapeです。284のツールをリストアップしたGoogleスプレッドシート(最終更新日:2020年12月)と、これをインタラクティブに可視化したものです。膨大な手間がかかることと他にも同じようなことに取り組んでいる人々がいるため、このリストをメンテナンスするのを止めました。

MLOps関連のオープンソースツールのリスト(少なめ)

私はイケてるオープンソースツールを見つけるたびにスターを付けています。こちらで全リストをチェックできます。

免責: このリストがすべてのツールを網羅できているわけではありません。

Pandasの代替ツール

PandasのDataFrameなどの表形式はデータの操作に最適です。しかしPandasは遅く癖があり、GPUをうまく活用できません。当然ながら、これらの問題を解決しようとするプロジェクトが数多く存在します。そのいくつかを以下に紹介します。

  • modin: import pandas as pdの代わりにimport modin.pandas as pdを使ってPandasを簡単に置き換えられます。Ponderはこれをベースにエンタープライズ版の開発に取り組んでいます。
  • daskcuDF: daskの主要な開発者がNVIDIAを離れてCoiledを立ち上げるまでは、いずれのプロジェクトもNVIDIAのRAPIDS AIチームによってメンテナンスされていました。Coiledはdaskをベースにしたエンタープライズ版です。
  • Polars: PolarsはApache Arrow上にRustで構築されており、高速なことがウリです。

H2Oは面白いデータベース風のopsベンチマークを実現しています(願わくばグラフの配色を再検討してほしいものですが)。

alt_text

データ・特徴

説明能力(解釈可能性)と公正さ

モデルのデプロイと評価

ユースケースに特化したフレームワーク

ただ私が個人的に興味があるユースケースを採り上げているだけです。あまり気にしないでください。

開発環境

  • CLIツール: fzf (fuzzy search)、lipgloss
  • IDE: VSCodeを使いましょう(ノートブックもとても素晴らしいです)
  • 依存関係の管理: Poetry
  • 設定の管理: Hydragin-config
  • ドキュメンテーション: docusaurus
  • Kubernetesでのデバッグ: k9s
  • 仮想ホワイトボード: excalidraw

MLOps向けのDevOps