実現可能性

構想と計画のフェーズでは、ML ソリューションの要素を調査します。問題のフレーミング タスクでは、ML ソリューションの観点から問題を捉えます。これらのステップについては、Introduction to Machine Learning Problem Framing コースで詳しく説明しています。計画タスクでは、ソリューションの実現可能性の見積もり、アプローチの計画、成功指標の設定を行います。

ML は理論的には優れたソリューションかもしれませんが、その実現可能性を評価する必要があります。たとえば、技術的には機能するソリューションでも、実用的でない、または実装が不可能である場合があります。プロジェクトの実現可能性に影響を与える要因は次のとおりです。

  • データの可用性
  • 問題の難易度
  • 予測の品質
  • 技術要件
  • 費用

データの可用性

ML モデルの良し悪しは、トレーニングに使用するデータで決まります。高品質の予測を行うには、高品質のデータが大量に必要です。次の質問に答えることで、モデルのトレーニングに必要なデータがあるかどうかを判断できます。

  • 数量。モデルをトレーニングするのに十分な 高品質なデータを確保できるかラベル付きサンプルは少ないか、入手が難しいか、またはコストが高すぎるか。たとえば、ラベル付けされた医療画像やまれな言語の翻訳は非常に困難です。分類モデルで適切な予測を行うには、ラベルごとに多数のが必要です。トレーニング データセットに含まれる一部のラベルの例が限定されている場合、モデルは適切な予測を行うことができません。

  • サービング時の特徴の可用性。トレーニングに使用されるすべての特徴を サービング時に利用できるかチームはモデルのトレーニングにかなりの時間を費やし、一部の機能はモデルが必要になった数日後まで利用できないことに気づきました。

    たとえば、顧客が URL をクリックするかどうかをモデルが予測し、トレーニングで使用される特徴の 1 つに user_age が含まれているとします。ただし、モデルが予測を提供するとき、ユーザーがまだアカウントを作成していない可能性があるため、user_age は使用できません。

  • 規則。データの取得と使用に関する規制と法的要件は何か。たとえば、一部の要件では、特定の種類のデータの保存と使用に関する制限が設定されています。

生成 AI

事前トレーニング済み の生成 AI モデルでは、多くの場合、分野固有のタスクに対処するためにキュレートされたデータセットが必要になります。次のユースケースでは、データセットが必要になる可能性があります。

  • プロンプト エンジニアリング パラメータ エフィシエント チューニング ファインチューニングです。ユースケースによっては、モデルの出力をさらに絞り込むために 10 ~ 10,000 件の高品質のサンプルが必要になる場合があります。たとえば、医学的な質問に答えるなど、特定のタスクで優秀なモデルを微調整する必要がある場合、質問の種類と回答の種類を代表する高品質のデータセットが必要です。

    次の表は、特定の手法で生成 AI モデルの出力を調整するために必要なサンプル数の見積もりを示しています。

  • 技術 必要な例の数
    ゼロショット プロンプト 0
    少数ショット プロンプト 約 10 ~ 100 秒
    パラメータ効率調整1 約 100 ~ 10,000 秒
    ファインチューニング 約 1,000 ~ 10,000 秒(またはそれ以上)
    1 低ランク適応(LoRA)とプロンプト調整。
  • 最新情報:事前トレーニング済みの生成 AI モデルには、固定されたナレッジベースが存在します。モデルのドメイン内のコンテンツが頻繁に変更される場合は、モデルを最新の状態に保つ次のような戦略が必要になります。

問題の難易度

