80
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Systemi(株式会社システムアイ)Advent Calendar 2024

Day 10

【AIF-C01】AWS AI Practitioner攻略法

Last updated at Posted at 2024-12-05

2024年12月1日にAWS AI Practitioner(AIF-C01)を受験し、合格したものの、不甲斐ない成績に反省し、本当はどうすればより良かったのか、同じ資格を目指す方々に提案させていただきたいと思います。

私は、AWS資格試験に関してはCloud Licenseに絶大な信頼を寄せています。が、2024年12月1日現在ではAIF-C01はサポートしていません。

他の問題集としては、2024年12月1日時点ではUdemyKindle本が確認できました。が、これらを丸覚えしただけでは合格は難しそうでした。とはいえ、内容は納得できるものでしたので、別の使用法を提案します。

以上を踏まえて、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 社内文書検索システムを構築
ハンズオンセミナーも参照

image.png

評価

サービス 用途
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


以上、各位の健闘を祈っております:pray:

80
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
80
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?