プラットフォームのパースペクティブ: AI のインフラストラクチャと応用 - 人工知能、機械学習、および生成 AI の AWS クラウド 導入フレームワーク

プラットフォームのパースペクティブ: AI のインフラストラクチャと応用

AI アルゴリズムと ML アルゴリズム、およびその使用が高度化する中で、これらのアルゴリズムを実行するシステムやプロセスが古びてしまうことがあります。他の効率的な製造プロセスと同様に、統一され、一貫性のある製品を提供する AI 開発用のシステムとプラットフォームが必要です。この製品は、ビジネス価値を促進するアルゴリズム的な結果です。基礎的能力に沿ったプラットフォームを開発することで、競争上の優位性を引き出し、イノベーションを加速できます。リスク軽減プラットフォームは信頼性が高く、拡張可能で、このホワイトペーパーの他のパースペクティブに沿った、長期的なビジネス価値を可能にする基本的な能力の成果に基づいています。

AI 対応のプラットフォームは、コンポーネントを目的と意図に沿ったものにする一連の設計原則に基づいて、ML ライフサイクルのすべての側面を経時的にカバーする必要があります。その中心となるのは、分散データと管理対象データの管理とアクセスです。このデータは、個々のユーザーの特定のニーズを満たす方法で準備され、提供されます。さらに、包括的なエンドツーエンドの開発エクスペリエンスを通じて、新しい AI システムの開発をサポートする必要があります。また、既存の AI 機能や基盤モデルを活用することも不可欠です。これらのモデルをトレーニングしたら、オーケストレーション、モニタリング、共有を行い、ダウンストリームのコンシューマーとアプリケーション、システム、またはプロセスを統合することができます。これらのアクティビティは、一貫した改善を目的として、提供されたフィードバックに継続的に対応するプラットフォームイネーブルメントチームによって管理されます。

基礎的能力 説明
プラットフォームアーキテクチャ 繰り返し可能な AI の価値を実現するための原則、パターン、ベストプラクティス
最新のアプリケーションの開発 適切に設計された AI ファーストのアプリケーションを構築します。
AI ライフサイクルの管理と MLOp 機械学習ワークロードのライフサイクルを管理します。
データ アーキテクチャ 目的に合った AI データアーキテクチャを設計します。
プラットフォームエンジニアリング 強化された機能を備えた AI の環境を構築します。
データエンジニアリング AI 開発のデータフローを自動化します。
プロビジョニングとオーケストレーション 承認された AI 製品を作成、管理、配布します。
継続的インテグレーションと継続的デリバリー AI の進化を加速します。

プラットフォーム アーキテクチャ

繰り返し可能な AI の価値を実現するための原則、パターン、ベストプラクティス。

機械学習が研究主導のテクノロジーからエンジニアリングの実践へと成熟するにつれ、その応用から確実かつ反復的に価値を生み出す必要性がますます重要になっています。プラットフォームアーキテクチャの目的は、さまざまな CAF の視点から入力を検討し、ビジネス目標に沿った基盤を設計して、AI ライフサイクルの導入とイネーブルメントを保証することです。まず、プラットフォームのステークホルダーの成熟度および能力と、ML スタックから何が必要かを理解します。例えば、構築済みの既製の AI サービス、ローコードおよび Autopilot 機能の使用を有効化し、専門家でないユーザーが AI を使用できるようにするかについて考えます。または、インフラストラクチャに直接アクセスできる ML フレームワークの使用やカスタマイズなど、AI 開発ライフサイクル全体を通じた専門家による使用をサポートすることを目的とするかについて考えます。特に生成 AI の分野では、このような質問はプラットフォームアーキテクチャに大きな違いをもたらします。次の 3 つのレイヤーで、AI に関する具体的な要件を検討します。

  1. コンピューティングレイヤー: AI では、トレーニングと推論に大量のコンピューティングリソース (基盤モデル用) が必要になる場合があります。使用のガードレールに加えて、コストとパフォーマンスの比較は、組織の標準を設定する上で重要な要素の 1 つです。従来の CPU や GPU よりも優れた価格パフォーマンスでコストを削減できる専用のハードウェアの使用を検討してください。

  2. ML および AI サービスレイヤー: プラットフォームが ML および AI サービスの開発、デプロイ、イテレーションをどのようにサポートするかを設計します。ML サービスは、専門家のステークホルダーがカスタムモデル (基盤モデル など) をトレーニングまたはチューニングできるようなものである必要がありますが、AI サービスはモデルと機能 (生成 AI ドメイン内の大規模でコストのかかる基盤モデルなど) の使用が可能なものである必要があります。この分離は必ずしも容易なことではなく、要件は異なります。

  3. 使用レイヤー: AI 機能のダウンストリームコンシューマーは、このレイヤーでオペレーションを行います。これは、ダッシュボードのようなシンプルなものでも、プロンプトエンジニアリングによる基盤モデルの拡張、または検索拡張生成 (RAG) アプリケーションなどの特定の生成 AI アーキテクチャのような複雑なものでもかまいません。

