0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ChatGPTのAPIは試したが、社内データを外に出さずに自分専用のチャットボットを育てる手順が分からないエンジニアへ。ファインチューニングとRAGをローカルで手を動かして学べる一冊

0
Posted at

ChatGPTのようなサービスは触ってみたものの、自社の資料や顧客の情報を外部のサーバに送るのは気が引ける。かといって、ローカルでLLMを動かして自分のデータを覚えさせる方法は、断片的な記事を読んでもつながらない。このままだと、デモの段階で止まって、業務で使えるチャットボットにたどり着けない。『LLMのファインチューニングとRAG: チャットボット開発による実践』は、公開されているLLMを使って、ファインチューニングとRAGの両方をプログラムを書きながら学ぶ一冊だ。

まず「そもそもLLMはどう使うのか」から確認できる

第1章は、言語モデルとは何か、チャットボットとの関係、日本語に強いLLMにどんなものがあるか、という土台の話から入る。いきなりコードが出てくるわけではないので、LLMを使い始めたばかりでも、その後の章で何をしているのかが追いやすい。公開モデルを使う理由も、ここで腹落ちする。

追加学習の流れを、Trainerからデータの用意まで順に追える

第2章では、Trainerの使い方、訓練データをDatasetにする方法、collator、保存したモデルからの文生成、Early Stoppingの導入までを扱う。第3章はInstruction Tuningで、指示に答えるモデルにするための学習データの作り方と、その実行がテーマだ。「ファインチューニングをやってみたいが、どんなデータをどう渡せばいいのか」という最初の壁が、手順として見えてくる。

手元のマシンで回すための工夫が、章としてまとまっている

第4章は、LoRAとPEFT、QLoRA、Prompt Tuningを取り上げる。大きなモデルを普通のマシンで調整するには、学習するパラメータをどう減らすかが肝になる。量子化を使った方法も含めて、考え方とコードがセットで確認できる。

RAGは、データベース作りから性能の見直しまでを通せる

第5章では、FAISSでのデータベース構築、RetrievalQAを使ったRAGの組み立て、OpenAIのLLMと公開LLMでの違い、パーツの差し替え、HyDEによる検索の工夫、性能を上げるために考えたい要素まで進む。そのうえで第6章では、Chainlitを使って、チャットボットを画面付きで動かすところまでたどり着く。

読んでおきたい理由

  • 自社データを外に出さない前提で、チャットボットを作る道筋が一通りつかめる
  • ファインチューニングのために用意するデータの形と、Trainerまわりの流れを、自分で再現できるようになる
  • LoRAやQLoRAがなぜ軽くなるのかを知っておくと、手元のマシンで試す範囲を見積もれる
  • RAGの検索部分を差し替えたり、HyDEを試したりして、回答の変化を自分の目で比べられる
  • 解説されたプログラムをウェブサイトで配布しているので、写経の手間を減らして実験に時間を使える

まとめ

PythonでHugging Faceなどのライブラリを動かした経験があると、読み進めやすい構成だ。まずは第5章のRAGから、手元のドキュメントを1つ入れて動かしてみてほしい。動いたら第2章以降に戻ってファインチューニングを試すと、両者の違いが実感できる。

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?