gitops:LLMS
のインフラストラクチャとアプリケーションの展開を自動化します
アプリケーションとモデルの展開を自動化するために、DevOpsとMLOPSに遭遇した可能性があります。 次に、DevOpsの原則をインフラストラクチャオートメーションに拡張するフレームワークであるGitopsを探索しましょう。この投稿では、Gitops、その重要性、さまざまなモデル、および大規模な言語モデル(LLM)プロジェクトへの統合について詳しく説明しています。
[
]
著者による画像
短いコースでDevOpsとMLOPSの理解を高める:DevOpsの概念とMLOPSの概念。
gitops
を理解します
gitopsは、構成をコード(コードまたはIACとしてインフラストラクチャ)として扱うことにより、インフラストラクチャ管理を自動化する運用フレームワークです。 特にクラウド環境で、一貫した信頼性の高いインフラストラクチャプロビジョニングのために、バージョンの制御、コラボレーション、コンプライアンス、CI/CD、および観察可能性(デヴォープの教義)を活用します。 ソースコードを使用する開発者と同様に、オペレーションチームはGITリポジトリの構成ファイルを使用して、一貫した展開を確保します。
必須のGitopsワークフローコンポーネント:
-
gitリポジトリ:アプリケーションソースコードとインフラストラクチャ構成ファイルを保存します。
- 継続的配信(CD)パイプライン:アプリケーションとインフラストラクチャの変更の構築、テスト、展開を自動化します。
アプリケーションの展開ツール:- GITリポジトリ構成に基づいて、正確かつ効率的なアプリケーションの展開を保証します。
監視システム:
システムの信頼性のためのアプリケーションのパフォーマンスと健康を追跡します。
gitops vs. devops vs. mlops
asect |
devops |
gitops |
mlops |
定義 |
ソフトウェア開発とIT操作を組み合わせて、開発のライフサイクルを短縮します。
| GITを単一の真実のソースとして使用して、DevOpsの原則をインフラストラクチャ管理に適用します。
devopsの原則を機械学習モデルの開発と展開に適用します。
|
| プライマリフォーカス
ソフトウェア開発、テスト、展開の自動化と改善
GITベースのワークフローを通じてインフラストラクチャとアプリケーションの展開を自動化します。 |
MLモデルの開発、展開、ライフサイクル管理の自動化
|
重要な原則 |
コラボレーション、CI/CD、IAC |
IAC、宣言的構成、連続調整、バージョン制御
モデルバージョン化、モデルの監視、再現性、継続的なトレーニングおよび展開 |
|
ツールとテクノロジー |
ジェンキンス、githubアクション、テラフォーム、ansible、docker、kubernetes |
Argo CD、Flux、Kubernetes、Helm、Terraform、Github Actions
mlflow、kubeflow、tensorflow extended(tfx)、sagemaker、airflow |
|
ユースケース |
ソフトウェア開発、アプリケーションの展開、クラウドネイティブアプリケーション。 |
クラウドインフラストラクチャの管理、kubernetesの展開、構成の更新の自動化。
MLモデルトレーニング、展開、監視、およびパイプラインの再トレーニング
|
自動化スコープ |
アプリケーションのビルド、テスト、および展開を自動化します
| インフラストラクチャのプロビジョニング、構成管理、アプリケーションの展開を自動化します
MLモデルのトレーニング、検証、展開、および監視を自動化します
|
バージョンコントロール
ソフトウェアおよびアプリケーション構成用のバージョン制御コードベース。 |
gitは、インフラストラクチャの状態と構成の単一の真実の源です。
MLモデル、データセット、およびトレーニングパイプラインのバージョンコントロール。 |
|
CI/CD統合 |
自動テスト、ビルド、および展開パイプラインを備えた
コア原理。
インフラストラクチャの更新を自動化するために、CI/CDパイプラインと高度に統合されています
| CI/CDと統合しますが、継続的なトレーニングと検証には専門のMLパイプラインが必要です。
|
インフラストラクチャmgmt |
はIACをサポートしますが、アプリケーションの展開にもっと焦点を当てています
| バージョン制御された構成を介してインフラストラクチャを管理します
MLインフラストラクチャをサポートし、モデルの実験とドリフトを管理します
| 監視&obs。
ロギング、監視ツールによる観測可能性。 |
Argo CDなどのGitopsコントローラーを介した継続的な監視と自己修復
| モデルのパフォーマンス監視、データドリフト検出、および再トレーニングトリガーに焦点を当てています。
|
課題 |
文化的変化、コラボレーション、ツールチェーン統合の複雑さ。 |
宣言的なインフラストラクチャへの移行、大規模な環境での複雑さのスケーリング。 |
高いインフラストラクチャの複雑さ、データ管理の課題、DevOpsパイプラインとの統合。
|
なぜgitops?
を選ぶのか
従来のマニュアルインフラストラクチャ管理は、最新のクラウド環境には不十分です。 GitOpsは弾力性と信頼性の高いインフラストラクチャを提供し、迅速で一貫した展開を可能にします。手動エラーを最小限に抑え、効率を向上させ、インフラストラクチャとアプリケーション間の同期を保証します。
重要なGitopsの利点:
- バージョンコントロール:すべての変更はgitでバージョン制御され、ロールバックと監査を促進します。
改善されたコラボレーション:- チームは、おなじみのGitワークフローを使用して効果的に協力します
信頼性の向上:
宣言的構成自動システム状態の復元を有効にします
-
自動化:手動介入とヒューマンエラーを減らします
- セキュリティ:gitのコミット履歴により、セキュリティとトレーサビリティが向上します
プルベースとプッシュベースのGitops -
2つの主要なGitopsモデルが存在します:プルベースとプッシュベース
プルベース(典型的なGitops):
Gitopsオペレーター(Flux、Argo CD)は、変更のためにGitリポジトリを監視します。更新を検出すると、構成をプルし、ターゲット環境に適用します。 このモデルには、ドリフト検出と自己修復が含まれます
プッシュベース(CI/CDツールを使用):GitHubアクションのようなツールは、Commitのクラスターに更新をプッシュします。 継続的な調整、ドリフト検出、自動ロールバックがありませんが、実装が簡単です。
gitopsをLLMプロジェクトに統合します
このセクションでは、シンプルさのためにGitHubアクションを使用したプッシュベースのGitopsアプローチを使用しています。 Gitops PrinciplesをLLMアプリケーション展開プロジェクトに適用します(「Dockerを使用してLLMアプリケーションを展開する方法」というチュートリアルに似ています)。
[]
出典:dockerを使用してLLMアプリケーションを展開する方法:ステップバイステップガイド私たちのコースを検討してください。
効果的なモデルトレーニング、メンテナンス、およびスケーリングのために、MLOPSの考え方で生産のための機械学習モデルを開発しています。
プロジェクト構造:
:アプリケーションコード、依存関係(
)、dockerfile。
:kubernetes構成(例:、
、)。
:githubアクションを備えたCI/CDオートメーション(、
)。
-
app/
githubアクションワークフロー:requirements.txt
- 開発者は、githubにコードと構成をコミットします。
- ciパイプライン(
ci.yaml
):docker画像を構築し、オプションでプッシュしてテストを実行します。
CD Pipeline():- または
cd.yaml
。kubectl apply
を使用して更新を展開します
helm upgrade
Kubernetesクラスターが更新されました。
-
プッシュベースのGitops:利点とトレードオフ
利点:
シンプルさ:githubアクションのみが必要です。
- ワンストップショップ:GitHubアクションは、構築、テスト、展開を処理します
- トレードオフ:
真にプルベースではありません:連続的な調整がありません。
ドリフトの検出なし:手動クラスターの変更は自動的に戻りません。-
セキュリティ:githubの秘密のクラスター資格情報の慎重な処理が必要です。-
プルベースのモデルへの移行-
大規模なプロジェクトまたはより要求の厳しい要件については、プルベースのモデル(Argo CD、Flux)は、自己修復、継続的な調整、視覚的なダッシュボードを提供します。
結論
Gitopsで小さく始めて、徐々にそのテクノロジーを組み込みます。 Dockerから始めてから、Kubernetes、プッシュベースのGitopsアプローチ(GitHubアクション)を使用します。 最後に、生産レベルの安定性のためのプルベースのモデルへの移行。 この段階的なアプローチは、クラウドネイティブアプリケーションのGitopsの利点を最大化します。 AI初心者については、AIの基礎スキルトラックを検討してください
以上がGitopsとは何ですか?インフラストラクチャ管理を自動化するための簡単なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。