プラットフォームを構築する際は、データ、モデル開発プロセス、デプロイ (データの必要なセグメンテーションなど) に影響する業界固有の法的要件を分析し、それに応じてガードレールを適用します。データのプライバシーやデータガバナンスなど、ダウンストリームチームが使用する際の標準を特定し、公開します。次に、準拠した環境とインフラストラクチャのプロビジョニングを合理化し、新しい AI ユースケースの開発とデプロイを高速化します。チームが AI ワークフローの重要なチェックポイントとしてどのようにヒューマンインザザループ (HITL) およびヒューマンオンザループ (HOTL) 機能を使用するかを理解して、フィードバックループをプラットフォームに統合する計画を立てます。最後に、バイアス検出、説明可能性レビュー担当者など、モデルの動作が変化した際の ML 固有のモニタリングの必要性を特定します。

AI サプライチェーンにモジュール設計を採用することは、独立したスケーリングと更新を可能にするために重要です。このモジュールアプローチは、より迅速なデータラベリングに役立ち、さまざまなコンポーネントの所有権と説明責任を明確にします。どのクラウドネイティブソリューションを標準化するかを決定する際には、コスト、信頼性、耐障害性、パフォーマンスなどの要素を考慮する必要があります。これらのベストプラクティスはすべて、設計ガイドラインや標準とともに、組織内のすべての実務者がアクセスできる中央リポジトリに公開する必要があります。プラットフォームの導入を測定するフィードバックメカニズムとメトリクスを実装すると、AI イニシアチブを継続的に把握できるため、情報に基づいた意思決定に役立ちます。

最新のアプリケーションの開発

適切に設計された AI ファーストのアプリケーションを構築します。

注記

AWS Well Architected Framework – 機械学習レンズ は、ワークロードとアーキテクチャの設計パターンとベストプラクティスの最終的なソースです。

AI テクノロジーが成熟するにつれ、これはアプリケーション開発のあらゆる側面に関連します。

  1. AI で強化されたアプリケーション開発: AI を活用してソフトウェア開発ライフサイクル (SDLC) を強化します。AI サービスとツールを使用して、生成およびオートコンプリート機能を持つアプリケーションを推進したり、潜在的なコードの問題を特定するレビュープロセスや、効率的でエラーのない開発を確保して、パフォーマンスとテストを自動化することによって、合理化を行います。概念化からソフトウェアのメンテナンスまで、AI 機能を使用して SDLC を見直します。

  2. 差別化要因としての AI: AI をソフトウェアに統合すると、ユーザーエクスペリエンスを向上させたり、価値提案の中核に据えるたりすることができます。AI はソフトウェアの機能を向上させ、ユーザーのニーズや期待と密接に一致し、最終的にユーザーが使用しやすい製品を提供することができます。このようなアプリケーションを開発する場合、データがシステム内をどのように移動するか、それによって AI システムがどのように変化するか、データによって生成される出力、これらの出力がコンシューマーや顧客によってどのように解釈されるか、ユーザーが使用する新しいデータにそれらの出力がどのようにつながるかを考慮します。AI で既に確立されている設計原則に基づいて、アーキテクチャ上の決定を行います。

  3. AI モデルの開発: AI をソフトウェアに統合する際は、既存のモデルを適応させるか、オープンソースのオプションを利用するか、カスタムソリューションを作成するかを検討します。モダンアプリケーション開発が進化するにつれて、AI をマスターするには日々の活動が必要です。特定のデータを使用し、ニーズに合わせてモデルを微調整して、ユースケースに合わせたさらなるカスタマイズが必要な場合があります。

