From the uDemy course on LLM engineering.
https://www.udemy.com/course/llm-engineering-master-ai-and-large-language-models
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
6.7 KiB
178 lines
6.7 KiB
WEBVTT |
|
|
|
00:00.740 --> 00:04.160 |
|
そこでこの時点で、 ハイパーパラメーターについて話すことにする。 |
|
|
|
00:04.160 --> 00:06.320 |
|
そのうちの3人を紹介しよう。 |
|
|
|
00:06.320 --> 00:08.840 |
|
そこで、 ハイパーパラメータとは何かを思い出してほしい。 |
|
|
|
00:08.840 --> 00:10.700 |
|
先週も少し話した。 |
|
|
|
00:10.730 --> 00:13.910 |
|
ハイパーパラメータとは、 このレバーのひとつである。 |
|
|
|
00:14.000 --> 00:19.250 |
|
それは、 実験者であるあなたが、 どうしたいかを選ぶだけのものだ。 |
|
|
|
00:19.250 --> 00:24.740 |
|
ハイパーパラメーターの最適化として知られるプロセスを使って、 |
|
|
|
00:24.740 --> 00:32.570 |
|
さまざまな値を試し、 手元のタスクに最適なものを見極めることになる。 |
|
|
|
00:32.570 --> 00:38.690 |
|
そして、 実際に私たちがやっていることは、 基本的に試行錯誤なのだ。 |
|
|
|
00:38.690 --> 00:47.570 |
|
理論的な理由があるわけではないので、 推測と実験を繰り返すことになる。 |
|
|
|
00:47.570 --> 00:50.000 |
|
実践的な実験の問題だ。 |
|
|
|
00:50.000 --> 01:01.250 |
|
よくあることだが、 うまく機能しているものがあって、 それをコントロールするパラメータがいくつかある。 |
|
|
|
01:01.280 --> 01:03.570 |
|
それがどうあるべきかを語る理論はまだない。 |
|
|
|
01:03.600 --> 01:05.490 |
|
私たちはこれをハイパーパラメーターと呼んでいる。 |
|
|
|
01:05.610 --> 01:06.570 |
|
そう呼ばれているんだ。 |
|
|
|
01:06.570 --> 01:11.940 |
|
そして、 正しいセッティングを選ぶまで、 試行錯誤と推測の世界に身を置くことになる。 |
|
|
|
01:11.940 --> 01:13.590 |
|
それがあなたのモデルに最も適している。 |
|
|
|
01:13.620 --> 01:17.550 |
|
もちろん、 少し単純化しすぎてはいるが、 大まかなイメージはつかんでいただけただろうか。 |
|
|
|
01:17.550 --> 01:21.180 |
|
その中で最も重要なのは3つだ。 |
|
|
|
01:21.180 --> 01:26.760 |
|
Qローラのファインチューニングの場合は、 時々紹介したい。 |
|
|
|
01:26.760 --> 01:29.640 |
|
私たちはこれから、 彼らと一緒にプレーすることになる。 |
|
|
|
01:29.640 --> 01:33.720 |
|
その最初のものはRと呼ばれ、 これはランクの略である。 |
|
|
|
01:33.810 --> 01:49.800 |
|
つまり、 ラマ・アーキテクチャー内の下位ランクのマトリックスに何次元を使うかということだ。 |
|
|
|
01:49.800 --> 01:55.020 |
|
低ランクの行列には、 もっと少ない次元数が必要だ。 |
|
|
|
01:55.020 --> 01:56.640 |
|
それこそが、 彼らのアイデアなんだ。 |
|
|
|
01:56.850 --> 02:03.600 |
|
ええと、 だから、 さっきも言ったように、 この種の言語生成モデルで作業する場合、 タスクによって最初に求めるRの値が違うので、 |
|
|
|
02:03.600 --> 02:09.520 |
|
厳密なルールはないんだ。 |
|
|
|
02:09.520 --> 02:18.910 |
|
私がいつも使っている経験則であり、 コミュニティで一般的に使われている経験則だと思う。 |
|
|
|
02:19.210 --> 02:24.940 |
|
ええと、 つまり、 メモリの使用量が非常に少なく、 かなり高速に動作するということです。 |
|
|
|
02:25.120 --> 02:30.940 |
|
そして、 より多くのメモリを消費し、 よりゆっくりと実行される16に倍増し、 より良い結果が得られるかどうかを確認し、 |
|
|
|
02:30.940 --> 02:37.450 |
|
収穫が減少するポイントに達するまで、 さらに倍増する可能性がある。 |
|
|
|
02:37.450 --> 02:40.690 |
|
スピードは落ちているし、 時間もかかっているが、 改善は見られない。 |
|
|
|
02:40.690 --> 02:47.170 |
|
そうなると、 Rが高くても意味がない。 今あるデータに必要なパワーはすでに持っている。 |
|
|
|
02:47.350 --> 02:51.880 |
|
というわけで、 次に話すのはアルファだ。 |
|
|
|
02:51.880 --> 02:56.890 |
|
そしてアルファは、 単純に掛け合わされるスケーリング係数である。 |
|
|
|
02:56.890 --> 03:01.120 |
|
このローラ・A・ローラ・Bのマトリックスに適用される。 |
|
|
|
03:01.120 --> 03:05.530 |
|
そして、 そのウェイトを使ってモデルのウェイトを変更する。 |
|
|
|
03:05.530 --> 03:11.940 |
|
この計算式は、 モデル内のウェイトをターゲット・モジュール内で変更する量に相当する。 |
|
|
|
03:11.970 --> 03:16.830 |
|
アルファ×A行列×B行列。 |
|
|
|
03:16.830 --> 03:18.630 |
|
それらはすべて掛け算になる。 |
|
|
|
03:18.630 --> 03:21.330 |
|
つまり、 アルファ値が大きいほど効果が大きいということだ。 |
|
|
|
03:21.330 --> 03:32.880 |
|
そして、 実際に使用される経験則は、 ほとんどどこにでもあるものだと思う。 |
|
|
|
03:32.910 --> 03:36.540 |
|
つまり、 Rが8でスタートした場合、 アルファは16となる。 |
|
|
|
03:36.570 --> 03:42.540 |
|
そしてRが16になるとアルファは32になり、 32になると64になる。 |
|
|
|
03:42.540 --> 03:44.940 |
|
これが経験則だ。 |
|
|
|
03:44.940 --> 03:53.040 |
|
しかしもちろん、 異なるアルファを試してみて、 精度が変わるかどうかを確認する価値は常にある。 |
|
|
|
03:54.240 --> 04:08.640 |
|
そして3つ目、 3つの重要なハイパーパラメータの最後が、 アーキテクチャに適応させるターゲットモジュールは何かということです。 |
|
|
|
04:08.640 --> 04:19.540 |
|
どのレイヤーに注目するかというと......一般的には、 アテンション・レイヤーに注目するのが最も一般的な選択だ。 |
|
|
|
04:19.540 --> 04:20.830 |
|
よくあることだよ。 |
|
|
|
04:20.830 --> 04:23.920 |
|
コードを見てもらえればわかると思う。 |
|
|
|
04:23.980 --> 04:28.990 |
|
他のモジュールをターゲットにしたい場合もあるだろう。 |
|
|
|
04:29.080 --> 04:43.780 |
|
例えば、 まったく違う言語で出力したい場合などは、 最終レイヤーのいくつかをターゲットにするといいかもしれない。 |
|
|
|
04:43.780 --> 04:49.210 |
|
だから、 いくつか、 いくつか、 いくつか、 その仕組みについてもう少し詳しく説明しよう。 |
|
|
|
04:49.210 --> 04:54.940 |
|
しかし、 一般的に言って、 最も一般的なのは、 ヘッドレイヤーに注目することである。 |
|
|
|
04:54.940 --> 04:56.440 |
|
それが私たちがやることだ。 |
|
|
|
04:56.470 --> 04:59.470 |
|
どのようにセットアップされるかは、 すぐにわかるだろう。 |
|
|
|
05:00.670 --> 05:06.760 |
|
そして、 これからGoogle Colabに向かい、 これを見て、 いくつかのモデルを見て、 ローラについて話し、 |
|
|
|
05:06.760 --> 05:12.760 |
|
Qとローラについて話し、 そしてこれら3つのハイパーパラメータが実際に使われているのを見ることにする。 |
|
|
|
05:13.180 --> 05:14.260 |
|
そうしよう。
|
|
|