メインコンテンツまでスキップ

生成AI アプリの開発における主な課題と MLflow の支援

MLflow は、本番運用に対応した生成AIアプリを提供する際の基本的な課題である、最適なコストとレイテンシーで高品質(正確な)レスポンス を確実に 提供するアプリを作成することが難しいという課題に対処するために構築されています。

生成AIアプリは、通常のソフトウェアのように動作しない(または失敗する)わけではありません。彼らは幻覚を見たり、データが変化すると漂流したり、さらに悪いことに、実際のユーザーは同じ意図を無限に新鮮な方法で表現したりするため、入力スペースは広大で、常に流動的です。従来のソフトウェアや ML テストのアプローチは、既知の固定入力/出力のセットと既知のユーザーアクションに対して設計されており、生成AI の自由形式で絶えず変化する言語の入力と出力の品質を確実に測定することはできません。

これらの基本的な課題に対処するために、 MLflow は、生成AIの品質と運用の可観測性を確実に測定するメトリクスをレイテンシとコストに統合し、ワークフローを人間の専門家から簡単に収集できるようにしています。

ユーザー入力は自由形式の平易な言語です

課題

1 つのインテントにはさまざまな言い回しがあり、アプリはそれらすべてを認識する必要があります。

ユーザーサポートの問い合わせに回答するのに役立つチャットボットを検討してください。次のインテントは、単語は異なりますが、同じです。

  • 「Wi-Fi が落ち続けます。直してください。」
  • 「手伝ってくれませんか?ここのインターネットは死んだ」

MLflow がどのように役立つか

MLflow の LLMジャッジ は、正確な文字列ではなく、意図、トーン、事実性をスコアリングするため、同じ要求の異なる言い回しは、その意味に基づいて評価されます。このセマンティック評価により、アプリはユーザーが自分自身を表現するさまざまな方法を確実に処理できます。

トレース は、すべての入力バリエーションを含む完全な会話をキャプチャし、ユーザーが実際にリクエストをどのように表現しているかを可視化します。この包括的な可観測性は、アプリが遭遇するユーザー入力の全範囲を理解するのに役立ちます。

ユーザーの入力は時間とともに進化します

課題

コードを変更していなくても、ユーザーの主な意図は時間とともに変化します。

「インターネットの停止」の意図を支援するようにアプリを設計しましたが、ユーザーが「問題に対する請求クレジットを受け取るか」という質問も想定していませんでした。

MLflow がどのように役立つか

MLflowの 評価 データセット を使用すると、本番運用トレースをオフライン テスト セットにキャプチャできるため、新しい意図 (請求クレジットの質問など) は自動的にテストおよび回帰ケースになります。 これにより、アプリは新たなユーザーのニーズに引き続き対応できます。

本番運用 モニタリング は、クエリ パターンを継続的に追跡し、新しいタイプの要求を識別します。 実際のトラフィックを分析することで、品質が低下する前に、進化するユーザー行動にアプリを事前に適応させることができます。

生成AIの出力は自由形式の平易な言語です

課題

2つの異なる表現の答えが両方とも正しい場合があるため、品質チェックでは文字列ではなく意味を比較する必要があります。

次の答えは、単語がまったく異なりますが、同じです。

  • 「モデムの電源プラグを抜いて 30 秒間、電源を入れ直してください。」
  • 「ルーターの電源を30分オフにしてから、再度接続してみてください。」

MLflow がどのように役立つか

MLflow の LLMジャッジ は、テキストの正確な一致ではなく、意味を評価します。回答を評価する際、審査員は「30分」が「30秒」に等しく、「電源を入れ直す」と「電源を切るとオンにする」が同等の指示であることを理解します。

同じ品質チェックが、 開発、 CI/CD、本番運用 全体でシームレスに機能します。 この一貫性は、開発で検証された回答が、表現のバリエーションに関係なく、本番運用でその品質を維持すると信頼できることを意味します。

品質を評価するには、ドメインの専門知識が必要です

課題

開発者は、正しさを判断するための主題の深さを欠いていることがよくあります。専門家によるレビューが必要です。

答えが正しいかどうかを判断するには、ユーザーにリセットピン留めを押すように指示することがモデムモデルにとって安全であることを確認する専門家が必要です。 技術的な正確性には、エンジニアリングチームが持っていない可能性のあるドメイン知識が必要です。

MLflow がどのように役立つか

MLflowの レビュー アプリ には完全な会話が表示されるため、ドメインの専門家は問題をすばやく見つけることができます。直感的なインターフェースにより、技術者以外の専門家でも、コードや複雑なツールを理解しなくてもアプリの出力をレビューできます。

ドメインの専門家のフィードバックをスケーリング するには、少数のトレースからの専門家のラベルを使用してカスタムLLMジャッジを作成します。これらの審査員は専門家の評価から学習するため、回答のたびに人間によるレビューを必要とせずに、イテレーションと本番運用トラフィックの品質を自動的に評価できます。

品質↔レイテンシコスト↔のトレードオフの管理

課題

より速く、より安価なモデルは時間とコストを節約しますが、回答の質を低下させる可能性があるため、各調整で3つすべてのバランスをとる必要があります。

GPT-4oからGPT-4o-miniに切り替えると、時間とコストが大幅に削減されますが、小型モデルでは請求書クレジットの質問のニュアンスが聞き逃し、回答の質が低下する可能性があります。

MLflow がどのように役立つか

MLflow を使用すると、 多くの評価をすばやく実行 して、バリアントを大規模に探索できます。サイドバイサイドエクスペリメントは、ロールアウト前に品質、レイテンシ、コストの差分を明らかにし、モデルの選択について十分な情報に基づいた決定を下すのに役立ちます。

トレース は、アプリケーションのパフォーマンスをエンドツーエンドで監視し、品質評価とともにレイテンシとコストのメトリクスをキャプチャします。この統一されたビューにより、3つのディメンションすべてを同時に最適化し、ビジネスニーズに合わせたデータドリブンのトレードオフを行うことができます。

評価UI を使用すると、さまざまなアプリのバージョンを並べて比較し、モデル、プロンプト、またはコードの変更が品質スコア、応答時間、運用コストにどのように影響するかを視覚化できます。この包括的な比較により、ユースケースに最適な構成を確実にデプロイできます。

次のステップ

  • MLflow の概要 - クイックスタート ガイドに従って、最初のアプリケーションをトレースし、評価を実行します
  • 主要な概念を理解する - トレース、スコアラー、評価データセット、およびそれらがどのように連携するかについて学びます
  • 評価ガイドを見る - 評価機能とモニタリング機能について詳しく見る