2024年12月1日にAWS AI Practitioner(AIF-C01)を受験し、合格したものの、不甲斐ない成績に反省し、本当はどうすればより良かったのか、同じ資格を目指す方々に提案させていただきたいと思います。
私は、AWS資格試験に関してはCloud Licenseに絶大な信頼を寄せています。が、2024年12月1日現在ではAIF-C01はサポートしていません。
他の問題集としては、2024年12月1日時点ではUdemyとKindle本が確認できました。が、これらを丸覚えしただけでは合格は難しそうでした。とはいえ、内容は納得できるものでしたので、別の使用法を提案します。
以上を踏まえて、2024年12月時点で私の推奨する学習方法は次のとおりです。
1.退屈とは思いますが、日本語の試験ガイドには目を通して、出てくる用語は押さえておいたおいた方が良いと思います。下記に私なりに整理したものを掲載しておきます。
2.AWSの学習コンテンツには本家提供のskillbuilder(サインインが必要)というのがあって、これがデフォです。ここに問題集が用意されていますので、この時点での手応えをつかんでおくと良いと思います。(まぁ、英語は機械翻訳にお任せしましょう。)
3.AIF-C01のコースとしてはこれで、英語が主体ながら日本語で読めるものも多々あります。トータルの所要時間は18時間超となっていて、なかなかヘビーです。このうち、最初に見るべき全体ガイドともいえるこれは8時間で英語のみです。Transcriptがありますので、これをAI翻訳して読んだ後に、理解を深める必要があると感じたテーマについてテーマ毎のコースを読んで深堀する、というのが多忙なビジネスマン/ウーマンの現実ラインかもしれません。コースの本体はModule3です。Module1は「この試験ってこういうものです」といった話、Module2もAWS Trainingの紹介で、わざわざ翻訳してまで読む必要はないでしょう。Module4以降は試験手続きとかなので、他を見た方がベターです。Module3はさらに5つのDomainから構成されています。各Domainの最後には2~3の演習問題と解説がありますので、どうしても時間が取れない方は、ここだけでも見ておいた方が良いと思います。
4.理解が進んだ、と思ったら、ここで、また問題集を使って理解度を確認するといいと思います。
5.納得できるまで3、4を繰り返えしましょう。
6.納得できたら、UdemyかKindle本で仕上げに入るといいと思います。
7.「手を動かしてみたい」という方は、ハンズオンセミナーがありますので、やってみるといいと思います。(AI系は多くないのと、AWSのアカウントを取る必要があるのと、無料枠を超えた分には支払いが発生します。)
試験ガイドに出てきたAWSサービス、用語を整理してみました。
AWSのAIサービス
サービス名 | 概要 |
---|---|
Amazon SageMaker | 出来合いでは事足りない方向け スクラッチで楽にAI/MLを構築し学習させられるフルマネージド(インスタンスとかの整備はAWSがやっときます)サービス(群) 脳みそがソーセージの塊に見えてのネーミング? |
Amazon Transcribe | 音声からの文字おこし Alexaの耳担当 |
Amazon Translate | 翻訳コンニャク(ただし音は出ない) |
Amazon Comprehend | 文字データからcomprehend(理解する)ためのネタ(固有名詞とかキーワードとか)を抽出してくれる |
Amazon Lex | Alexaのネタ担当 |
Amazon Polly | Alexaの声担当 |
Amazon Textract | 手書き文字の抽出 |
Amazon Recognition | 画像分析 |
SageMaker Canvas(予測=回帰の機械学習)を構成するサービス
サービス | 用途 |
---|---|
Amazon SageMaker Data Wrangler | 学習用データの準備 |
Amazon SageMaker Feature Store | 学習後のパラメータ管理共有 |
Amazon SageMaker Model Monitor | 本番環境で動作する学習済みのモデルのモニタ 学習に使用していたデータからドリフトして性能が下がっていないか |
AIサービスを作る/使う
サービス | 用途 |
---|---|
Amazon SageMaker JumpStart | 数回のクリックでAWSが事前構築した機械学習ソリューションをデプロイできるサービス、Just Use It! |
Amazon Bedrock | AWSのベンダ各社の生成AIをAWS環境で(組み合わせて)使えるようにするサービス、ファインチューン(固有の用途に適合するよう追加学習、例えば返答は名古屋弁にしたい、とか) ができる |
PartyRock | 生成AIを組み込んだWebアプリケーションをローコードで作成 |
Amazon Bedrock Playground | 複数のモデルの動作を試食(手軽に比較検討)できる |
Amazon Q | AIを使ってあなたのAWS体験をハッピーにします、種類はいっぱい、For(ユーザ)とIn(AWSサービス)と無印(作業) |
AI向けデータベース
サービス | 用途 |
---|---|
Amazon OpenSearch Service | これ自体はDBではない認識だが、各種データストアと連携して検索や分析を行えるようにする RAG(社内文書検索)などに使われるベクトル(セマンティック)サーチにも対応 |
Amazon Aurora | DBの種類というより、マネージド(インスタンス立てなくても使える)DBサービス PostgreSQLとMySQLタイプあり |
Amazon Neptune | グラフDB(NoSQL) グラフとは数学のグラフ理論のこと |
Amazon DocumentDB | グラフDB(NoSQL) |
Amazon RDS for PostgreSQL | 文字どおり Auroraがフルマネージドなのに対しこちらはリソース管理を各ユーザが行う |
独立系
サービス | 用途 |
---|---|
Agent for Amazon Bedrock | Function Calling(Tool Use)のAWS版? LLMとユーザの間に入ってLLMの機能を拡張 下図を参照 |
Amazon Kendra | 社内文書検索システムを構築 ハンズオンセミナーも参照 |
評価
サービス | 用途 |
---|---|
Amazon SageMaker Clatify | モデルの出力の評価、説明、バイアスの検知 |
Amazon A2I | 機械学習のワークフローに人によるチェックを入れられるようにする(業界ではHuman in the Loopという) |
ガバナンス
サービス | 用途 |
---|---|
Amazon SageMaker Model Cards | モデルの使用上の制約、注意を利用者に提示 |
Amazon Macie | 学習データ等に含まれるクレジットカード番号のような情報を除去 |
AWS PrivateLink | 実はAWSに立てたインスタンスとS3等のサービスの間は通常はインターネットを経由するが、それをAWSを出ないようにする |
AWS Config | AWSに立てたサービスが自らの決めたルールに準拠しているか見てくれる |
Amazon Inspector | セキュリティスキャナー |
AWS Audit Manager | 業界標準等に対するコンプライアンスチェッカー |
AWS CloudTrail | 誰が何のAPI使ったか、全て記録 |
AWS Trusted Advisor | コスト削減、パフォーマンス、耐障害性の御相談承ります |
AWS CloudWatch | ログ、アラート、パフォーマンスモニタ、イベントキャッチ |
2価分類問題の指標
名称 | 説明 | 範囲 | |
---|---|---|---|
正答率 | 文字どおり | 0~1(=100%) | 高いほど良い |
適合率 | 「オオカミが来たぞ」と騒いだ時に嘘でなかった率 高いほど社会に適合しやすいから? |
0~1(=100%) | 高いほど良い |
再現率 | オオカミが来ていた時に見逃さず「オオカミが来た」と騒いだ率 高いほど再現した時にありがたいから? |
0~1(=100%) | 高いほど良い |
F1スコア | F値ともいう 適合率と再現率の調和平均(逆数の平均をとって、さらに逆数にする) |
0~1(=100%) | 高いほど良い |
AUC | 面積1の正方形の左下と右上の頂点を結ぶ右上がりのカーブ(ROCカーブという、曲線で階段状の折れ線) | 事実上0.5~1 (0.5より低い場合は逆張りしている) |
高いほど良い |
生成系言語モデルの指標(いずれも、0~1で高いほど良い)
名称 | 用途 | 説明・特徴 |
---|---|---|
ROUGE | 要約タスク Gはgist(要点)の頭文字 |
n-gram(nは数値で、gramは文字列の意味)を使用 |
BLUE | 翻訳タスク BLはBilingual(バイリンガル)の略 |
n-gramを使用 |
BERTScore | 生成系言語処理一般 BERTはChatGPTと同じようにTransformerという機構を採用 |
そもそもBERTは初めてTransformerを採用した言語モデルのこと Transformerで計算したベクトルを使用 前の2指標に比べると比較的新しい |
生成AIのプロンプトエンジニアリングについては解説を読んだだけ(or APIを使用しないWebUIからのアクセスしか経験がない)では理解がおぼつかない方もいるのではないかと思い、ごく簡単なJupyter Notebookを用意しました。
https://github.com/sin-gee/CohereCommandR-RAG-for-japanese
https://github.com/sin-gee/Cohere-Prompt-Engineering-for-japanese
生成AIの学習コンテンツとしては、deeplearning.aiのshort courseが無料で優れています。ただ、全てが英語で、扱っているネタも「テーラー・スイフトが...」だったりして、純国産の私には辛かったため、上記のNotebookを作りました。
skilbuilderを翻訳して練習問題を作ってくれるNotebookを作ってみました。いい感じの出力が得られるよう、プロンプトエンジニアリングしてみてください。(2024/12/22追加)
https://github.com/sin-gee/StudyWithLLM
以上、各位の健闘を祈っております