試験対策用の明確なテキストがないことと、新しい試験で且つ進歩が目まぐるしい分野なので、シラバスに出てくる用語について整理することを以て、試験対策とします。試験自体の難易度がそこまで高そうではない、ということも理由です。
というわけで、以下に整理してみました。いまいち着目すべき点が分からない単語もありましたが、適当に判断して埋めています。シラバスの用語をまとめるくらい楽だろう、と思っていましたが、いざやってみると、意外と時間を取られました。内容の正しさは保証できません。ハルシネーションを起こしているかもしれないので、違和感のある部分は別のソースと照合してください。また一部の用語説明は、横道に逸れて派生知識に触れている箇所もあります。
生成AIの技術
特徴
- テキスト、画像、音声等の生成モデルに共通する技術的な特徴を俯瞰して理解している。
- 確率モデル
- 不確実性を扱うために、ある事象は一定の確率で発生するだろうという仮定に基づくモデル。生成モデルは、データの確率分布を学習する確率モデルといえる。
- ハルシネーション
- 学習データにはないデータを、生成AIが生成してしまうこと。学習データによる確率分布に基づいて生成した結果、実際には学習データと乖離したデータが生成されてしまうことがある。
- 確率モデル
- 大規模言語モデルの基本構造を理解している。
- 基盤モデル
- 広範なデータセットで事前にトレーニングされたモデル。
- 言語モデル
- 基盤モデルを元に、単語や文章のつながりを確率モデルにしたもの。大量のテキストデータでトレーニングしている。
- 大規模言語モデル
- 非常に多くのデータでトレーニングされた、大規模な言語モデル。GPT3などが該当する。
- トランスフォーマー
- 大規模言語モデルで採用されているアーキテクチャ。
- 入力された内容を元に、確率的に次に出力すべき内容を推測することを実現するアーキテクチャで、様々な技術要素から構成されている。後述のアテンションもその1つである。
- アテンション
- 入力データのうち、特に重要な部分に対して注意をし、重要でない部分を無視することで、効果的な学習を行なう。
- 例えば、「今日はごはんをAくんと一緒に食べた」「今日はダンスをAくんと一緒に踊った」という文章を考えた場合、最後の「食べた」「踊った」を推測するために必要な単語は「ごはん」「ダンス」となる。他の単語は重要ではない。このように次の単語を推測する上で重要となる単語に注目する仕組みがアテンションである。
- GPT
- Generative Pre-trained Transformer。OpenAIによって開発された大規模言語モデル。
- 基盤モデル
- 大規模言語モデルにおけるモデルの学習方法を理解している。
- 教師あり学習
- 入力データと正しい出力データ(正解のデータ)のペアを事前に用意しておき、両者の関係を学習させていく。
- 初期段階のモデル構築は、教師あり学習で行なう。
- 自己教師あり学習
- 入力と正解のペアをもらうのではなく、入力データの一部の単語を隠して、元の入力データを正解とし、隠した単語を予測させる。入力データ自体を教師データにする方法といえる。
- 教師あり学習による初期段階のモデル構築後は、自己教師あり学習でモデル構築を行なう。
- 事前学習
- 大量のデータセットを利用して一般的な言語の知識を得るための学習。自己教師あり学習が主に利用される。
- ファインチューニング
- 事前学習済のモデルを、特定のタスクに適用させるためにチューニングすること。出力層近くのパラメータを調整することで、出力層に近い部分から数層遡って重みの調整が行われる。
- 事前学習に比べれば必要なデータ量は少ないが、一般的に見れば多くの量且つ高品質な学習データセットが必要になる。
- 転移学習は出力層を置き換えるが、ファインチューニングは重みの調整も行なう。
- 転移学習では出力層の手前は特徴量の抽出を行なうために使う。抽出した特徴量を元に、別の目的に向けた判断を行なう層・モデルを追加する。
- 教師あり学習
- 大規模言語モデルのアラインメントを理解している。
- アライメント
- モデルの振る舞いが、利用者である人間の意図に合致していること。或いはそのような状態にさせること。
- 人間のフィードバックによる学習
- 人間の価値観に沿うように、言語モデルを強化学習を用いてファインチューニングする方法。RLHFと呼ぶ。
- この学習によって、倫理的に問題がある、有害である、真実ではない、役に立たない、といった情報を出力する可能性を下げる。
- インストラクション・チューニング
- モデルが特定の指示に対して適切な回答を返せるように調整すること。
- 大量のインストラクションと回答のペアを使って学習させる。この調整により、言語モデルはより正確に利用者の質問に回答ができるようになる。
- アライメント
- 大規模言語モデルにおける生成の仕組みを理解している。
- コンテキスト内学習
- 利用者のプロンプトで、過去に入力されたプロンプトの内容を利用して、学習すること。
- Zero-Shot
- タスクを解くために、追加の例示を与えられないこと。
- Few-Shot
- タスクを解くために、少数の例示を与えられること。
- 1つだけ例示を与えられる場合は、one-Shotという。
- Chain-of-Thought
- 複雑なタスクを解く際に、推論する過程を段階を踏みながら生成していく。
- 利用者はモデルがどのような推論過程をたどったか、わかりやすくなる。
- サンプリング手法
- 次の単語を決める時の方法。完全ランダムや確率に基づいて決定するなど、色々な手法がある。温度パラメータでランダム度合いを調整するといった方法がある。
- コンテキスト内学習
- 大規模言語モデルの性能評価について知っている。
- リーダーボード
- 異なるモデルやアルゴリズム間で、特定のタスクについてパフォーマンスを計測し、それらを比較するランキングシステム。
- ベンチマーク
- 特定のタスク(翻訳、要約、など)に対して、モデルの性能を評価するためのテストセット。
- 指標は、正答率、再現率、敵合率、F1スコアなどが用いられる。
- リーダーボード
動向
- テキスト、画像、音声等の生成モデルの技術動向を俯瞰して理解している。
- 条件付き生成
- モデルが特定の条件に基づいて、特定のタイプのデータを生成すること。テキストで指示した画像を生成する、などが例として挙げられる。
- 条件と生成物の関係は、教師あり学習で学習させる。
- 拡散モデル
- 元の画像データに対して徐々にノイズを加えていき、その画像を元の画像へ復元する方法を学習していく。
- GAN(敵対的生成ネットワーク)に代わる画像生成モデルとして注目されている。なお、GANは、偽データを作るGENERATORと偽データと真データの識別を行なうDISCRIMINATORに分かれ、両者を競わせる方法。
- 条件付き生成
- 大規模言語モデルのオープン化の動向と原因について理解している。
- オープンコミュニティ
- 同じ目的を持つ人たちが、知識やリソースなどを共有する集まり。
- オープン大規模言語モデル
- アーキテクチャや訓練済モデルが公開されており、誰でも自由に利用できる言語モデル。
- オープンデータセット
- 利用規約に従えれば、誰でも自由に利用可能なデータセット。
- 大規模言語モデルのトレーニングに使える。
- オープンソース
- ソースコードなどが公開され、自由に変更や配布が可能な形態のこと。多くの人がカスタマイズに参加しその結果を共有することで、革新が期待できる。
- 量子化や蒸留による推論の効率化
- 訓練済のモデルが入力データを元に推論を行なう際に、必要とする計算リソースの消費量などの量を削減すること。
- 量子化は、モデルの重みなどのパラメータ情報をより小さいビット数で表現することで、モデルの軽量化を試みる方法。
- 蒸留は、大規模なモデルの推論結果を、教師データとして活用することで、同等規模の性能を持った小規模なモデルを作成すること。目的に沿って、大規模モデルの必要な推論能力だけを蒸留して取り出す。
- プルーニングは、モデルのノード間のうち、重みの小さい繋がりを削除してしまうこと。
- オープンコミュニティ
- 大規模言語モデルの性能を決める要素の動向と原因について理解している。
- スケーリング則
- モデルのパラメータ数やデータセットの件数を増やせば、大規模言語モデルの性能もそれに比例して上がっていくこと。
- データセットのサイズ
- サイズが大きいほどモデルの性能は向上する。
- データセットの質
- 余計な情報が少なく、モデルに解決させたいタスクと関連性の高いデータセットを用いると、モデルの性能は向上する。
- モデルのパラメータ数
- モデルのパラメータが多いほど、より複雑な内容を学習できる。言語の微妙な言い回しなども解釈できるようになる。
- 計算資源の効率化
- 効率的なハードウェアの利用、アルゴリズムの改善、分散処理技術などにより、計算資源を効率的に利用していく。
- LoRA (Low-Rank Adaptation)
- 事前学習済モデルを効率的にファインチューニングする技術。
- GPU
- 大きな並列処理能力を提供できるプロセッサ。モデルの訓練を効率的に実施できる。
- スケーリング則
- 大規模言語モデルのマルチモーダル化の動向と原因について理解している。
- マルチモーダル
- テキスト、画像、音声など、複数の情報形式を処理して、それらの相互関係を理解していくモデル。
- 例えば、2人が話している画像だけでは状況が分からないが、音声を関連づけることで、談笑か喧嘩か、判断がしやすくなる。
- マルチモーダル
- 大規模言語モデルの外部ツール・リソースの利用の動向と原因について理解している。
- 学習データの時間的カットオフ
- 大規模言語モデルの事前学習済データ内容は、特定の時点までで区切られていること。つまり、直近の最新情報は学習できていない。
- RAGなど最新データを外部から取り込むことで、この問題を解決を図ることができる。
- 大規模言語モデルの知識
- 過去の知識だったり、一般に公開されている内容に限定される知識など、必ずしも完全な知識とは言えない。
- 大規模言語モデルの不得意タスク
- 最新のデータに基づくタスク。
- 論理的な推論を必要とする複雑なタスク。
- 学習データの時間的カットオフ
生成AIの利活用
特徴
- 生成AIには何ができるのかを理解している。
- ケイパビリティ
- テキスト生成、画像生成、動画生成、音楽生成、デザイン生成、3Dモデル生成、など。
- ケイパビリティ
- 生成AIをどのように使うのかを理解している。
- 活用事例
- 創作活動、マーケティング、ビジネス、教育、エンターテインメント、研究、など。
- 活用事例
- 生成AIの性能を拡張する使い方を理解している。
- プロンプトエンジニアリング
- 生成AIが、利用者の期待する内容を生成するように、与える指示をカスタマイズしていく方法。
- プロンプトエンジニアリング
動向
- 生成AIの新たな活用方法を生み出すためのアプローチを理解している。
- ハッカソン
- 特定のテーマに対して、参加者が協力や競争をしながら、問題を解決していくイベント。生成AIにおいては、新たなユースケースの創出を目的に行なわれる。
- 自主的なユースケース開発
- 開発者の興味やニーズに基づいて、自主的にユースケースを開発し、生成AI活用の可能性を広げていく。
- インターネット・書籍
- インターネットや書籍を利用して、生成AIの活用事例を調べて、知識を深める。
- 活用の探索
- 既存の生成AIの活用事例を調査し、それらを応用していくことで、新しい活用方法を探していく。
- ハッカソン
- 生成AIの活用を制限する要因を理解している。
- 生成AIの学習データ
- 学習データの量が少ない、質が悪い場合、モデルが期待通りに学習できない。
- 学習データに偏りがあると、限定された状況でしか正しい答えを返せない可能性がある。
- 倫理的に問題のあるデータを学習データに使うことは、制限される可能性がある。
- 生成AIの性能評価
- 評価基準を適切に定めないと、生成AIの能力を正しく評価できない。
- AIによる生成プロセスが不透明である場合、その妥当性を評価することが難しくなる。
- 生成AIの言語能力
- 複雑なニュアンスを含む文章は理解が難しい。
- 全ての言語をサポートしているわけではない。特定地域でのみ方言などは、理解できない場合がある。
- 文脈や暗黙知に依存する言語の理解は難しい。
- 生成AIの学習データ
- 業界に特化した生成AIの活用方法を理解している。
- LLMを利用したサービス (ChatGPT, Bard, Claude など)
- ChatGPT(OpenAI)、Bard(Google)、Claude(Anthropic)、Gemini(Google)、など。
- Claudeは入力できるトークン数が多い、という特徴がある。
- RAG (Retrieval-Augmented Generation)の利用
- 事前学習済モデルは変更せずに、外部知識を拡張する方法。
- 特定ドメインの知識や最新情報に基づく知識などに、LLMがアクセスできるようになる。
- 学習モデルに沿った埋め込みデータ形式で、外部知識のデータベースをあらかじめ作成しておき、推論時にプロンプトから学習モデルへ問い合わせる前に、外部知識の情報を付加して、大規模モデルに問い合わせを行なう。
- エージェント・コード生成
- エージェントや、コード生成AIにより、定型化されているタスクを自動化できる。
- 外部ツール呼び出し
- 生成AIがAPIを通じて外部ツールを呼び出すこと。
- 明日の天気の情報を、天気予報APIを使って取得する、など。
- 広告クリエイティブへの応用
- 学習した広告ターゲットなどの情報に基づいて、広告として魅力的なキャッチコピーを生成する、といった内容が挙げられる。
- ドメイン固有
- 特定の業界に特化した生成AIは、その分野に関するより精度の高い情報を生成できる。
- LLMを利用したサービス (ChatGPT, Bard, Claude など)
生成AIのリスク
特徴
- 生成AIが、技術面・倫理面・法令面・社会面などで多様なリスクを孕むことを理解している。
- 正確性
- 学習に用いたデータに不正確なものがあると、誤った情報を生成するリスクがある。
- ハルシネーション
- 生成AIが存在しない事実やデータを、まるで存在するかのように生成すること。ハルシネーションは幻視を意味する。
- セキュリティ
- 生成AIのシステムがサイバー攻撃の対象になる。
- 公平性
- 人種や職業など様々な集団に関して、学習データに偏りがあることで、生成するデータにも偏りが生じること。
- プライバシー
- 学習データに個人データを利用することで、プライバシー侵害の懸念がある。例えば、個人の顔写真などが挙げられる。
- 透明性
- 生成AIの中身はブラックボックスなので、生成の過程が不透明である。
- 悪用
- 偽情報の生成、詐欺などに悪用される可能性がある。
- 誤情報の拡散
- 誤情報やフェイクニュースが社会に拡散することで、様々な問題を引き起こす可能性がある。
- プロンプトインジェクションなどの敵対的プロンプト
- 生成AIを上手く誘導することで、本来は生成しないはずの攻撃的な文章や、機密データなどを出力させるプロンプト。
- 特定の生成AIサービスへの依存
- そのサービスが停止した時の影響が大きい。
- 環境問題
- 生成AIは大量の計算資源を利用するため、環境に与える負荷が大きい。
- 正確性
- 生成AIの入力(データ)と出力(生成物)について注意すべき事項を理解している。
- 著作権
- 著作権で保護されたものをAIに入力しない。
- AIで生成したものに対して、それを生成したことによる著作権は発生しない。
- 出力内容に、他社の著作権を侵害するものが含まれていないことを確認する。
- 個人情報
- 個人情報をAIに入力しない。
- 出力内容に、個人情報が含まれていないことを確認する。
- 機密情報
- 機密情報はAIに入力しない。
- 出力内容に、機密情報が含まれていないことを確認する。
- 商用利用
- 生成AIで生成したものを商用利用する場合、著作権状況を把握した上で利用するように注意すること。
- 生成AIで生成したものを商用利用することが可能か、AIサービス提供者の利用規約を確認すること。
- 利用規約
- AIサービス提供者の利用規約を遵守する、
- 著作権
動向
- 生成AIについて、現時点では認識されていない新たなリスクの出現とそれに伴う規制化の可能性を理解している。
- 新たなリスク
- 生成AIが新しいタイプのデータを生成すること。
- 人間が理解できない方法でAIが情報を処理すること。
- 上記のことで、社会や経済に混乱がもたらされるリスクがある。
- 規制化
- 新たなリスクの出現により、新しく規制が設けられる可能性がある。
- 情報収集
- 新たなリスクに対応するために、継続的に情報収集を行なう必要がある。
- 新たなリスク
- 生成AIの活用に伴うリスクを自主的に低減するための方法を把握している。
- 透明性を確保する、倫理基準を設ける、個人情報のデータ管理についてプライバシーポリシーを設ける、公平性の確保、システムのセキュリティ確保、規制への対応、などの対策が考えられる。