問題の難易度は判断が難しい場合があります。最初は妥当と思われるアプローチが、実際には自由回答形式の研究課題となる可能性があります。実用的で実行可能のように見えても、非現実的または実行不可能なアプローチになる場合があります。以下の質問に回答すると、問題の難易度を判断するのに役立ちます。

  • 同様の問題はすでに解決されていますか?たとえば、組織内のチームが類似(または同一の)データを使用してモデルを構築しているか。組織外のユーザーやチームが、KaggleTensorFlow Hub などで同様の問題を解決したことはありますか?その場合はモデルの一部を使用して 独自のモデルを構築できる可能性が高くなります

  • 問題の性質は難しいですか。タスクの人間のベンチマークを知ることで、問題の難易度を知ることができます。次に例を示します。

    • 人間は、画像内の動物の種類を約 95% の精度で分類できます。
    • 人間は手書きの数字を約 99% の精度で分類できます。

    前述のデータから、動物を分類するモデルを作成するほうが、手書きの数字を分類するモデルを作成するよりも困難であることがわかります。

  • 不正な行為者がいる可能性があるか?モデルを悪用しようとする人が いるか?その場合、モデルが悪用される前にモデルの更新を競い合うことになります。たとえば、誰かがモデルを悪用して正規のメールを作成した場合、スパムフィルタは新しいタイプのスパムを検出できません。

生成 AI

生成 AI モデルには、問題の難易度を上げる可能性のある潜在的な脆弱性があります。

  • 入力ソース。入力はどこからくるか?敵対的プロンプトによって、トレーニング データ、プリアンブル素材、データベース コンテンツ、ツール情報が漏洩する可能性はありますか?
  • 出力の使用。出力はどのように使用されますか?モデルは未加工のコンテンツを出力するか、それともテストと適切性を検証する中間ステップを設けるか。たとえば、未加工の出力をプラグインに提供すると、さまざまなセキュリティ問題が発生する可能性があります。
  • ファイン チューニング。破損したデータセットでファインチューニングを行うと、モデルの重みに悪影響を及ぼす可能性があります。この破損があると、モデルが不正確、有害な、または偏ったコンテンツを出力する原因となります。前述のように、ファインチューニングには、高品質のサンプルが含まれていることが検証されたデータセットが必要です。

予測の品質

モデルの予測がユーザーに与える影響を慎重に検討し、モデルに必要な予測品質を決定する必要があります。

必要な予測品質は、予測のタイプによって異なります。たとえば、レコメンデーション システムに必要な予測品質は、ポリシー違反にフラグを付けるモデルと異なります。間違った動画をおすすめすると、ユーザー エクスペリエンスが低下する可能性があります。ただし、プラットフォームのポリシーに違反している動画を誤って報告すると、サポート費用や、さらに悪いことには法的費用が発生する可能性があります。

予測を間違えるとコストが極めて大きくなるため、モデルの予測品質は非常に高い必要がありますか?一般に 必要な予測品質が高いほど 問題は難しくなります残念ながら 品質の向上を試みても 成果が下がることは珍しくありませんたとえば、モデルの適合率が 99.9% から 99.99% に向上すると、プロジェクトの費用が 10 倍増加する可能性があります。

予測の品質が向上すると、プロジェクトの費用も増加します。

図 2. 通常、ML プロジェクトでは、必要な予測品質が高まるにつれて、より多くのリソースが必要になります。

生成 AI

生成 AI の出力を分析する際は、次の点を考慮してください。

  • 事実の正確性:生成 AI モデルは流暢で首尾一貫したコンテンツを生成できますが、事実であるとは限りません。生成 AI モデルによる虚偽の記述は、会議と呼ばれます。たとえば、生成 AI モデルは、テキストの不正確な要約、数学の問題の間違った回答、世界に関する虚偽の記述を混同して生成する可能性があります。多くのユースケースでは、LLM で生成されたコードなど、本番環境で使用する前に生成 AI の出力を人間が検証する必要があります。

    従来の ML と同様に、事実の正確性に対する要件が高いほど、開発と維持にかかるコストが高くなります。

  • 出力品質。偏見のあるコンテンツ、盗用されたコンテンツ、有害なコンテンツなど、不適切な出力は法的および経済的にどのような結果(または倫理的影響)をもたらすか。

技術要件

