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.
448 lines
15 KiB
448 lines
15 KiB
WEBVTT |
|
|
|
00:00.770 --> 00:05.690 |
|
Jupyter Labへようこそ、 そしてフロンティアでの実験へようこそ。 |
|
|
|
00:05.690 --> 00:12.290 |
|
そこで私たちは、 GPT4とクロードを組み合わせて商品の価格を予測するというこの課題に挑戦し、 |
|
|
|
00:12.290 --> 00:18.590 |
|
フロンティアモデルを試してみようと思う。 |
|
|
|
00:18.800 --> 00:21.980 |
|
この件に関して、 いくつか指摘しておきたいことがある。 |
|
|
|
00:21.980 --> 00:26.900 |
|
まず言っておきたいのは、 ここではトレーニングはしていないということだ。 |
|
|
|
00:26.900 --> 00:31.070 |
|
フロンティアモデルにはトレーニングデータの恩恵を与えない。 |
|
|
|
00:31.070 --> 00:36.350 |
|
単にテストデータを与え、 結果を予測するよう求めるだけだ。 |
|
|
|
00:36.350 --> 00:44.510 |
|
従来の機械学習では、 40万件の学習データを与え、 それに基づいてモデルを学習させていた。 |
|
|
|
00:44.690 --> 00:56.690 |
|
この場合、 私たちは単にテストデータを与え、 あなたが世界について知っているすべての驚異的な知識、 |
|
|
|
00:56.690 --> 01:03.180 |
|
あなたの何兆ものパラメータに保存されている世界のすべての情報を与えて、 |
|
|
|
01:03.180 --> 01:13.590 |
|
この製品の価格を予測してください、 と言っているのです。 |
|
|
|
01:13.590 --> 01:16.470 |
|
だから、 我々はその世界的な知識を活用している。 |
|
|
|
01:16.950 --> 01:21.240 |
|
そう、 一方では、 この任務のために訓練されたわけではない。 |
|
|
|
01:21.240 --> 01:25.080 |
|
その一方で、 もうお気づきの方もいらっしゃるかもしれませんが、 言及する価値のあることがあります。 |
|
|
|
01:25.080 --> 01:32.160 |
|
それは、 トレーニングの一環としてこれらのモデルに投入された膨大な、 とんでもなく大きなトレーニング・データ・セットを考えると、 |
|
|
|
01:32.160 --> 01:39.120 |
|
彼らが実際に、 以前にこれらの製品を見たことがある可能性は十分にあるということです。 |
|
|
|
01:39.150 --> 01:41.910 |
|
アマゾンの切れ端を提供されたのかもしれない。 |
|
|
|
01:41.910 --> 01:45.540 |
|
ハグする顔のデータセットが提供されたのかもしれない。 |
|
|
|
01:45.750 --> 01:48.570 |
|
ええと、 だから、 今は可能なんだ。 |
|
|
|
01:48.570 --> 01:49.980 |
|
今は違う。 |
|
|
|
01:50.010 --> 01:54.240 |
|
結果が怪しいほど的中しているわけでもなんでもないことがわかるだろう。 |
|
|
|
01:54.240 --> 02:02.490 |
|
そのため、 正確な価格という利点があるように感じられるが、 それでも不公平な利点があるかもしれないことを念頭に置く必要がある。 |
|
|
|
02:02.490 --> 02:07.250 |
|
その証拠を見たことはないが、 心配したいことであることは確かだ。 |
|
|
|
02:07.250 --> 02:10.490 |
|
いわゆるテスタタ汚染だ。 |
|
|
|
02:10.490 --> 02:18.710 |
|
テスト・データセットが、 トレーニング中に見たことがある、 あるいは見たことがある可能性がある場合。 |
|
|
|
02:19.070 --> 02:20.390 |
|
だから、 そのことは肝に銘じておく。 |
|
|
|
02:20.390 --> 02:22.190 |
|
でも、 それは余談に過ぎない。 |
|
|
|
02:22.190 --> 02:24.530 |
|
私たちはそのことにこれ以上こだわるつもりはない。 |
|
|
|
02:24.530 --> 02:27.320 |
|
私は、 それが関係しているという重要な証拠を見たことがない。 |
|
|
|
02:27.890 --> 02:30.500 |
|
だから、 輸入をするんだ。 |
|
|
|
02:31.130 --> 02:32.150 |
|
そうだ。 |
|
|
|
02:32.240 --> 02:36.980 |
|
今はOpenAIとanthropicのインポートに戻り、 それらを活用していく。 |
|
|
|
02:36.980 --> 02:43.520 |
|
私が書いた素敵なテスター・クラスは気に入っているし、 あなたにとってとても役に立つと思う。 |
|
|
|
02:43.520 --> 02:49.820 |
|
そして、 あなた自身のプロジェクトでも、 同じような種類のテスト・ハーネス・フレームワークを書いて、 |
|
|
|
02:49.850 --> 02:55.250 |
|
できるだけ多くのビジネス・メトリクスを使って、 その結果を検証することをお勧めする。 |
|
|
|
02:55.700 --> 03:00.650 |
|
このモジュールは、 独立したPythonモジュールに移しました。 |
|
|
|
03:00.650 --> 03:10.020 |
|
これは、 そのようなモジュールにあるコードと同じもので、 今後、 Jupyterノートブックのすべてにこのコードを入れる必要はないということだ。 |
|
|
|
03:10.050 --> 03:13.710 |
|
そうやってインポートすればいいんだ。 |
|
|
|
03:13.710 --> 03:16.140 |
|
そして、 サインもわずかに変わった。 |
|
|
|
03:16.170 --> 03:22.410 |
|
テスラ・ドット・テストと言い、 関数名を入れ、 |
|
|
|
03:22.410 --> 03:26.760 |
|
テスト・データ・セットを渡す。 |
|
|
|
03:26.790 --> 03:27.210 |
|
分かった。 |
|
|
|
03:27.210 --> 03:30.270 |
|
これで環境変数をロードすることになる。 |
|
|
|
03:30.270 --> 03:32.730 |
|
これからハグフェイスにログインします。 |
|
|
|
03:33.000 --> 03:36.150 |
|
もう一度言うけど、 実際に使うことはないと思う。 |
|
|
|
03:36.150 --> 03:39.870 |
|
でも......とにかく、 その練習を始めた方がいい。 |
|
|
|
03:40.080 --> 03:42.360 |
|
ええと、 ハグしている顔にログインするのは、 いつだって素敵なことだよね? |
|
|
|
03:42.390 --> 03:45.420 |
|
つのモデルを初期化する。 |
|
|
|
03:45.420 --> 03:56.580 |
|
matplotlibにグラフを作成することを伝え、 出力したトレーニングデータとテストデータセットのpickleファイルをロードする。 |
|
|
|
03:56.670 --> 03:58.350 |
|
ええと、 そして、 それらは積み込まれている。 |
|
|
|
03:58.380 --> 04:09.320 |
|
フロンティアに行く前に、 もうひとつお見せしたいモデルがあるんです。 |
|
|
|
04:09.320 --> 04:14.120 |
|
フロンティアの時代だと言ったじゃないか。 |
|
|
|
04:14.120 --> 04:17.030 |
|
そして、 これは私の犠牲の上に成り立っている。 |
|
|
|
04:17.120 --> 04:22.970 |
|
だからこそ、 今日のビデオの冒頭で、 私は疲れきっていると言ったのだ。 |
|
|
|
04:22.970 --> 04:36.620 |
|
しかし、 もうひとつ、 おそらくもうひとつ、 私たちのモデルを比較すべきは、 商品の価格を予測しようとする人類の努力だろうと思いついた。 |
|
|
|
04:36.680 --> 04:44.330 |
|
モデルのパフォーマンスを人間のパフォーマンスと比較できるようにするために、 ベースラインも持っておくべきだと思う。 |
|
|
|
04:44.510 --> 04:54.380 |
|
そして、 250の商品説明を読んで、 その値段がいくらなのかを把握しようとする恐怖を味わうような人を説得できる人を見つけることができなかった。 |
|
|
|
04:54.380 --> 04:58.850 |
|
そうして、 私はこの拷問に自分をさらした。 |
|
|
|
04:58.850 --> 05:02.660 |
|
思っていたよりずっと難しいよ。 |
|
|
|
05:02.660 --> 05:08.030 |
|
前にも言ったけど、 かなり大変だと思っていたんだ。 でも、 僕が思っていた以上に大変で、 |
|
|
|
05:08.310 --> 05:11.070 |
|
僕が知らなかったことがたくさんあった。 |
|
|
|
05:11.070 --> 05:16.560 |
|
ホイールを買うのにいくらかかるか知らなかった。 |
|
|
|
05:16.710 --> 05:28.770 |
|
コンピュータのことは隅から隅まで知っているはずなのに、 ディスク容量が400GBもある整備済みコンピュータの値段に頭を悩ませていた。 |
|
|
|
05:28.920 --> 05:31.560 |
|
そして、 本当に、 本当に大変だった。 |
|
|
|
05:31.560 --> 05:32.820 |
|
そしてシャンデリア。 |
|
|
|
05:32.820 --> 05:34.740 |
|
シャンデリアの値段は知らない。 |
|
|
|
05:34.740 --> 05:36.360 |
|
とにかく、 話がそれた。 |
|
|
|
05:36.390 --> 05:47.130 |
|
250のテストプロンプトをCSVファイルに出力するコードを書いたんだ。 |
|
|
|
05:47.130 --> 05:51.450 |
|
これで、 人間の入力ドットcsvファイルが作成される。 |
|
|
|
05:51.450 --> 05:53.790 |
|
そして、 これが人間入力のドットCSVである。 |
|
|
|
05:53.790 --> 06:06.690 |
|
そして、 この欄の上位250のプロンプトとゼロのプロンプトのひとつひとつを、 当該人間が記入するようになっている。 |
|
|
|
06:06.690 --> 06:12.530 |
|
それでね、 この人間のアウトプットをgitにチェックインするかどうかもわからないんだ。 |
|
|
|
06:12.560 --> 06:19.700 |
|
しばらくすると疲労が蓄積してくるから、 あえてそうしているんだ。 |
|
|
|
06:19.700 --> 06:21.890 |
|
私はおそらく、 そこで本当に不手際を犯した。 |
|
|
|
06:21.890 --> 06:24.620 |
|
これを見たら、 何を考えているんだと言うだろうね。 |
|
|
|
06:24.620 --> 06:27.230 |
|
LMエンジニアリングの指導に専念すべきだ。 |
|
|
|
06:27.260 --> 06:28.190 |
|
確かにそうだ。 |
|
|
|
06:28.460 --> 06:30.950 |
|
あなたは世界の誰かではない。 |
|
|
|
06:31.100 --> 06:34.100 |
|
でも、 ベストは尽くしたよ。 |
|
|
|
06:34.100 --> 06:38.840 |
|
とにかく、 私が設定した価格を読み返そう。 |
|
|
|
06:38.990 --> 06:43.940 |
|
ええと、 それから、 これがどう見えるか、 すぐに感覚を掴みましょう。 |
|
|
|
06:43.940 --> 06:54.950 |
|
そこで、 人間の、 うーん、 予測者、 人間のプロセッサーとなる関数を書くことにする。 |
|
|
|
06:54.950 --> 06:57.140 |
|
だから入力が必要なんだ。 |
|
|
|
06:57.140 --> 07:00.230 |
|
そして、 その入力は項目のひとつであるべきだ。 |
|
|
|
07:00.260 --> 07:04.610 |
|
そして、 その商品の代金を返すのが仕事だ。 |
|
|
|
07:04.910 --> 07:12.720 |
|
この時点で私がすることは、 トレーニングデータセットとテストデータセットを見ることです。 |
|
|
|
07:12.750 --> 07:15.840 |
|
その項目のインデックスは? |
|
|
|
07:15.840 --> 07:19.410 |
|
ということは、 テストでは0番目の項目なのだろうか。 |
|
|
|
07:19.410 --> 07:21.030 |
|
1番目なのか、 2番目なのか、 3番目なのか。 |
|
|
|
07:21.030 --> 07:23.940 |
|
それをインデックスと呼ぶことにする。 |
|
|
|
07:24.420 --> 07:30.090 |
|
というわけで、 ここで見ているテスト項目の数はこれだ。 |
|
|
|
07:30.090 --> 07:36.750 |
|
そして、 私は絶望的な予想をすべて人間の予測に読み込んだ。 |
|
|
|
07:36.750 --> 07:40.230 |
|
だから、 私たちは人間の予測を返すだけだ。 |
|
|
|
07:44.010 --> 07:46.890 |
|
ええと......インデックスで |
|
|
|
07:48.240 --> 07:48.930 |
|
分かった。 |
|
|
|
07:48.960 --> 07:49.680 |
|
そしてそれを実行する。 |
|
|
|
07:49.680 --> 07:56.850 |
|
そして今、 我々はテスター・ドット・テスト・ヒューマン・プライサーを見ることになる。 |
|
|
|
07:59.640 --> 08:01.800 |
|
そしてテストデータセットでパスする。 |
|
|
|
08:02.040 --> 08:02.910 |
|
さあ、 始めよう。 |
|
|
|
08:04.320 --> 08:07.740 |
|
これがその結果だ。 |
|
|
|
08:07.920 --> 08:13.010 |
|
ええと、 かなり多くの赤が入っているのがわかるだろう。 |
|
|
|
08:13.040 --> 08:14.450 |
|
グリーンもあるけどね。 |
|
|
|
08:14.480 --> 08:15.980 |
|
私は立派にやった。 |
|
|
|
08:16.340 --> 08:18.590 |
|
あー、 でも、 それでも僕はかなり遠くにいたよ。 |
|
|
|
08:18.590 --> 08:19.490 |
|
でも、 これを見て。 |
|
|
|
08:19.490 --> 08:20.300 |
|
これは何だ? |
|
|
|
08:20.300 --> 08:23.600 |
|
リッチモンドの自動車椅子張り、 260かな。 |
|
|
|
08:23.630 --> 08:25.220 |
|
そして225だった。 |
|
|
|
08:25.220 --> 08:28.010 |
|
そしてこちらはギブソン・パフォーマンスのエキゾースト。 |
|
|
|
08:28.010 --> 08:31.010 |
|
ギブソン・パフォーマンスのエキゾーストがいくらかは知らないけれど。 |
|
|
|
08:31.010 --> 08:32.870 |
|
私は499だと思った。 |
|
|
|
08:32.870 --> 08:35.090 |
|
僕は、 その、 頑張ろうと思ったんだ。 |
|
|
|
08:35.090 --> 08:37.280 |
|
そして答えは535だ。 |
|
|
|
08:37.430 --> 08:38.900 |
|
でも、 ここには他にも何人かいる。 |
|
|
|
08:39.050 --> 08:40.340 |
|
私はここで何を間違えたのだろう? |
|
|
|
08:40.370 --> 08:49.250 |
|
ストリート・シリーズのステンレスの性能は、 確か260ドルだったと思うけど、 |
|
|
|
08:49.280 --> 08:53.210 |
|
814ドルだった。 |
|
|
|
08:53.210 --> 08:55.910 |
|
下にスクロールすると、 こうなる。 |
|
|
|
08:55.940 --> 09:03.980 |
|
これがそのチャートで、 僕は特に、 ひどい成績ではなかったことがわかるだろう。 |
|
|
|
09:04.010 --> 09:04.640 |
|
つまり、 やったんだ。 |
|
|
|
09:04.640 --> 09:09.020 |
|
よし、 見ろ、 たくさんの緑の点のヒット率が32%だ。 |
|
|
|
09:09.200 --> 09:20.100 |
|
私も、 3分の2が終わったところで気づいたんですが、 私の値段はすべて、 4ドルか500ドル以上だと思ったことがなかったんです。 |
|
|
|
09:20.100 --> 09:22.890 |
|
だから、 明らかにそうだとすぐにわかった。 |
|
|
|
09:22.890 --> 09:26.040 |
|
私は高価なものに目をつけていなかった。 |
|
|
|
09:26.220 --> 09:28.650 |
|
それは明らかに失敗だった。 |
|
|
|
09:28.920 --> 09:34.110 |
|
つまり、 私のミスは合計で127ドルだった。 |
|
|
|
09:34.110 --> 09:38.280 |
|
そしてそれは、 私が平均よりも良い成績を収めていることを意味する。 |
|
|
|
09:38.280 --> 09:42.630 |
|
終始、 平均的な数字を当てるだけで、 もっといい成績を残せたような気がしてならない。 |
|
|
|
09:42.840 --> 09:48.240 |
|
ええと、 その......比較を思い出すためにメモしたんだ。 |
|
|
|
09:48.240 --> 09:50.460 |
|
平均は146だった。 |
|
|
|
09:50.520 --> 09:52.500 |
|
ええと、 平均価格の間違いでした。 |
|
|
|
09:52.590 --> 09:53.880 |
|
だから、 それよりはうまくやったよ。 |
|
|
|
09:53.880 --> 09:57.930 |
|
特徴工学を用いたストレートな線形回帰。 |
|
|
|
09:57.930 --> 10:00.540 |
|
基本的なものは139だった。 |
|
|
|
10:00.540 --> 10:01.800 |
|
だから、 それを打ち破ったんだ。 |
|
|
|
10:01.800 --> 10:06.150 |
|
私は非常に基本的な特徴工学的線形回帰を打ち負かした。 |
|
|
|
10:06.150 --> 10:09.930 |
|
しかし、 どうせあなたはすでにそれ以上の機能を搭載し、 それ以上の結果を出しているのだろう。 |
|
|
|
10:10.020 --> 10:18.230 |
|
うーん、 でも、 他のモデルはみんな、 バッグ・オブ・ワード・スタイルのモデルやワード・ツー・ベックのモデルで私を押し潰したんだ。 |
|
|
|
10:18.230 --> 10:24.650 |
|
そして、 ランダムフォレストが97点で、 人類を大きく上回ったことを思い出すだろう。 |
|
|
|
10:24.680 --> 10:40.460 |
|
しかし、 この練習をすれば、 私よりも良い情報が得られるかもしれない。 |
|
|
|
10:40.760 --> 10:43.580 |
|
そうすれば、 もっとうまくいくことに気づくかもしれない。 |
|
|
|
10:43.580 --> 10:47.330 |
|
とにかく、 真面目な話、 私はあなたの時間を無駄にしたわけではない。 |
|
|
|
10:47.330 --> 10:52.310 |
|
このような練習をするのはいいことだと思う。 なぜなら、 |
|
|
|
10:52.310 --> 11:02.390 |
|
数少ないデータポイントかもしれないが、 自分が解いている問題のタイプをよく理解することができるからだ。 |
|
|
|
11:02.390 --> 11:08.450 |
|
結局のところ、 その時よりも、 人間のパフォーマンスよりもうまくやれないのであれば、 もっと努力する必要がある。 |
|
|
|
11:08.450 --> 11:10.460 |
|
だから、 それが感覚になる。 |
|
|
|
11:10.460 --> 11:15.950 |
|
また次のビデオでは、 フロンティア・モデルの話をしよう。 |
|
|
|
11:15.950 --> 11:16.670 |
|
それは起きている。 |
|
|
|
11:16.700 --> 11:17.480 |
|
ではまた
|
|
|