ソフトウェア2.0、MLOps、MilvusでAIを大規模に運用する
機械学習(ML)アプリケーションの構築は、複雑で反復的なプロセスである。非構造化データの未開拓の可能性に気づく企業が増えるにつれ、AIを活用したデータ処理とアナリティクスの需要は高まり続けるだろう。効果的な機械学習オペレーション(MLOps)がなければ、ほとんどのMLアプリケーションへの投資は枯れ木のようになってしまうだろう。調査によると、企業が導入を計画しているAIのうち、実際に導入に至っているのはわずか5%だという。多くの組織が「モデル負債」を抱えており、市場環境の変化やそれに適応できなかった結果、モデルへの未実現の投資がリフレッシュされないまま長引くことになる(最悪の場合、まったくデプロイされない)。
この記事では、AIモデルのライフサイクル管理に対する体系的なアプローチであるMLOpsと、オープンソースのベクトルデータ管理プラットフォームMilvusを使用してAIを大規模に運用する方法について説明する。
MLOpsとは?
機械学習運用(MLOps)は、モデル運用(ModelOps)またはAIモデルの運用化とも呼ばれ、AIアプリケーションを大規模に構築、維持、展開するために必要です。企業は開発したAIモデルを何百もの異なるシナリオに適用しようとするため、使用中のモデルや開発中のモデルを組織全体で運用することがミッションクリティカルとなる。MLOpsでは、機械学習モデルをそのライフサイクル全体にわたって監視し、基礎となるデータから特定のモデルに依存する本番システムの有効性まで、あらゆるものを管理する。
MLOpsは機械学習モデルのライフサイクルを管理する](https://assets.zilliz.com/01_362a07d156.jpg)
ガートナーは](https://www.gartner.com/en/information-technology/glossary/modelops) ModelOpsを、運用化された幅広い人工知能と意思決定モデルのガバナンスとライフサイクル管理と定義している。MLOpsのコア機能は、以下のように分解できる:
継続的インテグレーション/継続的デリバリー(CI/CD):** 開発者オペレーション(DevOps)から借用した一連のベストプラクティスであるCI/CDは、コード変更をより頻繁に、より確実にデリバリーするための手法である。継続的インテグレーションは、厳密なバージョン管理で監視しながら、コード変更を小ロットで実装することを促進する。継続的デリバリーは、様々な環境(テスト環境や開発環境など)へのアプリケーションのデリバリーを自動化する。
モデル開発環境(MDE):** モデルを構築し、レビューし、文書化し、検証するための複雑なプロセスである MDE は、モデルが反復的に作成され、開発されるたびに文書化され、信頼され、再現可能であることを保証するのに役立つ。効果的なMDEは、モデルが管理された方法で調査、研究、実験できることを保証する。
チャンピオン・チャレンジャー・テスト(Champion-Challenger testing):** マーケティング担当者が使用するA/Bテスト手法に似ており、チャンピオン・チャレンジャー・テストは、単一のアプローチにコミットすることを進める意思決定プロセスを支援するために、異なるソリューションを実験することを含む。この手法では、リアルタイムでパフォーマンスを監視・測定し、どの逸脱が最も効果的かを特定する。
モデルのバージョニング:** どんな複雑なシステムでもそうであるように、機械学習モデルは多くの異なる人々によって段階的に開発される。モデルのバージョニングは、データ、モデル、コードが異なる速度で進化する可能性があるML開発の反復プロセスを管理し、統制するのに役立ちます。
モデルの保存とロールバック:**モデルがデプロイされると、対応するイメージファイルを保存する必要があります。ロールバックとリカバリ機能により、MLOpsチームは必要に応じて以前のモデル・バージョンに戻すことができます。
本番アプリケーションで1つのモデルだけを使用することは、多くの困難な課題をもたらします。MLOpsは、機械学習モデルのライフサイクル中に発生する技術的またはビジネス上の問題を克服するために、ツール、テクノロジー、およびベストプラクティスに依存する、構造化された反復可能な手法である。MLOpsを成功させることで、AIモデルの構築、デプロイ、監視、再学習、管理、および本番システムでの使用に取り組むチーム全体の効率を維持することができる。
なぜMLOpsが必要なのか?
上記のMLモデルのライフサイクルに描かれているように、機械学習モデルの構築は、新しいデータの取り込み、モデルの再トレーニング、時間の経過に伴う一般的なモデルの減衰への対処を含む反復プロセスです。これらはすべて、従来の開発者オペレーション(DevOps)では対処できない、あるいは解決策を提供できない問題だ。MLOpsは、AIモデルへの投資を管理し、生産性の高いモデルのライフサイクルを確保する方法として必要となっている。機械学習モデルは、さまざまな異なるプロダクションシステムで活用されるため、MLOpsは、さまざまな環境やさまざまなシナリオの中で要件が満たされるようにするために不可欠となる。
クラウド環境にデプロイされ、アプリケーションに投入される機械学習モデル](https://assets.zilliz.com/02_403e7f2fe2.jpg)
上の簡単な図は、機械学習モデルがクラウド環境にデプロイされ、アプリケーションに取り込まれる様子を表している。この基本的なシナリオでは、MLOpsが克服するのに役立つ多くの問題が発生する可能性がある。本番アプリケーションは特定のクラウド環境に依存しているため、MLモデルを開発したデータサイエンティストがアクセスできないレイテンシー要件が存在する。モデルのライフサイクルを運用化することで、モデルに関する深い知識を持つデータサイエンティストやエンジニアが、特定の本番環境で発生する問題を特定し、トラブルシューティングすることが可能になる。
機械学習モデルは、使用される本番アプリケーションとは異なる環境でトレーニングされるだけでなく、本番アプリケーションで使用されるデータとは異なる過去のデータセットに依存することも多い。MLOpsを使用することで、モデルの開発担当者からアプリケーションレベルで作業する担当者まで、データサイエンスチーム全体が情報や支援を共有し、要求する手段を持つことができる。データと市場が変化する速度が速いため、特定の機械学習モデルに依存するようになるすべての主要な利害関係者と貢献者間の摩擦を可能な限り少なくすることが不可欠である。
ソフトウェア2.0への移行をサポートする
ソフトウェア2.0とは、人工知能がソフトウェア・アプリケーションの動力源となるAIモデルの記述において中心的な役割を果たすようになるにつれて、ソフトウェア開発がパラダイム・シフトを経験するという考え方である。ソフトウェア1.0では、開発にはプログラマーが特定のプログラミング言語(Python、C++など)を使って明示的な命令を記述する。ソフトウェア2.0は、はるかに抽象的である。人間は入力データを提供し、パラメーターを設定するが、ニューラルネットワークはその複雑さゆえに、人間が理解するのは難しい。典型的なネットワークには、結果に影響を与える数百万の重みが含まれている(時には数十億、数兆)。
DevOpsは、言語を使用してプログラマーが指示する特定の命令に依存するソフトウェア1.0を中心に構築されたが、さまざまな異なるアプリケーションを強化する機械学習モデルのライフサイクルを考慮することはなかった。MLOpsは、ソフトウェア開発を管理するプロセスが、開発中のソフトウェアと共に変化する必要性に対処する。ソフトウェア2.0がコンピュータベースの問題解決の新しい標準となるにつれ、モデルのライフサイクルを管理するための適切なツールとプロセスを持つことが、新しいテクノロジーへの投資を左右することになる。Milvusは、ソフトウェア2.0への移行をサポートし、MLOpsでモデルのライフサイクルを管理するために構築されたオープンソースのベクトル類似性検索エンジンです。
Milvusはソフトウェア2.0への移行をどのようにサポートするか](https://assets.zilliz.com/03_c63c501995.jpg)
MilvusでAIを大規模に運用する
Milvusはベクトルデータベース/ベクトルデータ管理プラットフォームであり、1兆個規模の巨大なベクトルデータセットの保存、照会、更新、保守のために特別に作られた。このプラットフォームは、ベクトル類似性検索を強化し、Faiss、NMSLIB、Annoyを含む広く採用されているインデックスライブラリと統合することができます。非構造化データをベクトルに変換するAIモデルとMilvusを組み合わせることで、新薬開発、生体認証分析、レコメンデーションシステムなど、さまざまなアプリケーションを作成することができる。
ベクトル類似度検索は、非構造化データのデータ処理と分析に最適なソリューションであり、ベクトルデータは中核的なデータタイプとして急速に台頭しています。Milvusのような包括的なデータ管理システムは、以下のような様々な方法でAIの運用を促進します:
モデルトレーニングのための環境を提供することで、開発のより多くの側面が一箇所で行われるようにし、チーム間のコラボレーション、モデルガバナンスなどを促進します。
Python、Java、Goなどの一般的なフレームワークをサポートする包括的なAPIセットを提供することで、一般的なMLモデルの統合を容易にする。
ブラウザ上で動作するJupyterノートブック環境であるGoogle Colaboratoryとの互換性により、Milvusをソースコードからコンパイルし、基本的なPython操作を実行するプロセスが簡素化される。
自動機械学習(AutoML)機能により、実世界の問題に機械学習を適用する際のタスクを自動化することが可能です。AutoMLは効率改善につながるだけでなく、専門家でなくても機械学習モデルやテクニックを活用できるようにします。
Milvusは、現在構築中の機械学習アプリケーションや将来のアプリケーションの計画にかかわらず、ソフトウェア2.0とMLOpsを念頭に置いて作成された柔軟なデータ管理プラットフォームです。Milvusの詳細や貢献については、Githubでプロジェクトをご覧ください。コミュニティへの参加や質問については、Slack チャンネルにご参加ください。もっとコンテンツが欲しいですか?以下のリソースをご覧ください:
読み続けて

3 Easiest Ways to Use Claude Code on Your Mobile Phone
Run Claude Code from your phone with Remote Control, Happy Coder, or SSH + Tailscale. Comparison table, setup steps, and tools for typing, memory, and parallel tasks.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud now operates in Azure Central India, offering AI and vector workloads with reduced latency, enhanced data sovereignty, and cost efficiency, empowering businesses to scale AI applications seamlessly in India. Ask ChatGPT

How to Use Anthropic MCP Server with Milvus
Discover how Model Context Protocol (MCP) pairs with Milvus to eliminate AI integration hassles, enabling smarter agents with seamless data access and flexibility.
