急速に進化する大規模言語モデル(LLM)を、視覚的に理解しながら実践的に学べるハンズオンガイド。本書では、Jupyter Notebookやクラウド上で実際にモデルを動かしながら学ぶことができます。大規模言語モデルに欠かせないTransformerの仕組みをはじめ、要約、セマンティック検索、テキスト分類、クラスタリング、RAG(検索拡張生成)といった技術も、図解とともに直感的に理解できます。豊富なコード例と既存ライブラリの活用法を通じて、直感を重視したアプローチでLLMを学びたい読者に最適な一冊です。
直感 LLM
―ハンズオンで動かして学ぶ大規模言語モデル入門
Jay Alammar、Maarten Grootendorst 著、中山 光樹 訳
![[cover photo]](https://www.oreilly.co.jp/books/images/picture_large978-4-8144-0115-4.jpeg)
- TOPICS
- 発行年月日
- 2025年06月
- PRINT LENGTH
- 424
- ISBN
- 978-4-8144-0115-4
- 原書
- Hands-On Large Language Models
- FORMAT
関連ファイル
目次
賞賛の声 訳者まえがき まえがき 第I部 言語モデルの理解 1章 入門大規模言語モデル 1.1 言語AIとは? 1.2 言語AIの近年の歴史 1.2.1 Bag-of-Wordsによる言語の表現 1.2.2 埋め込みによる言語の表現 1.2.3 埋め込みの種類 1.2.4 注意機構による文脈のエンコードとデコード 1.2.5 Attention Is All You Need 1.2.6 表現モデル:エンコーダーのみのモデル 1.2.7 生成モデル:デコーダーのみのモデル 1.2.8 生成AIの年 1.3 大規模言語モデルの定義の変遷 1.4 大規模言語モデルの学習パラダイム 1.5 大規模言語モデルの応用例 1.6 責任あるLLMの開発と使用 1.7 限られた計算資源で十分 1.8 大規模言語モデルとのインターフェイス 1.8.1 プロプライエタリなプライベートモデル 1.8.2 オープンモデル 1.8.3 オープンソースフレームワーク 1.9 はじめてのテキスト生成 1.10 まとめ 2章 トークンと埋め込み 2.1 LLMにおけるトークン化 2.1.1 トークナイザーの概要 2.1.2 トークナイザーのダウンロードと実行 2.1.3 トークナイザーによるテキストの分割方法 2.1.4 単語トークン、サブワードトークン、文字トークン、バイトトークンの違い 2.1.5 学習済みトークナイザーの比較 2.1.6 トークナイザーの特性 2.2 トークン埋め込み 2.2.1 言語モデルはトークナイザーの語彙に対する埋め込みを保持している 2.2.2 言語モデルを用いた文脈を考慮したトークン埋め込みの作成 2.3 テキスト埋め込み(文や文書全体の埋め込み) 2.4 LLM以外での単語埋め込みの使い方 2.4.1 事前学習済み単語埋め込みの使い方 2.4.2 Word2vecのアルゴリズムと対照学習 2.5 推薦システムのための埋め込み 2.5.1 埋め込みを使った曲の推薦 2.5.2 曲の埋め込みモデルの学習 2.6 まとめ 3章 大規模言語モデルの仕組み 3.1 Transformerの概要 3.1.1 Transformerの入出力 3.1.2 フォワードパスの構成要素 3.1.3 確率分布からトークンを選択する方法 3.1.4 トークンの並列処理とコンテキスト長 3.1.5 キャッシュを利用した生成の高速化 3.1.6 Transformerブロックの仕組み 3.2 Transformerの発展 3.2.1 注意機構の効率化 3.2.2 Transformerブロック 3.2.3 位置埋め込み(RoPE) 3.2.4 自然言語処理以外でのTransformerの活用 3.3 まとめ 第II部 事前学習済み言語モデルの活用 4章 テキスト分類 4.1 映画レビューの感情分析 4.2 表現モデルを使ったテキスト分類 4.3 モデルの選択 4.4 タスク特化型モデルの使用 4.5 埋め込みを活用した分類 4.5.1 教師あり分類 4.5.2 ラベル付きデータがない場合の処方箋 4.6 生成モデルを使ったテキスト分類 4.6.1 T5を使った分類 4.6.2 ChatGPTのモデルを使った分類 4.7 まとめ 5章 テキストクラスタリングとトピックモデリング 5.1 arXivの「計算と言語」に関する論文 5.2 テキストクラスタリングの一般的なパイプライン 5.2.1 文書を埋め込みに変換 5.2.2 埋め込みの次元削減 5.2.3 次元削減した埋め込みのクラスタリング 5.2.4 クラスターの内容を確認する 5.3 テキストクラスタリングからトピックモデリングへ 5.3.1 BERTopic:モジュール型のトピックモデリングフレームワーク 5.3.2 特別なレゴブロックを追加する 5.3.3 テキスト生成のレゴブロック 5.4 まとめ 6章 プロンプトエンジニアリング 6.1 テキスト生成モデルの使い方 6.1.1 テキスト生成モデルの選択 6.1.2 テキスト生成モデルの読み込み 6.1.3 モデルの出力を制御する方法 6.2 プロンプトエンジニアリング入門 6.2.1 プロンプトの基本要素 6.2.2 指示に基づくプロンプト 6.3 高度なプロンプトエンジニアリング 6.3.1 プロンプトの潜在的な複雑さ 6.3.2 文脈内学習:例の提示 6.3.3 プロンプトの連鎖:問題の段階的な解決 6.4 生成モデルによる推論 6.4.1 思考の連鎖:答える前に考える 6.4.2 自己整合性:サンプリング出力 6.4.3 思考の木:中間ステップの探索 6.5 出力の検証 6.5.1 例示 6.5.2 文法:制約付きサンプリング 6.6 まとめ 7章 高度なテキスト生成のテクニックとツール 7.1 モデルの入出力:量子化されたモデルの読み込み 7.2 チェイン:LLMの能力を拡張する 7.2.1 プロンプトテンプレート 7.2.2 複数のプロンプトを持つチェイン 7.3 メモリ:会話履歴の保持 7.3.1 会話バッファー 7.3.2 ウィンドウ付き会話バッファー 7.3.3 会話の要約 7.4 エージェント:LLMのシステムを構築する 7.4.1 エージェントを支える原動力:段階的な推論 7.4.2 LangChainでのReActを使ったエージェント構築 7.5 まとめ 8章 セマンティック検索とRAG 8.1 セマンティック検索とRAGの概要 8.2 言語モデルによるセマンティック検索 8.2.1 密検索 8.2.2 リランキング 8.2.3 検索の評価指標 8.3 検索拡張生成(RAG) 8.3.1 検索からRAGへ 8.3.2 LLMのAPIを用いたRAGの実装 8.3.3 ローカルモデルを用いたRAGの実装 8.3.4 高度なRAGのテクニック 8.3.5 RAGの評価 8.4 まとめ 9章 マルチモーダルな大規模言語モデル 9.1 Vision Transformer 9.2 マルチモーダル埋め込みモデル 9.2.1 CLIP:テキストと画像をつなぐ仕組み 9.2.2 CLIPによるマルチモーダル埋め込みの生成方法 9.2.3 OpenCLIP 9.3 テキスト生成モデルのマルチモーダル化 9.3.1 BLIP-2:モダリティのギャップを埋める 9.3.2 マルチモーダル入力の前処理 9.3.3 ユースケース1:画像キャプション 9.3.4 ユースケース2:マルチモーダルな会話 9.4 まとめ 第III部 言語モデルの学習とファインチューニング 10章 テキスト埋め込みモデルの作成 10.1 埋め込みモデル 10.2 対照学習とは 10.3 バイエンコーダー 10.4 埋め込みモデルの作成 10.4.1 対照学習用のデータの生成 10.4.2 モデルの学習 10.4.3 詳細な評価 10.4.4 損失関数 10.5 埋め込みモデルのファインチューニング 10.5.1 教師あり学習 10.5.2 Augmented SBERT 10.6 教師なし学習 10.6.1 TSDAE 10.6.2 TSDAEを用いたドメイン適応 10.7 まとめ 11章 分類モデルのファインチューニング 11.1 教師あり分類 11.1.1 事前学習済みBERTのファインチューニング 11.1.2 層の凍結 11.2 Few-shot分類 11.2.1 SetFit:少ないデータで効率的にファインチューニングする方法 11.2.2 Few-shot分類のためのファインチューニング 11.3 マスク言語モデリングによる継続事前学習 11.4 固有表現認識 11.4.1 固有表現認識のためのデータ準備 11.4.2 固有表現認識のファインチューニング 11.5 まとめ 12章 生成モデルのファインチューニング 12.1 LLMの3つの学習ステップ:事前学習、教師ありファインチューニング、選好チューニング 12.2 教師ありファインチューニング 12.2.1 フルファインチューニング 12.2.2 パラメーター効率の良いファインチューニング 12.3 QLoRAによる指示チューニング 12.3.1 指示データのテンプレート化 12.3.2 モデルの量子化 12.3.3 LoRAの設定 12.3.4 学習の設定 12.3.5 学習 12.3.6 重みのマージ 12.4 生成モデルの評価 12.4.1 単語レベルの指標 12.4.2 ベンチマーク 12.4.3 リーダーボード 12.4.4 自動評価 12.4.5 人間による評価 12.5 選好チューニング 12.6 報酬モデルによる選好評価の自動化 12.6.1 報酬モデルの入出力 12.6.2 報酬モデルの学習 12.6.3 無報酬モデルの学習 12.7 DPOによる選好チューニング 12.7.1 選好データのテンプレート化 12.7.2 モデルの量子化 12.7.3 学習の設定 12.7.4 学習 12.8 まとめ あとがき 索引 コラム目次 BERTopicのモジュール性 Sentence Transformersを用いたCLIPモデルの読み込み