Azure認定資格 WEB問題集&徹底解説

AI-901:Microsoft Azure AI Fundamentals

正解 C問題
分野2:Microsoft Foundry を使用して AI ソリューションを実装する タスクステートメント2.3:Foundry を使用してコンピュータービジョンと画像生成機能を備えた AI ソリューションを実装する
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、1 時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
製造業の品質管理チームが、検査ラインで撮影した製品写真をマルチモーダルモデルに渡し、外観の欠陥有無について回答させるクライアント アプリを Foundry SDK で構築している。SDK で画像をメッセージに指定する典型的な方法として正しいものはどれですか。
  • 画像を埋め込み(ベクトル)に変換し、その数値の配列をメッセージ コンテンツに含めて渡す
  • 画像をあらかじめ別のモデルで説明文(キャプション)に変換し、その文字列だけをメッセージに含める
  • 画像の URL または Base64 エンコードされた画像データをメッセージ コンテンツに含めて渡す
  • 画像を Foundry プロジェクトのデータセットとして登録し、メッセージではそのデータセット名だけを指定する
解説 頻出度★★★★★
この問題は、「Foundry SDK × デプロイ済みのマルチモーダルモデル × 製品写真の欠陥を判定させる」の要件で、メッセージ コンテンツにテキストと並べて画像の URL または Base64 の画像データを含めるという標準の渡し方を選べるかがポイントです。

A. 画像を埋め込み(ベクトル)に変換し、その数値の配列をメッセージ コンテンツに含めて渡す

埋め込み(ベクトル)は、文章や画像の意味を数値の配列で表したもので、類似検索やクラスタリングに使うものです。チャット モデルのメッセージ コンテンツが受け付けるのはテキストと画像(URL または Base64 の画像データ)であり、数値の配列を画像入力として渡す形式はありません。

仮に数値を文字列として送っても、モデルにとっては意味の分からない数字の羅列で、写真の見た目は伝わりません。「AI は内部で数値を扱うから、数値に変換して渡す」という連想を突いた誤答です。

B. 画像をあらかじめ別のモデルで説明文(キャプション)に変換し、その文字列だけをメッセージに含める

キャプションに変換して文字列だけを渡すと、モデルが受け取るのは別のモデルが要約した説明文だけで、写真そのものは見ていません。

外観検査で重要な小さな傷・色むら・変形といった細部は、要約の段階で落ちてしまう可能性が高く、欠陥の有無を判断する材料になりません。マルチモーダルモデルは画像を直接入力できるので、わざわざ文章に変換して情報を減らす理由もありません。

正解

C. 画像の URL または Base64 エンコードされた画像データをメッセージ コンテンツに含めて渡す

デプロイ済みのマルチモーダル(ビジョン対応)チャット モデルを呼び出すときは、ユーザー メッセージの content を配列にし、質問文のテキスト要素と並べて画像要素(type が image_url)を含めます。画像は、公開されている HTTP / HTTPS の URL で指定するか、ローカルの画像ファイルを Base64 でエンコードした data URL(data:image/jpeg;base64,… の形)で指定します。

検査ラインで撮影した写真のように手元にある画像なら Base64 で送るのが手軽です。対応形式は JPEG・PNG・GIF(最初のフレームのみ)・WEBP で、1 回のチャット呼び出しに含められる画像は 10 枚までです。

D. 画像を Foundry プロジェクトのデータセットとして登録し、メッセージではそのデータセット名だけを指定する

Foundry プロジェクトのデータセットは、モデルの評価やファインチューニングのためにデータをまとめて登録しておくものです。推論時のチャット メッセージには、データセット名を指定して画像を参照させる仕組みはありません。

1 枚ずつの写真について回答させる推論では、画像をメッセージの中にURL か Base64 のデータとして直接含める必要があります。「プロジェクトに登録したデータは名前で呼べる」という思い込みで、学習・評価用のデータと推論時の入力を取り違えた誤答です。

これだけ覚える(記憶フック)
画像は「URL か Base64」でメッセージに同梱。ベクトル・要約文・データセット名では、モデルは写真を見られない。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
マルチモーダルモデルに写真そのものを見せる 要約文だけを渡すと、モデルは写真を見ていない。欠陥の細部が失われる
→選択肢(B)を消す
メッセージ コンテンツが受け付ける入力 受け付けるのはテキストと画像。埋め込みベクトルを画像入力として渡す形式は無い
→選択肢(A)を消す
推論のたびに 1 枚ずつ写真を渡す データセットは評価やファインチューニング用。推論のメッセージで名前参照はできない
→選択肢(D)を消す
SDK で画像をメッセージに指定する典型的な方法 content 配列にテキスト要素と画像要素を並べ、画像は公開 URL か Base64 の data URL で指定する
→選択肢(C)が正解
ひっかけポイント
  • 選択肢 A は「AI は数値を扱う」という一般論に引っ張られやすい。埋め込みは検索・比較のための表現であり、チャット モデルへの画像入力ではない
  • 選択肢 B は「テキストに変換すればどのモデルにも渡せる」という発想で、実際に動きはする。だが画像を直接扱えるモデルに、情報を減らした文章を渡すことになり、欠陥判定の目的を果たせない
  • 選択肢 D の「データセット」は Foundry に実在する機能なので紛らわしい。学習・評価のためのデータと推論時の入力は別物と押さえる
  • URL で渡す場合はサービスから到達できる公開 URLが前提。プライベート エンドポイントや VNet・ファイアウォールで制限された URL はサポートされないので、社内に閉じた画像は Base64 で送る
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「画像は閉域ネットワーク内のストレージにあり、インターネットに公開できない」 URL ではなくBase64 でエンコードした画像データをメッセージに含める方法が正解に。
「良品の見本と検査対象の写真を1 回の要求で比較させたい」 content 配列に複数の画像要素を並べる(1 回のチャット呼び出しで 10 枚まで)のが正解に。
「細かい傷も見落とさないよう、画像を詳しく読み取らせたい」 画像要素のdetail を high に設定する。応答は遅くなりトークン消費も増える。
「過去の欠陥写真の中から似た事例を検索したい」 ここで初めて埋め込み(ベクトル)とベクトル検索が正解軸に(選択肢 A の内容はこちらの用途)。
「多数のテスト写真で、モデルの判定品質をまとめて評価したい」 テスト用の入力と期待する判定をまとめたデータセットを用意して評価を実行する構成が正解軸に(選択肢 D のデータセットはこちらの用途)。
関連サービスの解説 Microsoft Foundry
リファレンス この問題を解くために必要な知識を扱う公式ドキュメントです。
知識項目 公式ドキュメント
ビジョン対応チャット モデルへの画像の渡し方(URL・Base64)と入力の制限事項 ビジョン対応チャット モデルを使用する方法
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 67%
No.17 解説
製造業の品質管理チームが、検査ラインで撮影した製品写真をマルチモーダルモデルに渡し、外観の欠陥有無について回答させるクライアント アプリを Foundry SDK で構築している。SDK で画像をメッセージに指定する典型的な方法として正しいものはどれですか。
  • 画像を埋め込み(ベクトル)に変換し、その数値の配列をメッセージ コンテンツに含めて渡す
  • 画像をあらかじめ別のモデルで説明文(キャプション)に変換し、その文字列だけをメッセージに含める
  • 画像の URL または Base64 エンコードされた画像データをメッセージ コンテンツに含めて渡す
  • 画像を Foundry プロジェクトのデータセットとして登録し、メッセージではそのデータセット名だけを指定する

(会員限定)当問題の評価をお願いします。改善に活用します。