マーケティングから採用、運用、セキュリティまで、あらゆる分野で AI を活用することが大いに宣伝されています。 弊社の年次調査によると、ほとんどの組織がビジネス、運用、セキュリティの分野で AI に熱心に注目しています。
どれも驚くべきことではありません。 さまざまなビジネス機能や IT 機能をサポートするために AI が健全に導入されていることを示す調査が数多くあります。
あまり話題になっていないのは、AI が開発にどのように組み込まれているかということです。
ビジネスとセキュリティに対する AI の価値の根底にある前提は、実用的な洞察を生み出すパターンと関係性を認識する能力にあります。 多くの人は、その機能の背後にある「エンジン」を考慮していないため、貴重な洞察を魔法のように発見するために使用されている AI テクノロジーの詳細を実際に掘り下げることは決してありません。
機械学習は、データ分析とモデリングに重点を置いた AI の特定の分野です。 十分な時間とデータがあれば、異常な動作を示すパターンをリアルタイムで識別できるため、セキュリティにも応用できます。 同様に、製品やサービスを販売する機会を表すビジネス データ内の不明瞭な関係を見つけることもできます。
しかし、機械学習はモデリングにも優れています。つまり、何百もの「what if」シナリオを実行して、複数の変数間の複雑な関係をより深く理解することができます。 開発(エンジニアリング)では、これらの変数としては、データのサイズ、割り当てられたメモリ、I/O の速度、ネットワーク帯域幅、仮想マシンのパラメータなどが考えられます。 機械学習は非常に柔軟性が高く、変数を特定すれば、機械学習を使用してそれらの変数のさまざまな組み合わせをモデル化し、「最適な」セットを見つけることができます。
たとえば、F5 の著名なエンジニアである Laurent Querel 氏と F5 Sr. アーキテクトの Sebastien Soudan 氏がチームを組み、「PubSub から BigQuery にデータを効率的に取得する方法を構築する」モデルをどのように設計したかを説明した記事を最近公開しました。
彼らはまた、機械学習の使用が今日のソフトウェア最適化にとってより良い選択である理由を非常にうまく説明しており、引用するだけに留めます。
「現在、ソフトウェアの最適化は反復的で、ほとんどが手動のプロセスであり、プロファイラーを使用してソフトウェア コードのパフォーマンスのボトルネックを特定しています。 プロファイラーはソフトウェアのパフォーマンスを測定し、開発者がコードを確認してさらに最適化できるレポートを生成します。 この手動アプローチの欠点は、最適化が開発者の経験に依存するため、非常に主観的になる点です。 処理が遅く、網羅性に欠け、エラーが発生しやすく、人間の偏見の影響を受けやすいという問題があります。 クラウド ネイティブ アプリケーションの分散性により、手動による最適化プロセスがさらに複雑になります。
あまり活用されていない、よりグローバルなアプローチは、パフォーマンス実験とブラックボックス最適化アルゴリズムに依存する別のタイプのパフォーマンス エンジニアリングです。 具体的には、多くのパラメータを持つ複雑なシステムの運用コストを最適化することを目指しています。」
開発における AI、特に機械学習の使用を推進する要因は、IT 運用全体での AI の導入を推進する要因とほぼ同じです。つまり、手動のプロセスは遅く、エラーが発生しやすく、人間の偏見の影響を受けやすいということです。
IT の近代化と完全なデジタルビジネスへの着実な進歩について話すとき、そこには開発/エンジニアリングも含まれます。
適切なモデルを設計するプロセスと、その経験から何を学んだかを知るためだけでも、「 Google Vertex AI Vizier を使用してアプリケーションを最適化する」を読むことをお勧めします。