AI-102取得体験記～公式ドキュメントを活用しよう～

# はじめに
2024年6月に[Microsoft Certified: Azure AI Engineer Associate（AI-102）](https://learn.microsoft.com/ja-jp/credentials/certifications/azure-ai-engineer/?practice-assessment-type=certification)を取得し、日頃から公式ドキュメントに触れておくことの重要性を改めて実感しました。
本記事では、実施したAI-102対策についてと公式ドキュメントの重要性について書きます。

かなりざっくりした内容なので、時間のある時に適宜加筆修正予定です。
# 実施したAI-102対策について
## 対策開始時の状態
### 業務での利用
Azureは業務で多少使用していますが、AI周りのサービスは未利用でした。
### 他区分の取得状況
下記取得済でした。
Microsoft認定資格の学習方法には多少慣れた状態だったかと思います。

Expert：AZ-305, AZ-400
Associate：AZ-104, AZ-204, DP-100
Fundamentals：AZ-900, AI-900, DP-900, PL-900

但し、最後に取得したのが2023年7月だったため、[2023年8月から始まった受験中にMicrosoft公式ドキュメントへアクセスできる機能](https://techcommunity.microsoft.com/t5/microsoft-learn-blog/introducing-a-new-resource-for-all-role-based-microsoft/ba-p/3500870)の使用経験はありませんでした。
### 勉強時間
手元の学習時間記録アプリによると12時間11分でした。
今まではAssociate以上のMicrosoft認定資格は体感50h位学習していたので、各段に少ないです。
（バタバタしていまして……）
### 得点
合格水準が700点以上のところ768点でした。
だいぶギリギリです。
### 使用教材
#### Microsoft Learn
[Microsoft Learn Cloud Skills Challenge](https://www.microsoft.com/ja-jp/cloudskillschallenge/ignite/registration/2023)をクリアして無料受験のクーポンコードを入手するために、[Microsoft Learnの所定のコース](https://learn.microsoft.com/ja-jp/credentials/certifications/azure-ai-engineer/?practice-assessment-type=certification)を1周しました。
この時点では（時間が足りず）演習問題は飛ばしました。

余談ですが、Ingnite, Build, de:code等のMicrosoftの大型イベントの開催に合わせてCloud Skills Challengeが開催されていることがあります。
無料で試験を受けたい方は動向をチェックしておくのがお勧めです。

#### 公式のプラクティス評価
Microsoftが提供している[無料のプラクティス評価](https://learn.microsoft.com/ja-jp/credentials/certifications/azure-ai-engineer/practice/assessment?assessment-type=practice&assessmentId=61&practice-assessment-type=certification)を1周しました。
この時のスコアは54点でした……

今までの経験からプラクティス評価の設問と本番の設問はかなり違う認識でした。
そのため、プラクティス評価の正答率を上げることはあまり考えず、公式ドキュメントで確認しておくべきサービスを把握しておくための用途で使用していました。

プラクティス評価は途中保存ができず、解答を中断してセッションが切れると1問目に戻ってしまいます……
まとまった時間が取れないときは無理に最後まで解こうとせず、1,2問でも解いてみるようにしていました。
そのため、最後まで通しで解いたのは1回ですが、実際に解いた問題数はもう少し多くなります。

また、プラクティス評価を解くときに気を付けていたこととして、1問解く毎に正解を確認するようにしていました。
また、このタイミングで知らないサービスが出てきたり理解が不十分だったりする場合はMicrosoftのドキュメントを読んでおくようにしていました。

#### Microsoft Learn（演習）
実際のサービスも触っておきたかったので、一部のMicrosoft Learnは演習にも取り組みました。
下記2つを実施しています。

[Vision Studio とは](https://learn.microsoft.com/ja-jp/azure/ai-services/computer-vision/overview-vision-studio)
Vision StudioというUIベースのツールでAzure AI Visionの機能を試してみました。
Azure AI Visionの各機能で何ができるのか確認しておくと、試験対策にも有効だと思います。

[Azure OpenAI Service を使用して検索拡張生成 (RAG) を実装する](https://learn.microsoft.com/ja-jp/training/modules/use-own-data-azure-openai/)
流行りのRAGパターンを触ってみたかったので実施しました。
Azure AI SearchとAzure OpenAI Serviceの使い分けを把握できたことで、本番の得点にも多少寄与したのかな？と思います。

本当はもっと演習時間を取れた方が良かったのですが、今回は時間の兼ね合いで2つのみの実施でした。
実施した分はどちらも受験時に役立ったので、お時間ある方は是非色々触ってみると良いかと思います。

#### Udemy
受験の一週間前から勤め先でUdemy Businessが利用できるようになったので、[対策問題集](https://www.udemy.com/course/ai102-azure-practice/)を解きました。
Practice Testが5回分用意されていたのですが、時間の都合上2つだけ解きました。
それぞれ2,3周して、80-90%程度得点できるようになりました。

こちらも解説を確認するときに、必ずリンク先の公式ドキュメントを読むようにしていました。
今回解いたPractice Testの数が少なかったこともあり、Practice Testの問題がそのまま当日出題されている印象はあまりなかったのですが、公式ドキュメントを読んでどこに何が書いてあるかなんとなく把握していたのは有効でした。

# 受験当日の所感

今回対策時間が短めだったこともあり、事前に解いた問題がそのまま出題されている印象はあまりありませんでした。
中には全く対策できておらず、公式ドキュメントに該当の記載を見つけられなければ解答できなかったような設問もありました。

当日は次のような手順で問題を解きました。
1. 見直し可能な問題は全て見直しチェックを付ける
1. 試験画面の左側メニューから公式ドキュメントを開き、画面の右半分に出しておく
1. 問題文を読む。日本語で意味が理解しにくいと感じたら、画面左のメニューから一時的に英語に変更
1. 問題文や設問のサービス/機能名称でドキュメントを検索しつつ問題を解く
1. 解答に時間が掛かりそうな問題は一番それっぽいと感じた解答を選んで進む
1. 後の問題の問題文や解答の選択肢を見て、前の問題のヒントを得られることがあるので、そうした場合は戻って解き直す
1. 次のセクションに移るまでに一通り見直しする

上記の手順で試験終了まで2,3分残して解き終わりました。
公式ドキュメントを参照できる分、今までより時間配分が難しくなっていると感じました。
公式ドキュメント内でctrl + Fのページ内検索が効かないようだったので、ドキュメントのページの構成が判っている方が効率的に流し読みできそうです。

また、公式ドキュメントの検索については、個人的に以下のような点がコツかなと感じました。
* サービスの正式名称を入れて検索
   * やりたいことで検索するより、サービス名称で検索した方が目当ての情報にたどり着く印象
   * サービス名称は設問の選択肢から拾ってくる、サービス名が判らなければ、先の問題を解いて後から戻る等 
* 英語の方がヒットしやすい？
   * 例えばAzure AI検索よりAzure AI Searchの方がヒットするような気がします
* コンテンツ領域をドキュメントで絞る
   * コンテンツ領域リファレンスだとメソッド単位等細かい説明になり、開いたページに目当ての情報が書いてないことが多いです
   * コンテンツ領域ドキュメントでページ内をざっと読んで、適宜ハイパーリンクで飛ぶ方が早いように感じました
## 対策のポイント
個人的に対策のポイントだと感じたのは以下です。
* プラクティス評価やUdemyを解く、シラバスを確認する等して試験に出てくるサービスを把握
* サービスの使い分けを覚える
   * 例えば、Azure AI Visionの各機能（画像分析、空間分析、光学式文字認識 (OCR) 、顔認識 ）はそれぞれどんな機能で、どんな場面で使うのか
   * RAGを実装する際にAzure AI SearchとAzure Open AIはそれぞれどんな役割を果たしているのかなど
* Azureの試験の定番のサービスたちの使い方をざっくり覚えておく
   * Key VaultとかSASとか……
* 学習時に公式ドキュメントを引く癖をつけることで、公式ドキュメントの検索の仕方に慣れておく！
# おわりに
試験中に公式ドキュメントへアクセスできるようになったことで、細かく暗記して試験に臨むより、サービスの名称や特徴をざっくり覚えておいて、当日探し出せることの方が重要になってきたのかなと感じました。
やはり公式ドキュメントは大切ですね……