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.
 
 

337 lines
14 KiB

WEBVTT
00:00.710 --> 00:02.270
ようこそ皆さん。
00:02.300 --> 00:08.900
だから、 過去に何度も言ってきたけど、 今週やこのトピックを始めるのが楽しみなんだ。
00:08.900 --> 00:15.020
というのも、 私が抱いていた興奮は、 今日の私の興奮のレベルに比べれば、
00:15.020 --> 00:18.260
ほんのわずかなものだったからだ。
00:18.260 --> 00:24.530
第6週を迎え、 トレーニングの世界に乗り出すにあたり、 これがすべてだ。
00:24.530 --> 00:25.850
いよいよ現実味を帯びてきた。
00:25.850 --> 00:27.260
心の準備をする。
00:28.160 --> 00:32.900
だから、 ここまでは常に推論と呼ばれるものについて話してきた。
00:32.900 --> 00:43.700
推論とは、 大量のデータに対して学習させたモデルを、 入力が与えられたときに次のトークンを予測するために実行時に使用することだ。
00:43.700 --> 00:47.750
そして、 その推論をより良いものにするために、 さまざまな方法を検討してきた。
00:47.750 --> 00:56.330
これからはモデルそのものを見て、 実行時や推論時にさらに優れたモデルになるように、 どのようにモデルをトレーニングすればよいかを理解していく。
00:56.660 --> 00:59.780
そして、 ここからが高度になる。
00:59.780 --> 01:04.270
私たちは、 華やかではない部分、 つまりデータについてから始める。
01:04.270 --> 01:09.640
また、 データセットを作成することは、 華やかに聞こえないかもしれないが、 決して華やかではない。
01:09.640 --> 01:14.170
これは絶対に必要なことであり、 おそらく最も重要な部分のひとつだろう。
01:14.170 --> 01:20.590
そして今日と明日は、 データに深く入り込み、 それを隅々まで理解し、 視覚化し、 整理し、
01:20.590 --> 01:27.250
キュレーションし、 私たちがとても気に入る形にすることに費やすつもりだ。
01:27.400 --> 01:29.410
それは、 あなたがやらなければならないことなんだ。
01:29.440 --> 01:34.960
また、 このプロジェクトの成功をどのように評価するつもりなのか?
01:34.990 --> 01:38.950
何を達成しようとしているのか、 それができたかどうかをどうやって知るのか。
01:39.970 --> 01:48.520
その前に、 あなたが過ごした8週間、 あなたがどこから来て、 どこへ行こうとしているのかについて少し話しましょう。
01:48.520 --> 01:58.030
今から6週間前に始めたんだけど、 君たちが向かっている左側にLMエンジニアリングのマスターがいるんだ。
01:58.030 --> 01:59.230
右側だ。
01:59.260 --> 02:03.190
週目にはフロンティア・モデルについて話し、 いくつか試してみた。
02:03.190 --> 02:06.420
2週目は複数のAPIを使っていた。
02:06.420 --> 02:10.020
私たちはGradioとMulti-modalityを使ってUIを構築していた。
02:10.050 --> 02:15.540
第3週は、 パイプライン・トークナイザー、 そしてモデルのハグについて研究した。
02:15.540 --> 02:18.360
第4週はモデルの選考だった。
02:18.360 --> 02:23.910
コード生成を使っていたが、 6万倍速いものを作ったんだ。
02:23.910 --> 02:27.120
コードを6万回も最適化できたのは驚くべきことだ。
02:27.150 --> 02:28.410
第5週
02:28.410 --> 02:33.870
先週はもちろん、 非常にホットな話題で持ちきりだった。
02:33.870 --> 02:42.840
そして今、 6週目のフロンティア・モデルを微調整し、 7週目のトレーニングにたどり着いた。
02:42.840 --> 02:43.860
またやろう。
02:43.860 --> 02:44.640
だが、 今は違う。
02:44.640 --> 02:49.320
これからはオープンソースのモデルを扱い、 基本的には自分たちでモデルを作っていくことになる。
02:49.320 --> 02:52.140
そして、 第8週がすべての集大成となる。
02:52.350 --> 02:58.320
ということで、 私たちが現在進めている移行について少しお話ししましょう。
02:58.320 --> 03:01.050
私たちは推論からトレーニングへと移行しつつある。
03:01.050 --> 03:05.490
では、 私たちが推論に取り組んできたとき、 何をしてきたかについてお話ししましょう。
03:05.490 --> 03:13.310
我々は、 これらのモデルを実行する際に、 より良いパフォーマンスを発揮できるよう、 さまざまなテクニックを開発してきた。
03:13.340 --> 03:17.990
私たちはマルチショット・プロンプトを試してみた。
03:17.990 --> 03:24.860
プロンプト・チェイニングは、 複数の異なるメッセージを送信し、 互いを重ね合わせ、 その結果を組み合わせることで試した。
03:24.890 --> 03:32.540
私たちは、 そこまで魔法のようなものではないが、 モデルをコードにコールバックできるようなツールを使ったことがある。
03:32.840 --> 03:40.040
航空券の値段や違う都市への旅行代金を計算するためだ。
03:40.460 --> 03:48.860
そして最近では、 より関連性の高いコンテンツのコンテクストをプロンプトに注入するラグに取り組んだ。
03:48.890 --> 03:54.800
つまり、 これらすべてに共通しているのは、 既存の学習済みモデルを利用し、 それを複数回呼び出したり、
03:54.800 --> 04:02.150
コンテキストを追加したりすることで、 そのモデルが知っていることを最大限に活用する方法を見つけ出すということだ。
04:02.180 --> 04:06.140
これからはトレーニングに移る。
04:06.170 --> 04:17.680
トレーニングで私たちがやろうとしているのは、 潜在的には何十億ものパラメータを持つディープ・ニューラル・ネットワークを利用することです。
04:17.680 --> 04:26.140
どのようにパラメータを微調整し、 重みを変更し、 データに基づいてわずかに最適化することで、
04:26.500 --> 04:35.800
将来のトークンを予測する能力がますます向上するようにすることができます。
04:35.800 --> 04:45.640
解決しようとしている問題について、 より深く、 より細かい粒度の理解を徐々に積み上げていくことができる、 よりニュアンスのあるテクニックなのだ。
04:46.030 --> 04:53.710
今、 数十億のパラメーターを持つLLMを訓練しようとすると、 かなり高価な提案となる。
04:53.710 --> 05:05.620
フロンティア・ラボはおそらく、 最高のモデルのトレーニングに1億ドル以上を費やすだろう。
05:05.620 --> 05:07.900
それに予算外だろう。
05:08.200 --> 05:10.890
だから、 残念ながらそれは不可能なんだ。
05:10.890 --> 05:14.940
しかし幸運なことに、 我々は転移学習というものを利用することができた。
05:14.940 --> 05:21.630
そして転移学習は、 すでに訓練されたLM、 つまりすでに大量のデータで事前訓練されたモデルを用いて、
05:21.630 --> 05:29.070
特定のデータセットで訓練を続けることは完全に可能だと言う。
05:29.070 --> 05:34.710
おそらく、 それは非常に専門的な問題を解決するもので、 すでに蓄積された知識をすべて移し、
05:34.710 --> 05:39.840
その上にさらに知識を加えることができるだろう。
05:40.110 --> 05:48.750
そうすれば、 事前に訓練されたモデル空間を利用して、 タスクに合わせてより正確に訓練することができる。
05:48.750 --> 05:51.240
そしてそのプロセスは微調整として知られている。
05:51.450 --> 05:53.760
うーん、 そのまんま、 そのまんま。
05:53.910 --> 06:00.450
ええと、 もちろん、 その方法として、 Qローラのように過去に私が取り上げたテクニックを使うつもりだ。
06:00.450 --> 06:04.230
メモリなどの面でも管理しやすいだろう。
06:05.100 --> 06:14.220
それでは、 これから数週間の大半を費やすことになる商業的な問題を紹介しよう。
06:14.220 --> 06:21.510
例えば、 電化製品、 コンピューター、 冷蔵庫、 洗濯機、
06:21.510 --> 06:27.510
その他家庭用や車用のものなど、 様々な製品の説明文を受け取り、
06:27.510 --> 06:41.400
説明文だけからその製品の価格を推定できるモデルを構築したいとします。
06:41.790 --> 06:47.160
ええと、 今のは......わかりやすくていい問題だね。
06:47.160 --> 06:50.010
結果を測るのはとても簡単だ。
06:50.010 --> 06:56.010
データサイエンティストが手を挙げて、 それはテキストを生成するジェネレーティブAIソリューションのために設計された問題には聞こえない、
06:56.010 --> 07:01.980
と言うかもしれない。
07:02.010 --> 07:04.890
数字を生み出すモデルが必要なようだ。
07:04.890 --> 07:08.580
一般的に回帰モデルと呼ばれるものの領域だ。
07:08.580 --> 07:13.520
このようなモデルには、 その数字にフィットするようなものがある。
07:13.640 --> 07:14.510
そして、 それは正しい。
07:14.540 --> 07:15.860
それは正しい指摘だ。
07:15.860 --> 07:19.100
一般的には、 どちらかというと退行のような問題だ。
07:19.310 --> 07:23.990
うーん、 でも結局のところ、 僕らにとってはまだ大きな問題になりそうなんだ。
07:23.990 --> 07:25.460
それにはいくつかの理由がある。
07:25.490 --> 07:32.300
そのうちのひとつは、 フロンティアモデルがこの種の問題を解決するのに優れていることがわかったことだ。 そもそもフロンティアモデルは、
07:32.330 --> 07:42.140
テキストを生成することだけを目的としていて、 要約などのタスクやその他のテキスト生成アクティビティを含むことができるようにすることだけを目的としている。
07:42.140 --> 07:48.380
しかし、 私たちが発見したように、 モデルにJSONで応答するよう求め、 情報とともに応答すると、
07:48.530 --> 07:54.410
定量的な結果を返すのに非常に効果的である。
07:54.470 --> 08:00.170
そして実際、 フロンティアモデルは、 おそらくずっと前に話した創発的知性のおかげで、
08:00.170 --> 08:08.330
従来は回帰モデルの領域だったこの種の問題でさえも、 非常に効果的になりました。
08:08.450 --> 08:12.320
だから、 このためにJNIを使うことは絶対に可能だ。
08:12.320 --> 08:20.950
そして実際、 フロンティア・モデルは、 我々が構築する単純な回帰モデルよりも、 この点で目を見張るほど優れていることがわかるだろう。
08:21.250 --> 08:25.750
だから、 この空間ではうまくいくことがわかった。
08:25.870 --> 08:31.000
自分たちで模型を作れば、 もっと楽しくなるだろう。
08:31.000 --> 08:32.020
その理由はこうだ。
08:32.260 --> 08:40.000
この問題の素晴らしいところは、 うまくいっているかどうかを測るのがとても簡単だということだ。
08:40.030 --> 08:46.690
もし、 ある製品を予測し、 その製品の価格がわかれば、 それを投入して製品の出来を見ることができる。
08:46.720 --> 08:50.650
私たちのモデルが、 その製品の価格を推測する際にどの程度の結果を出すか見てみましょう。
08:50.680 --> 08:57.340
他のテキスト生成の問題は、 人間にとって理解しやすい方法で測定するのが難しい。
08:57.370 --> 09:08.050
つまり、 2つの言語間の翻訳をする場合、 確かに英語からスペイン語がうまく生成されているかどうかはわかる。
09:08.050 --> 09:10.360
もちろん採点方法もある。
09:10.360 --> 09:17.760
しかし、 そうなると、 その仕組みや、 実際にうまくいっているのかどうかなど、 複雑なことがたくさん出てくる。
09:17.760 --> 09:26.040
だから、 もっとテキスト生成に関連した問題は他にもたくさんあるんだ。
09:26.040 --> 09:33.270
例えば、 商品の説明を実際に書くようなものを作るとかね。
09:33.270 --> 09:36.420
この値段は、 測定するのが驚くほど簡単だ。
09:36.420 --> 09:40.920
もし私たちがそれをうまくやっていて、 とても人間的に理解しやすい方法で測定していればね。
09:40.950 --> 09:47.790
複雑なデータサイエンスの指標ではなく、 誰もが理解できるようなものだ。
09:47.940 --> 09:51.660
今話した冷蔵庫の値段はどれくらい正確ですか?
09:51.990 --> 09:55.230
私たちはそれを見分けることができるし、 改善を見ていくことができる。
09:55.230 --> 10:04.320
だから、 そのような理由も含めて、 この挑戦は私たちにとって本当に素晴らしく、
10:04.320 --> 10:12.330
明確に定義された挑戦だと思う。
10:12.840 --> 10:13.590
分かった。
10:13.590 --> 10:17.370
次回のビデオでは、 データについてお話しします。