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.
298 lines
9.9 KiB
298 lines
9.9 KiB
WEBVTT |
|
|
|
00:02.030 --> 00:07.640 |
|
さて、 2日目のJupyter LabでRagのワークフローを完成させる時が来た。 3. |
|
|
|
00:07.670 --> 00:13.490 |
|
このGetprice関数は、 文字列を受け取ってそこから浮動小数点数を取り出すという超シンプルなもので、 |
|
|
|
00:13.490 --> 00:17.690 |
|
もうお馴染みですね。 |
|
|
|
00:17.690 --> 00:21.620 |
|
そして今度はGPT for miniの機能だ。 |
|
|
|
00:21.830 --> 00:26.600 |
|
私たちがしていることは、 書類と値段を言うことです。 |
|
|
|
00:26.600 --> 00:27.860 |
|
だからアイテムで渡される。 |
|
|
|
00:27.860 --> 00:30.200 |
|
その項目に似たものを見つける。 |
|
|
|
00:30.200 --> 00:35.570 |
|
そしてOpenAI chat dot completions dot createと呼ぶ。 |
|
|
|
00:35.660 --> 00:38.210 |
|
ミニにはGPTを指定する。 |
|
|
|
00:38.240 --> 00:42.290 |
|
メッセージはmessages forという関数を使って渡す。 |
|
|
|
00:42.410 --> 00:43.400 |
|
そして種を与える。 |
|
|
|
00:43.400 --> 00:45.110 |
|
5トークンを返してほしい。 |
|
|
|
00:45.110 --> 00:50.690 |
|
そして返ってきたものは、 レスポンス・ドット・チョイス・ゼロ・ドット・メッセージ・コンテンツと言う。 |
|
|
|
00:50.690 --> 00:57.050 |
|
そして、 そこから番号を抜き出すために、 返信に価格を求める電話をかける。 |
|
|
|
00:57.170 --> 00:59.420 |
|
それがすべてだ。 |
|
|
|
00:59.420 --> 01:02.670 |
|
ここで夢中になる前に、 ひとつ試してみよう。 |
|
|
|
01:02.970 --> 01:15.810 |
|
ええと、 じゃあ、 GPTの4番ミニボロで、 今見たクラッチのテスト1回でパスします。 |
|
|
|
01:16.110 --> 01:18.360 |
|
何が返ってくるか見てみよう。 |
|
|
|
01:19.470 --> 01:30.000 |
|
ええと、 201ドルと45ドルが返ってきました。 では、 実際のところ、 テスト・ワン・ドット・プライスはいくらなのか見てみましょう。 |
|
|
|
01:32.160 --> 01:33.540 |
|
かなり近いよ。 |
|
|
|
01:33.540 --> 01:34.530 |
|
かなり近いよ。 |
|
|
|
01:34.530 --> 01:35.610 |
|
あれを見ろ。 |
|
|
|
01:35.910 --> 01:39.930 |
|
とても素早く走れるのが素晴らしい。 |
|
|
|
01:39.930 --> 01:41.880 |
|
そして、 そこで起こったことのすべてを見ることができる。 |
|
|
|
01:41.880 --> 01:44.610 |
|
似たような項目を5つも調べた。 |
|
|
|
01:44.610 --> 01:55.230 |
|
OpenAIに送信するプロンプトには、 類似した5つのアイテムのコンテキストを組み込んだ。 |
|
|
|
01:55.230 --> 02:00.600 |
|
そして電話をかけ、 返事が返ってきて、 値段を抜き出し、 いくらかかったかを教えてくれた。 |
|
|
|
02:00.600 --> 02:02.640 |
|
そして、 かなり近づいた。 |
|
|
|
02:02.650 --> 02:03.700 |
|
そういうことだ。 |
|
|
|
02:03.730 --> 02:06.610 |
|
以前のテスターを覚えているだろうか? |
|
|
|
02:06.640 --> 02:12.370 |
|
250の、 えー、 トップの、 えー、 テスト結果をテストするための私たちのフレームワーク。 |
|
|
|
02:12.400 --> 02:14.860 |
|
そして、 私たちがモデルを発表した場所を覚えているだろうか? |
|
|
|
02:14.890 --> 02:16.810 |
|
あー、 確かに考えるのは怖いね。 |
|
|
|
02:16.840 --> 02:21.490 |
|
しかし、 フロンティア・モデルには大きなメリットがある。 |
|
|
|
02:21.490 --> 02:23.410 |
|
ええと、 これでどうなるんですか? |
|
|
|
02:23.410 --> 02:28.000 |
|
では、 この時点で走らせて、 どうなるか見てみようか? |
|
|
|
02:28.060 --> 02:31.690 |
|
そうこうしているうちに出発するんだ。 |
|
|
|
02:31.690 --> 02:34.750 |
|
そして、 ここにはすでにたくさんのグリーンが見える。 |
|
|
|
02:34.810 --> 02:38.110 |
|
ええと、 もちろん、 多くの情報を得るためだ。 |
|
|
|
02:38.110 --> 02:42.640 |
|
エージェント・フォルダーで私がやったことをお見せしたい。 |
|
|
|
02:43.120 --> 02:49.390 |
|
Agentフォルダの中に、 Frontier Agentというものを作りました。 これは、 |
|
|
|
02:49.390 --> 02:54.130 |
|
今見てきたコードをそのまま本番用のコードにしたものです。 |
|
|
|
02:54.130 --> 03:00.730 |
|
この赤い海を見ればわかるように、 コメントを入れている。 これは重要なステップであり、 |
|
|
|
03:00.730 --> 03:08.660 |
|
ヒントを入れることで、 途中で何をしているのかがわかるようにしている。 |
|
|
|
03:08.810 --> 03:13.190 |
|
そして、 見ていくとわかるが、 とてもシンプルだ。 |
|
|
|
03:13.190 --> 03:14.330 |
|
同じものだよ。 |
|
|
|
03:14.330 --> 03:23.330 |
|
Make context は、 プロンプトメッセージに挿入するコンテキストを作成し、 そのオープンAIフォーマットでメッセージリストを作成する。 |
|
|
|
03:23.450 --> 03:30.500 |
|
各パラメーターにコメントを付けて、 何が返されるかを指定するこの方法には慣れているかもしれない。 |
|
|
|
03:30.830 --> 03:37.670 |
|
また、 文字列のリストや、 文字列をキーとし文字列を値とする辞書のリスト、 そしてクロマ・ゲット・プライスで検索し、 |
|
|
|
03:37.760 --> 03:49.820 |
|
指定されたものに類似したアイテムのリストを返すfind similaresを指定する、 より洗練された型ヒントもここで見ることができる。 |
|
|
|
03:49.820 --> 03:50.600 |
|
私たちはそれをよく知っている。 |
|
|
|
03:50.600 --> 03:54.410 |
|
そして最後に、 このプライスメソッドだ。 |
|
|
|
03:54.650 --> 04:02.900 |
|
スーパークラスであるエージェントのサブクラスであるFrontier |
|
|
|
04:03.050 --> 04:07.850 |
|
Agentというクラスの一部である。 |
|
|
|
04:07.850 --> 04:13.730 |
|
そしてまた、 Jupyterの世界からよりプロダクション・レディなコードに移行することの違いを理解するための学習の一環として、 |
|
|
|
04:13.730 --> 04:18.770 |
|
このようなジャンプをするのです。 |
|
|
|
04:18.800 --> 04:25.580 |
|
そして通常、 VSCodeやPyCharmのようなツールでこれを構築することになる。 |
|
|
|
04:25.610 --> 04:31.400 |
|
私はPyCharmを愛用することが多いが、 JupyterLabを使うこともできる。 |
|
|
|
04:31.400 --> 04:37.580 |
|
Jupyter Labでコードを書くこともできるが、 この種のことのために設計され、 より良くするアイデアがある。 |
|
|
|
04:37.580 --> 04:43.250 |
|
そして、 どんなコメントを書けばいいか、 あなたのプロンプトを埋めていくようなこともする。 |
|
|
|
04:43.250 --> 04:46.580 |
|
だから、 ここまで来たらIDEを使う価値がある。 |
|
|
|
04:47.300 --> 04:48.260 |
|
分かった。 |
|
|
|
04:48.290 --> 04:53.900 |
|
うまくいっているのかどうか、 十分な時間、 おしゃべりできたと思う。 |
|
|
|
04:55.250 --> 04:56.210 |
|
もうすぐだ。 |
|
|
|
04:56.210 --> 04:56.990 |
|
もうすぐだ。 |
|
|
|
04:56.990 --> 04:58.670 |
|
そうだ。 |
|
|
|
04:58.790 --> 05:02.900 |
|
さて、 ここで気づいたことがある。 |
|
|
|
05:02.900 --> 05:10.980 |
|
まず第一に、 GPT4ミニやラグなしのGPT4よりも大幅に優れている。 |
|
|
|
05:10.980 --> 05:21.330 |
|
私たちは大きく舵を切ったが、 まだ、 そこで展開したフロンティア・モデルの微調整がうまくいっている段階だ。 |
|
|
|
05:21.420 --> 05:26.610 |
|
だから、 ボロパイプラインをベースにしたGPTの4人にもまだ勝てるんだ。 |
|
|
|
05:26.880 --> 05:31.860 |
|
しかし、 ラグ・パイプラインが健闘し、 ここまで近づいたのは素晴らしいことだ。 |
|
|
|
05:32.130 --> 05:35.400 |
|
だから、 ここに美しいチャートのようなものを見ることができる。 |
|
|
|
05:35.700 --> 05:37.740 |
|
とても楽しかった。 |
|
|
|
05:37.800 --> 05:41.880 |
|
ああ、 それを楽しんで、 同じものを見てほしい。 |
|
|
|
05:41.880 --> 05:46.290 |
|
このコードに目を通して、 作成されたプロンプトを見て、 これらのプロンプトのいくつかをプリントアウトして、 |
|
|
|
05:46.290 --> 05:52.890 |
|
私たちが基本的に、 よりマニュアルに近い方法で行ってきたことを納得してください。 |
|
|
|
05:52.890 --> 05:59.340 |
|
ラング・チェーンが以前自動化してくれていたことを、 まさにラッパー・コードで実現したのだ。 |
|
|
|
05:59.340 --> 06:04.440 |
|
私たちは現地に赴き、 ある品物を手に取り、 似たような品物を5つ見つけた。 |
|
|
|
06:04.440 --> 06:06.760 |
|
私たちはそれをいくつかの文脈にまとめました。 |
|
|
|
06:06.760 --> 06:08.950 |
|
そして、 これがGPT4に送ったものだ。 |
|
|
|
06:09.220 --> 06:14.470 |
|
そうすることで、 そうしなかったときよりも格段に良い結果が得られた。 |
|
|
|
06:14.500 --> 06:16.960 |
|
もちろん、 試してみた。 |
|
|
|
06:16.960 --> 06:18.970 |
|
5分でパスした。 |
|
|
|
06:19.030 --> 06:20.020 |
|
結果 |
|
|
|
06:20.020 --> 06:22.090 |
|
これがハイパーパラメーターと呼ばれるものだ。 |
|
|
|
06:22.090 --> 06:24.130 |
|
その10人にしたらどうなるかを探ることができる。 |
|
|
|
06:24.160 --> 06:25.630 |
|
二つにしたらどうなる? |
|
|
|
06:25.750 --> 06:28.810 |
|
5点ということは、 これでも超安いということだ。 |
|
|
|
06:28.810 --> 06:30.820 |
|
これだけやっても1セントか2セントだ。 |
|
|
|
06:31.120 --> 06:31.750 |
|
もちろん、 そうすべきだ。 |
|
|
|
06:31.780 --> 06:34.510 |
|
万が一、 価格設定が異なるかもしれないので、 自分で確認するべきだが。 |
|
|
|
06:34.510 --> 06:35.980 |
|
でも、 とても安いんだ。 |
|
|
|
06:36.160 --> 06:38.590 |
|
うーん、 10回にしたら、 そうなり始めるだろうね。 |
|
|
|
06:38.620 --> 06:39.850 |
|
その倍はかかるだろう。 |
|
|
|
06:40.030 --> 06:43.600 |
|
実際にはその倍は下らないが、 もう少し高くなる。 |
|
|
|
06:43.600 --> 06:51.700 |
|
だから、 無理のない範囲でいろいろ試してみて、 どう思うか、 どうなるか試してみる価値はあると思う。 |
|
|
|
06:51.730 --> 07:06.670 |
|
とにかく、 これでボロ布のパイプラインは終わり。 |
|
|
|
07:06.670 --> 07:06.670 |
|
4で、 再びランダムフォレストとアンサンブルモデルについて話し始める。 |
|
|
|
07:06.700 --> 07:07.600 |
|
ではまた
|
|
|