3 つの側面すべてについて、アプリケーションと開発プロセスを、小規模で管理しやすいサイズに分割する方法を検討してください。マイクロサービスまたはマルチモデルアプローチをアジャイルプラクティスと連携させることで、柔軟性を高め、完成までの期間を短縮し、変化により適切に対応できます。このアプローチは、反復テスト、実験、改良の必要性が高い AI 開発で特に有効です。AI システムは、顧客とユーザーによって実際には異なって認識されており、多くのユーザーにはシステムの使用に役立つメンタルモデルが欠落していることを、開発チームに明確に理解してもらいます。つまり、顧客やユーザーが使用するすべての AI ベースのアプリケーションは、ユーザーエクスペリエンス (UX) を新たに見直すことで直接的なメリットを得られます。

AI のライフサイクル管理

AI のライフサイクル管理は、組織の能力とともに成熟するアーキテクチャとエンジニアリングのパースペクティブに分かれます。

アーキテクチャのパースペクティブは、AI のライフサイクル管理の設計、計画、概念的な側面に焦点を当てます。機械学習ワークロードのライフサイクルの管理は、包括的なアプローチを必要とする複雑なタスクです。このライフサイクルは、次の主な 3 つの要素から構成されています。

  1. ビジネス成果と顧客価値の特定、管理、提供

  2. AI ソリューションの技術的コンポーネントの構築と進化

  3. AI システムの経時的な運用は、機械学習オペレーション (MLOps)、または大規模モデルの場合、基盤モデルオペレーション (FMOps) とも呼ばれます。

これらの各コンポーネントは複雑なため、Well Architected Framework: ML レンズで詳細なガイダンスを提供しています。異なる AI 戦略においては、これら 3 つの要素に対する視点も異なります。例えば、全体的な目標がカスタムモデルから新製品を開発することである場合、一般公開されているサービスを通じて社内の運用効率の向上に努める場合とは異なる観点からライフサイクル管理を構築する必要があります。どのアプローチを採用する場合でも、一元化されたリポジトリとバージョン管理を使用して AI アーティファクトを保存し、モデル系統とデータ系統を追跡します。

エンジニアリングのパースペクティブは、AI のライフサイクル管理の実装と運用に重点を置いています。このプロセスを効率化するには、AI モデルのデプロイとモニタリングを自動化する MLOps プラクティスを実装して、工数の削減、信頼性の向上、デプロイまでの時間の短縮、オブザーバビリティの向上を行うことが重要です。概念からデプロイ、さらにはモニタリングまで、AI のライフサイクルを管理するための定義済みプロセスに沿ったものにします。このプロセスには、パフォーマンスのモニタリングを含む、データの収集と保存、モデルのトレーニングとデプロイ、モデルのモニタリングと評価 (CAF-AI の運用セクション) の手順を含める必要があります。これにより、早期に問題を検知し、モデルの継続的な進化をサポートできます。最後に、パフォーマンスが低下したり、新しいデータを受け取ったりした場合などに、AI モデルを再トレーニングするための自動化フレームワークを確立します。

業界のベストプラクティスに関連して現在の状況をよりよく理解するには、AWS パートナーまたは AWS の MLOps の成熟度を評価し、MLOps とライフサイクルフレームワークに基づいて意思決定を行います。これらのプロセスと標準は、組織の知識だけに頼るシステムに対する最善の自衛策となり、AI の技術的な負担を軽減します。データチームが、厳格な ML メトリクスがビジネスメトリクスにどのように影響を与えるかではなく、厳格な ML メトリクスのみに過度に焦点を合わせることがよくありますが、これはライフサイクル管理においては失敗です。どの過程においても、MLOps 用に確立したプロセスと標準を再現可能なものにしてください。このような MLOps のベストプラクティスは、サイエンスチームがモデリングに疲労せずに、実験の大規模な並列化に気を取られることなく、結果に集中するのにも役立ちます。

データアーキテクチャ

目的に合った AI データアーキテクチャを設計します。

