[論文レビュー] The Collective Knowledge project: making ML models more portable and reproducible with open APIs, reusable best practices and MLOps
Collective Knowledge (CK) プロジェクトは、オープンAPI、再利用可能なコンポONENT、DevOpsに類似したワークフローを通じて、機械学習およびシステム研究の移植性、再現性、再利用性を高める統合フレームワークを導入する。コード、モデル、データ、設定をJSONメタデータおよびCLI/Pythonインタフェースを備えた標準化・バージョニングされたコンポonentにパッケージ化することで、CKは自動ベンチマーク、クロスプラットフォームデプロイ、多様なハードウェアおよびソフトウェアスタックにわたる共同最適化を可能にする。その有効性は、効率的なオブジェクト検出システムの共同設計を通じて実証された。
This article provides an overview of the Collective Knowledge technology (CK or cKnowledge). CK attempts to make it easier to reproduce ML&systems research, deploy ML models in production, and adapt them to continuously changing data sets, models, research techniques, software, and hardware. The CK concept is to decompose complex systems and ad-hoc research projects into reusable sub-components with unified APIs, CLI, and JSON meta description. Such components can be connected into portable workflows using DevOps principles combined with reusable automation actions, software detection plugins, meta packages, and exposed optimization parameters. CK workflows can automatically plug in different models, data and tools from different vendors while building, running and benchmarking research code in a unified way across diverse platforms and environments. Such workflows also help to perform whole system optimization, reproduce results, and compare them using public or private scoreboards on the CK platform (https://cKnowledge.io). For example, the modular CK approach was successfully validated with industrial partners to automatically co-design and optimize software, hardware, and machine learning models for reproducible and efficient object detection in terms of speed, accuracy, energy, size, and other characteristics. The long-term goal is to simplify and accelerate the development and deployment of ML models and systems by helping researchers and practitioners to share and reuse their knowledge, experience, best practices, artifacts, and techniques using open CK APIs.
研究の動機と目的
- 進化を続けるソフトウェア、ハードウェア、および一時的な実験設定の影響により、MLおよびシステム研究における再現性の課題を解決すること。
- 研究結果の再現および生産環境へのモデルデプロイに要する時間と作業を削減するため、アーティファクトとワークフローを標準化すること。
- 統一されたインタフェースを備えた再利用可能でバージョニングされたコンポonentを通じて、異種プラットフォーム間での共同ベンチマークおよび最適化を可能にすること。
- コードおよびデータの取得から設定、ベンチマーク、生産システムとの統合までを含む、エンドツーエンドの自動化されたモデルデプロイを支援すること。
- パフォーマンストレードオフ(速度、正確性、消費電力、サイズ)の分析を可能にする、移植性があり拡張可能なフレームワークを提供することで、ソフトウェア・ハードウェア・モデルの共同設計を促進すること。
提案手法
- 機械学習およびシステム研究を、標準化されたJSONメタデータ、CLI、Python APIを備えた再利用可能なコンポonentに分解することで、移植性と相互運用性を確保する。
- 統一された設定および依存関係管理を用いて、プラットフォームを問わず、必要なソフトウェア、ハードウェア、モデル、データセットを自動的に検出およびインストールする。
- 動的コンポonentの組み合わせと環境への適応を可能にする移植性のあるワークフローを実装し、CPU、GPU、モバイルデバイス、クラウドプラットフォームを含む多様な環境をカバーする。
- DevOpsおよびMLOpsの原則を統合し、一貫性がありバージョニング管理された方法でMLシステムのビルド、テスト、ベンチマーク、デプロイを自動化する。
- cKnowledge.io上のパブリックおよびプライベートスコアボードを活用して、最適化パrameterを公開し、パラメータ探索によるパラメータフロンティアの自動探索を可能にする。
- ライブダッシュボードおよびウェブベースのインタフェース(例:ブラウザ内ウェブカメラによる推論)との統合により、リアルタイムの共同作業および検証を支援する。
実験結果
リサーチクエスチョン
- RQ1機械学習およびシステム研究を、進化を続けるソフトウェア、ハードウェア、データ環境において、どのように再現可能にできるか?
- RQ2多様なプラットフォームおよびデプロイ先間で、MLモデル、データセット、ツールのシームレスな再利用および組み合わせを可能にするメカニズムは何か?
- RQ3統一されたフレームワークは、既存の研究および生産パイプラインへの新規ツール、モデル、ベンチマークの統合に伴うオーバーヘッドを低減できるか?
- RQ4再現性を保ちながら、異種システムにわたる共同ベンチマークおよび最適化を自動化する方法は何か?
- RQ5コンポonentベースでAPIドリブンなアプローチは、最適なシステムパフォーマンスを実現するためのソフトウェア・ハードウェア・モデルの共同設計をどの程度可能にするか?
主な発見
- CKフレームワークは、Linux、macOS、Windows、Android、GPUサーバーを含む多様なプラットフォームにわたり、オブジェクト検出モデルの自動的かつ再現可能な移植性のあるデプロイを成功裏に実現した。
- 産業パートナーが、モジュラーなCKアプローチを用いて効率的なオブジェクト検出システムの共同設計を実施し、速度、正確性、消費電力、モデルサイズの最適なトレードオフを達成した。
- 標準化されたJSONメタデータおよびオープンCK APIの活用により、異なるベンダーからのモデル、データ、ツールを単一で統一されたワークフローにシームレスに統合できた。
- ユーザーはcKnowledge.ioプラットフォームを介して自システムのベンチマークを実行し、リアルタイムで公式MLPerfスコアおよびコミュニティ寄稿との比較が可能になった。
- ソフトウェア検出、依存関係管理、プリプロセッシング/ポストプロセッシングスクリプトの生成を自動化することで、手動設定や繰り返しのセットアップが大幅に削減された。
- CKワークフローをライブダッシュボードおよびウェブベースのインタフェース(例:リアルタイムのウェブカメラ推論)と統合することで、生産環境に近い環境での実用的デプロイの可能性が実証された。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。