【技術本】つくりながら学ぶ!LLM自作入門
https://amzn.to/416vzNT
【技術本】つくりながら学ぶ!LLM自作入門
へポスト
GPT2相当のLLMをローカルのPC上で動かして検証できる。コードはPythonでPytorch、Tensorflow、Tiktokenなどを使用して実装されている。
コードはJupyter Notebookで提供されるため、Google Colabでも検証可能。LLMは演習ではパラメータ数1億2千万〜3億5千万のモデルを使用する。設定で最大15億パラメータのモデルなどを選択することも可能だが、Google Colabでは演習のモデル以上の規模になると無料枠では動かないので注意。7章の他のLLMを使用してインストラクションチューニングを評価するのもメモリを多く積んだローカルPCの方が良い気もする。Google Colabで動かす場合は、一部packageのインストール(pip install tiktoken)や、フォルダ内のソースコードの関連付けのコード修正(previous_chapters.py, gpt_download.pyなどの実装を参照できるようにする)が必要だったがそれ以外に動作に問題はなかった。
繰り返しの強調になるが、この書籍は何が凄いかというと、LLM-AI構築における以下の一連のほぼ全ての作業を、絵図とPython実装によってわかりやすく解説してくれている点である。
・Transofomer(Multi-head Attention, 層正規化、ドロップアウト、フィードフォワード層、GELU活性化関数)も含めたGPT全体の実装
・事前学習データの準備における実践的なデータ加工方法
・データ入力と事前学習の方法
・学習済みモデルなどの保存や読み込み方法
・ファインチューニングの方法(インストラクションチューニング(汎用的)、分類チューニング(専門的)の2種類)
これらの一連の内容を数式を前面にし過ぎず、絵図や実装コードで内容を説得させようとしてくれている点がわかりやすく素晴らしいと感じた。
記述されている内容やコードは実践的であり、自分独自のモデル構築や、他のオープンソースのモデルにも応用可能だと感じた。
GPT2相当でも、ファインチューニングまで行うことで、分類(スパム文と、スパム文以外の分類)や、会話形式で指示を与えて文書の言い換え、反意語、スペル誤りの修正ができる機能まで実装できる。書籍内の演習では、GPT2モデルでも実用レベルの学習データの準備と学習計算量は個人で行うにはコストが大き過ぎるため、Open-AIが公開しているGPT2の事前学習済みモデルを読み込んで使用している。しかし、本書では前述の通り事前データの準備や入力、学習、ファインチューニングまでの作業方法が記されているので、独自のデータを用意したり、モデルの実装を改造して自分独自のモデルや、最新の動向を踏まえたLLM実装へカスタマイズできる余地が残されている点が、本書の価値の高い部分だと感じた。
なぜ実践演習がGPT2相当で、3や4でないのかと言いたくなる人もいるかもしれないが、3以降になると規模が桁違いに大きくなってしまう。2まではローカルPCで動くが、3以降は動作メモリスペックが一般的なPCでは足りなくなるのが過半数を超えるし、計算量も数百個のGPUクラスタを使わないで、もし単一のGPU(RTX8000相当)だと事前学習だけで数百年かかるレベルの話だということが本書を読めばわかる。さらに詳しい解説も書かれている。
総評として、実践する内容は現状の最新のGPTとバージョンは違うが、基本的な作業内容は踏襲、網羅されており、現状の最先端のLLMがどのような作業を経て構築されているか、シームレスに学ぶことができると感じた。実際にどのような仕組みで動いているか中身に興味がある人に価値が出てくる書籍だと感じた。
広まってほしい素晴らしい書籍です。オススメです。
へポスト