データは AI の鍵であり、データ型とデータ量は急増するため、従来のデータアーキテクチャを進化させる必要があります。特に、AI はビジネス意思決定の中心になりつつあるため、AI においては AI の複雑性に適した保存、管理、分析の新しいアプローチを必要とします。AI ワークロードは、大量のデータだけでなく、モデルのトレーニングと検証に多様で高品質のデータも必要とすることに注意してください。このようなデータは、多くの場合、さまざまな形式や構造で複数のソースから取得されるため、データの移動やタイプに制限があり、従来のデータアーキテクチャでは、この種の多様性やボリュームを効率的に管理することはできません。そのため、進化し続ける最新のデータアーキテクチャの分野についての知識を深めてください。これにより、データレイク、データウェアハウス、その他の専用データストアを一元化でき、ガバナンスの複雑さが軽減されると同時に、AI にとって不可欠なデータの移動が可能になります。

今日の組織では、構造化されスループット最適化済みのストアであるデータウェアハウス、さまざまなサイロからデータを集約し、中央データリポジトリとして機能するデータレイク、NoSQL データベース、検索サービスなどのビジネスアプリケーション専用ストアの 3 つが主要なアーキテクチャであり、それぞれが異なるユースケースをサポートしています。ただし、これらのストア間でデータを移動することは難しく、コストがかかる可能性があります。したがって、AI システムにとってデータ移動の重要性が増すにつれて、アーキテクチャのデータ移動要件は次のようになります。

  • 内部から外部へ: データは、まず、さまざまなソースからデータレイクに集約されます。データベースや適切に構造化されたスプレッドシートのように構造化されているものも、メディアやテキストのように構造化されていないものもあります。サブセットは、検索分析やナレッジグラフの構築など、専用の分析のために専用のストアに移動されます。

  • 外部から内部へ: データは、最初に、特定のアプリケーションに適した専用ストアに格納されています。例えば、クラウドで実行されているゲームをサポートするために、アプリケーションは特定のストアを使用してゲームの状態とリーダーボードを維持する場合があります。その後、このデータはデータレイクに移動され、より包括的な分析を実施してゲーム体験を向上させることができます。

  • ペリメータの周辺: これは、リレーショナルデータベースから NoSQL データベースなど、特殊なデータストア間でデータを移動し、ダッシュボードレポートなど、特定のニーズに対応します。

AI チームの迅速なスピードを維持するには、このようなデータ移動をシームレスに行う必要があります。AI が急速に進化するにつれて、この柔軟性を持つことが鍵となります。AI においてはデータの重要性が高く、データをマシンコードのように処理できるため、AI とデータアーキテクチャの間の境界線は明確ではありません。最新のデータアーキテクチャにより、組織はデータ自体を製品 と見なすことができます。最新のデータアーキテクチャは静的なコンストラクトではなく、新しいデータ型やテクノロジーの出現に柔軟に対応できるよう設計されています。したがって、最新のデータアーキテクチャ分散データメッシュデータマートなど、さまざまな新しいアーキタイプのデータアーキテクチャを検討し、すべてのタイプのデータに対して統一されたプラットフォームまたはエコシステムをプロビジョニングします。最後に、現在のアーキテクチャを定期的に見直し、アクセスパターンとニーズを事前に検討し、目的に合ったアーキテクチャを選択します。データセットが見つけやすいものになっており、十分に文書化され、理解しやすいように計画してください。メタデータの原則またはデータドキュメントを作成して、データの意味、他のデータとの関係、オリジン、使用状況、形式など、データに関する情報を記載します。

プラットフォームエンジニアリング

強化された機能を備え、準拠した AI の環境を構築します。

クラウドにより、組織が最先端の AI インフラストラクチャとサービスにアクセスする方法は大きく変化しました。AI へのアクセスを民主化することで、組織は AI ワークフローを簡素化し、規模の経済が持つ莫大なメリットを活用できます。そのため、理にかなった AI プラットフォームにより、AI チームはより低いコストで、より多くのことを実行できます。プラットフォームを適切に構築し、さまざまなステークホルダー (開発者、データチーム、オペレーションなど) に簡素化と抽象化を提供し、作業方法を改善する能力を高めながら、その負荷を軽減します。

  • AI サービス: 構築済みのモデルや特定のユースケースを考慮して、構築するプラットフォームと既製の AI サービス間の接続を簡素化することで、チームが最新のデータアーキテクチャを直接使用できるようにします。

  • ML サービス: クラウドでは、開発者は AI アプリケーションの開発とデプロイ用に設計された専用の環境を使用できます。AI モデルのトレーニングとデプロイにおいてこのようなマネージド機械学習サービスは不可欠なものです。これらによって、ML システムのエンジニアリングに固有の複雑なプロセスや長期間のプロセスを効果的に処理できます。これらのサービスを採用することで、AI チームは貴重な時間をより戦略的イニシアチブに費やすことができるようになります。

  • ML インフラストラクチャ: 高度に専門化された基盤 AI インフラストラクチャを管理することで、プラットフォームでの高負荷をチームから取り除くことができます。インフラストラクチャを所有することは、多くの場合、AI チームを強化することなく逆に妨げとなり、ビジネス価値の棚上げすることになる点に注意してください。

