AIP
- 機械学習
- たくさんのデータからパターンを見つけて、未知のことを推定/推論させる技術
RNN
- RNNは過去データを覚えておいて、それを判断に利用する。 普通の機械学習は、1回使ったデータは使わない
CNN
- CNNは画像につかう
- 画像は数値で表される。でも、画像全体を扱うと、すごく大きな数値データになってしまうので、ある程度の領域ごとに畳み込んで、特徴量マップを作る。
- 教師なし学習
- 強化学習
深層学習(ディープラーニング)
- アルゴリズムの1つ。
- 隠れ層が2層以上のニューラルネットワークを深層学習(ディープラーニング)と呼ぶ。
転移学習
- あるタスクで事前にトレーニングされたモデルを、新しい関連タスクに合わせてファインチューニングする学習方法
人間のフィードバックによる強化学習 (RLHF)
機械学習のパイプライン
- データ収集 -> 前処理 -> 特徴量エンジニアリング -> 学習 -> テスト -> 評価
データ収集
- 学習に使うデータを大量に収集すること
- 重要なこと:データ量、信頼性、多様性、プライバシー、バランス
- 前処理
- 機械にとって学習しやすいように、データの品質を向上させること
- 例:重複を消す、揺れをなくす(スペースの有無など)、欠損をなくす(電話番号が入るべきところが空白なら、入力する)
特徴量エンジニアリング
- モデルを作るために、どの特徴量を使うかを選んだり、変換を行うこと
- 特徴量エンジニアリングの種類
- 特徴量作成:既存データから新しい特徴量を作り出す
- 誕生日の情報があるが、知りたいのは年齢の場合、誕生日から年齢を計算して新しいデータにする等
- One-Hotエンコーディング:A型、B型、O型、AB型を、それぞれ2進数で1000, 0100, 0010, 0001 などに置き換える。
- ビン分割:年齢ごとのデータを、0~25歳、26~50歳、51~75歳、76~100歳などのビンに4分割するなど。
- 特徴量変換/欠損値処理:欠損値や無効な値を置き換える
- 特徴量抽出:処理するデータ量を削減
- 特徴量選択:モデルのターゲット予測に強く関連する変数を選択する
- 特徴量作成:既存データから新しい特徴量を作り出す
ラベル付きデータ
- ラベルなしデータ
- 回帰
- 現在の連続値のデータから、未来の値を予測すること。
- 教師あり学習のうちの1つ。
- 分類
- データが属するクラスを予想して分類すること。既知のデータとそのクラスを学習し、未知のデータのクラスを予測する。
- 教師あり学習のうちの1つ。
- 埋め込み
- 現実世界のオブジェクトを数値で表現すること。
- システムが人間のように複雑な知識領域を理解するために使用する。
- 次元削除
- 高次元のデータをなうrべく情報量を減らさずに圧縮すること。
- 教師なし学習のうちの1つ。
-
- 与えられたデータから機械が自動で特徴を探し、その特徴ごとにデータを分類すること。
- 教師なし学習のうちの1つ。
ROUGE
- Recall-Oriented Understudy for Gisting Evaluation
- 要約課題における出力文の品質を評価する指標
- 生成された要約文と、人力で要約した正解データ(参照要約)の類似度を計算する。
- BLEU
- Bilingual Evaluzation Understudy
- 翻訳課題における出力文の品質を評価する指標
- 生成された翻訳文と、人力で翻訳した正解データ(参照翻訳)の類似度を計算する。
BERTScore
- 翻訳・画像キャプションにおける品質を評価する指標
生成AIセキュリティスコーピングマトリックス
- ユースケースに必要な所有者レベルを判断し、セキュリティ上の懸念事項に優先度を付けることができるフレームワーク
- https://aws.amazon.com/jp/blogs/security/securing-generative-ai-an-introduction-to-the-generative-ai-security-scoping-matrix/
Perplexity
- 言語モデルの評価に使用できるメトリクス
- モデルが特定の単語列を生成する確率を測定
F1スコア
- 分類モデルの評価に使用できるメトリクス
平均二乗誤差(MSE)
- 回帰モデルの評価に使用できるメトリクス
- 予測値と実際の値の平均二乗誤差を測定する。
ナレッジカットオフ
- AIが学習したデータの最終更新時点のこと。
- これ以降の出来事や技術の進化については、AIは答えることができない。
埋め込みモデル
バッチ推論
- 大量のデータをまとめて分析して、一連の結果を出力すること。
- プロセスのスピードが結果の正確さほど重要ではないデータ分析などのタスクに使われる
リアルタイム推論
- 入ってくる新しいデータに応じて、コンピューターが迅速に分析して結果を出力すること。
- チャットボットや自動運転車など、即時の意思決定が不可欠な場合に使われる
NER
- 固有表現抽出(Named Entity Recognition)
- 非構造化テキストから固有名詞や重要語句を抽出し、あらかじめ定義したカテゴリ(例:人名、組織名、地名など)に分類する。
- ディープラーニングによる手法が主流。
IDP
- インテリジェントドキュメント処理
- 紙ベースのドキュメントや画像からデータを解釈、分類、抽出をする。
- OCRなど。
オーバーフィッティング
- 過学習。
- 学習データに過剰に適合し、未知のデータ(実際のデータ)を使用した際の予測が不正確になること。
- 対策:学習データをふやく、モデルを簡単にする(変数を減らして、多少のノイズに反応しないようにする等)
アンダーフィッティング
- 学習不足
- シンプルにデータが足りず、未知のデータ(実際のデータ)を使用した際の予測が不正確になること。
- 対策:データを増やして学習量を増やす。モデルを複雑にする(変数を増やしてデータの傾向に反応できるようにする)
ハイパーパラメータ
- モデルの挙動を決めるパラメータのこと。
学習率
- ハイパーパラメータの1つ
- 機械学習モデルのパラメータ(重み・バイアス)を更新する際の更新幅の大きさのこと。学習率が大きいと、パラメータの更新幅が大きくなり、最適解(最小損失点)を行き過ぎたり、最悪の場合は損失関数が発散する。学習率が小さいと、更新幅が小さく、学習が遅くなったり、局所最適解から抜け出せなくなったりする。
- 学習減衰率
- ハイパーパラメータの1つ
- 学習率を学習の進行に応じて徐々に小さくする際の率のこと。
- 学習が進むにつれ、学習率を徐々に下げることで最適解に安定して収束させることができる。
- ミニバッチサイズ
エポック数
損失関数
勾配降下法
- 損失関数を最小にするパラメータを見つけるための方法
- 勾配を計算し、それに応じて重みwとバイアスbを変化させながら、損失関数の最小にするパラメータを見つける
基盤モデル
- FM (Foundation Model) と呼ばれる。
- 自己教師あり学習で事前トレーニングされた巨大なニューラルネットワークのこと。
- 基盤モデルの利点は、さまざまな用途に汎用的に使える点(Q&A、要約、情報抽出、テキスト生成、etc.)
- 基盤モデルのやっていることは、単なる単語の予測。
- 子犬は犬であり、子猫は__ ←ここは「猫」では?「猫」の次は「で」→「ある」→「。」→「しかし」→「子供」→「は」→「供」→「では」→「ない」。なので「子犬は犬であり、子猫は猫である。しかし子供は供ではない。」
- 次の単語の予測のさせ方によっては、Q&Aや要約にも使える。つまり汎用的に使える。
トークン
- テキストデータを処理する際の最小単位。単語、フレーズ、個々の文字を組み合わせたもの。
- 子犬=17022、は=2003、犬=2000、etc. のように意味を持たない数値が割り当てられる。
- トークンは、埋め込み(エンベディング)という作業を経て、意味のある数値列に変換される。
埋め込み(エンベディング)
自己教師あり学習
- ラベルなし文章データの単語を隠すことで学習データを作成する。
- 「子犬は犬であり、子猫はです」という文字を見せて、に入る単語を基盤モデルに当てさせる。「猫」と答えたら正解。このプロセスを何度も繰り返す。インターネット規模のデータでこれを行う。
- 13歳の人間が1億程度の単語を学習するのに対し、GPT-3は2000億程度の単語を460万ドルかけて学習した。
大規模言語モデル
- LLM(Large Language Model)という。
- 言語を生成する基盤モデルのことを、特にLLMという。
プロンプト
- 基盤モデルへの入力のこと
コンテキスト
- 現在行なっている会話の「文脈」のこと。LLMはコンテキストを含めたうえで回答をする。
- 特徴:長い会話では持続しない。最大サイズが存在する。
推論
- AIが学習結果をもとに行う判断や予測のkと。
- 確率的に正しい可能性が高いと判断される情報・結果が出力される。
Top P
- LLMの推論に使われるパラメータで、次に来る単語候補の選び方に影響を与える。
- 単語の確率値が高い順に、確率の合計値が P% までの単語を候補とする。
Top K
- LLMの推論に使われるパラメータで、次に来る単語候補の選び方に影響を与える。
- 単語の確率値が高い順に、K個 までの単語を候補とする。
- 温度
- LLMの推論に使われるパラメータで、モデルが出力する回答の多様性に影響を与える。
- 温度を上げると出力の多様性が上昇し、温度を下げると出力の一貫性が上昇する(より堅い答えになる)
- 多岐にわたる会話をしたい場合は温度を上げ、一貫性のある会話をしたい場合は温度を下げる。
コンテキストウィンドウ
- モデルがコンテキストで受け入れることができるトークンの数を設定するプロパティ
- 大量のテキストを与えるようなプロンプトを使う場合は、コンテキストサイズ(=コンテキストウィンドウ)を最初に考慮するべき。
マルチモーダルモデル
- テキスト、画像、音声など、複数の種類のデータを一度に処理できるモデルのこと。
拡散モデル
- 主に画像生成やその他のコンピュータ・ビジョンのタスクに使用される生成モデル
- 元の画像データにノイズ(Gaussian Noise)を加えていくForward processと、ノイズ分布の状態からノイズを除去することで画像データを作成するReverse Processの2つのプロセスに分かれる。
エージェント
- ユーザの質問を複数の課題に分解して回答を生成できるシステム
- 「XXXの現在の株価と、最近のニュースを教えて」と言うと、
- XXXは企業の名前だと理解し、
- 銘柄コードを取得 -> 銘柄コードから株価を取得 -> ニュースをWebから検索 -> 情報をまとめて回答を作る -> 回答する
基盤モデルの精度向上の方法4種類
- プロンプトエンジニアリング
- 検索拡張生成(RAG)
- ファインチューニング
- 継続事前学習
プロンプトエンジニアリング
- 質問の仕方を変えることで、回答をより望んだものにする作業のこと
ネガティブプロンプト
- 画像生成AIや文章生成AIにおいて、避けたい要素や含めたくない要素を指定するためのプロンプトのこと。
プロンプトテンプレート
- プロンプトエンジニアリングの手法。
- AI モデルの入力と出力を標準化するための、事前定義済みの形式。プロンプトテンプレートを使用すると、一貫性の確保とモデルのパフォーマンス向上が可能。
Few-Shot Learning
- プロンプトエンジニアリングの手法の1つ。
- 例を与えて、望んだ回答に近づける方法。
- 「Cat->猫、Banana->バナナのとき、Shop->?」などと聞く。
Zero-Shot Learning
- プロンプトエンジニアリングの手法の1つ。
- 例なしで質問すること。
- 猫の画像を見せて「これは猫ですか?」などと聞く
思考連鎖 (CoT: Chain-of-Thought)
- 複雑な問題を細かいステップに分解するプロンプトエンジニアリング手法。問題を解くまでの一連の手順をプロンプトに含めるテクニック。
- 推論が求められる算術的タスクや論理的タスクがある場合は、思考連鎖プロンプティング手法が推奨される。
検索拡張生成(RAG)
- プロンプトに対して、社内文書などを検索し、取得した関連情報を含めたうえで、LLMにプロンプトを渡す方法
ファインチューニング
- 課題に適したモデルにするために、ラベル付きデータで再訓練すること。
- Instruction Fine-tuning と Domain adaption Fine-tuningがある
Instruction Fine-tuning (指示ベースのファインチューニング)
- ファインチューニングの一種で、特定の指示に従う能力を向上させる手法
- プロンプトと対応する回答のペアを含むラベル付きデータでFine-tuningする
- RAGよりは、データのラベル付けおよび追加トレーニングに追加コストがかかる。
Domain adaption Fine-tuning (分野適応のファインチューニング)
継続事前学習
- FMに不足している言語・ドメイン知識などを習得させるために、大量のラベルなしデータを用いて追加の事前学習を行うこと
- 要するに、データを増やして基盤モデル自体を学習させること。
- メリット:幅広い精度向上、デメリット:高コスト
- ハルシネーション
- 出力に嘘が含まれること。
- バイアス
- AIが生成するコンテンツが、特定の性別・人種・文化などに偏った結果を生む現象
- 対策
- データが古くはないか?性別・人種などに偏っていないか?など、バイアスがかからぬようにデータを確認する。
- 説明可能性の高いモデルを選択するなど、偏りが生じにくい設計のアルゴリズムにする。
バリアンス
公平性
- 人種、性別、社会経済的地位などの特性に基づいて個人やグループを搾取したり優遇したりしないAIモデルを設計、トレーニング、展開すること
知的財産侵害のリスク
- 対策
- 学習データに著作権を侵害するものが入っていないか?使っていいデータを使用して学習しているか?をチェックする。
- 対策
データプライバシー侵害のリスク
- 元データにパスワード情報が入っている場合、出力にもそれが出てくる場合などがある。
- 対策
- そのようなデータを出力させようとする場合はブロックする
プロンプトインジェクション
- 意図的なプロンプトで、モデルに設定されている制約を無視させたり、意図しないアクションを実行させること。
- 他人の個人情報や機密情報を開示させるような質問をする等
入力変更攻撃
親しみやすさの悪用
- LLM がユーザーを友好的と見なすか、敵対的と見なすかによって、LLM がとる対応は異なる。そこで、親しみある言葉づかいを利用して、LLM に悪意のある指示のプロンプトを出すのが「親しみやすさの悪用」攻撃。
プロンプトテンプレートの無視
- プロンプトテンプレートを介してモデルに指示を無視するよう要求する。
ペルソナの切り替えプロンプト
- LLM に悪意のある新しいペルソナを採用するよう仕向ける。
責任あるAI
コンテンツフィルター
- 有害コンテンツを入力させない or 出力させないためのフィルター設定。
- 憎悪・侮辱・性的・暴力・Misconduct(不正行為に関する内容)・Prompt Attack などのカテゴリごとに、出力させていいレベル(高・中・低・なし等)を設定できる
ワードフィルター
- NGな言葉を設定しておき、それを入力させない or 出力させないフィルター設定。
- 単語がブロックされたら、あらかじめ設定されたメッセージで応答する等の設定ができる。
機密情報フィルター
- 入力に対して個人情報(PII)をフィルタリングしたり、出力に含まれるPIIをブロックしたりする。
- 予め設定されたメッセージで返信するか、ブロックされた単語をマスクするかを選択できる。
拒否トピック
解釈可能性 (Interpretability)
- そのモデルが返す結果そのものを明らかにできること
- 「このNNを使用して、この活性化関数で、この特徴量の重みづけをしてるので、この結果になる」
説明可能性 (Explainability)
- そのモデルがなぜその結果を返したのか、理由を説明できること。
- 「目と鼻と口があり、耳が垂れて、尻尾があるので犬だと思った」
SHAP
- 説明可能性を担保するための手法の1つ。
- データから抽出した特徴量がモデル予測値に与える貢献度を値(シャープレイ値)として表せる技術
- 出力への寄与が異なる特徴量が、どの程度の影響力をもったのかを数値化できる。
Grad-CAM
- 画像認識モデルに対して、説明可能性を担保するための手法の1つ。
- 分類時の予測根拠となる注目領域を、画像上でヒートマップのように可視化できる技術。
AWS Trainium
AWS Inferentia2
Amazon SageMaker
- モデルを作成することを手助けするサービス
- 開発ライフサイクルの全体をカバーする40弱のツール群、そしてエディタ(IDE)がある
- SageMaker Canvas
- 画面上でGUIで操作しながらモデルを作れるツール
- SageMaker JumpStart
- 数クリックでモデルの作成・デプロイが可能なツール。モデルを作る際に必要なアレコレを予めパッケージで用意している。
- SageMaker Feature Store
- モデルの特徴量を保存し、共有したり管理したりできるリポジトリ
- SageMaker Ground Truth
- データセットへのラベリングサービス。モデル作るときの正解データを教えてあげる必要があるが、その正解データを作ってくれる。
- SageMaker Data Wrangler
- データをインポート、クレンジングなど、データの前処理と特徴量エンジニアリングを簡素化・効率化できるサービス
- SageMaker Model Card
- モデル情報をプロジェクトで共有するための文書を作成し、一元化できるサービス。
- ガバナンス強化のために、モデル情報は文書化する必要がある。
- SageMaker Model Dashboard
- モデルの情報を表示したり、検索したりできる一元化されたダッシュボード
- SageMaker Clarify
- 特徴量(どのデータが寄与しているか)の影響力、バイアス、公平性を確認することができるサービス
- SageMaker Pipelines
- MLOps ワークフローを作成できる。
SageMaker Model Registry
- ML モデルのためのフルマネージドカタログ
- モデルのバージョン管理、モデルへのメタデータの関連付け、モデル承認のステータス管理ができる
Amazon Augumented AI (Amazon A2I)
- 機械学習の判断を人間が確認・修正できるワークフローを提供するサービス。レビューが必要な文書分析や不正検知のプロセスに組み込める。
- MLソリューションに対して人間によるレビューシステムを構築するサービス。
Amazon Bedrock
Guardrails for Amazon Bedrock
- Bedrockにガードレール・フィルタ・拒否トピックなど、保護手段を実装するもの
構造化データ
- 非構造化データ
- データモデルが設定されていないか、事前に定義された方法で順序付けられていないデータ。
- プレーンテキスト、動画、音声、画像など
半構造化データ
Amazon Q
Amazon Q Developer
Amazon Q Business
- 企業全体を対象とした生成AIアシスタントで、組織内のデータや情報を活用して回答する。
- 主な機能は、質問への回答、文章の要約、コンテンツの生成、タスクの自動化。
AWS Audit Manager
AWS Privatelink
- AWS環境のサービスやリソースに、インターネットを経由せずアクセスできるようにするサービス
Amazon Transcribe
Amazon Translate
- リアルタイム翻訳サービス
Amazon Comprehend
- 文書解析サービス。自然言語処理を活用し、テキストから固有名詞、キーワード、感情(否定的か肯定的か等)を抽出することができる。
Amazon Lex
- 文字ベースの会話型AI (チャットボット) や音声対話アプリを構築できるサービス
- Amazon Alexaと同じ技術を採用し、音声認識と自然言語理解(NLU)を統合。
Amazon Polly
- テキストを自然な音声に変換するText-to-Speech(TTS)サービス
Amazon Fraud Detector
- 不正検出に特化した機械学習サービス。アカウント乗っ取り、支払い詐欺、不正行為のパターンを学習し、リアルタイムでリスクスコアを算出可能。
Amazon Kandra
Amazon Personalize
Amazon Macie
- 機械学習を活用し、S3のデータをスキャンして個人情報(PII)や機密データを自動検出・保護するサービス
PartyRock
- 誰でも生成系 AI のアプリケーションを作成し共有できるサービス
Playground
チャンク化 (chunking)
- データや情報を扱いやすくするために、特定の意味を持つ小さな塊(チャンク)に分割すること。
- 例えば、テキスト解析において、文章を単語やフレーズごとに分割することで、特定のキーワードの出現頻度や文脈を簡単に把握することができるようになる。
トランスフォーマーベースのLLM
Amazon OpenSearch Srvice
Amazon Neptune
Amazon DocumentDB
- MongoDB互換のNoSQLドキュメントデータベース。JSONデータの管理に適し、スケーラブルで可用性が高く、フルマネージドで運用負荷を軽減できる。
Amazon Rekognition
- 画像やビデオを分析し、一緒に写っている物体の検出ができるサービス。写っている物体、人間の顔、文字などを検出できる。
データリネージ
- データの作成から現在に至るまでの処理過程などを、必要に応じて追跡し把握すること。
データのカタログ化
Amazon Redshift
- 提供するペタバイト規模のデータウェアハウス/データレイクサービス