大規模言語モデル入門

[表紙]大規模言語モデル入門

紙版発売
電子版発売

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 検索結果のプロンプトへの組み込み

著者プロフィール

山田育矢(やまだいくや)

株式会社Studio Ousia代表取締役チーフサイエンティスト・理化学研究所革新知能統合研究センター客員研究員

2007年にStudio Ousiaを創業し,自然言語処理の技術開発に従事。

2016年3月に慶應義塾大学大学院政策・メディア研究科博士後期課程を修了し,博士(学術)を取得。

大規模言語モデルLUKEの開発者。

監修と1章から4章の執筆を担当。


鈴木正敏(すずきまさとし)

株式会社Studio Ousiaソフトウェアエンジニア・東北大学データ駆動科学・AI教育研究センター学術研究員

2021年3月に東北大学大学院情報科学研究科博士後期課程を修了し,博士(情報科学)を取得。

博士課程では質問応答の研究に従事。

日本語質問応答のコンペティション「AI王」の実行委員。

東北大学が公開している日本語BERTの開発者。

8章と9章の約半分の執筆を担当。


山田康輔(やまだこうすけ)

株式会社Studio Ousiaリサーチエンジニア・名古屋大学大学院情報学研究科博士後期課程3年

2021年3月名古屋大学大学院情報学研究科博士前期課程修了。

2022年4月より日本学術振興会特別研究員 (DC2)。

自然言語処理,特にフレーム意味論に関する研究に従事。

6章と7章の執筆を担当。


李凌寒(りりょうかん)

LINE株式会社(2023年10月よりLINEヤフー株式会社)自然言語処理エンジニア

2023年3月に東京大学大学院情報理工学系研究科博士後期課程を修了し,博士(情報理工)を取得。

博士課程では言語モデルの解析や多言語応用の研究に従事。

大規模言語モデルmLUKEの開発者。

5章と9章の約半分の執筆を担当。