クラウドの主な利点の 1 つは、日常的なタスクを自動化する能力です。ML プラットフォームタスクによって、プロセスの高速化、人為的ミスの軽減、一貫性の確保を行えるため、このタスクを可能な限り自動化します。AI ソリューションが複雑になればなるほど、専用の MLOps プラクティスが重要になりますAI に特化したモニタリングツールを導入開始からプラットフォームに埋め込みます。このようなツールは AI ワークロードのパフォーマンスを追跡し、運用に関する貴重なインサイトを提供するため、問題を早期に特定するのに役立ちます。フィードバックメカニズムは、モデルの微調整とハイパーパラメータの設定に影響します。ワークロードをリアルタイムでモニタリングすることで、組織は AI アプリケーションのパフォーマンスを最も適切に向上させ、発生した問題に迅速に対処できるようになります。

クラウドには幅広い柔軟性がありますが、ガードレールを実装することが不可欠です。リスクの低減と責任のある使用を保証するための定義されたベストプラクティスとセキュリティパラメータの範囲内で開発者が作業できるようにするために、ガイドラインまたは制限を通じてこのようなガードレールを採用します。セーフティネットを提供し、イノベーションを推奨しつつ、組織のセキュリティ、コンプライアンス、またはパフォーマンス基準を侵害しないようにします。

データエンジニアリング

AI 開発のデータフローを自動化します。

データは AI 戦略と開発プロセスの基盤であるため、データエンジニアリングは最初に考慮すべきより重要なものとなりますが、組織やチーム内で簡単に利用できる能力です。データは AI システムの動作を能動的に形成するために使用されるため、データを適切に設計することが非常に重要です。データ準備ツールは、開発プロセスの不可欠な要素です。プラクティス自体は根本的に変化していませんが、その重要性と継続的な進化の必要性は高まっています。合理的かつシームレスな前処理を通じて、データパイプラインとプラクティスを AI 開発プロセスとモデルトレーニングに直接統合することを検討してください。従来の抽出、変換、ロード (ETL) プロセスからゼロ ETL アプローチへの移行を検討してください。データエンジニアリングへのこのようなアプローチにより、データプラクティスと AI プラクティスの間の摩擦を軽減できます。AI チームが複数のソースからのデータをセルフサービス機能として 1 つの統合ビューにまとめることを可能にし、権限を与えます。これを、AI やデータチームがデータを視覚的に探索して理解するのに役立つ視覚化ツールや手法と組み合わせます。

可能な限り、正確性、完全性、信頼性の高いデータに焦点を当てます。効率的なデータの取り扱いと処理を促進するため、(正規化され、一貫性があり、適切に文書化された) 機械学習専用のワークフローの一部として、データモデルまたは変換を設計します。これにより、AI アプリケーションのパフォーマンスが大幅に向上し、開発プロセスの摩擦が減少します。

プロビジョニングとオーケストレーション

承認された AI 製品を作成、管理、配布します。

