WEBVTT 00:01.490 --> 00:08.720 LLMエンジニアリングの旅の第3週目に戻ってきた皆さんを熱烈に歓迎しましょう。 00:08.750 --> 00:15.140 先週、 素晴らしいGradioフレームワークを使ったユーザー・インターフェースの構築を楽しんだのなら、 00:15.170 --> 00:24.500 今週はもっと気に入るはずだ。 00:24.830 --> 00:28.340 その前に、 すでにできることをいつものように簡単にまとめておこう。 00:28.370 --> 00:33.260 トランスフォーマーについて説明でき、 重要な専門用語に精通している。 00:33.290 --> 00:38.750 コンテクスト・ウィンドウについては、 牛が帰ってくるまで話すことができる。 00:38.780 --> 00:44.210 GeminiでもClaudeでもOpenAIでも、 自信を持ってコーディングできる。 00:44.240 --> 00:45.680 APIは知っているだろう。 00:45.680 --> 00:49.820 ストリーミングのやり方も、 マークダウンのことも、 JSONレスポンスのことも知っている。 00:49.940 --> 00:53.330 また、 AIアシスタント、 チャットボットを作ることもできる。 00:53.360 --> 00:55.190 道具を使わせることもできる。 00:55.190 --> 01:00.260 さまざまなエージェントを使うこともできるし、 マルチモーダルにもできる。 01:00.380 --> 01:02.330 そして、 自分たちでも作った。 01:02.330 --> 01:04.400 そして願わくば、 それをさらに広げてほしい。 01:04.400 --> 01:04.400 それもそうだ。 01:05.060 --> 01:06.590 それで、 今日は何が起きているんだ? 01:06.620 --> 01:09.080 今日はハグ顔に入ろう。 01:09.080 --> 01:14.930 そもそも、 ハグ顔とは何か、 その範囲と規模を説明できればいいわけだし。 01:14.930 --> 01:18.260 ハグ顔で最も注目すべきことのひとつは、 その幅広さだ。 01:18.260 --> 01:24.140 オープンソースのデータ・サイエンス・コミュニティに提供するさまざまなものを、 01:24.140 --> 01:26.990 すぐに理解してもらえるだろう。 01:27.320 --> 01:35.510 モデル、 データセット、 空間をハグハグしながら見ていくんだけど、 Google Colabについてもよく理解できるようになるよ。 01:35.510 --> 01:39.410 すでにGoogle Colabを理解しているかもしれないが、 その場合はすぐに復習できるだろう。 01:39.410 --> 01:41.840 しかし、 そうでない人たちのために、 私たちはそれに踏み込もうとしている。 01:41.870 --> 01:47.810 優れたGPUを搭載したマシンでどのようにコードを走らせることができるかを見てもらい、 世の中にあるさまざまな製品と、 01:47.840 --> 01:50.270 このクラスで使うGPUを理解してもらう。 01:50.270 --> 01:51.980 だから、 私たちがセッティングします。 01:51.980 --> 01:55.550 だから、 オープンソースのものを準備するんだ。 01:55.550 --> 02:02.900 その前に、 いつものように、 これまでの経過と現在地、 そして残された課題を簡単に振り返っておこう。 02:02.930 --> 02:12.750 最初はLMエンジニアリングの知識がない状態で左からスタートした。 02:12.750 --> 02:16.980 第1週は、 フロンティアのあらゆることに没頭した。 02:16.980 --> 02:18.060 第2週は。 02:18.090 --> 02:20.250 先週はUIを構築した。 02:20.250 --> 02:26.070 私たちはトップ3のAPIをすべて使い、 ツールを使って実験した。 02:26.100 --> 02:31.500 エージェント化 マルチモダリティ 今週は、 オープンソースについて、 ハグ顔について。 02:31.530 --> 02:37.500 来週は、 問題に適したLMの選択とコードの生成について話す。 02:37.530 --> 02:39.480 そのあとはラグ・ウィークだ。 02:39.510 --> 02:48.450 そしてフロンティアモデルを微調整し、 オープンソースモデルを微調整し、 フィナーレですべてを持ち帰る。 02:49.830 --> 02:54.150 それでは早速、 ハグ顔の話をしよう。 02:54.540 --> 02:56.670 つまり、 どこにでもあるものなんだ。 02:56.700 --> 02:59.280 地域全体で使われているんだ。 02:59.310 --> 03:01.770 素晴らしいリソースだ。 03:01.980 --> 03:12.900 ハギング・フェイス・プラットフォームは、 ハギング・フェイス・コーにアクセスし、 アカウント登録すれば利用できる。 03:12.900 --> 03:16.890 あなたは3つのカテゴリーにアクセスできる。 03:16.890 --> 03:31.080 まず第一に、 80万を超えるオープンソースのモデルがあり、 それらは様々な種類のタスクをこなすことができる。 03:31.080 --> 03:35.010 そして今後の週にはデータセットがある。 03:35.010 --> 03:41.880 それは宝の山で、 20万を超えるデータセットが、 考えられるほとんどすべての問題をカバーしている。 03:41.910 --> 03:44.070 検索してみてください。 03:44.100 --> 03:49.470 このコースの後半で、 特に素晴らしいデータセットを使うことになる。 03:49.500 --> 03:54.030 しかし、 あなたの問題を解決するためのデータはたくさん見つかるだろう。 03:54.270 --> 04:00.150 Kaggleというプラットフォームと似ていて、 よりデータ面に特化しています。 04:00.150 --> 04:05.550 でも、 あなたはその膨大なデータを抱きかかえる顔の中に持っている。 04:06.000 --> 04:13.560 また、 ハギング・フェイスにはスペースというものがあり、 アプリを書いてそのアプリを公開することができる。 04:13.590 --> 04:20.680 クラウドのハードウェアで動作させ、 他の人が使えるようにする。 04:20.680 --> 04:28.360 自分のコードがオープンソースであることに満足しているのであれば、 それこそがハギング・フェイスのすべてなのだから。 04:28.630 --> 04:35.110 多くのスペースアプリはGradioで作られています。 04:35.110 --> 04:36.910 つまり、 これらはグラディオのアプリなのだ。 04:37.060 --> 04:38.890 ええと、 グラディオのアプリではないものもあります。 04:38.890 --> 04:43.660 Streamlitと呼ばれるものがあり、 これも非常に不思議なアプリの作り方だ。 04:43.660 --> 04:45.670 グラディオとは違って、 かなりマジカルだ。 04:45.730 --> 04:48.640 他にもアプリを公開する方法はいくつかあります。 04:48.700 --> 04:51.520 あー、 でも、 グラディオが一番一般的だと思うよ。 04:51.520 --> 05:02.650 特にリーダーボードと呼ばれるものがあり、 これはグラディオのアプリで、 さまざまなLLMを評価し、 ランク付けしてスコアカードのような形で表示するものだ。 05:02.680 --> 05:07.300 リーダーボードは、 さまざまなLLMを比較するときによく使うが、 今日もハギングフェイス・スペースを見るときに、 05:07.330 --> 05:11.590 そのいくつかを見ることになるだろう。 05:12.190 --> 05:20.230 これがHuggingfaceのプラットフォームで、 Huggingface Co.にアクセスしてログインし、 そこにあるものを見始めるとたどり着くことができる。 05:20.260 --> 05:28.240 Hugging faceは、 多くのオープンソースプロジェクトの基礎となるライブラリコードも提供しています。 05:28.870 --> 05:35.140 そして図書館は、 私たちがやりたいことを実現するための素晴らしいスタートを切ってくれる。 05:35.170 --> 05:42.910 なぜなら、 定型的なコードをほとんど使用することなく、 すぐに実行に移せるからだ。 05:43.180 --> 05:51.970 それは、 参入障壁を低くし、 人々を素早く生産的にするために非常にうまく作られたライブラリだ。 05:52.420 --> 05:57.880 Hugging Face Hubは、 Hugging Faceにログインして、 05:57.880 --> 06:12.430 データセットやモデルのようなものをHubからダウンロードしたりアップロードしたりできるライブラリです。 06:12.850 --> 06:25.540 データセットは、 ハグハグフェイスやトランスフォーマーのデータリポジトリにすぐにアクセスできるライブラリだ。 06:25.570 --> 06:44.830 これは中心的なライブラリで、 トランスフォーマーアーキテクチャに従うLlmsのラッパーコードであり、 そのカバーの下には実際にニューラルネットワークを実行するPyTorchかTensorFlowのコードがある。 06:45.160 --> 06:52.480 しかし、 トランスフォーマーを作れば、 実際のディープ・ニューラル・ネットワークのコードを指先で操作できる。 06:52.480 --> 07:04.270 トランスフォーマーのコードで関数やメソッドを呼び出すとき、 私たちはもはやOpenAIの傘下にあるどこかのクラウド上で動いているAPIを呼び出しているわけではない。 07:04.270 --> 07:14.050 私たちは、 ディープ・ニューラル・ネットワークに対する推論やトレーニングを実行するために、 自分たちでコードを実行している。 07:14.860 --> 07:23.740 このコースの後半で紹介する、 より高度なライブラリが他にも3つある。 07:24.010 --> 07:29.810 その最初のPeftは、 Parameter efficient fine tuning(パラメータ効率的な微調整)の略だ。 07:29.990 --> 07:42.290 このユーティリティを使えば、 LLMSの何十億ものパラメーターを操作することなく、 LLMSをトレーニングすることができる。 07:42.290 --> 07:43.910 つまり、 パラメータが効率的なんだ。 07:43.910 --> 07:49.400 特に使うテクニックはローラ、 あるいはローラはローラのバリエーションと呼ばれるもので、 07:49.400 --> 07:52.460 これについては後でたっぷり説明する時間がある。 07:52.460 --> 07:54.710 でも、 それが私たちが使うものだということを念頭に置いておいてほしい。 07:54.710 --> 07:59.750 そして、 ペフト・ライブラリーのパラメーターの効率的な微調整の一部でもある。 08:00.140 --> 08:07.550 それから、 Trealというライブラリーがある。 TrealはTransformer Reinforcement Learning(トランスフォーマー強化学習)の略だ。 08:07.550 --> 08:09.440 それにはいくつかのことが含まれている。 08:09.440 --> 08:13.730 リワード・モデリングと呼ばれるようなことができる能力だ。 08:14.060 --> 08:14.630 うん。 08:14.630 --> 08:20.630 また、 近接政策最適化PPOと呼ばれるものもある。 08:20.900 --> 08:24.200 また、 時折、 mmやPPOの名前を目にすることもあるだろう。 08:24.200 --> 08:32.720 そしてこれは、 少し前に話したWRFと呼ばれるものの両方に関連していて、 LMSがチャットで本当に効果的であるように、 08:32.990 --> 08:43.100 私たちがLMSを訓練することができる方法です。 08:43.100 --> 08:48.620 そして、 2022年後半にChatGPTを生み出した重要な革新だった。 08:48.650 --> 08:52.130 だから、 そのコードの多くはTRLの中にある。 08:52.160 --> 09:02.390 また、 TRLの中にはスーパーバイズド・ファイン・チューニングやSFTと呼ばれるものがあり、 これはコースの後半で私たち自身が直接使うことになる。 09:02.390 --> 09:14.540 これは、 オープンソースのモデルを微調整するために使用する特定のライブラリであり、 特定の問題を抱える特定の領域でより効果的になるようにする。 09:14.540 --> 09:20.240 SFTがTRLライブラリーの微調整の一部を監督するように設定する。 09:20.330 --> 09:21.380 略語ばかりだ。 09:21.830 --> 09:30.230 SFTはTRLの一部であり、 不可欠なフレームワークだ。 09:30.350 --> 09:32.570 でも、 これはまた後ほど紹介する、 より高度なものなんだ。 09:32.600 --> 09:37.020 だから、 今すぐ全部覚える必要はないし、 頭文字を全部覚える必要もない。 09:37.140 --> 09:42.990 ただ、 後で見たときに聞いたことがあるようなものになるように、 種を植えさせてほしい。 09:44.160 --> 09:52.590 もうひとつは裏方的なものですが、 インポートして活用しているのをよく見かけます。 09:52.620 --> 10:05.670 accelerateと呼ばれるもので、 高度なHuggingfaceコードによって、 トランスフォーマーがどんな分散構成でも実行できるようになっているんだ。 10:05.670 --> 10:14.760 そのため、 トレーニングと推論の両方を、 効率的で適応性のある方法で、 複数のGPUにまたがる可能性もあるスケールで実行することができる。 10:14.760 --> 10:19.950 これから行う実験では、 GPUは最大でも1つしか使わない。 10:20.910 --> 10:26.820 これが、 ハグフェイスの背後にある重要なライブラリのいくつかだ。 10:27.660 --> 10:28.590 この時点ではね。 10:28.590 --> 10:31.140 そろそろハグしている顔を見てもいい頃だと思う。 10:31.140 --> 10:38.070 それでは早速、 ハグフェイス・プラットフォームから見て回ろう。