内容紹介
はたしてなぜ生成AIは嘘をつくのか?
ハルシネーションの原理とその対策を一からわかりやすく解説
生成AIを利用する際に最も厄介な問題となるのがハルシネーション(hallucination)です.ハルシネーションは幻覚とも呼ばれる現象で,一見もっともらしいのに,まったく正しくない文章が生成されることをいいます.これによって,実際にはありもしない発言や事実が大量につくり出され,SNSなどで拡散されて私たちの社会や認識を大きくゆがめてしまっています.これからの情報系エンジニアにとって,ハルシネーションの対策に必要な知見やスキルは非常に重要です.
本書では,ハルシネーションに挑むための土台となるべき自然言語処理や機械学習の基礎的な知識,「言語の正しさ」に関する基本的な知見から解説しています.そして,これまで研究されてきたハルシネーションの検出方法や,LLMの学習方法および構造の改善,RAGや外部モデルの利用によるハルシネーション対策について解説しています. AI関連の技術は日進月歩で進歩していますが,エンジニアにとって重要なことは流行に乗り遅れないことより,少しずつ自分の引き出しを増やしていくことであると考えられます.この観点から,本書では「スタンダードな手法への手っとり早い入門」という以上の価値を提供できるように心がけています.
このような方におすすめ
AI、機械学習の研究者・実務者、および学生
広くICTの技術者・実務者、および学生
目次
主要目次
Chapter 1 自然言語処理の基礎
1.1 自然言語処理とは
1.2 トークン化と分散表現
1.3 言語モデル
1.4 自然言語処理の評価指標
1.5 言語の研究の歴史
Chapter 2 統計学と機械学習の基礎
2.1 帰 納
2.2 統計的推測
2.3 強化学習
2.4 さまざまな生成AI
Chapter 3 TransformerとLLM
3.1 Transformer登場の背景
3.2 Transformerの内部構造
3.3 学 習
3.4 TransformerによるLLM
3.5 ChatGPT
3.6 さまざまな大規模言語モデル
Chapter 4 ハルシネーションの基礎
4.1 ハルシネーションとは
4.2 事実性/忠実性
4.3 内在型/外在型
4.4 文や知識の正しさとは
4.5 ハルシネーションの発生源
4.6 ハルシネーションの検出と評価
4.7 ハルシネーションに関する評価ベンチマーク
Chapter 5 ハルシネーションの抑制
5.1 学習データの改善
5.2 デコーディング方法の改善
5.3 モデル構造の改良
5.4 プロンプトエンジニアリング
Chapter 6 外部知識活用にもとづく生成
6.1 検索を組み合わせた生成
6.2 疎ベクトル検索
6.3 密ベクトル検索
6.4 知識データベース
6.5 RAGの発展的な話題
6.6 ツール拡張生成
詳細目次
Chapter 1 自然言語処理の基礎
1.1 自然言語処理とは
1.2 トークン化と分散表現
1.2.1 形態素解析
1.2.2 単語・形態素単位でのトークン化の課題
1.2.3 トークンフリー言語モデル
1.2.4 サブワード分割
1.2.5 単語分散表現
1.2.6 ベクトル検索とアテンション
1.3 言語モデル
1.3.1 言語モデルとは
1.3.2 ニューラルネットワークによる言語モデル
1.3.3 言語モデルによる逐次的なテキスト生成
1.3.4 言語モデルの応用(機械翻訳)
1.4 自然言語処理の評価指標
1.4.1 適合率・再現率・ROC 曲線・AUC
1.4.2 クロスエントロピー・パープレキシティ
1.4.3 BLEU・ROUGE
1.4.4 WMD・BERTScore
1.4.5 ベンチマークデータセット
1.5 言語の研究の歴史
Chapter 2 統計学と機械学習の基礎
2.1 帰 納
2.1.1 演繹と帰納
2.1.2 確率と統計
2.1.3 機械学習
2.2 統計的推測
2.2.1 パラメトリックな統計モデル
2.2.2 不偏推定量
2.2.3 最尤推定量
2.2.4 最尤推定の具体例
2.2.5 潜在変数モデルと変分推論
2.3 強化学習
2.3.1 マルコフ決定過程
2.3.2 価値ベース強化学習
2.3.3 方策ベース強化学習
2.4 さまざまな生成AI
2.4.1 GAN:ゼロサムゲーム
2.4.2 拡散モデル:ミクロ系とマクロ系の対応
Chapter 3 TransformerとLLM
3.1 Transformer登場の背景
3.2 Transformerの内部構造
3.2.1 全結合層
3.2.2 活性化関数
3.2.3 層正規化・ドロップアウト・残差結合
3.2.4 自己アテンション
3.2.5 位置符号
3.3 学 習
3.3.1 学習アルゴリズム:誤差逆伝播法
3.3.2 ファインチューニング
3.4 TransformerによるLLM
3.4.1 自然言語処理の基盤モデル
3.4.2 自己教師あり学習
3.4.3 基盤モデルのための学習データ
3.4.4 BERT世代の基盤モデル
3.5 ChatGPT
3.5.1 GPT シリーズ
3.5.2 指示チューニングとRLHF
3.5.3 インコンテキスト学習
3.6 さまざまな大規模言語モデル
3.6.1 Google Gemini
3.6.2 Anthropic Claude
3.6.3 Llama
3.6.4 その他のLLM
3.6.5 国産LLM
3.6.6 LLMのスケーリング則
Chapter 4 ハルシネーションの基礎
4.1 ハルシネーションとは
4.2 事実性/忠実性
4.2.1 事実性ハルシネーション
4.2.2 忠実性ハルシネーション
4.2.3 事実性か忠実性か
4.3 内在型/外在型
4.3.1 内在型ハルシネーション
4.3.2 外在型ハルシネーション
4.4 文や知識の正しさとは
4.4.1 言語と世界の対応にもとづく方法
4.4.2 信念体系の整合性にもとづく方法
4.4.3 知識の有用性にもとづく方法
4.5 ハルシネーションの発生源
4.5.1 学習データに由来するハルシネーション
4.5.2 学習に由来するハルシネーション
4.5.3 推論時に生じるハルシネーション
4.6 ハルシネーションの検出と評価
4.6.1 入力データとの一貫性にもとづく方法
4.6.2 LLMの出力や内部情報の活用
4.6.3 LLMを活用したハルシネーション検出
4.6.4 外部情報源を活用した事実性チェック
4.7 ハルシネーションに関する評価ベンチマーク
4.7.1 ハルシネーション検出手法の性能評価
4.7.2 LLMの生成文の事実性・忠実性の評価
Chapter 5 ハルシネーションの抑制
5.1 学習データの改善
5.1.1 学習データのフィルタリング
5.1.2 合成データの利用
5.1.3 指示チューニングの改善
5.1.4 RLHFによるアラインメント
5.2 デコーディング方法の改善
5.2.1 ペナルティの導入
5.2.2 LLMの内部状態にもとづくデコーディング制御
5.3 モデル構造の改良
5.3.1 自己アテンションの改良
5.3.2 位置符号の改良
5.3.3 状態空間モデル
5.4 プロンプトエンジニアリング
5.4.1 CoT
5.4.2 Least-to-Mostプロンプト
5.4.3 自己整合性プロンプト
5.4.4 出力の検証
5.4.5 プロンプトの自動生成
5.4.6 複数のLLMエージェントによる対話
5.4.7 LLMフレームワーク
Chapter 6 外部知識活用にもとづく生成
6.1 検索を組み合わせた生成
6.1.1 RAGの構成要素
6.1.2 文書検索
6.2 疎ベクトル検索
6.2.1 TF-IDF
6.2.2 BM25
6.3 密ベクトル検索
6.3.1 DPR
6.3.2 文埋め込み
6.4 知識データベース
6.4.1 検索文書のチャンク
6.4.2 転置インデックス
6.4.3 近似最近傍探索
6.5 RAGの発展的な話題
6.5.1 クエリのリライト
6.5.2 リランカ
6.5.3 ハイブリッド検索
6.5.4 RAGの性能評価
6.6 ツール拡張生成
6.6.1 Text-to-SQL
6.6.2 コードインタプリタ
6.6.3 記号処理システム
6.6.4 シミュレータ
続きを見る