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

公開LLMでファインチューニングとRAGを学ぼう!

このような方におすすめ

◎ LLMに興味がある自然言語処理エンジニア、研究者
〇自然言語処理を学ぶ情報系学部等の大学生
  • 著者新納 浩幸
  • 定価2,640 (本体2,400 円+税)
  • A5 176頁 2024/05発行
  • ISBN978-4-274-23195-7
  • 定価
  • ポイント0
  • 数量
発売日 : 2024年05月22日
◆予約受付中 発売後に発送します 
発売日 : 2024年05月22日◆予約受付中 発売後に発送します

※本体価格は変更される場合があります。
※通常2〜3営業日以内で発送いたします。
※取寄が可能な場合もございますのでお問合せください。

  • 概要
  • 主要目次
  • 詳細目次

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

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

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

<本書のポイント>

・LLMについての基本事項を学べます。

・LLMのファインチューニングの方法とRAGの構築方法を学べます。

・解説したプログラムをウェブサイトで配布します。

<このような方におすすめ>

◎ LLMに興味がある自然言語処理エンジニア、研究者

〇自然言語処理を学ぶ情報系学部等の大学生

https://www.ohmsha.co.jp/book/9784274231957/
第1章 大規模言語モデル
第2章 ファインチューニング:言語モデルの追加学習
第3章 Instruction Tuning:指示に基づくファインチューニング
第4章 大規模言語モデルのファインチューニング
第5章 RAG:検索を併用した文生成
第6章 ChainlitによるGUIのチャットボット
はじめに/目次

第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に量子化を利用する
(1) 量子化とは
(2) bitsandbytesの利用
4.5 Prompt Tuning:プロンプトの効率的なチューニング法
4.6 この章で使用した主なプログラム

第5章 RAG:検索を併用した文生成
5.1 RAGとは
5.2 FAISSによるデータベースの構築
(1) パッセージの作成
(2) パッセージのベクトル化
(3) ベクトルデータベースの構築
5.3 RetrievalQAとOpenAIのLLMによるRAGの構築
5.4 RetrievalQAと公開LLMによるRAGの構築
(1) プロンプトの作成
(2) HuggingFacePipelineを利用したLLMの設定
(3) プロンプトの変更
5.5 RAGの各種パーツの変更
(1) WikipediaRetrieverクラスの利用
(2) Wikipediaからの自前データベースの作成
(3) Document LoaderとDocument transformersによるデータベースの作成
(4) キーワードデータベースの検索
(5) 量子化モデルの利用
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 この章で使用した主なプログラム

あとがき/索引/奥付