DEEP-LEARNING✦ DRAFT (下書き)Difficulty: Level 4
ゼロから作るDeep Learning 6 ~LLM編
Reading: 4 min
はじめに
本書では、スクラッチ開発していきます。期待できることとして、「ChatGPTのようなLLMの魔法のような能力を仕組みから実装することで解き明かす体験ができます。CodeBotからStoryBot、WebBotの三段階のチャットボット開発を通して、具体的には以下に細分化された技術要素を学びます。
- トークナイザー
- Transformer
- 事前学習
- 事後学習
本書を読む目的
LLMの実装を1からできるようにする。細かい理論を学ぶことで実務へのAdvanceな応用ノウハウを期待する。
目次
- LLMができるまで
- 基本編(CodeBot を作る)
- トークナイザ
- モデル
- 学習
- 応用編(StoryBot を作る)
- トークナイザ
- モデル
- 学習
- 挑戦編(WebBot を作る)
- トークナイザ
- モデル
- 学習
- 付録
- UTF-8 エンコーディングの仕組み
- Attention のスケーリング効果の証明
- ベースライン付き方策勾配の普遍性の証明
- Adam のバイアス補正
- DPO の最適解の導出
LLM開発における3つのステップ
- Tokenizer:テキストをモデル理解できる形(トークンIDの列)に変換
- BPE(Byte Pair Encoding)を実装する。どのような原理でテキストが効率の良いID列に変換されるのか実装から仕組みを理解できる。まずは、原理を理解することが目的なので、基礎編ではわかりやすさを優先し、Speedは気にしていない。その上で、基礎編から発展編に向けて、効率化などに焦点を当てた改善をしていく。
- Modeling:トークンIDのシーケンスを処理して次のトークンを予測
- 現代のLLMは、殆どがアーキテクチャとして、Transformer を採用している。Transformer 自体にも、コア技術要素としてAttention があることも知られていますが、本当に仕組みを理解できているか?本書では、例えば、Attention がどのように情報をやりとりしているか?クエリー、キー、ヴァリューの関係性は?マルチヘッドのヘッドの持つ意味は?スケーリング項はなんのために存在し、KVキャッシュはどのように効率化しているのか?Attetion マスクはなぜ必要なのか?理解しよう。
- Training:学習用のテキストデータから言語パターンを学習し、人間の指示に従うように調整
- 学習にも以下3つのステップがある。
- 事前学習:Why:大量のテキストを学習させて、モデルに言語パターンを認識させるため
- SFT(Supervised Fine-Tuning):Why:目的の指示に従って対話できるようにさせるため
- 事後学習、強化学習:Why:報酬を得る試行錯誤を通して、モデル自身をさらに賢くさせるため
- technique
- GRP(Group Relative Policy Optimization):数学の問題を解くタスクの実践
- DPO(Direct Preference Optimization):この回答の方が良いなどの人間の嗜好(preference)を直接学習させる。
- technique
どういうテクニックがあったかまとめること-
- 並列か
- 巨大データの読み込み
- アルゴリズム最適化
🐾
NAVIGATOR AI TOOLKIT
マンチカン航海士の知恵袋
マンチカン航海士が記事全文を読んでいるニャ... 🐾