大規模言語モデル入門
2023年7月29日紙版発売
2023年7月29日電子版発売
山田育矢 監修/著,鈴木正敏,山田康輔,李凌寒 著
B5変形判/336ページ
定価3,520円(本体3,200円+税10%)
ISBN 978-4-297-13633-8
書籍の概要
この本の概要
ChatGPTに代表される大規模言語モデルが自然言語処理の幅広いタスクで高い性能を獲得し,大きな話題となっています。大規模言語モデルは,大規模なテキストデータで訓練された大規模なパラメータで構成されるニューラルネットワークです。2020年以降,自然言語処理や機械学習の知見をもとに,パラメータ数とテキストデータの拡大により,性能が飛躍的に向上しました。
Hugging Face社の"transformers"というPythonライブラリを利用することで,プログラミングの経験があれば,モデルの操作やデータからの学習がかんたんにできます。モデルを訓練するための日本語もしくは日本語を含む多言語のデータセットも充実してきており,すぐに業務に使える実用的なモデルを作ることが可能な時代がやってきました。
本書は,大規模言語モデルの理論と実装の両方を解説した入門書です。大規模言語モデルの技術や自然言語処理の課題について理解し,実際の問題に対処できるようになることを目指しています。以下のような構成によって,理論とプログラミングの双方の側面から,大規模言語モデルに関する情報を提供します。
こんな方におすすめ
- 大規模言語モデルに興味のあるエンジニア,学生,研究者
この書籍に関連する記事があります!
- 「大規模言語モデル入門」の前書きを公開!
- 「大規模言語モデル入門」は、GPT、BERT、T5といったLLMのしくみから、最新のLLMに関する話題を取り上げ、理論と実装を丁寧に解説した書籍です。日本語データセットを試すことができる実装例を収録し、無料で試すことができるColabも話題になっています。本稿では、購入を迷われている方のために、本書の「前書き」の一部を公開します。
目次
第1章 はじめに
- 1.1 transformersを使って自然言語処理を解いてみよう
- 1.1.1 文書分類
- 1.1.2 自然言語推論
- 1.1.3 意味的類似度計算
- 1.1.4 固有表現認識
- 1.1.5 要約生成
- 1.2 transformersの基本的な使い方
- 1.3 単語埋め込みとニューラルネットワークの基礎
- 1.4 大規模言語モデルとは
第2章 Transformer
- 2.1 概要
- 2.2 エンコーダ
- 2.2.1 入力トークン埋め込み
- 2.2.2 位置符号
- 2.2.3 自己注意機構
- 2.2.4 マルチヘッド注意機構
- 2.2.5 フィードフォワード層
- 2.2.6 残差結合
- 2.2.7 層正規化
- 2.2.8 ドロップアウト
- 2.3 エンコーダ・デコーダ
- 2.3.1 交差注意機構
- 2.3.2 トークン出力分布の計算
- 2.3.3 注意機構のマスク処理
- 2.4 デコーダ
第3章 大規模言語モデルの基礎
- 3.1 単語の予測から学習できること
- 3.2 GPT(デコーダ)
- 3.2.1 入力表現
- 3.2.2 事前学習
- 3.2.3 ファインチューニング
- 3.2.4 transformersで使う
- 3.3 BERT・RoBERTa(エンコーダ)
- 3.3.1 入力表現
- 3.3.2 事前学習
- 3.3.3 ファインチューニング
- 3.3.4 transformers で使う
- 3.4 T5(エンコーダ・デコーダ)
- 3.4.1 入力表現
- 3.4.2 事前学習
- 3.4.3 ファインチューニング
- 3.4.4 transformers で使う
- 3.5 多言語モデル
- 3.6 トークナイゼーション
- 3.6.1 バイト対符号化
第4章 大規模言語モデルの進展
- 4.1 モデルの大規模化とその効果
- 4.2 プロンプトによる言語モデルの制御
- 4.2.1 文脈内学習
- 4.2.2 chain-of-thought推論
- 4.3 アライメントの必要性
- 4.3.1 役立つこと
- 4.3.2 正直であること
- 4.3.3 無害であること
- 4.3.4 主観的な意見の扱い
- 4.4 指示チューニング
- 4.4.1 データセットの再利用
- 4.4.2 人手でデータセットを作成
- 4.4.3 指示チューニングの問題
- 4.5 人間のフィードバックからの強化学習
- 4.5.1 報酬モデリング
- 4.5.2 強化学習
- 4.5.3 REINFORCE
- 4.5.4 指示チューニングとRLHF
- 4.6 ChatGPT
第5章 大規模言語モデルのファインチューニング
- 5.1 日本語ベンチマーク:JGLUE
- 5.1.1 訓練・検証・テストセット
- 5.1.2 大規模言語モデルのためのベンチマーク
- 5.1.3 JGLUEに含まれるタスクとデータセット
- 5.2 感情分析モデルの実装
- 5.2.1 環境の準備
- 5.2.2 データセットの準備
- 5.2.3 トークナイザ
- 5.2.4 データセット統計の可視化
- 5.2.5 データセットの前処理
- 5.2.6 ミニバッチ構築
- 5.2.7 モデルの準備
- 5.2.8 訓練の実行
- 5.2.9 訓練後のモデルの評価
- 5.2.10 モデルの保存
- 5.3 感情分析モデルのエラー分析
- 5.3.1 モデルの予測結果の取得
- 5.3.2 全体的な傾向の分析
- 5.3.3 モデルのショートカットに注意
- 5.4 自然言語推論・意味的類似度計算・多肢選択式質問応答モデルの実装
- 5.4.1 自然言語推論
- 5.4.2 意味的類似度計算
- 5.4.3 多肢選択式質問応答
- 5.5 メモリ効率の良いファインチューニング
- 5.5.1 自動混合精度演算
- 5.5.2 勾配累積
- 5.5.3 勾配チェックポインティング
- 5.5.4 LoRAチューニング
- 5.6 日本語大規模言語モデルの比較
- 5.6.1 LUKE
- 5.6.2 DeBERTa V2
- 5.6.3 性能比較
第6章 固有表現認識
- 6.1 固有表現認識とは
- 6.2 データセット・前処理・評価指標
- 6.2.1 データセット
- 6.2.2 前処理
- 6.2.3 評価指標
- 6.3 固有表現認識モデルの実装
- 6.3.1 BERTのファインチューニング
- 6.3.2 固有表現の予測・抽出
- 6.3.3 検証セットを使ったモデルの選択
- 6.3.4 性能評価
- 6.3.5 エラー分析
- 6.3.6 ラベル間の遷移可能性を考慮した予測
- 6.3.7 CRFによるラベル間の遷移可能性の学習
- 6.4 アノテーションツールを用いたデータセット構築
- 6.4.1 Label Studioを用いたアノテーション
- 6.4.2 Hugging Face Hubへのデータセットのアップロード
- 6.4.3 構築したデータセットでの性能評価
第7章 要約生成
- 7.1 要約生成とは
- 7.2 データセット
- 7.3 評価指標
- 7.3.1 ROUGE
- 7.3.2 BLEU
- 7.3.3 BERTScore
- 7.4 見出し生成モデルの実装
- 7.4.1 T5のファインチューニング
- 7.4.2 見出しの生成とモデルの評価
- 7.5 多様な生成方法による見出し生成
- 7.5.1 テキスト生成における探索アルゴリズム
- 7.5.2 サンプリングを用いたテキスト生成
- 7.5.3 長さを調整したテキスト生成
第8章 文埋め込み
- 8.1 文埋め込みとは.
- 8.1.1 文埋め込みの目的
- 8.1.2 文埋め込みの性能評価
- 8.1.3 文埋め込みモデルの必要性
- 8.1.4 文埋め込みモデルを使わずに文ベクトルを得る
- 8.2 文埋め込みモデルSimCSE
- 8.2.1 対照学習
- 8.2.2 教師なしSimCSE
- 8.2.3 教師ありSimCSE
- 8.3 文埋め込みモデルの実装
- 8.3.1 教師なしSimCSEの実装
- 8.3.2 教師ありSimCSEの実装
- 8.4 最近傍探索ライブラリFaissを使った検索
- 8.4.1 最近傍探索ライブラリFaiss
- 8.4.2 Faissを利用した最近傍探索の実装
- 8.4.3 類似文検索のウェブアプリケーションの実装
第9章 質問応答
- 9.1 質問応答システムのしくみ
- 9.1.1 質問応答とは
- 9.1.2 オープンブック・クローズドブック
- 9.2 データセットと評価指標
- 9.2.1 AI王データセット
- 9.2.2 評価指標
- 9.3 ChatGPTにクイズを答えさせる
- 9.3.1 OpenAI API
- 9.3.2 効率的なリクエストの送信
- 9.3.3 クイズ用のプロンプトの作成
- 9.3.4 API使用料金の見積もり
- 9.3.5 クイズデータセットによる評価
- 9.3.6 文脈内学習
- 9.3.7 言語モデルの幻覚に注意
- 9.4 文書検索モデルの実装
- 9.4.1 文書検索を組み込んだ質問応答システム
- 9.4.2 質問応答のための文書検索モデル
- 9.4.3 BPRの実装
- 9.4.4 BPRによるパッセージの埋め込みの計算
- 9.5 文書検索モデルとChatGPTを組み合わせる
- 9.5.1 検索モデルの準備
- 9.5.2 検索結果のプロンプトへの組み込み
この本に関連する書籍
-
大規模言語モデル入門Ⅱ 〜生成型LLMの実装と評価
「大規模言語モデル入門」の続編です。「大規模言語モデル入門」は理論と実装のバランスをとって構成しましたが,本書では実装部分で扱い切れなかった話題を取り上げ,...
-
Vision Transformer入門
自然言語処理分野におけるブレイクスルーとなったTransformerをコンピュータビジョンに応用したモデルがVision Transformer(ViT)です。さまざまなコンピュータビジョ...