「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- 本番はExamTopics?みたいな難易度が多いらしいが、取り合えずMS公式やUdemyで対策。
- 追加調査や、暗記を行い、傾向を把握して、後はMS Learnの検索方法に慣れておく。
サービス名と機能 †
Available Foundry Tools †
事前構築済みの拡張ツール群、複数機能を組合せてユーザ向け機能を提供するための建付け。
※ 例えばエージェント(Agent Service)でLLM(OpenAI)とRAG(AI Search)を使うとか。
画像 †
Computer Vision、AI Face、AI Custom Vision、Video Indexer
言語 †
Language(Q&A、分類、NER、CLU)、Translator、Speech、LLM
情報抽出 †
Content Understanding、Document Intelligence、AI Search
OCR †
LLM †
- OpenAI、Agent Service
- マルチモーダル
生成モデル †
- LLM(RAG、Agent(Tool))
- 画像生成AI
Content Safety †
- Microsoft Foundry Content Safety
言語 †
Azure AI Language - Language Service †
- Custom Question Answering:チャットのRAGなのでLLMやAI Searchも使う
- Custom text classification & extraction - テキスト分類:2 種類のプロジェクト(単一ラベル分類、複数ラベル分類)
- Custom Named Entity Recognition - カスタムの名前付きエンティティ認識 (NER):テキスト分類というより、単語の分類という感じ。
- Conversational language understanding - 会話言語理解(CLU):概要、固有表現認識、PII検出、キー フレーズ抽出、感情分析、言語検出など
Azure AI Translator - Translators †
翻訳
- 言語検出:detection
- 翻訳:translation
- 音訳:transliteration
Azure AI Speech - Speech service †
音声→(機能)→文字→(機能)→翻訳→(機能)→音声
- 音声認識(Speech-to-Text)
- 翻訳(Translators)
- 音声合成(Text-to-Speech)
音声LLM †
(Phi-4-multimodal-instruct)
Voice Live †
リアルタイム対話型音声ソリューション用
- 音声認識(Speech-to-Text)
- LLM 推論(GPT‑4o Realtime など)
- 音声合成(Text-to-Speech)
画像 †
Azure AI Vision - Computer Vision †
- Computer Vision
- 読み取り可能なテキストを抽出
- 画像に関するタグを識別
- 自然言語で画像のキャプションを生成
- 検出オブジェクトの境界ボックスを返す
- 検出オブジェクトの詳細なキャプションを生成
- 検出された人物の境界ボックスを返す
- 対象領域での指定した縦横比の境界ボックスを返す
Azure AI Vision - Face †
顔検出と分析
Azure AI Custom Vision †
画像分類と物体検出
Video Indexer †
ビデオ
- Transcript(音声文字起こし)
- OCR(画面内テキスト)
- Speakers(話者識別)
- Insights ペイン
- 出演人物
- 話題(Topics)
- オブジェクトラベル
- ブランドや人物などのエンティティ
- キーシーン
- キーワード
- 感情分析(Sentiment)
- 3ステップ
- ビデオをアップロード
- ビデオ インデックスを取得
- 各キーフレームのサムネイルを取得
- カスタマイズ
- ブランド モデル
- 言語モデル
- 人物モデル
- 音声モデル
- グローバル顔グループ化
画像LLM(gpt-4o) †
マルチモーダルのLLM
画像生成(dall-e-3) †
マルチモーダルの生成モデル(画像)
知らん †
- 空間分析(ビデオから人を検知、個人でなく人間的な意味での)
情報抽出 †
Azure Content Understanding †
- 請求書(PDF)/スライド画像(JPG)/音声(MP3)/ビデオ(MP4)の分析
- タスク作成、スキーマ定義、分析の実行
Azure Document Intelligence †
- 特定のフォーム:請求書、領収書、米国税、ID ドキュメント、...
- 特定ではないフォーム:読み取りモデル、一般ドキュメント モデル、レイアウト モデル
- カスタムモデル
Azure Document Intelligence Studio を使用してラベル付けとトレーニング(教師あり機械学習)
Azure AI Search †
... †
その他 †
Content Safety †
- 有害なコンテンツ検出
- Prompt Shield(不正使用検出アルゴリズム)
- カスタム・コンテンツ・フィルター
- 調整
- 重大度レベルを調整
- カスタム カテゴリ API を使用して有害なパターンを構成
- Content Safety Studio で組み込みのブロックリストを有効化
MSプラクティス評価 †
Language全般 †
- synonyms や alterations に特殊文字を含めるとバリデーションエラーになることがある。
Q&A †
- アクティブ ラーニングは、少なくとも 30 分待ってから提案を確認
- FAQ ドキュメントをインポートで抽出されるデータの種類は、書式設定されたテキスト、URL、箇条書きおよび番号付きリストのみ
OCRできる †
NERとCLUの違い †
- CLU:概要、固有表現認識、PII検出、キー フレーズ抽出、感情分析、言語検出など
- PII検出のエンティティ・タイプとか、沢山ある(Geolocation(...)、Personal(Address、Age、Email...)、...)。
- 感情分析の戻り値(positive、negative、mixed、neutral)オプション(opinionMining、loggingOptOut?、StringIndexType?)、
- CLUのトレーニング方法:標準および高度のみ
- 標準:意図分類と (カスタムの名前付き)エンティティ抽出を学習
- 高度:特に CLU Intent Router(LLMベースのルーティング) を使う場合に利用
- Azure CLU の最新アーキテクチャはLLMをベースにしたファインチューニング方式
- 多言語対応では、
- 言語毎のトレーニングは不要だが言語の発話は追加する必要がある。
- 多言語モデルは意味空間を共有しているが、言語固有の表現は学習しない。
Orchestration Workflow †
- Azure Language の Orchestration Workflow は、複数の言語モデルをまとめて 1 つのエンドポイントとして扱える仕組み。
- 例えば、1つのボットからCLUモデル、Q&Aを統合的に利用するためのオーケストレーション ワークフローを構築する。
- Language リソース(Foundry Tools サービス)にCLUプロジェクト、Q&Aプロジェクト、Orchestration Workflow プロジェクトを格納し接続。
Translator †
- カスタム翻訳モデル:トレーニング資料に使用すべき素材によって「寛容に。」「厳密に。」がある。
- 寛容に:バイリンガル トレーニング ドキュメント(用語とスタイルを教える)
- 厳密に:チューニング ドキュメント、テスト ドキュメント、句辞書、文辞書
Speech †
- 雑音環境:カスタム音声テキスト変換
- ワード誤り率 (WER) が高い場合、誤って識別された単語を認識するようにカスタム モデルをトレーニング
OpenAI †
- デプロイ:Microsoft Foundry リソースをプロビジョニング、カタログから モデル を選択・デプロイ
- 前提:モデル バージョンが提供終了日に達すると自動でバージョンが更新される(無効化不可)。
- 要件:
- モデル更新によって動作が変わらないようにしたい(安定性)
- 新しいモデルバージョンを本番適用前にテストしたい(検証)
- 対策:「特定バージョンを選択」し「新しいバージョンをテスト」
- RAGさせるには。
Embeddings API を統合しAI Search を使用。
- エージェントを構成する3要素
エージェント名、モデルデプロイ、指示
- エージェントを作成する方法
Microsoft Foundry ポータル、Microsoft Foundry SDK と Azure AI Agent Service SDK
- 外部 API と対話し、応答にリアルタイム データを使用するようにエージェントを構成
Bing検索ツールを構成、API アクセス用のツールを定義、Azure SDK を使用してエージェントをデプロイ
Vision全般 †
- 画像分類や物体検出にドメイン特化モデルがあるが、コンパクト ドメインというのはエッジ向けらしい。
Face †
- detection_01 → detection_02 → detection_03... と精度が上がってるらしい。
Image Analysis API †
聞いたこと無いわ(笑)...廃止らしい。→ Azure Vision APIっぽい(read と description)
- 配色を検出で返る色:黒、青、茶、グレー、緑、オレンジ、ピンク、紫、赤、青緑、白、黄
Video Indexer †
- sourceLanguage:multi-language detection
- 自動音声認識の言語モデルをカスタマイズできる。
- インサイト(音声プロファイルを構成)
- Transcript(音声文字起こし)
- OCR(画面内テキスト)
- Speakers(話者識別)
- Insights ペイン
- 出演人物
- 話題(Topics)
- オブジェクトラベル
- ブランドや人物などのエンティティ
- キーシーン
- キーワード
- 感情分析(Sentiment)
情報抽出全般 †
Document Intelligence †
- S0 インスタンスレベルの制限は 500 MB と 2,000 ページ
- 事前構築済みモデルのファイルの形式:JPEG、PNG、BMP、TIFF、PDF、読み取りモデルは +Microsoft Office ファイル(TXT系はサポートしない)
- 読み取りモデル(ドキュメントから単語と行)、一般ドキュメント モデル(キーと値のペア、エンティティ、選択マーク、テーブル)、レイアウト モデル(テキスト、構造、テーブル、選択マーク)
- 独自フォーマットの請求書に最も適合するのは「一般ドキュメント モデル」または「カスタム(抽出)モデル」
- カスタムモデル:レイアウトが毎回同じ → テンプレート モデル、レイアウトがバラバラ → ニューラル モデル
- カスタム分類モデル:複数種類のドキュメントを自動で“どのタイプの文書か”判別するためのモデル。
AI Search †
- インデクサー:Document Cracking、Field Mappings、Skillset Execution、Output Field Mappings、Push into Index
- フィールド属性:name、searchable、filterable、sortable、facetable、key、retrievable、analyzer、searchAnalyzer、indexAnalyzer、normalizer、synonymMaps、dimensions、vectorSearchProfile?
- スキルセット定義の最小セクション:name、description、skills
- スキルセットで使われる “スキル(Skill)” の種類を表す識別子は、@odata.type Microsoft.Skills....
- 検索クエリのqueryType”には“simple”、“full”がある。
- simple:AS-IS検索、full:ワイルドカード、あいまい一致、正規表現、フィールド指定検索
- 関連性フィルター処理に、厳密度なるパラメタがある模様。
Azure †
AzureAI †
- テキスト依存の検証、テキストに依存しない検証
言語系のサービスで使用される検証機能
- テキスト依存の検証
テキストを使って検証
- 正規表現
- 辞書・キーワード照合
- 数値の整合性チェック
- LLM による意味的検証
- 音声の場合はテキスト化した後の検証
- テキストに依存しない検証
テキストを使用せずに検証
- レイアウト構造
- 表の位置・行数・列数の検証
- チェックボックスの ON/OFF
- ロゴの有無(画像マッチング)
- 音声の場合は音での感情、話者などの検証
エンドポイント確認 †
az cognitiveservices account show --name XXXX --resource-group YYYY
ネットワーク †
- ファイアウォール規則を有効にしたら、
- ファイアウォールのなんらかのアクセスを許可をする必要がある。
- クラウド外からのアクセスなら、インターネット IP 範囲へのアクセスなどを使用できる。
- クラウド内からのアクセスなら、IPアドレスではなく仮想ネットワーク、サービスタグなどを使用できる。
- プロビジョニングしたAzure OpenAI をAzureからのみ使用できるようにする:
インターネット経由のアクセスを無効化し、プライベート エンドポイント接続でアクセスの確立を許可
認証 †
- AzAD(Microsoft Entra ID)系とOAuth2/OIDC系がある。
- リソースによって(エンドポイントと)キーが異なるので注意
- マネージド ID:ダブルホップではなく、自身の ID(=マネージド ID)でトークンを取得
- アプリのマネージド ID を有効にし、RBACアクセス許可を Microsoft Foundry に割り当て。
- Foundryインスタンスのシステム割り当てマネージド ID を有効にし、Azure Blob Storageにロールを割り当て。
ログ †
- 診断ログの 2 つの前提条件
- Log Analytics ワークスペース
- Azure Storage アカウント
- トレースを有効にしフィードバックを収集
Application Insights の診断設定を構成
ストレージ †
- 基本は、Azure Storage アカウント(Blob、Document)
- Azure Data Lake Storageはあまり出てこない。
- RAGの場合、AI SearchでVDBなどでてくる。
AIだ †
メトリック系 †
- 分類問題:混同行列
- BLEU:Azure Translator で 40 - 60 は、高品質の翻訳を示す。
パラメタ系 †
プロンプト・エンジニアリング †
- わかりやすくする、具体的にする、順序が重要
- 概要要約生成でプロンプトを絞り込み、キーの詳細を指定
- ペルソナ
RAG †
- OK:低リスク、支援、生産性に重点を置いたシナリオをサポートするユース ケース
- NG:
- ライセンスを取得した専門家と説明責任を必要とする高リスクの規制ドメイン
- 商品レコメンドはプライバシーとセキュリティ、公平性、包括性、説明責任的に難あり。
ITだ †
REST API †
- つーか、URIってヘッダなんだな。知ってたけど、あんまそう言わんし。
ググれ †
REST API †
- イメージ生成モデル
- ヘッダ:API のバージョン、Azure OpenAI リソース名、デプロイ ID
- リクエスト
{
"prompt": "A badger wearing a tuxedo",
"n": 1,
"size": "1024x1024",
"quality": "hd",
"style": "vivid"
}
- レスポンス
{
"created": 1686780744,
"data": [
{
"url": "<URL of generated image>",
"revised_prompt": "<prompt that was used>"
}
]
}
ExamTopics? †
まぁ解る系 †
チャットボットを構築 †
以下の要件を満たすチャットボットを構築する必要があります。
- 雑談、ナレッジベース、多言語モデルをサポート
- ユーザーメッセージの感情分析を実行
- 最適な言語モデルを自動選択
チャットボットに何を統合すべきですか?
- QnA Maker、言語理解、ディスパッチ
- Translator、音声認識、ディスパッチ
- 言語理解、テキスト分析、QnA Maker(最多投票)
- テキスト分析、Translator、ディスパッチ
帳票読込 †
- あなたの会社は、従業員が経費精算書に領収書を記入する時間を短縮したいと考えています。
- 領収書はすべて英語で書かれています。
- 領収書から、ベンダーや取引合計額といったトップレベルの情報を抽出する必要があります。
- ソリューションは開発労力を最小限に抑える必要があります。
どのAzureサービスを使用すべきでしょうか?
- カスタムビジョン
- パーソナライザー
- フォーム認識機能(最多投票)
- コンピュータービジョン
※ 機能階層的なものをイメージしておく。
難易度高目 †
- あなたは、一般向けウェブサイトからの動画とテキストを処理する新しい販売システムを開発しています。
- この販売システムを監視し、ユーザーの所在地や経歴に関わらず公平な結果が得られるようにする予定です。
- 監視要件を満たすための指針となる、責任あるAI原則を2つ挙げてください。正解はそれぞれ解決策の一部を示しています。
- 透明性
- 公平性(最多投票)
- 包括性(最多投票)
- 信頼性と安全性
- プライバシーとセキュリティ
※ 暗記が必要。...ってか、やっぱ「公平性」と「包括性」って被ってるのね。
Anomaly Detector APIをコンテナでデプロイ †
- Anomaly Detector API のコンテナー化されたバージョンを、テスト用のローカルデバイスとオンプレミスのデータセンターで使用する予定です。
- コンテナー化されたデプロイメントが以下の要件を満たしていることを確認する必要があります。
- コンテナを実行するデバイスのコマンドライン履歴に課金情報と API 情報が保存されないようにします。
- Azure RBACを使用して、コンテナ・イメージへのアクセスを制御します。
- アクション
- カスタム Dockerfile を作成
- Anomaly Detector コンテナー イメージをプル
- イメージをビルド
- Azure コンテナ レジストリにイメージをプッシュ
※ そりゃそーだ(笑)
- テキスト分析に使用する Azure Cognitive Services サービスのコンテナ化されたバージョンをデプロイする予定。
- サービスのエンドポイント URI として https://contoso.cognitiveservices.azure.com を構成し、最新バージョンの Text Analytics Sentiment Analysis コンテナーをプルします。
Docker を使用して、Azure 仮想マシン上でコンテナーを実行する必要があります。
コマンドをどのように完了すればよいですか?回答するには、回答領域で適切なオプションを選択してください。
注: 正しい選択ごとに 1 ポイントが加算されます。
ホットエリア:
そんなン知るか系 †
要件XXXでリソース作成 †
- 感情分析と光学式文字認識(OCR)を実行するために使用する新しいリソースを作成する必要があります。
- ソリューションは以下の要件を満たす必要があります。
- 単一のキーとエンドポイントを使用して複数のサービスにアクセス
- 将来使用する可能性のあるサービスの課金を統合する。
- 将来的にComputer Visionの使用をサポート
- 新しいリソースを作成するためのHTTPリクエストをどのように完了すればよい?
PUT https://management.azure.com/subscriptions/XXXXXXXX-XXXX-XXXXXXXXXXxx/resourceGroups/RG1/providers/Microsoft.CognitiveServices/accounts/CS1?api-version=2017-04-18
{
"location": "West US",
"kind": "CognitiveServices",
"sku": {
"name":
"SO"
},
"properties":{},
"identity": {
"type": "SystemAssigned"
}
}
PUT、CognitiveServices?
LUISのフレーズ †
- それぞれに独自の言語理解モデルを持つチャットボットが100個あります。
- 各モデルに同じフレーズを頻繁に追加する必要があります。
- 新しいフレーズを追加するには、言語理解モデルをプログラムで更新する必要があります。
- コードはどのように完成させるべきでしょうか?
var phraselistId = await client.Features.AddPhraseListAsync
(
appId,
versionId,
new PhraselistCreateObject
{
EnabledForAllModels = false,
IsExchangeable = true,
Name = "PL1",
Phrases = "item1,item2,item3,item4,item5"
}
);
AddPhraseListAsync?、PhraselistCreateObject?
※ この文脈での「フレーズ」とは、チャットボットの言語理解モデル(例:LUIS)に対して「重要な語や言い回し」として教える文字列の集合
LUISアプリをコンテナにデプロイ †
- コンテナにデプロイされた app1 という Language Understanding アプリケーションを使用する予定。
- app1は、lu1 という Language Understanding オーサリングリソースを使用して開発された。
| Version | Trained date | Published date |
| V1.2 | None | None |
| V1.1 | 2020-10-01 | None |
| V1.0 | 2020-09-01 | 2020-09-15 |
- コンテナにデプロイできる Language Understanding (LUIS) アプリのバージョンは
「学習済み (Trained) である必要があるが、公開 (Published) されている必要はない」
- アクション
- app1 の vx.x を選択します(デプロイ可能な最新バージョン)。
- 「コンテナ用にエクスポート(GZIP)」オプションを使用してモデルをエクスポート
- コンテナを実行し、モデル・ファイルをマウントする。
参考 †
対策情報 †
模擬試験 †
Tags: :.NET開発, :構成管理ツール, :CI, :BI/AI