はじめに
AWS認定の新資格として、AI Practitionerがリリースされました。試験ではAI/MLに関する知識が問われますが、初学者にとってはとっつきにくい分野だと思います。
そこで公式の試験ガイドをもとに押さえるべきポイントを整理しました。
各用語の意味やユースケースをある程度把握できていれば、合格も難しくありません。ぜひ参考にしてみてください。
1. 機械学習の基礎
1.1 機械学習の位置づけ
AI(人工知能)
コンピューターや機械が人間の知能と問題解決能力をシミュレートできるようにする技術。
ML(機械学習)
データから学習し、明示的なプログラムなしに自動的に改善される技術。システムに大量のデータを提供し、学習を繰り返すことでパターンやルールを学ぶ。
深層学習(ディープラーニング)
複数の層(ディープニューラルネットワーク)を持つモデルを使用し、データから特徴を自動的に抽出する技術。特に大規模なデータセットで効果を発揮し、画像認識や音声認識、自然言語処理で利用される。
AIが最も広い概念で、その中にMLがあり、さらにMLの中に深層学習が存在する。
出典:https://www.cct-inc.co.jp/koto-online/archives/174
1.2 機械学習の種類
MLにはいくつかの手法が存在する。
教師あり学習
入力と正解例の関係を示したデータ(ラベル付きデータ)を学習データとして入力し、その関係を再現することで新しいデータに対して予測を行う。
例:スパムメール検知、故障診断
教師なし学習
何の説明もないデータ(ラベルなしデータ)を使ってパターンを見つける。
例:クラスタリング、アノマリー検知
半教師あり学習
教師あり学習と教師なし学習を組み合わせた方法。まず少量のラベル付きデータで初期モデルを作成し、その後大量のラベルなしデータを使用してモデルの改善を行う。ラベル付けのコストと時間を削減することが可能で、効率的にモデルが作成できる。
強化学習
推論の結果に対して評価(報酬)を繰り返し与えることで、どのような結果を出してほしいかを示し、その結果をもうまく再現できる環境からのを基に行動を学ぶ。
例:ゲームAI
出典:https://www.itmedia.co.jp/enterprise/articles/1901/07/news015.html
出典:https://zero2one.jp/ai-word/semi-supervised-learning/
1.3 機械学習の基本構成要素
モデル
データからパターンや関係性を学習し、その知識を基に予測や分類を行う数学的な関数。モデルはトレーニングによって構築され、推論時に新しいデータに対して予測を行う。
アルゴリズム
特定のタスクを達成するための一連の手順やルール。機械学習においては、データを処理し、モデルをトレーニングするための数学的手法を指す。
出典:https://xtech.nikkei.com/atcl/learning/lecture/19/00001/00003/
トレーニング
学習や訓練とも言う。モデルがデータを用いてパターンを学習するプロセス。
推論
訓練済みの機械学習モデルが新しいデータに対して、結論や予測を導き出すプロセス。
出典:https://www.itmedia.co.jp/enterprise/articles/1901/04/news009.html
1.4 主要なAI技術
ニューラルネットワーク
人間の脳神経細胞(ニューロン)を模倣して作られたアルゴリズムの一種で、複数の層(入力層、隠れ層、出力層)から構成される。各層のニューロンは、入力データを受け取り、重みを更新しながら予測や分類を行う。
出典:https://corp.rakuten.co.jp/event/rakutentech/ai/neural-network.html
コンピュータビジョン
コンピュータが画像や動画から情報を抽出し、理解・解析する技術。
例:物体認識、顔認識、画像認識
自然言語処理 (NLP)
コンピュータが人間の言葉を理解し、処理する技術。音声認識や翻訳などを可能にする。
例:機械翻訳、感情分析、質問応答システム
1.5 機械学習のモデル
機械学習のモデルは解決するタスクに応じて異なる種類に分けられる。
◆教師あり学習
回帰
連続する入力値に対する次の値を予測する手法。
- 過去の気象データと位置情報を学習し、その地点の翌日の気温を予測する
- 新築の住宅販売価格を、過去の実績に基づいて予測する
- 選挙において、ある候補者についての投票率を予測する
具体的手法:線形回帰、決定木回帰、ランダムフォレスト回帰、サポートベクターマシン
分類
データをカテゴリに分類し、新たな入力に対する出力のラベルを予測する手法。
- 過去の気象データと位置情報を学習し、その地点の翌日の天気(晴れ、曇り、雨、雪)を予測する
- 受信した電子メールがスパムかどうかを自動判定する
- 住宅ローン申込者への融資リスクの高低を判断する
具体的手法:ロジスティック回帰、決定木、ランダムフォレスト、ナイーブベイズ
出典:https://www.codexa.net/scikit-learn-intro/
◆教師なし学習
次元削減
データセットの特徴量同士の関係を学習し、重要な情報を保ちながらデータの次元数(特徴の数)を減らしシンプルにする手法。膨大なデータセットを処理する際に、コンピュータの性能不足を補うためなどに利用する。
具体的手法:主成分分析 (PCA)、独立成分分析 (ICA)、潜在的ディレクトリ配分法
クラスタリング
データの特徴から関連の深いデータや似通ったデータを見つけ、クラスターに分ける(=グルーピングする)手法。企業の購買データから顧客をグループ化し、グループごとに適した商品をレコメンドするような際に利用する。
具体的手法:K-means、階層的クラスタリング、DBSCAN
出典:https://aismiley.co.jp/ai_news/ai-models/
出典:https://blogs.sas.com/content/sasjapan/2017/11/21/machine-learning-algorithm-use/
1.6 推論の種類
推論の手法には複数の種類が存在する。
バッチ推論
オフライン推論とも呼ばれ、大量のデータに対して一括で予測を行う方法。データセットが大きい場合や、即時の応答が不要な場合に適している。
リアルタイム推論
オンライン推論や動的推論とも呼ばれ、リクエストに応じてオンデマンドで予測を行う方法。新しい入力データに対してすぐに予測できるため、高速な応答が求められる場合に適している。
非同期推論
リクエストと結果の取得が非同期的に行われる方法。推論リクエストを送信した後、すぐに結果が返されるのではなく、推論が完了するのを待たずに他の処理を進めることができるため、特に大量のリクエストを同時に処理する場合や処理時間が長い場合に適している。
各推論処理のレイテンシー(遅延時間)を比較すると、リアルタイム推論、非同期推論、バッチ推論の順に高くなる。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2022_Amazon-SageMaker-Inference-Part-3_1014_v1.pdf
1.7 データのタイプ
AIモデルで扱われる主なデータはいくつかの分類が可能。各分類とその特徴について説明する。
◆ラベルの有無による分類
ラベル付きデータ
入力データと対応する正解(ラベル)がセットになったデータで、教師あり学習で使用される。データの質が学習結果に大きく影響する。
ラベルなしデータ
正解(ラベル)が付与されていないデータで、教師なし学習で使用される。
◆データ構造による分類
構造化データ
表形式のデータに代表される定型的な形式で整理されたデータ。比較的扱いやすく、従来の統計手法やシンプルな機械学習モデルに適している。
例: データベースのテーブル、CSVファイルなど
非構造化データ
定型的な形式を持たないデータ。情報が豊富だが、前処理や特徴抽出が複雑になりる。
例:テキスト、画像、音声、動画など
半構造化データ
完全な構造化データモデルは持たないものの、一定の構造や階層を持つデータ。構造化データよりも柔軟に情報を表現でき、非構造化データよりも検索や分析が容易である。
例:XML、JSON、YAML
出典:https://www.sbbit.jp/article/cont1/32365
◆データの形式による分類
表形式データ
行と列で構成される2次元のデータ。
例: スプレッドシート、リレーショナルデータベースのテーブル
時系列データ
時間軸に沿って記録されたデータ。
例: 株価の推移、センサーデータ、気象データ
画像データ
2次元または3次元の視覚情報を含むデータ。
例: 写真、医療画像、衛星画像
テキストデータ
自然言語で書かれた文字列データです。
例: 文書、SNSの投稿、メール
AIモデルの開発では、これらのデータタイプの特性を理解し、適切な前処理と学習アルゴリズムを選択することが重要。また、データの質と量がモデルの性能に大きく影響するため、データの収集と加工にも十分な注意を払う必要がある。
1.8 機械学習の課題と考慮事項
バイアス
モデルが学習データに含まれる偏り(特定の性別、年齢、社会的グループなど)を反映し、不公平な予測を行うこと。モデルに偏ったデータを与えると、結果にも偏りが生じるため、バイアスが大きな問題となる。
公平性
AIモデルが特定のグループに不公平な結果を出さないようにすることを目指す概念。データセットやアルゴリズムの設計において、バイアスを軽減し、すべてのユーザーやグループに対して公正な結果を提供することが求められる。
フィット
トレーニングデータに対してモデルが適合することを指す。モデルがフィットすることで、データのパターンや関係性を学び、正確な予測が可能になる。フィットが不十分だと「アンダーフィット」、過剰に適合すると「オーバーフィット」が生じるため、上手くバランスを取ってトレーニングすることが重要。
アンダーフィット(適合不足)
機械学習モデルがデータの本質的なパターンや関係性を十分に学習できていない状態。単純なモデルを利用している、トレーニングデータが不十分といったことが原因であり、結果モデルの予測能力が全体的に低く、実用的な予測が不可となる。
オーバーフィット(過剰適合/過学習)
機械学習モデルがトレーニングデータに過度に適合しすぎて、新しいデータに対する予測精度が低下してしまう現象。モデルが複雑で、トレーニングデータの細かい特徴まで学習していることが原因であり、結果トレーニングデータに対しては高い精度を示すが、未知のデータに対しては精度が低下する。
1.9 AIにおけるAWSサービス
AWSでは、AIタスクを実施するにあたり基盤側の管理が不要なマネージドサービスが提供されている。
サービス | 機能 |
---|---|
Amazon Textract | 印刷されたテキストや手書きの文字などから自動的に文字を抽出する(OCR) |
Amazon Translate | テキストを機械翻訳する |
Amazon Transcribe | 音声をテキストに自動変換する(Speech-to-Text) |
Amazon Polly | テキストを読み上げる(Text-to-Speech) |
Amazon Comprehend | テキストから固有名詞検出、感情分析、トピック分類、言語検出など自然言語処理を実行する |
Amazon Lex | 会話型AIを使用してチャットボットと音声ボットを構築する |
Amazon Personalize | ユーザーのデータを活用して、個々のユーザーに対してパーソナライズされたレコメンデーションを提供する |
Amazon Rekognition | 画像と動画の分析を自動化する |
Amazon Kendra | 企業内のさまざまな情報源から情報を効率的に検索し、関連性の高い結果を提供する(後述のRAGでも利用可能) |
1.10 機械学習のユースケース
◆機械学習が価値を提供できる分野
AI/MLでは、データを活用して自動化や意思決定支援を行うことで、多くの分野で価値を提供する。以下代表的な応用分野とその価値を示す。
・人間の意思決定の支援
大量のデータやパターン認識が必要なタスクにおいて、迅速かつ正確に重要な情報を提供し、人間が複雑な意思決定を行う際の助けとなる。
例:AIが患者データを分析し、疾患の早期診断や治療計画の策定を支援する
AIが市場トレンドを予測し、経営判断に役立つインサイトを提供する
・ソリューションのスケーラビリティ
大量のデータやプロセスを扱う際にスケーラビリティ(拡張性)を提供し、人間が対応できない規模のデータやタスクを効率的に処理する。
例:Eコマースで数百万の商品や顧客の行動パターンをリアルタイムで分析し、
個々の顧客に最適な商品をレコメンドする
・オートメーション(自動化)
反復的なタスクやルーチンワークを自動化し、人間の作業負担をへらしつつ、生産性を向上させることができる。
例:製造業におけるロボットによる品質検査
コールセンターでのチャットボット対応
◆機械学習が適切ではない分野
AI/MLがすべての状況において最適であるとは限らない。導入する際には、適切な状況と適切でない状況を見極めることが重要である。
・費用対効果の分析
高度なアルゴリズム開発やデータの準備、モデルのトレーニングなどには、時間やコストが発生する。小規模なデータセットや単純なタスクには、コストに見合った利益が得られない可能性がある。
・予測ではなく特定の結果が必要な状況
AI/MLは、基本的に予測やパターン認識に基づく意思決定を行う技術であるが、法的判断のように確定的な結果が求められる場合は、人間が明確な判断を下すことが求められる。
・データの質や量が不十分な場合
AI/MLモデルは大量のデータを必要とすることが多く、特に学習のためには高品質なデータが重要である。データが少ない、偏っている、あるいはノイズが多い場合、AI/MLモデルは十分な性能を発揮することができない。
・倫理的な懸念や規制要件がある場合
雇用、教育、司法など公平性や透明性が求められる状況では、AIの決定が人間にとって納得できないものになる可能性がある。また個人情報を取り扱う場合は、プライバシーに関する規制により利用が禁止/制限されることがある。
2. 機械学習の開発サイクル
2.1 機械学習パイプライン
機械学習パイプラインとは、データの収集から最終的なモデルのデプロイとモニタリングまでの一連のプロセスを体系的にまとめた概念である。以下に、主要な構成要素について示す。
①データ収集
モデルを訓練・評価するためのデータを取得するプロセス。データの品質と量が最終的なモデルの性能に大きく影響する。
②探索的データ分析 (EDA)
データを理解し、パターンや異常、相関関係などを理解するため統計的分析と可視化を行うプロセス。主に以下の作業が発生する。
- 統計的指標(平均、標準偏差、分布)確認
- データの可視化(ヒストグラム、散布図、相関行列)
- 異常値(アウトライアー)の検出
- データの欠損値確認
③データの前処理
不完全なデータに対し、モデルの学習に適した状態に整えるプロセス。主に以下の作業が発生する。
- 欠損値の処理(削除/補完)
- 外れ値の処理
- 異常値やノイズの除去
- データ型の変換(ワンホットエンコーディング/ラベルエンコーディング)
- スケーリング(正規化/標準化)
④特徴量エンジニアリング
モデルの性能向上と過学習の防止を図るため、データから有用な特徴を抽出したり、新しい特徴を作成するプロセス。主にかの作業が発生する。
- 既存の特徴量の変換(例:日時データを月、曜日、時間に分割)
- 新しい特徴量の作成(例:価格×数量 = 売上)
- 次元削減(主成分分析などを使って次元数を減らす)
- 特徴量選択(重要な特徴量だけを残す)
⑤モデルトレーニング
機械学習アルゴリズム(回帰、分類、クラスタリングなど)を使って、訓練データからパターンを学習し、モデルを構築する。
⑥ハイパーパラメータのチューニング
ハイパーパラメータとは、トレーニング中に学習されないモデル自体のパラメータのことである。ハイパーパラメータを最適化することで、モデルの性能を向上させる。主な手法は以下の通り。
- グリッドサーチ: すべてのパラメータの組み合わせを試す
- ランダムサーチ: ランダムにいくつかのパラメータを選んで試す
- ベイズ最適化:評価コストの高い関数の最大値または最小値を、少ない試行回数で見つけ出す
⑦評価
テストデータを用いてモデルの性能を評価し、必要に応じてモデルの改善や再トレーニングを行う。主な評価指標は以下の通り。
- 分類:精度、再現率、F1スコア、AUC-ROCなど
- 回帰:平均二乗誤差(MSE)、R²スコアなど
⑧デプロイ
選択したモデルを本番環境にデプロイする。モデルをAPIとして公開したり、バッチ処理システムに組み込んだりする。
⑨モニタリング
デプロイされたモデルのパフォーマンスを継続的に監視する。モデルが運用環境で適切に動作しているか、時間経過によるデータの変化(データドリフト)やモデルの劣化が発生していないかを監視する。
2.2 MLパイプラインで利用するAWSサービス
完全マネージドな機械学習サービスとしてAmazon SageMakerが利用可能である。
SageMakerでは、MLパイプラインの各段階に対応するさまざまなサービスを提供されており、以下主要なものを整理した。
SageMakerサービス | MLパイプラインのステップ | 機能 |
---|---|---|
SageMaker Data Wrangler | ①データ収集 ②探索的データ分析 ③前処理 ④特徴量エンジニアリング |
データの確認、クレンジング、視覚化を GUI を使って迅速に実行。 |
SageMaker Ground Truth | ①データ収集 ③前処理 |
ラベル付きデータを自動で生成。 |
SageMaker Processing | ③データの前処理 ④特徴量エンジニアリング |
大規模データの前処理や特徴量エンジニアリングをバッチ処理で実行。 |
SageMaker Feature Store | ④特徴量エンジニアリング | オンライン・オフラインでの特徴量の管理と再利用。 |
SageMaker Training | ⑤モデルトレーニング | 分散環境でモデルをトレーニング。 |
SageMaker Model Cards | ⑤モデルトレーニング ⑦評価 ⑨モニタリング |
モデルのメタデータを文書化し、透明性や説明可能性を向上。 |
SageMaker Automatic Model Tuning | ⑥ハイパーパラメータのチューニング | ハイパーパラメータの自動最適化を行い、最適なパラメータ設定を探索。 |
SageMaker Model Monitor | ⑦評価 ⑨モニタリング |
モデルのデータドリフトや品質の監視、パフォーマンスの低下を検知しアラートを発生させる。 |
SageMaker Clarify | ⑦評価 | モデルのバイアス検出し、公平性と透明性を維持。 |
SageMaker Endpoint | ⑧デプロイ | リアルタイム推論用にモデルをデプロイし、APIエンドポイントとして提供。 |
SageMaker Pipelines | 全体 | MLパイプライン全体のワークフローを一元管理。 |
SageMaker Studio | 全体 | インタラクティブなデータ分析とモデル評価指標の可視化・比較するため、Jupyter Notebooks環境を提供。 |
2.3 機械学習モデルのソース
MLモデルのソースには、主に以下のようなものが存在する。
・カスタムモデルのトレーニング
独自のデータセットを使用し、特定のタスクやドメインに特化したモデルを開発する。
例:ゼロからのトレーニング、転移学習(事前学習済みモデルのファインチューニング)
・オープンソースの事前トレーニング済みモデル
公開されており、無料で使用可能。また大規模なデータセットで事前に学習済みであり、開発におけるコスト削減に寄与する。
例:BERT、ResNet、GPTなど
・クラウドプロバイダーのマネージドサービス
クラウドプラットフォームが提供する汎用モデルやトレーニングサービス。APIやマネージドサービスを通じて利用する。AWSではAmazon SageMakerが利用可能。
カスタムモデルのトレーニングでは、データの準備、モデルの選択、ハイパーパラメータのチューニングなど、複雑なプロセスが必要だが、特定のタスクに最適化されたモデルを構築できる。
一方、事前トレーニング済みモデルやクラウドサービスを利用することで、開発時間を短縮し、高性能なモデルを素早く導入することができる。
適切なソースの選択は、タスクの性質、利用可能なデータ、リソース、時間的制約などを考慮して行う必要がある。
2.4 モデルの評価
モデルを評価するために、モデルパフォーマンスメトリクスを活用する。このメトリクスは、データを2つの異なるカテゴリ(正と負、陽性と陰性など)に分類する二値分類を対象としており、その評価方法を以下に示す。
・正解率(Accuracy)
全予測のうち正しく予測された割合。偽陽性および偽陰性と判断された数を減らすことで、数値は向上する。
・適合率(Precision)
陽性と予測された中で実際に陽性だった割合。偽陽性と判断された数を減らすことで、数値は向上する。
・再現率(Recall)/真陽性率(TPR:True Positive Rate)
実際には陽性だった中で、モデルも陽性と予測できた割合。偽陰性と判断された数を減らすことで、数値は向上する。
・F値/F1スコア
適合率と再現率の調和平均。2×適合率×再現率を適合率+再現率で割ることで計算でき、1.0に近いほど適合率と再現率のバランスが良いと判断できる。
出典:https://zero2one.jp/ai-word/accuracy-precision-recall-f-measure/
・ROC曲線下面積(AUC - Area Under the Curve)
異なる閾値での真陽性率(TPR)と偽陽性率(FPR)をプロットした曲線(ROC)の下の面積。AUCが1に近いほどモデルの性能が高く、0.5はランダムな予測を意味し、それ以下は逆予測を示す。
2.5 MLOps
機械学習モデルの開発から運用までのライフサイクル全体を効率的に管理するためのプラクティスをMLOpsという。基本的な概念は以下の通り。
実験
新しいアルゴリズムや特徴量の追加、異なるモデルのトレーニングなどを行い、結果を比較評価することで、最適なモデルを選定。
反復可能なプロセス
コード、データセット、ハイパーパラメータの管理を徹底することで、再現性を保ち、異なるチームやメンバーが同じプロジェクトで作業しやすくなる。
スケーラブルなシステム
クラウドサービスを活用し、大規模なデータセットやモデルを効率的に処理できるインフラを構築
技術的負債の管理
時間の経過とともに発生する保守性や効率性の低下を防ぐため、コードやドキュメントなどは将来的な変更や拡張が容易にできるようにする。
本番稼働の準備
モデルのテスト、評価、バージョン管理を徹底し、本番環境での信頼性を確保する。また、デプロイ手順を明確にし、開発環境から本番環境へのスムーズな移行プロセスを確立する。
モデルモニタリング
モデルが期待通りのパフォーマンスを維持しているかを継続的に関し、データドリフトやパフォーマンスの低下を検出する仕組みを実装。
モデルの再トレーニング
新しいデータを用いたモデルの定期的な再トレーニングを行う。
3. 生成AIの基礎
3-1. 生成AIの基本概念
基盤モデル(FM:Foundation Model)
多様なデータで訓練され、様々なタスクに適応可能な汎用AIモデル。
トークン
生成AIのモデルがデータを処理する際の単位。テキストを小さな単位に分割したもので、文字数とは異なる概念である。
チャンク化
大きなデータを小さな部分に分けるプロセス。
埋め込み(Embedding)
テキストや画像といったデータをベクトル形式に変換する方法。
ベクター
数値の配列で、データの特徴を表現する。例えば自然言語で入力されたデータの意味を、数値で表現し、ベクトル空間上で近い特徴を持つものを意味的にも近いと判断する。
出典:https://atmarkit.itmedia.co.jp/ait/articles/2401/18/news023.html
大規模言語モデル(LLM:Large Language Model)
膨大なデータセットからトレーニングされた自然言語処理のモデル。多様な言語タスクに対応可能で、高度な文章生成能力を持つ。
マルチモーダルモデル
テキスト、画像、音声など複数のデータタイプを同時に処理できるモデル。
拡散モデル
ノイズを加えたデータから元のデータを復元する生成モデル。Stable DiffusionやDALL-Eなど画像生成AIに採用される。
出典:https://www.sbbit.jp/article/cont1/128789
トランスフォーマー
エンコーダー(符号器)とデコーダー(復号器)で構成され、大規模並列処理に向いたモデル。GPTシリーズが該当する。
3-2. 生成AIのユースケース
画像生成
・アートデザイン: 新しい芸術作品やデザインパターンの生成。
・広告/マーケティング: 広告用のカスタム画像やバナーの作成。
動画生成
・映画/アニメ: 短編映画やアニメのシーン生成。
・教育: 教材用の動画コンテンツの生成。
音声生成
・ナレーション: オーディオブックや教材の自動ナレーション。
・カスタマーサービス: 自動応答システムの音声生成。
要約
・ビジネスレポート: 会議の議事録やレポートの要点を抽出。
・教育/研究: 教材や論文の要約。
チャットボット
・パーソナルアシスタント: スケジュール管理、リマインダー設定など。
・エンターテインメント: 会話型ゲームや対話型ストーリーテリング。
翻訳
・旅行: 言語の壁を越えたコミュニケーション。
・ビジネス: 国際的なビジネス文書やメールの翻訳。
コード生成
・プログラミング支援: コードの自動生成や補完。
・バグ修正: 自動でバグを検出し修正。
カスタマーサービスエージェント
・問合せ対応: 自動化されたカスタマーサポート。
・FAQ: よくある質問への自動応答。
検索
・パーソナライズド検索: ユーザーの嗜好に基づいた検索結果のカスタマイズ。
・企業内検索: 内部データベースからの情報検索。
レコメンデーション
・ECサイト: ユーザーの嗜好や閲覧履歴に基づいた商品の推薦。
・SNS: フィードのカスタマイズや知り合いと思われるユーザの紹介。
3-3. 生成AIのメリットとデメリット
◆メリット
適応性
上述のユースケースの通り、多岐にわたる応用が可能。また新しいデータや条件に対しても柔軟に対応できるため、環境や要求の変化に対して迅速に適応する。
応答性
リアルタイムでの応答が可能なため、チャットボットやカスタマーサポートなどの分野で即座にユーザーの質問に答えたり、問題を解決したりすることができる。
シンプル
ユーザーは難しい技術的知識を理解する必要がなく、シンプルなインターフェースを通じて高度な機能を利用できる。
◆デメリット
ハルシネーション
特にテキスト生成において、現実に存在しない、または誤った情報をユーザーに提供するリスクがある。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-16_Security_AWS_Summit_JP_2024.pdf
解釈可能性
生成AIモデルは一般に「ブラックボックス」とされ、その内部の動作や決定プロセスを理解するのが難しいため、どのようにして特定の結果に至ったのかを説明するのが困難で、信頼性や透明性に欠けることがある。
出典:https://atmarkit.itmedia.co.jp/ait/articles/1908/19/news022.html
不正確
モデルの訓練データが不完全またはバイアスを含む場合、不正確な結果を生成することがある。特に医療や法律などの重要な分野では、わずかな不正確さでも重大な影響を及ぼす可能性がある。
非決定性
生成AIは同じ入力に対しても異なる出力を生成することがあり、創造性や多様性をもたらす一方で、予測可能性や一貫性に欠ける。
3-4. 生成AIモデル選択の観点
モデルタイプ
・GAN(Generative Adversarial Networks): 主に画像生成に使われる。2つのネットワーク(生成者と識別者)が競い合いながら訓練される。
・VAE(Variational Autoencoders): データの潜在変数を学習し、新しいデータを生成する。生成品質はGANより劣るが、解釈性が高い。
・Transformer-based Models(例: GPT-3): テキスト生成に特化。自然言語処理(NLP)タスクに優れ、幅広い応用が可能。
パフォーマンス要件
・スピード: リアルタイム応答が求められる場合、モデルの推論速度が重要となる。
・スケーラビリティ: 多数のリクエストを処理する場合、クラウドベースのソリューションが役立つことが多い。
・リソース効率: モデルのトレーニングや推論に必要な計算リソースでリソース消費を抑えつつ高性能を維持することが求められる。
機能
・カスタマイズ性: 特定のビジネスニーズに応じたカスタマイズが可能か。
・多用途性: 複数のタスクに対応できるか。例えば、テキスト生成だけでなく、翻訳や要約もできるか。
制約
・コスト: モデルの開発または利用においては費用が発生する。
コンプライアンス
・データプライバシー: GDPRやCCPAなどのデータ保護規制に準拠する必要がある。
・倫理的考慮: バイアスの排除や透明性の確保を考慮しなければならない。
3-5. AWSを利用した生成AIアプリケーション構築のメリット
アクセシビリティ
AWSはインターネット接続があればどこからでもアクセスでき、コンソールやAPIを通じて簡単に利用できるため、技術的知識が少ないユーザーでも手軽に利用できる。
参入障壁の低さ
初期投資が少なく、必要に応じてリソースをスケールアップ/ダウンできるため、小規模なスタートアップでも利用しやすい。
効率性
すでにトレーニング済みのモデルを利用することができるため、開発の手間を省くことが可能。
費用対効果
使用した分だけ支払う従量課金制を採用しており、リソースの無駄を最小限に抑えることで、経済的な利用を実現できる。
市場投入までのスピード
AWSの豊富なサービス群により、開発からデプロイまでのプロセスを迅速に進めることができる。例えば、AWS SageMakerは、モデルのトレーニング、チューニング、デプロイまでを一気通貫で行うことが可能。
ビジネス目標の達成能力
AWSの各種分析ツールやモニタリング機能を活用することで、ビジネス目標達成に向けたデータ駆動型の意思決定が可能。
セキュリティ
AWSは高いセキュリティ基準を持ち、データの暗号化、アクセス制御、ネットワークセキュリティなど多層的なセキュリティ対策を提供している。またAWSは責任共有モデルを採用しており、インフラストラクチャのセキュリティとコンプライアンスはAWSが担当し、アプリケーションやデータのセキュリティはユーザーが担当する。これにより、明確な責任分担が可能となり、セキュリティ対策の最適化が図れる。
コンプライアンス
GDPR、HIPAA、PCI-DSSなど、各業界標準や規制に準拠しています。
安全性
AWSは冗長化されたデータセンターを持ち、高い可用性と耐障害性を提供する。
3-6. 基盤モデルのライフサイクル
①データ選択
モデルのトレーニングに必要なデータを収集し、クレンジングやラベリングといった前処理を行う。
②モデル選択
目的に則した基盤モデルを比較、選択する。
③事前トレーニング
モデルに大量のデータを入力し、一般的なパターンや特徴を学習させる。
④ファインチューニング
事前トレーニングされたモデルを、特定のタスクに対して微調整する。
⑤評価
モデルが実環境でどの程度の性能を発揮するかを予測するため、評価指標をもとにテストを実施。
⑥デプロイ
クラウド上にモデルをデプロイする。
⑦フィードバック
ユーザからのフィードバックをもとに、モデルを再学習させ改善を図る。
3-7. 生成AI関連のAWSサービス
AWSが提供する生成AIサービスは、「インフラストラクチャ」「ツール」「アプリケーション」の3領域に分類できる。上層に行くほど利用者の開発の負荷は下がるが、一方でカスタマイズ性が劣る。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AA-01_5-topics-Gen-AI_AWS-Summit-JP-2024.pdf
Amazon Bedrock
生成AIモデルを構築、トレーニング、デプロイするためのサービス。基盤モデルをサーバレスで提供されており、APIを通じて利用することができる。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon-Bedrock-Overview_v1.pdf
Bedrockの主要な機能は以下の通り。詳細は後述。
機能名 | 説明 |
---|---|
Bedrock Playground | モデルを試しに利用できる機能 チャット、テキスト生成、イメージ生成が利用可能 |
Bedrock Knowledge Bases | 基盤モデルと⾃社データソースを組み合わせたRAG(検索拡張生成)機能 |
Bedrock Agents | ユーザの入力に基づきタスクごとに適切なAPIを呼び出し回答を生成するエージェント機能 |
Bedrock Guardrails | 基盤モデルの不適切な⼊出⼒をブロックするガードレール機能 |
Bedrock Model Evaluation | 基盤モデルの比較評価ができる機能 |
Amazon SageMaker JumpStart
MLモデルの開発とデプロイを迅速に行うためのサービス。GUI操作により用途に応じたソリューションや学習済みのモデルを選択し、生成AIアプリケーションを構築可能
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-44_AIML_AWS_Summit_JP_2024.pdf
PartyRock
テキストによる指示と画面操作のみで生成AIを組み込んだ簡易アプリケーションの作成、共有が可能なサービス。
Amazon Q
生成AIを活用したアシスタント機能を提供するサービス。企業のシステム内のデータや情報に基づいて質問への回答や要約の提供などをサポートするAmazon Q Businessと、アプリケーションのコーディングやエラー診断などをサポートするAmazon Q Developerが存在する。またAmazon Quick SightやAmazon Connect、AWS Supply Chainといった既存サービスにも組み込まれ生成AI機能を提供している。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AA-01_5-topics-Gen-AI_AWS-Summit-JP-2024.pdf
4. 基盤モデルの応用
4-1. 推論パラメータ
生成AIのモデルのレスポンスに影響を与える値。主要な設定は以下の通り。
温度(Temperature)
モデルの出力の多様性を制御し、値が高いほど多様な出力が得られ、低いほど確定的な出力になる。
Top P
モデルの出力の多様性を制御し、累積確立が一定の値Pを超えるまでのトークンから選択する方法で、値が高いほど多様な出力が得られ、低いほど確定的な出力になる。
Top K
モデルが次に生成するトークンを選ぶ際に、上位K個のトークンの中から選択する方法で、値が高いほど多様な出力が得られ、低いほど確定的な出力になる。
レスポンスの長さ
生成されたレスポンスにおけるトークンの最小値および最大値を指定することで長さを変更できる。
4-2. 検索拡張生成 (Retrieval-Augmented Generation / RAG)
LLMでは、古い情報や虚偽の情報を提示することが課題となっている。RAGはこうした問題を解決するための手段で、事前に関連資料をナレッジベースとして集約し、ユーザが期待する回答を生成することである。具体的には以下のプロセスから成り立つ。
-
検索(Retrieval): 大量のデータベースから関連する情報を検索する段階。ユーザーのクエリに基づいて、関連性の高いドキュメントやテキストを引き出す。
-
生成(Generation): 検索した情報を基に、新しいテキストを生成する段階。モデルが検索結果を参考にしながら、ユーザーに対して適切で正確な応答を作成する。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon-Bedrock-Overview_v1.pdf
BedrockではKnowledge BasesというRAGを実現する機能が提供されており、S3に保存した資料をベクトル化し、ユーザのクエリに基づいて、検索および回答を生成する。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_Amazon-Bedrock-Overview_v1.pdf
ベクターデータベースとしては、以下のサービスが利用可能。
Amazon OpenSearch Service、Amazon Aurora、Amazon Neptune、Amazon DocumentDB (MongoDB 互換)、Amazon RDS for PostgreSQL
4-3. モデルのトレーニング・チューニング手法
事前トレーニング
基盤モデルの初期段階で行われるトレーニング。このプロセでは、大量のデータセットをもとにモデルが幅広い知識と基本的な言語構造を学習する。
ファインチューニング
トレーニング済みの基盤モデルに対して、特定のタスクやドメインに関するラベル付きデータを新たに学習させ、モデルの出力フォーマットや応答を自社の要求に沿うように最適化する手法。
ファインチューニング用のデータを準備するにあたり、考慮すべき事項は以下の通り。
事項 | 説明 |
---|---|
データキュレーション | データ資産の価値を高め、より使いやすく信頼性の高いものにするためのプロセス。データソースの精査、不適切なデータや重複データの削除、目的に応じたデータフィルタリングなどを実施する。 |
データガバナンス | データの管理や使用に関するルールや基準を定め、データの信頼性とコンプライアンスを確保するプロセス。データのプライバシー保護や法規制の対処などを実施する。 |
データの代表性 | モデルが偏りなく様々なケースに対応できるよう異なる文化、年齢層、背景を考慮したデータを用意しバイアスが発生しないようにする。 |
人間からのフィードバックによる強化学習(RLHF) | モデルの出力に対して人間がフィードバックを与え、そのフィードバックを学習に活用すること。ファインチューニング後も反復させることで性能向上が期待できる。 |
継続的な事前トレーニング
ラベルなしの大量のデータセットを利用して、複製された基盤モデルをカスタマイズする技術。
転移学習
あるタスクで学習した知識やスキルを他の関連するタスクに適用する手法のことで、新たに大量のデータを用意する必要がないためトレーニングの効率が良い。
出典:https://www.azusuki.com/transfer-learning/
4-4. プロンプトエンジニアリング
生成AIモデルに対して意図した応答を得るために、プロンプト(入力文)を工夫して設計・最適化する手法。明確かつ簡潔なプロンプトを用いることで、モデルの理解度が向上し、精度の高い回答を得ることが期待できる。
プロンプトエンジニアリングの代表的な手法は以下の通り。
手法 | 説明 |
---|---|
思考の連鎖 (Chain-of-Thought) | 段階的な質問や手順を示すことで、モデルに複数のステップを踏ませてより一貫性のある応答を生成する手法。 |
ゼロショット (Zero-shot) | 事前知識や例示を与えずに単に質問を投げかける手法。 |
シングルショット (Single-shot) | 1つの例やガイドラインを示し、その例を参考に応答を生成させる手法。 |
フューショット (Few-shot) | 複数の例を与え、応答の基準やパターンを示す手法。 |
プロンプトテンプレート | 特定のタスク向けに構造化されたプロンプトテンプレートを用意し、繰り返し利用可能な形にする手法。 |
またプロンプトエンジニアリングには以下の潜在的なリスクが存在し、悪用されないようガードレールを設定することが重要である。
リスク | 説明 |
---|---|
露出 (Exposure) | モデルが学習中に見た情報やデータが明示的に露出することにより、機密情報や不適切なデータが出力に含まれるリスク。 |
ポイズニング (Poisoning) | 不正確または意図的に有害なデータをプロンプトに含めることで、モデルが誤った情報を学習し、誤回答やバイアスが含まれた回答など信頼性の低い出力を生成するリスク。 |
ハイジャック (Hijacking) | 特定のプロンプトによって、モデルの応答が悪意のある形で操作されるリスク。特定のワードやフレーズが応答を強制的に変更する場合、予測不能な出力が発生する恐れがある。 |
ジェイルブレイク (Jailbreaking) | 特定のプロンプトによってモデルの制約を突破し、通常は応答しない内容(機密情報など)について応答させるリスク。 |
4-5. エージェント
ユーザーの入力を複数のタスクに分割し、タスクごとに適切なAPIを呼び出すことで回答を生成すること。プロンプトで細かい指示を入力することなく、事前に与えられたシナリオに基づき、モデル側が自ら処理を実行できるようになる。
BedrockではBedrock Agentという機能が提供されており、例えばLambdaと組み合わせることで、AWS内外のサービスと連携し必要な処理を実行することができる。
4-6. モデルの評価
基盤モデルのパフォーマンスを評価する方法として、人間による評価やベンチマークデータセット(GLUE、SQuADなど)を利用した評価が考えられる。
また定量的な評価メトリクスとしてROUGE (Recall-Oriented Understudy for Gisting Evaluation)、BLEU (Bilingual Evaluation Understudy)、BERTScoreが使用される。
Bedrockでは、Bedrock Model Evaluationが提供されており、事前定義されたメトリクスを用いて自動評価および人間による評価を実行することが可能。評価結果はレポートととして出力される。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-16_Security_AWS_Summit_JP_2024.pdf
5. 生成AIのセキュリティ・ガバナンス
5-1. 責任あるAI
生成AIを利用するにあたり、出力に対する信頼性の問題(ハルシネーションなど)、知的財産侵害、データプライバシー侵害といったリスクが存在する。
このようなリスクに対応するため、AIを倫理的かつ安全に、また透明性と公平性を保ちながら利用する責任あるAIという概念が登場した。AWSでは、責任あるAIを実現するため以下のような原則を定義している。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-16_Security_AWS_Summit_JP_2024.pdf
5-2. Bedrockにおけるセキュリティ
Bedrockでは、データ保護のため以下の特徴を持っている。
- 利用者のデータは基礎モデルの学習に使用されず、また第3者であるモデルプロバイダーと共有されることはない。
- データをVPC内でプライベート接続することで、外部からの接続を制限することができる。
- IAMを利用し、最小権限の原則に基づいたアイデンティティベースの接続制御が設定できる。
- 転送中のデータはTLS1.2により暗号化される。
- 保存中のデータはAWS KMSにより暗号化される。また暗号鍵としてAmazonマネージドキーおよびカスタマーっマネージドキーが利用可能。
- CloudTrailを利用することで、ユーザのアクティビティのログを記録することができる。
- GDPR、SOC、ISO、CSAのコンプライアンスおよびHIPAAの適格性に対応している。
またBedrock Guardrailsという機能が提供されており、有害コンテンツ(憎悪、侮辱、性的、暴力など)のフィルタリングや個人情報(PII)のマスキングなどを設定することが可能。
出典:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-16_Security_AWS_Summit_JP_2024.pdf
5-3. 機械学習における品質向上に関するAWSサービス
サービス名 | 説明 |
---|---|
SageMaker Clarify | モデルの偏見や説明可能性を評価する。 |
SageMaker Model Monitor | モデルの出力品質を監視し、パフォーマンスの低下や偏りの発生をリアルタイムで検出する。 |
SageMaker Model Cards | 機械学習モデルの特性、性能、使用条件、リスクなどの情報を文書化し、透明性や説明可能性を向上させる。 |
Amazon Augmented AI (A2I) | 人間による確認とAI出力のコンビネーションを提供し、重要な判断が必要な場面でAIの出力を人間が確認することで、信頼性を向上させる。 |
5-4. ガバナンスやセキュリティ対策のためのAWSサービス
生成AIの運用に関する規制やポリシーを遵守し、リスク管理を支援するための主なAWSサービスを以下に示す。
サービス名 | 説明 |
---|---|
AWS Config | AWSリソースの設定変更を追跡し、管理する。コンプライアンス違反の構成を検出、通知することが可能。 |
Amazon Inspector | AWS環境内の脆弱性やセキュリティリスクをスキャンして評価する。 |
AWS Audit Manager | コンプライアンスに関する監査のための証跡を自動的に収集し、監査フレームワークとマッピングする。監査結果はレポートとして出力が可能。 |
AWS Artifact | AWSのコンプライアンスに関する証明書やレポートを提供するポータル。生成AIの利用で必要となるセキュリティ基準の証明を簡単に取得することができる。 |
AWS CloudTrail | AWSアカウント内のアクティビティを記録し、生成AIの操作ログやデータアクセスの追跡を行うことで、不正な操作やアクセスを検出する。 |
AWS Trusted Advisor | AWSのリソースとアカウントの使用状況を分析し、ベストプラクティスに基づくアドバイスを提供する。 |
5-5. 国際的な法規制や基準
最新の法規制や基準の詳細までは試験で問われないが、生成AIに関するビジネスを行う上で、意識する必要はある。
-
ISO/IEC 42001
国際規格として発行したAIに関するマネジメントシステム規格。組織が責任を持って、AIを利用した製品やサービスを提供するための要求事項が示されてる。 -
欧州(EU)AI規制法
世界初の国際的な包括的AI規制で、AIをリスクの程度で分類し、その程度に応じた規制が適用される。EU域内に所在していない日本企業であっても、EU域内でAIシステムを提供する場合は、本規制の適用を受ける。 -
SOC2
SOC(System and Organization Controls)とは、企業が内部統制の効果性を評価するためのフレームワークである。SOC2は、データのプライバシーやセキュリティに関するコンプライアンスを示すために使用される。 -
アルゴリズム説明責任法
AIシステムの意思決定プロセスの透明性を求め、ユーザーがAIの決定に関して説明を受ける権利を保障する。 -
NIST Artificial Intelligence Risk Management Framework (AI RMF 1.0)
AI に特化したリスク管理フレームワークであり、各管理策に対する Playbook なども整理されている。 -
AWS ⽣成 AI セキュリティスコーピングマトリックス
⽣成AI利⽤のスコープ(コンシューマーアプリ、事前学習済みモデルなど)ごとに必要な考慮点が整理されたフレームワーク。
最後に
いかがだったでしょうか。AI Practitionerでは、AI/MLの一般的な基礎知識が問われます。
今回記載したのはあくまで概要レベルの内容ですので、実際の業務で活用するためには、さらに深く学習する必要がある点ご注意ください。
参考
- AWSの新認定試験 AWS Certified AI Practitioner (AIF) 勉強会を実施したのでその内容をまとめました【その1:AI/ML一般知識】
- AWSの新認定試験 AWS Certified AI Practitioner (AIF) 勉強会を実施したのでその内容をまとめました【その2:生成AI+Bedrock】
- AWSの新認定試験 AWS Certified AI Practitioner (AIF) 勉強会を実施したのでその内容をまとめました【その3:SageMaker+その他】
- AWS Certified AI Practitioner (AIF-C01) 認定勉強
- AWSの生成AI ダイジェスト版
- G検定(AI・機械学習)用語集