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