AI システムのインフラストラクチャ要件は、さまざまな開発段階とデプロイ段階にわたって大幅に変化するため、プロビジョニングとオーケストレーションには既存のクラウド戦略に 2 つ目の視点が必要です。AI トランスフォーメーションジャーニーのどのステージにいるか、そしてそれが MLOps の成熟度にどのように関係しているかを理解します。使用者、データエンジニア、データサイエンティスト、開発者、ビジネスアナリストが各自の業務を行う際は、それぞれニーズと要件が異なることを考慮してください。さまざまなユーザー、特に技術的な専門知識に乏しいユーザーに対して、AI 環境のセルフサービスプロビジョニングを提供する方法を特定します。そのためには、プラットフォームアーキテクチャで承認されたカタログポートフォリオ製品を作成します。カタログはエンドユーザーに配布でき、ユーザーはカタログ内の製品を使用できます。製品は、Infrastructure as Code (IaC) として定義し、プラットフォームチームが管理する組織ポリシーに従って、パーソナライズされたポータル、または CI/CD パイプラインを介してデプロイできます。一般的なユースケースとしては、データチームが新しいビジネス課題に取り組むために、事前定義されたノートブックとコンピューティングを提供するパーソナライズされたポータルを提供し、プラットフォームチームがリソースをプロビジョニングするのを待つことなく、迅速に実行できるようにすることが挙げられます。一連のツールを必要とするデータサイエンティストなどのより高度な役割に対しては、基盤モデルのアクセラレーターへのアクセス許可の付与を含む AI 環境全体をデプロイするカタログを設定できます。

AI モデルのトレーニングまたはチューニングステップでは、高性能なコンピューティングが必要で、予算とガバナンスの制約に合った事前承認済みのサービスを使用してプロビジョニングを自動化することを検討してください。可能な限り、API レベルおよびフレームワークレベルのオートメーションとオーケストレーションを使用します。AI ワークロードのデプロイを管理し、基盤となるインフラストラクチャの作成を効率化するメカニズムを設計します。

継続的インテグレーションと継続的デリバリー (CI/CD)

AI の進化を加速します。

AI における継続的インテグレーションおよびデリバリーには、根本的に異なる 2 つの視点があります。1 つ目は、カスタムモデルの開発など、モデルの開発とデプロイのプロセスをできる限り自動化して強化することです。2 つ目は、DevOps エクスペリエンスの一部として AI を使用し、それを通じて CI/CD を容易にすることです。

1 つ目のステージでは、組織は AI モデルのデプロイとテストを自動化し、チームはクラウドがもたらすスピードでイノベーションを起こすことができます。カスタムモデルの開発では、データ処理、モデルトレーニング、モデル評価、後処理、モデル登録、モデルのデプロイなど、複雑なワークフローの管理と AI ワークロードのデプロイと管理を自動化することが目的です。AI 開発プロセスを自動化する際は、ML パイプライン専用のツールを、従来のアプリケーション開発で一般的な方法やツールとともに使用します。適切なアーキテクチャとブループリントにより、データサイエンティストはさまざまなモデルを試し、本番環境に導入する前にモデルを徹底的にテストできます。この機能の構築が組織に適しているかどうかを、時間をかけて考慮します。そのためには、ML モデルの作成速度、更新の必要性、ユースケースの重要度と影響を理解する必要があります。モデルドリフトは時間の経過とともに発生する可能性があるため、再トレーニングのしきい値を定義するなど、検証プロセスをどの程度自動化できるかを検討してください。自動検証は、モデルのパフォーマンスを事前定義された基準に照らしてチェックし、モデルのパフォーマンスが許容可能なしきい値を超えてドリフトすると、自動再トレーニングまたは以前のバージョンへのロールバックをトリガーします。最後に、人によるフィードバックを統合し、モデルの検証、テスト、再トレーニングなどのタスクを自動化することによる反復性で AI ワークロードの信頼性が向上し、データサイエンティストやエンジニアはより戦略的なタスクに集中するために貴重な時間を費やすことができるようになります。これらの側面を統合すると、組織はデータや要件が進化する中で、モデルとカプセル化する AI システムの関連性と有効性を維持しながら、費用対効果の高い方法で AI モデルを進化させることができます。

2 つ目の視点では、AI や AI 以外の関連 DevOps アクティビティに AI を使用し、開発プロセスを強化して、適切な場合は生成 AI を活用します。AI がもたらす最も重要なビジネス価値のいくつかは、AI が開発プロセス自体に適用されていることから生まれます。そのため、ステークホルダーがそれを技術的なワークフローでどのように受け入れることができるかを検討します。つまり、AI を使用してワークロードの異常を分析したり、AI を使用してコードレベルのパフォーマンスを最適化したり、開発者のプロンプトに基づいてコードを生成したりすることができます。組織における DevOps 向けの AI の使用が、セキュリティを念頭に置いたものとなっていることを常に確認してください。