ヨロビジョン深圳
深セン
今すぐ参加
用語集

継続的インテグレーション(CI)

継続的インテグレーションでAI/MLワークフローを強化しましょう。テストの自動化、コード品質の向上、モデル開発の効率化が容易になります。

継続的インテグレーション(CI)は、開発者がコードの変更を頻繁に中央リポジトリにマージし、その後、自動ビルドとテストが実行されるソフトウェア開発プラクティスです。CIの主な目標は、統合の問題を早期に検出し、コード品質を向上させ、開発ワークフローを合理化することです。人工知能(AI)および機械学習(ML)のコンテキストでは、CIは従来のコードチェックを超えて、データ、モデル、およびパイプライン全体のパフォーマンスの検証を含み、機械学習運用(MLOps)の重要なコンポーネントを形成します。

継続的インテグレーションの主要原則

CIプロセスは、自動化と頻繁なイテレーションを基盤として構築されています。開発者は、Gitのようなバージョン管理システムを使用して、小さく頻繁な変更を共有リポジトリにプッシュします。各プッシュは、いくつかの重要なステップを実行する自動化されたワークフロー(またはパイプライン)をトリガーします。

  • 自動ビルド: システムは、コードが正しく統合されるように、自動的にコードをコンパイルします。MLプロジェクトの場合、これにはDockerのようなコンテナ化ツールを使用して環境をセットアップすることが含まれる場合があります。
  • 自動テスト: 一連のテストが実行され、新しい変更が検証されます。これには、コードロジックの単体テスト、コンポーネントインタラクションの統合テスト、およびデータ検証やモデル評価のようなMLの特殊なテストが含まれます。
  • 高速なフィードバックループ: パイプラインのいずれかのステップでエラーが発生した場合、開発チームに直ちに通知されます。これにより、問題がより複雑になり、メインのコードベースに統合される前に、迅速に対処できます。

機械学習のためのCI(CI4ML)

機械学習プロジェクトにCIを適用すると、特有の課題が生じます。単なるコードだけでなく、MLシステムにはデータと学習済みモデルが含まれており、これらもバージョン管理と検証を行う必要があります。Ultralytics YOLOモデルを含むMLプロジェクトの効果的なCIパイプラインには、追加の手順が含まれます。

  • データ検証: 新しいデータの正確性、スキーマの遵守、および潜在的なデータセットのバイアスを自動的にチェックします。Great Expectationsのようなツールをこれに使用できます。
  • モデルのテスト: 性能低下をチェックするためのテストの実行。これには、標準化された検証データセットで、新しいモデルの性能指標をベースラインバージョンと比較することが含まれます。
  • トレーニングパイプラインの検証: モデルトレーニングプロセス自体が再現可能で効率的であることを保証します。これは、データセット管理とトレーニングワークフローを効率化するUltralytics HUBのようなプラットフォームを使用して管理できます。

実際のアプリケーション

  1. 自動運転開発: 自動運転車向けの物体検出モデルに取り組んでいるチームが、CIパイプラインを使用しています。開発者が夜間の歩行者検出能力を向上させるためにコードを送信すると、パイプラインが自動的にトリガーされます。ユニットテストを実行し、テストデータセットでYOLO11モデルの軽量バージョンを再トレーニングし、そのmAPを評価します。精度が低下せず、すべてのテストに合格した場合、変更はマージのために承認されます。GitHub ActionsJenkinsなどの一般的なCIツールは、これらのワークフローを自動化するために一般的に使用されます。
  2. 医療画像解析: 医療画像における腫瘍検出のために設計されたシステムでは、データサイエンティストはロバスト性を向上させるために新しい拡張データを追加する場合があります。CIパイプラインは、新しいデータ形式と分布を検証します。次に、事前トレーニング済みのモデルを使用して検証実行をトリガーし、「ゴールデンデータセット」でのモデルの予測が一貫していることを確認し、本番環境での予期しない動作を防ぎます。このプロセスは、医療におけるAIに不可欠な高い信頼性基準を維持するのに役立ちます。

継続的インテグレーション vs. 継続的デリバリー/デプロイメント(CD)

密接に関連していますが、CIは継続的デリバリーおよび継続的デプロイメント(CD)とは異なります。

  • 継続的インテグレーション(CI): コード変更の頻繁な統合と自動テストに焦点を当てています。出力は、次の段階に進む準備ができた検証済みのビルドです。UltralyticsはCIを使用して、すべてのプルリクエストをマージ前にテストします
  • 継続的デリバリー(CD): CIを拡張し、検証済みのすべての変更をステージング環境または本番環境へのリリースに向けて自動的に準備します。ただし、本番環境への最終的なモデルのデプロイには、手動による承認が必要です。このアプローチは、Atlassianのようなソースのガイドで詳しく説明されています。
  • 継続的デプロイメント(CD): 検証済みのすべての変更を、人的介入なしに本番環境に直接自動的にデプロイすることにより、さらに一歩進んでいます。これは、ソフトウェアリリースライフサイクルにおける最高レベルの自動化を表しています。

CIとCDの実践は、初期の実験からデプロイメント、継続的なモデル監視まで、機械学習システムの開発と運用を統合することを目的とした、堅牢なMLOps戦略の基礎となります。

Ultralyticsコミュニティに参加しませんか?

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加
クリップボードにコピーしました