モデルには、その実現性に影響を与える多くの技術的要件があります。プロジェクトの実現可能性を判断するために対処する必要がある主な技術要件は次のとおりです。

  • レイテンシ。レイテンシの要件は何ですか?予測はどれくらいの速さで処理する必要がありますか?
  • 秒間クエリ数(QPS)。QPS の要件は何ですか?
  • RAM 使用量。トレーニングとサービングのための RAM 要件は?
  • プラットフォーム。モデルが実行される場所: オンライン(RPC サーバーに送信されたクエリ)、WebML(ウェブブラウザ内)、ODML(スマートフォンまたはタブレット)、オフライン(テーブルに保存された予測)
  • 解釈可能性。予測は解釈可能である必要がありますか?たとえば、プロダクトは、「特定のコンテンツがスパムとしてマークされたのはなぜですか?」や「動画がプラットフォームのポリシーに違反していると判断されたのはなぜですか?」といった質問に答える必要があります。

  • 再トレーニングの頻度。モデルの基になるデータが急激に変化すると、頻繁または継続的な再トレーニングが必要になることがあります。ただし、頻繁に再トレーニングを行うと、モデルの予測を更新するメリットを上回る費用が発生する可能性があります。

ほとんどの場合、技術仕様に従うには、モデルの品質を犠牲にすることが必要になります。そのような場合、本番環境に移行するのに十分なモデルを作成できるかどうか判断する必要があります。

生成 AI

生成 AI を使用する場合は、次の技術要件を考慮してください。

  • プラットフォーム。事前トレーニング済みモデルの多くは、さまざまなサイズがあり、さまざまなコンピューティング リソースを持つさまざまなプラットフォームで動作できます。たとえば、事前トレーニング済みモデルは、データセンターのスケールからスマートフォンへの適合まで、多岐にわたります。モデルサイズを選択する際は、プロダクトやサービスのレイテンシ、プライバシー、品質の制約を考慮する必要があります。多くの場合、これらの制約は競合する可能性があります。たとえば、プライバシー上の制約により、ユーザーのデバイスで推論を実行しなければならない場合があります。ただし、デバイスに適切な結果を生成するためのコンピューティング リソースがないため、出力品質が低下する可能性があります。
  • レイテンシ。モデルの入出力サイズがレイテンシに影響する。特に、出力サイズは入力サイズよりもレイテンシに影響します。モデルは入力を並列化できますが、出力は順次しか生成できません。つまり、500 ワードと 10 ワードの入力を取り込む場合のレイテンシは同じである可能性がありますが、500 ワードのサマリーを生成するには、10 ワードのサマリーを生成する場合よりも大幅に時間がかかります。
  • ツールと API の使用。モデルでタスクを完了するために、インターネット検索、電卓の使用、メール クライアントへのアクセスなどのツールと API を使用する必要があるか。一般的に、タスクを完了するために必要なツールが多いほど、誤りが伝播してモデルの脆弱性が高まる可能性が高くなります。

費用

ML の実装に費用に見合う価値があるか生成(または節約)する費用よりも、ML ソリューションの実装と維持にかかる費用が高額である場合、ほとんどの ML プロジェクトは承認されません。ML プロジェクトには人的コストとマシンコストの両方が発生します。

  • 人的コスト。プロジェクトを概念実証から本番環境に移行するまでに何人必要ですか。通常 ML プロジェクトが進化するにつれて 費用は増加しますたとえば、ML プロジェクトでは、本番環境に対応したシステムをデプロイして維持するために、プロトタイプを作成するよりも多くの人員が必要になります。各フェーズでプロジェクトに必要なロールの数と種類を見積もります。

  • マシンの費用。モデルのトレーニング、デプロイ、メンテナンスには 大量のコンピューティングとメモリが必要ですたとえば、モデルのトレーニングや予測の提供に使用する TPU の割り当てと、データ パイプラインに必要なインフラストラクチャが必要になることがあります。データのラベル付けやデータ ライセンス料の支払いが必要になることがあります。モデルをトレーニングする前に、ML の特徴を長期的に構築して維持するためのマシン費用を見積もることを検討してください。

  • 推論の費用。モデルで、発生した収益よりも多くの費用がかかる推論を数百または数千行う必要があるか。

注意事項

前述のトピックのいずれかに関連する問題に遭遇すると、ML ソリューションの実装が困難になる可能性がありますが、納期が厳しいため、課題が増幅される可能性があります。認識された問題の難易度に基づいて十分な時間を計画して割り当ててから、ML 以外のプロジェクトよりも多くのオーバーヘッド時間を予約するようにしてください。