試験公開中

このエントリーをはてなブックマークに追加

LLMのファインチューニングとRAG ―チャットボット開発による実践―

オーム社

2,640円 (2,400円+税)

ローカルLLMでファインチューニングとRAGを学ぼう!本書は、公開されている大規模言語モデルを使ってローカル環境に独自のチャットボットを構築することを目標に、LLMのファインチューニングとRAGの基礎と、そのプログラミングについて学ぶものです。

関連サイト

本書の関連ページが用意されています。

内容紹介

本書は、公開されている大規模言語モデル(LLM: Large Language Model)を使ってローカル環境に独自のチャットボットを構築することを目標に、LLM のファインチューニングと RAG (Retrieval Augmented Generation) の基礎と、そのプログラミングについて学ぶものです。

ChatGPTの台頭により、高性能なチャットボットへの期待が急速に高まっています。しかし、そのチャットボットの核となるLLMは基本的に言語モデルであるために、幻覚(誤った情報)を生成してしまいます。とくに、LLMはローカルな情報や最新の情報は持っていないため、それらに関する質問に対しては正しい回答が期待できません。また、ChatGPTのようにLLMが外部のサーバにある場合、自社データや顧客データを入力することには抵抗があると思います。

本書では、そういった課題を解決するために、公開LLMをファインチューニングしたり、公開LLMを使ったRAGを構築したりすることで、よりニーズに沿ったチャットボットを構築します。こういった調整を行って構築したチャットボットは、特定の分野について深く正確に回答してくれるようになります。

<本書のポイント>

・LLMについての基本事項を学べます。
・LLMのファインチューニングの方法とRAGの構築方法を学べます。
・解説したプログラムをウェブサイトで配布します。

書誌情報

  • 著者: 新納浩幸
  • 発行日: (紙書籍版発行日: 2024-05-22)
  • 最終更新日: 2024-05-09
  • バージョン: 1.0.0
  • ページ数: 176ページ(PDF版換算)
  • 対応フォーマット: PDF
  • 出版社: オーム社

対象読者

LLMに興味がある自然言語処理エンジニア、研究者 、自然言語処理を学ぶ情報系学部などの大学生

著者について

新納浩幸

1961年生まれ。
1985年 東京工業大学理学部情報科学科卒業
1987年 東京工業大学大学院理工学研究科情報科学専攻修士課程修了
現在、茨城大学工学部情報工学科教授、博士(工学)。専門は自然言語処理。

目次

はじめに/目次

第1章 大規模言語モデル

  • 1.1 言語モデルとは
  • 1.2 言語モデルとチャットボット
  • 1.3 日本語特化のLLM
  • 1.4 LLMの利用
  • 1.5 この章で使用した主なプログラム

第2章 ファインチューニング:言語モデルの追加学習

  • 2.1 基本的な学習の処理
  • 2.2 Trainerの利用
  • 2.3 訓練データをDatasetへ
  • 2.4 collator
  • 2.5 保存されたモデルからの文生成
  • 2.6 Early Stoppingの導入
  • 2.7 この章で使用した主なプログラム

第3章 Instruction Tuning:指示に基づくファインチューニング

  • 3.1 Instruction Tuningとは
  • 3.2 Instruction Tuningの学習データ
  • 3.3 Instruction Tuningの学習データの作成
  • 3.4 Instruction Tuningの実行
  • 3.5 Instruction Tuningモデルによる文生成
  • 3.6 この章で使用した主なプログラム

第4章 大規模言語モデルのファインチューニング

  • 4.1 LoRA:低ランク行列によるファインチューニング
  • 4.2 PEFT:効率的にファインチューニングするためのライブラリ
  • 4.3 LoRAモデルによる文生成
  • 4.4 QLoRA:LoRAに量子化を利用する
  • ① 量子化とは
  • ② bitsandbytesの利用
  • 4.5 Prompt Tuning:プロンプトの効率的なチューニング法
  • 4.6 この章で使用した主なプログラム

第5章 RAG:検索を併用した文生成

  • 5.1 RAGとは
  • 5.2 FAISSによるデータベースの構築
  • ① パッセージの作成
  • ② パッセージのベクトル化
  • ③ ベクトルデータベースの構築
  • 5.3 RetrievalQAとOpenAIのLLMによるRAGの構築
  • 5.4 RetrievalQAと公開LLMによるRAGの構築
  • ① プロンプトの作成
  • ② HuggingFacePipelineを利用したLLMの設定
  • ③ プロンプトの変更
  • 5.5 RAGの各種パーツの変更
  • ① WikipediaRetrieverクラスの利用
  • ② Wikipediaからの自前データベースの作成
  • ③ Document LoaderとDocument transformersによるデータベースの作成
  • ④ キーワードデータベースの検索
  • ⑤ 量子化モデルの利用
  • 5.6 HyDE:仮想的文書作成による検索法
  • 5.7 RAGの性能向上のために検討するべき要素
  • 5.8 この章で使用した主なプログラム

第6章 ChainlitによるGUIのチャットボット

  • 6.1 インストール
  • 6.2 Chainlitの基本プログラム
  • 6.3 OpenAIのLLMを使ったチャットボットのGUI
  • 6.4 公開LLMを使ったチャットボットのGUI
  • 6.5 RAGを利用したチャットボットのGUI
  • 6.6 Chainlitのサーバでの稼働
  • 6.7 この章で使用した主なプログラム

あとがき

索引

Home 書籍一覧 LLMのファインチューニングとRAG ―チャットボット開発による実践― ▲ ページトップへ戻る