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

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
そうしよう。