Yolo 深圳
深セン
今すぐ参加
用語集

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

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

継続的インテグレーション(CI)は、ソフトウェア開発の基本的なプラクティスである。 コードの変更を中央の共有リポジトリにマージする。大規模なアップデートを定期的に統合するのではなく、CIは以下のことを推奨している。 自動化されたビルドとテストシーケンスのトリガーとなる、小規模で定期的なコミットを推奨している。ダイナミックな 人工知能(AI)と 機械学習(ML)のダイナミックな分野では、この実践は の要である。 機械学習オペレーション(MLOps)の要である。これは、コード、データ、またはハイパーパラメータへの変更が、既存のハイパーパラメータを破壊しないことを保証するものである。 ハイパーパラメータを変更しても、既存のシステム またはモデルのパフォーマンスを低下させないようにする。

機械学習におけるCIの基本原則

CIの第一の目的は、エラーをできるだけ早期にdetect することである。 と呼ばれる概念だ。このプロセスは、コードベースを管理するためにGitのようなバージョン管理システムに大きく依存している。 のようなバージョン管理システムに大きく依存している。開発者が変更をプッシュすると、CIサーバー-たとえば GitHub ActionsGitLab CIや JenkinsのようなCIサーバーが自動的に などが自動的に新しい環境を立ち上げます。

MLプロジェクトの場合、この環境では のようなコンテナ化ツールを使うことが多い。 Dockerのようなコンテナ化ツールを使うことが多い。CI パイプラインは一連のチェックを実行する:

  • コードの品質:コーディング標準を維持するためにリンターと静的解析を実行する。
  • ユニットテスト:個々の関数やクラスが期待通りに動作するかを検証すること。
  • データ・バリデーショントレーニングデータが トレーニング・データが期待されるスキーマや品質基準に準拠していることを確認すること。 品質基準を満たしていることを確認する。
  • モデルの評価:学習済みモデルを検証データセットに対して 検証データセットに対して 精度が定義されたしきい値を下回っていないことを確認する。

パフォーマンス・チェックの実施

MLのCIの重要な側面は、コードはエラーなく実行されるがモデルの知性が低下する「サイレント・エラー」を防ぐことである。 を防ぐことである。これは モデルテストをCIワークフローに直接統合することである。

次のPython スニペットは、CIスクリプトがどのように YOLO11モデルをロードし、そのパフォーマンス・メトリクスが特定の コードをマージする前に、そのパフォーマンスメトリックが特定の基準を満たしていることを保証します。

from ultralytics import YOLO

# Load the model to be tested (e.g., a newly trained artifact)
model = YOLO("yolo11n.pt")

# Run validation on a standard dataset (e.g., coco8.yaml for quick CI checks)
results = model.val(data="coco8.yaml")

# Extract the mAP50-95 metric
map_score = results.box.map

# Assert performance meets the minimum requirement for the pipeline to pass
print(f"Current mAP: {map_score}")
if map_score < 0.30:
    raise ValueError("Model performance regression detected! mAP is too low.")

実際のアプリケーション

継続的インテグレーションの適用は、信頼性が譲れない業界では不可欠である。

  • 自律走行:自律走行車の開発では 自律走行車の開発では、安全性が最優先される。 エンジニアはCIパイプラインを使用して、何千もの オブジェクト検出モデルを自動的にテストするために 例えば、夜間や雨天時の歩行者の識別などだ。コード変更により 平均平均精度(mAP)が低下した場合、システムはアップデートをブロックします、 システムはアップデートをブロックし、潜在的に危険なソフトウェアが車両に到達するのを防ぎます。
  • 医療診断医療診断 医療におけるAI、具体的には 腫瘍検出のような 一貫性が重要です。CIパイプラインは、画像前処理アルゴリズムの更新が不注意に入力データを変更しないことを保証する。 診断モデルを混乱させるような 診断モデルを混乱させる。医療画像の "ゴールデンセット "に対してリグレッションテストを実行することで、チームは臨床的な精度を維持することを保証している。 臨床的精度が維持されることを保証します。

継続的インテグレーションと継続的デプロイメント(CD)の比較

CI/CDとして一緒に語られることが多いが、継続的インテグレーションと以下のものを区別することが重要である。 継続的デプロイメント

  • 継続的インテグレーション(CI)は開発サイクルに焦点を当てる。新しいコード が既存のコードベースと正しく統合され、すべての自動テストに合格することを検証する。検証済みの成果物 (dockerイメージやモデルファイルのような)。
  • 継続的デプロイメント(CD)はリリース・サイクルに焦点を当てている。CIによって生成された成果物を クラウドサーバーやエッジデバイスなどの本番環境に自動的にデプロイする。

ビジョンAI製品のライフサイクルを加速する合理的なパイプラインを形成します。 ビジョンAI製品のライフサイクルを加速する合理的なパイプラインを形成します。 品質とセキュリティの高水準を維持しながら

Ultralytics コミュニティに参加する

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

今すぐ参加