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
ではまた