そこでこの時点で､ ハイパーパラメーターについて話すことにする｡
そのうちの3人を紹介しよう｡
そこで､ ハイパーパラメータとは何かを思い出してほしい｡
先週も少し話した｡
ハイパーパラメータとは､ このレバーのひとつである｡
それは､ 実験者であるあなたが､ どうしたいかを選ぶだけのものだ｡
ハイパーパラメーターの最適化として知られるプロセスを使って､
さまざまな値を試し､ 手元のタスクに最適なものを見極めることになる｡
そして､ 実際に私たちがやっていることは､ 基本的に試行錯誤なのだ｡
理論的な理由があるわけではないので､ 推測と実験を繰り返すことになる｡
実践的な実験の問題だ｡
よくあることだが､ うまく機能しているものがあって､ それをコントロールするパラメータがいくつかある｡
それがどうあるべきかを語る理論はまだない｡
私たちはこれをハイパーパラメーターと呼んでいる｡
そう呼ばれているんだ｡
そして､ 正しいセッティングを選ぶまで､ 試行錯誤と推測の世界に身を置くことになる｡
それがあなたのモデルに最も適している｡
もちろん､ 少し単純化しすぎてはいるが､ 大まかなイメージはつかんでいただけただろうか｡
その中で最も重要なのは3つだ｡
Qローラのファインチューニングの場合は､ 時々紹介したい｡
私たちはこれから､ 彼らと一緒にプレーすることになる｡
その最初のものはRと呼ばれ､ これはランクの略である｡
つまり､ ラマ・アーキテクチャー内の下位ランクのマトリックスに何次元を使うかということだ｡
低ランクの行列には､ もっと少ない次元数が必要だ｡
それこそが､ 彼らのアイデアなんだ｡
ええと､ だから､ さっきも言ったように､ この種の言語生成モデルで作業する場合､ タスクによって最初に求めるRの値が違うので､
厳密なルールはないんだ｡
私がいつも使っている経験則であり､ コミュニティで一般的に使われている経験則だと思う｡
ええと､ つまり､ メモリの使用量が非常に少なく､ かなり高速に動作するということです｡
そして､ より多くのメモリを消費し､ よりゆっくりと実行される16に倍増し､ より良い結果が得られるかどうかを確認し､
収穫が減少するポイントに達するまで､ さらに倍増する可能性がある｡
スピードは落ちているし､ 時間もかかっているが､ 改善は見られない｡
そうなると､ Rが高くても意味がない｡ 今あるデータに必要なパワーはすでに持っている｡
というわけで､ 次に話すのはアルファだ｡
そしてアルファは､ 単純に掛け合わされるスケーリング係数である｡
このローラ・A・ローラ・Bのマトリックスに適用される｡
そして､ そのウェイトを使ってモデルのウェイトを変更する｡
この計算式は､ モデル内のウェイトをターゲット・モジュール内で変更する量に相当する｡
アルファ×A行列×B行列｡
それらはすべて掛け算になる｡
つまり､ アルファ値が大きいほど効果が大きいということだ｡
そして､ 実際に使用される経験則は､ ほとんどどこにでもあるものだと思う｡
つまり､ Rが8でスタートした場合､ アルファは16となる｡
そしてRが16になるとアルファは32になり､ 32になると64になる｡
これが経験則だ｡
しかしもちろん､ 異なるアルファを試してみて､ 精度が変わるかどうかを確認する価値は常にある｡
そして3つ目､ 3つの重要なハイパーパラメータの最後が､ アーキテクチャに適応させるターゲットモジュールは何かということです｡
どのレイヤーに注目するかというと......一般的には､ アテンション・レイヤーに注目するのが最も一般的な選択だ｡
よくあることだよ｡
コードを見てもらえればわかると思う｡
他のモジュールをターゲットにしたい場合もあるだろう｡
例えば､ まったく違う言語で出力したい場合などは､ 最終レイヤーのいくつかをターゲットにするといいかもしれない｡
だから､ いくつか､ いくつか､ いくつか､ その仕組みについてもう少し詳しく説明しよう｡
しかし､ 一般的に言って､ 最も一般的なのは､ ヘッドレイヤーに注目することである｡
それが私たちがやることだ｡
どのようにセットアップされるかは､ すぐにわかるだろう｡
そして､ これからGoogle Colabに向かい､ これを見て､ いくつかのモデルを見て､ ローラについて話し､
Qとローラについて話し､ そしてこれら3つのハイパーパラメータが実際に使われているのを見ることにする｡
そうしよう｡