興奮してるかな？
そうあるべきだ｡
コースの8割を消化し､ この瞬間まですべてが積み重なってきた｡
今日､ あなたは楽しみながら､ そして利益を得るために､ 独自のLLMをトレーニングすることになる｡
すべてはここから始まる｡
では､ 今日は実際に何があるのか？
まずは､ あまりスリリングではないものから始めよう｡
ハイパーパラメーターについて､ もう1度話そう｡
必要不可欠なハイパーパラメーターをいくつか用意した｡
これがとても重要な理由は､ ハイパーパラメーターの最適化を自分で行うことになるからだ｡
試行錯誤を意味する洒落た言葉だ｡
そして､ 自分がプレーしていることの背景を理解する必要がある｡
そしてこれは､ 他のモデルに勝てるものを作るチャンスでもある｡
どのようなレバーを使って実験するのかを理解することだ｡
それが､ トップモデルを作るための研究開発の核心である｡
そこで､ ハイパーパラメーターについて説明しよう｡
そして､ 監督付きの微調整トレーナー､ SFTをセットアップする｡
トレーナーというのは､ このトレーニングの中核をなす存在だ｡
ハギング・フェイスからTRLライブラリーの一部を見て､ それからキックオフだ｡
独自のLMトレーニングプロセス
素晴らしいものになるよ｡
というわけで､ まずは素晴らしい話に入る前に､ このプロセスをコントロールする重要なハイパーパラメーターについて､
Qローラから話をする必要がある｡
そこで最初に挙げるハイパーパラメーターは､ ターゲット・モジュールを呼び出すためのものだ｡
そして､ これが何なのか､ 正確に覚えていただけたと思う｡
トランスフォーマーのアーキテクチャがあれば､ ラマ3のようなベースモデルがある｡ 1､ この巨大で偉大な建築物を微調整しようとするには､
あまりにも大きすぎる｡
だから､ その代わりにアーキテクチャー内のいくつかのレイヤーを選び､ それをレイヤーと呼ぶ｡
ターゲット・モジュールとは､ これからターゲットにするモジュールのことだ｡
何でも冷凍するんだ｡
ウエイトを最適化するつもりはない｡
数が多すぎるんだ｡
これらのターゲット・モジュールでもだ｡
これをトレーニングするつもりはない｡
そうではなく､ 低次元の行列を片側に持ってきて､ この低次元の行列を訓練し､
それを元のターゲット・モジュールに適用するのだ｡
それを掛け合わせ､ ウェイトのデルタとして使うのだ｡
そうして､ この小人を訓練して､ ターゲット・モジュールに適用するんだ｡ ターゲット・モジュールとは､ 大きなアーキテクチャーの中で選択されたレイヤーのことだ｡
そして､ この大きな3Dゴーグルをロゴとして､ アイコンとして使っている｡
Rは､ この低次元のアダプターマトリックスの次元数を表している｡
ええと､ 言語学習の課題では､ 8から始めるのが一般的です｡
このプロジェクトでは､ Rを32にしました｡ 学習データがたくさんあるので､ かなりの数のパラメータを使って学習できると考えたからです｡
しかし､ もしそれでメモリが足りなくなるようなら､ 8枚にすることもできる｡
実際には､ 8と16と32の差はごくわずかだったと言うべきだろう｡
確かに改善されたが､ それほど大きな改善ではない｡
記憶力に問題がある場合は､ Rを8にしてください｡
もし､ あなたが小さい箱を使っているなら､ それで十分だ｡
32ドルというのは少々高いが､ トレーニングデータの量を考えれば､ それだけの価値はある｡
アルファはスケーリング・ファクターである｡
このアダプターをターゲット・モジュールに適用する際に､ その重要性を倍増させるために使用される｡
実は､ ラウラのマトリックスは2つあることを覚えているだろうか｡
ひとつはローラA､ もうひとつはローラBと呼ばれ､ 計算式では重さの変化はアルファ値になる｡
スケーリングファクターにA×Bをかけたもの｡
それが､ このコースで習う数学の一番多いところだ｡
そして､ それは行き過ぎではないと思う｡
アルファとはそういうものだ｡
スケーリングファクターだ｡
そして経験則では､ アルファはダブルRであるべきだ｡
それは誰もがやっていることだ｡
ぜひ他のアルファ値を試してみてほしい｡
しかし､ しかし､ アルファは2Rでやるのが普通だ｡
そこで､ まずRを32､ アルファを64とする｡
定量化とはもちろん､ ベースモデルの重みの精度を下げることを指す｡
ベースモデルは32ビット｡
その中にある｡
私たちはそれを8ビット､ あるいは4ビットにまで減らす｡
ベースモデルでそれをやってみたところ､ やはり結果が出た｡
素晴らしい結果ではなかったが､ ベースモデル全体に言えることだと思う｡
実際､ 8ビットモデルは4ビットモデルよりも成績が良かったが､
どちらもかなり惨めだった｡
そしてぜひ､ 8ビットモデルでのトレーニングも試してみてほしい｡
しかし､ 4ビットのモデルでトレーニングすることにした｡
でも､ 8ビットを試してみて､ 有意に異なる結果が得られるかどうか､
興味があるね｡
そして最後のハイパーパラメーターは､ コード・ドロップアウトでお見せする以外､ これまでお話ししたことのない新しいものです｡
つまり､ ドロップアウトはタイプなのだ｡
正則化テクニックとして知られているテクニックで､ いくつかありますが､ つまり､
モデルがいわゆるオーバーフィッティングをしないように設計されたテクニックです｡
オーバーフィッティングとは､ モデルがあまりにも多くの訓練データを取得し､ あまりにも多くの訓練を経て､
訓練データセットに含まれるデータの構造を正確に予想し､ その通りの答えを返すようになることである｡
そして､ もはや提案されていることの一般的な傾向を理解するのではなく､
その言葉やその後に来る予測に集中するようになる｡
その結果､ トレーニングデータセットで見たことのないような新しいポイントを与えると､ 一般的なテーマを学習しているのではなく､
そのテーマに合わせて学習しているため､ 成績は非常に悪くなる｡
このトレーニングデータセットの特殊性を学ぶのは大変だった｡
また少し手探り状態になってしまったが､ ご理解いただけただろうか｡
訓練データセットと結果に正確に準拠しすぎることをオーバーフィッティングと呼ぶ｡
そして､ 何を予測しようとしているのかの一般的な風味を学んでいない｡
あの､ あの味です｡
そういうニュアンスなんだ｡
それをモデルに教えようとしているんだ｡
ええと､ つまり､ それが前文であり､ 何の説明なんですか？
オーバーフィッティングとは何か？
しかし今､ ドロップアウトが何をするのかを正確にお伝えすると､ 実に単純なことなのだが､
ドロップアウトが実際にすることは､ ディープ・ニューラル・ネットワークからニューロンのランダムなサブセットを削除することだ｡
変圧器からはランダムなパーセンテージを取る｡
まず10％から始め､ ニューロンの10％を取り出し､ それらを消去して活性をゼロにし､
前進パスにも後退パスにも関与しないようにする｡
彼らは次のトークンの予測には関与しないし､ 最適化にも関与しない｡
まるでそこにいないかのようだ｡
その結果､ トレーニングのたびに､ モデルは異なるサブセット､ 異なる90％のニューラルネットワークを見ることになる｡
そのため､ 重みは､ 1セットの入力トークンを正確に探しすぎることを抑制し､ その代わりに､
異なるニューロンがトレーニング・プロセスに毎回参加することで､
より多くのことを学び始める｡
一般的なテーマは､ さまざまなトークンを期待する方法を具体的に学ぶことだ｡
つまり､ 1つのニューロンが専門化しすぎるのを防いでいるのだ｡
これは､ ニューロンの10％をプロセスから取り除くという非常に単純化された方法で､
神経回路網におけるより一般的な理解という概念をサポートするものである｡
それがドロップアウトだ｡
とてもシンプルなことなんだ｡
それに気づいたとき､ それは文字通り､ ニューロンと規範の束を取り除くことなのだ｡
通常は5％から20％の範囲だ｡
ええと､ 10％をドロップアウトとして使っています｡
5％や20％で実験し､ より良い結果が得られるかどうかを確かめるべきだ｡
これは非常に実験的なハイパーパラメーターである｡
さて､ これがQの5つのハイパーパラメータだ｡
ローラ､ 次回は全体的なトレーニングプロセスに関する5つのハイパーパラメータについて話そう｡