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.
 
 

217 lines
8.0 KiB

WEBVTT
00:00.680 --> 00:08.750
だから将来的には、 トレーニングをしてモデルを微調整し、 微調整したモデルを作るつもりだ。
00:08.750 --> 00:16.160
そして、 これからすることは、 未来に保存しておいたもののひとつをロードすることだ。
00:16.250 --> 00:21.230
そうすれば、 その建築物を見て、 感覚をつかむことができる。
00:21.320 --> 00:24.380
そして、 ベースモデルではなく、 ロードすることでそれを実現する。
00:24.440 --> 00:35.630
このような、 えーと、 えーと、 事前に訓練された因果LLMの自動モデルではなく、 事前に訓練されたパラメータ効率の良い微調整モデルであるPeftモデルである。
00:35.630 --> 00:39.350
そして、 今ここにあるのがベースモデルであることを伝える。
00:39.350 --> 00:40.760
そしてモデルを微調整する。
00:40.760 --> 00:44.570
このようにして保存したモデルの名前がこれだ。
00:44.570 --> 00:45.950
ローラの微調整
00:45.950 --> 00:48.920
どんな風に見えるかをお見せするためにやっているんだ。
00:48.950 --> 00:54.440
これは比較的小さいから、 すぐに終わるよ。
00:54.590 --> 00:56.870
サイズを見てみよう。
00:56.870 --> 01:02.270
そのため、 メモリフットプリントはギガバイトになる。
01:02.270 --> 01:06.170
そして、 それはこの件に非常に近いので、 あなたにも馴染みがあるはずだ。
01:06.320 --> 01:10.940
ええと、 その差は約100MBです。
01:10.940 --> 01:12.440
見てみよう。
01:13.250 --> 01:18.470
つまり、 これがこの製品のアーキテクチャーだ。
01:18.740 --> 01:22.340
今はもう、 そんな芸当はしない。
01:22.370 --> 01:24.530
これは以前見たものとは明らかに違う。
01:24.530 --> 01:26.360
そして、 私たちが見ていることをお話ししましょう。
01:26.360 --> 01:35.420
まず第一に、 ここまでの内容は、 32ラマ・デコーダーのレイヤーがあるところまでは同じです。
01:35.420 --> 01:49.340
そして今、 私たちはこの注目のレイヤーにたどり着き、 Qプロジ、 Kプロジ、 Vプロジ、 Oプロジのレイヤーがある。
01:49.340 --> 01:53.930
そして、 これらにはそれぞれベースレイヤーがある。
01:53.930 --> 01:57.410
そしてロラAとロラBがある。
01:57.500 --> 02:07.060
そしてこれが、 以前お話ししたA行列とB行列で、 ここに32番があります。
02:07.060 --> 02:11.260
それが先ほどのR、 ローラランクだ。
02:11.290 --> 02:14.050
これらは32ランクの行列である。
02:14.200 --> 02:16.270
うーん、 そうだね。
02:16.300 --> 02:24.160
行列の計算の仕方に詳しい方なら、 32の次元を掛け合わせることで、 このベースレイヤーに適用し、
02:24.160 --> 02:39.130
そのベースレイヤーにわずかなシフトを加えることができるように設計されているのがおわかりでしょう。
02:39.130 --> 02:45.760
理論に拘泥したいので、 また少し手垢がついているが、 これらは掛け合わされるということだ。
02:45.790 --> 02:46.720
ローラAとローラ
02:46.750 --> 02:53.890
Bにスケーリングファクターであるアルファを加えたものが、 適用するデルタとして使われる。
02:53.890 --> 02:59.890
このベースレイヤーの上に、 ドロップアウトと呼ばれる別のハイパーパラメーターがある。
03:00.010 --> 03:01.870
それについては後で話す。
03:01.870 --> 03:04.360
それは今週話したビッグ3のうちの一つではない。
03:04.990 --> 03:07.180
しかし、 ここではその特徴を何度か目にすることになるだろう。
03:07.180 --> 03:13.060
4つのターゲット・モジュールのうち、
03:13.060 --> 03:20.020
他のモジュールを見てみると、 ローラAとローラBがあり、
03:20.020 --> 03:36.430
ここにもローラAとローラBがある。
03:36.460 --> 03:42.400
Rのハイパーパラメータで指定された32次元だ。
03:43.510 --> 03:45.220
ええと、 他は何も変わっていない。
03:45.220 --> 03:48.880
多層パーセプトロン層もまったく同じである。
03:49.060 --> 03:51.130
うーん、 他は全部同じだよ。
03:52.090 --> 03:58.720
もう一度言っておくが、 私たちはこの件に拘泥しないようにしているが、
03:58.720 --> 04:07.720
この4つの行列の次元数がこれであることを納得するために振り返ってみるといい。
04:07.720 --> 04:14.530
それぞれにローラAとローラBがあり、 そのマトリックスの次元を掛け合わせることで、
04:14.530 --> 04:20.890
これらのアダプター全体でいくつの次元、 いくつのウェイトがあるかがわかる。
04:20.890 --> 04:25.210
そして各レイヤーについて、 この4つの数字を合計するということだ。
04:25.210 --> 04:31.990
モジュールのグループが32個あるので、 それを32倍する。
04:32.800 --> 04:37.120
そして、 これらのパラメーターはそれぞれ4バイトの数字である。
04:37.120 --> 04:38.350
32ビットだ。
04:38.350 --> 04:43.570
それでサイズを計算し、 それを100万で割ってメガバイトにする。
04:43.870 --> 04:48.580
ローラ・アダプタのウエイトをすべて合計すると、
04:48.580 --> 05:02.830
2700万個のパラメータがあり、 合計サイズは約109MBになる。
05:02.830 --> 05:07.190
つまり、 2,700万個のパラメータは、 100.9メガバイトのサイズということになる。
05:07.190 --> 05:10.730
それくらい私たちのアダプターは大きい。
05:11.030 --> 05:20.840
そしてもちろん、 llama全体が80億のパラメーターを持ち、 サイズが32GBであることと比較してほしい。
05:20.840 --> 05:33.290
多くのパラメータとトレーニングが必要だが、 ラマ3のような巨大なものに比べれば小さなものだ。
05:33.290 --> 05:33.290
1、 小さなバリエーションであっても。
05:33.290 --> 05:46.490
しかし、 このような低次元の行列を使うことで、 より大きなアーキテクチャに影響を与えることができるということを、
05:46.490 --> 06:00.320
直感的に理解していただければと思います。
06:00.680 --> 06:09.870
そして、 この109MBという数字が、 私が実際にハグすることができるパラメータのサイズであることを証明するものでもある。
06:09.900 --> 06:18.810
私は今、 ハグをしている。 そして、 あの特別なローラ・アダプター、 微調整されたモデルをどこに保存したか、 そして何を見つけるかを見ている。
06:18.810 --> 06:22.320
これらを見るとき、 セーフ・テンソルと呼ばれるものを探す。
06:22.320 --> 06:26.070
これは、 パラメーターそのものを保存するファイルである。
06:26.310 --> 06:31.530
そして、 ラマ3について見てみよう。 1、 32GBの大容量であることがわかるだろう。
06:31.530 --> 06:42.540
これを見ると、 パラメータが109MB、 109MBであることがわかる。
06:42.540 --> 06:49.830
それが、 このQラウラを使って微調整するパラメーターの大きさだ。
06:50.310 --> 07:01.470
少なくとも、 ここで何が起こっているのか、 そして最適化するために何GBものデータを必要とせずにモデルを微調整することができるというトリックをどのように使っているのか、
07:01.470 --> 07:05.250
きちんとした直感をつかんでいただけたと思います。
07:06.000 --> 07:09.720
ということで、 スライドに戻り、 まとめとしたい。