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.
 
 

472 lines
18 KiB

WEBVTT
00:00.350 --> 00:08.060
というわけで、 Google ColabでGPUボックスを使ったクラウド上での最初の共同セッションを行うことになった。
00:08.090 --> 00:15.110
その点、 私はT4ボックスという低スペックのボックスに接続したことがある。
00:15.350 --> 00:16.880
私のリソースはここで見ることができる。
00:16.880 --> 00:24.170
GPUのほとんどを満タンにすることができたが、 ランタイムでセッションをリスタートしたところ、
00:24.200 --> 00:31.520
GPUメモリがゼロになった。
00:31.520 --> 00:36.230
とにかく、 このスクリーンを外して、 邪魔にならないようにしよう。
00:36.680 --> 00:37.550
これでよし。
00:37.940 --> 00:41.210
それと、 僕らのコラボを見てよ。
00:41.210 --> 00:51.710
というわけで、 パイプラインの世界を紹介することから始めよう。 ハグしている顔のトランスフォーマー・ライブラリーには、 パイプラインという2つのAPIレベルがあることを思い出してほしい。
00:51.710 --> 00:55.670
そして後ほど、 トーケナイザーと今日のモデルを紹介する。
00:55.670 --> 01:11.440
パイプラインがすべてであり、 数行のコードで一般的なタスクの推論を実行できる高レベルのAPIである。
01:11.950 --> 01:16.360
使い方は超シンプルだ。
01:16.690 --> 01:23.920
まずパイプラインを呼び出し、 実行したいタスクを文字列で渡す。
01:23.920 --> 01:29.830
だから、 ここにいろいろなものを、 いろいろな文字列を渡すことができる。
01:29.830 --> 01:35.200
パイプライン・オブジェクトが返ってくるので、 それを入力で呼び出すと、 結果が返ってくる。
01:35.200 --> 01:36.760
それだけだ。
01:36.760 --> 01:37.930
単純なことだ。
01:38.020 --> 01:44.170
だから、 まずはトランスフォーマーのライブラリーをインストールするところから始めようと思う。
01:44.170 --> 01:48.640
Datasetsは、 ハグする顔、 データセットにアクセスできるライブラリだ。
01:48.640 --> 01:55.210
ディフューザーは、 画像を生成する拡散モデルについて語るとき、 トランスフォーマーのコンパニオン・ライブラリーのようなものだ。
01:55.240 --> 02:05.250
私がトランスフォーマーと言う場合、 画像を生成するときのために、 トランスフォーマーとその兄弟ライブラリであるディフューザーの両方を指すことが多い。
02:05.250 --> 02:07.920
だからpipでインストールしている。
02:08.040 --> 02:15.330
セルのaの前に感嘆符がある場合は、 それをターミナル・コマンドとして実行することを意味する。
02:15.330 --> 02:16.530
そして、 それは実行される。
02:16.530 --> 02:29.790
マイナスQはクワイエットモードにすることで、 すべてのパッケージをインストールする際の出力が出ないようにする。
02:29.790 --> 02:33.210
これらのパッケージがインストールされるまで、 30秒かかるかもしれない。
02:33.510 --> 02:36.030
そして、 輸入をするんだ。
02:37.590 --> 02:43.020
それが終わったら、 パイプラインに取り掛かろう。
02:43.050 --> 02:44.490
覚悟しておけ。
02:44.490 --> 02:50.220
つまり、 まずセンチメント分析とは、 肯定的または否定的なテキストを分析することである。
02:50.220 --> 02:56.670
そして、 LMマスターへの道を歩んでいることにとても興奮している、 というところから始めるつもりだ。
02:56.790 --> 02:59.940
それがプラスなのかマイナスなのか。
03:00.120 --> 03:03.500
というわけで、 さっそくいくつか注意しておきたいことがある。
03:03.710 --> 03:10.250
まず第一に、 モデルが提供されていないことを警告し、 この特定のモデルがデフォルトになっている。
03:10.250 --> 03:19.790
つまり、 model equalsと言って、 このパイプラインの一部として使用したい抱きつき顔ハブのモデルを指示することができるということだ。
03:19.790 --> 03:25.880
何も指定しなければ、 そのタスクのデフォルトを選ぶだけだ。
03:26.090 --> 03:32.600
もうひとつは、 GPUが使用可能な環境であることを教えてくれているのだが、
03:32.600 --> 03:37.430
GPUを使用するように指示していない。
03:37.460 --> 03:46.100
このコマンドは、 このパイプラインを使いたい、 我々が持っているGPUを活用したい、
03:46.100 --> 03:51.290
ということを伝える。
03:52.130 --> 03:57.050
GPUで実行した。
03:57.050 --> 03:59.330
そして、 結果にも目を向けるべきかもしれない。
03:59.330 --> 04:06.460
その結果、 この発言は肯定的な発言とみなされ、 その信頼度を示すスコアは実に高いものとなった。
04:06.460 --> 04:08.080
それはいいことだ。
04:08.080 --> 04:11.560
おそらく、 この文章の解釈は正しいと思う。
04:11.560 --> 04:13.960
notという単語を入れてみよう。
04:13.990 --> 04:18.010
LLMマスターへの道を歩んでいることに、 それほど興奮はしていない。
04:18.040 --> 04:18.970
考えもしなかった。
04:18.970 --> 04:22.120
一瞬でもそう思っていないことを願うが、 一応確認しておこう。
04:22.120 --> 04:31.090
もしそう言うなら、 そのレッテルは否定的なものであり、 それが本当に否定的な発言であることは間違いない。
04:31.090 --> 04:35.440
というわけで、 うまくいった。
04:35.470 --> 04:37.630
そうでないと思わせたいのだ。
04:38.080 --> 04:40.720
名前付きエンティティ認識は次のタスクである。
04:40.720 --> 04:44.890
私はパイプラインをガチャガチャやるだけだから、 全部自分でやってみてほしい。
04:44.920 --> 04:53.080
もちろん、 名前付きエンティティ認識とは、 テキストを提供し、 それがどのようなものを指しているかを識別するようモデルに求めることである。
04:53.110 --> 04:56.500
これは私が撮った標準的なものだ。
04:56.530 --> 05:00.310
バラク・オバマは第44代アメリカ合衆国大統領である。
05:00.670 --> 05:15.840
そして、 それを分析するように頼むと、 ここに2つの異なる名前の実体があると答える。
05:15.960 --> 05:22.590
この文章を見ていただければわかると思うが、 最初の名前付きエンティティはperersonのようにper型である。
05:22.950 --> 05:27.030
バラク・オバマだ。
05:27.120 --> 05:33.510
そして2つ目は場所のロックで、 単語はUnited States。
05:33.510 --> 05:38.850
もちろん、 それが入力のどこにあるのかを教えてくれる。
05:39.300 --> 05:46.860
データ・サイエンスでは非常に一般的なユースケースであり、 自由に使えて、 素早く実行できる素晴らしいものだ。
05:47.160 --> 05:53.010
コンテキストを利用した質問回答では、 質問回答パイプラインを作成することができます。
05:53.010 --> 06:02.640
そしてまた、 このデバイスのCudaを使ってGPUで実行し、 第44代アメリカ大統領は誰だったのか?
06:02.640 --> 06:11.480
だから、 何か見上げるものがあって、 そこに結果をプリントするように頼む。
06:11.480 --> 06:12.170
私はそう思う。
06:12.170 --> 06:14.750
私は今、 このモデルのパワーを誇示したいわけではない。
06:14.750 --> 06:17.930
パイプラインAPIのシンプルさをアピールしたいんだ。
06:17.960 --> 06:23.420
より洗練された文脈や、 より良い質問で遊ぶことができます。 また、 ハギング・フェイス・ハブで利用可能なさまざまなモデルのいくつかを探求するために、
06:23.660 --> 06:29.540
異なるモデルでパスを試してみることをお勧めします。
06:30.110 --> 06:32.780
テキストの要約も簡単だ。
06:32.810 --> 06:35.360
もちろん、 パイプラインもそうだ。
06:35.360 --> 06:39.770
タイプは要約で、 大量のテキストを入れることができる。
06:39.800 --> 06:44.840
ここでは、 私は一般的に抱擁顔トランスフォーマーライブラリについて噴出していることについて話している。
06:45.290 --> 06:56.180
要約を依頼し、 長さの最小値と最大値を指定すると、 その文章を要約した短くてシャープな文章が返ってくる。
06:56.300 --> 07:00.530
それに、 ほとんど僕がすでに入れたものを切り刻んだだけなんだ。
07:00.530 --> 07:03.590
だから素晴らしい仕事をしたとは言えないが、 かなりシンプルなモデルだ。
07:03.590 --> 07:07.650
繰り返しになるが、 より優れたモデルから、 より優れた要約を探ることができる。
07:07.920 --> 07:11.400
お時間があれば通訳しますよ。
07:11.430 --> 07:13.740
英語への翻訳。
07:13.740 --> 07:14.610
フランス人へ。
07:15.060 --> 07:21.450
データサイエンティストたちは、 Hugging FaceパイプラインAPIのパワーとシンプルさに本当に驚いていた。
07:21.930 --> 07:28.260
そして、 フランス語を話す皆さんのために、 その性能を見てみよう。
07:28.290 --> 07:39.720
私の高校生のフランス語で十分だと言うつもりはないが、 抱きつき顔のパイプラインのAPIのパワーとシンプルさに驚かされたと言えるだろう。
07:39.720 --> 07:45.330
そして、 私の乏しいフランス語能力を見る限り、 かなりしっかりした翻訳のようだ。
07:45.330 --> 07:52.230
非常に簡単な分類、 あるいはゼロショット分類と呼ばれるもので、 事前の例を与えることなく、
07:52.230 --> 07:57.600
ただ例を与えてラベルを付けるよう求めるものだ。
07:57.810 --> 08:06.150
だから私たちは、 テキストを抱きしめている顔のトランスフォーマーのライブラリーは素晴らしいし、 テクノロジーやスポーツや政治を分類するよう求めている。
08:06.150 --> 08:08.660
そして、 そのパフォーマンスを見てみよう。
08:09.050 --> 08:15.200
ええと、 ラベルには、 ええと、 テクノロジー用って書いてある。
08:15.230 --> 08:20.810
点数は95%で、 スポーツと政治の点数はごくわずかだ。
08:20.810 --> 08:21.500
政治だ。
08:21.500 --> 08:23.090
その中で最も低い。
08:23.180 --> 08:29.360
特に技術に直接関係するような言葉はなかったからね。
08:29.360 --> 08:31.100
全然悪くないよ。
08:31.430 --> 08:37.340
そして、 このシリーズ最後の本当にシンプルなものは、 テキスト生成だ。
08:37.370 --> 08:43.160
Huggingfaceのパイプラインを使う上で覚えておいてほしいことがあるとすれば、 それは......そうだな。
08:43.190 --> 08:46.910
明らかにバニラモデルを使用しているが、 どのように処理されるか見てみよう。
08:48.830 --> 08:54.350
それは、 ノーチラス上で実行されるアプリケーションは、 あたかもコンパイルされたかのように、 ターゲットとして抱きつき顔パッケージを生成するということだ。
08:54.350 --> 08:55.340
だから、 ちょっとランダムなんだ。
08:55.340 --> 08:59.720
私のいくつかの、 ええと、 ええと、 以前のテストではもっとうまくいった。
08:59.900 --> 09:02.030
それは、 彼らがどれだけ優れているか、 回復力があるかということだ。
09:02.060 --> 09:04.400
どんなプロジェクトでもそうだが、 自分のリスク許容度を覚えておく必要がある。
09:04.430 --> 09:05.630
追い込むタイミングを忘れない。
09:05.660 --> 09:09.520
だからもちろん、 それがどのように始まると考えているかに基づいて漫然としている。
09:09.520 --> 09:13.210
もっと面白いスタートを試してみて、 そのパフォーマンスを見てみるといい。
09:13.210 --> 09:17.260
もっと大きくて頑丈なモデルを試してみるのもいい。
09:17.290 --> 09:20.980
もちろん、 テキスト生成という点では、 その方がより正確だ。
09:21.700 --> 09:22.420
オーケー。
09:22.420 --> 09:30.970
そしてもちろん、 皆さんはマルチモダリティの専門家ですから、 画像生成をお見せしましょう。
09:30.970 --> 09:35.800
ここまではすべてトランスフォーマー・ライブラリーを使ってきましたが、 ここからはディフューザー(拡散スタイル・モデル)、
09:35.800 --> 09:41.590
つまり画像を生成するアーキテクチャに切り替えます。
09:41.860 --> 09:50.080
そして、 私たちはよく知られた安定拡散モデルを使用している。
09:50.110 --> 09:51.010
ご覧の通りだ。
09:51.040 --> 09:54.010
使用するデータ型を伝える必要がある。
09:54.400 --> 10:00.640
そうしてGPUに表示させたら、 テキストを表示させることができる。
10:00.640 --> 10:08.130
そして、 サルバドール・ダリのシュールなスタイルでAIについて学ぶデータサイエンティストのクラスで、 そのイメージを生成しよう、
10:08.400 --> 10:11.010
と言っているんだ。
10:11.010 --> 10:13.050
これにはもう少し時間がかかる。
10:13.050 --> 10:15.510
もう少し肉付きのいい仕事だ。
10:15.750 --> 10:21.390
ええと、 あなたにとってはもっと時間がかかるかもしれない。
10:21.390 --> 10:26.880
こうしてモデルはHuggingfaceからダウンロードされ、 ローカルディレクトリに保存された。
10:26.880 --> 10:30.960
だから、 実行すると1分以上かかるかもしれない。
10:31.200 --> 10:32.970
うーん、 でもこれでいい。
10:32.970 --> 10:44.490
ダリの超現実的なスタイルでAIについて学ぶデータ・サイエンティストのクラスがここにある。
10:44.490 --> 10:45.960
大好きだよ。
10:45.990 --> 10:47.760
この人たちに似ている?
10:47.970 --> 10:52.320
君の最悪の悪夢だけでないことを祈るよ。
10:52.320 --> 10:55.110
これがシュールなダリだ。
10:55.140 --> 10:57.840
怖くて、 奇妙な世界だ。
10:57.930 --> 11:01.350
データサイエンティストのクラスとしては、 とても気に入っている。
11:01.380 --> 11:11.450
前回の講義でコードをフラッシュアップしたのを覚えているだろうか。
11:11.630 --> 11:13.160
ああ、 ぜひそれを使ってくれ。
11:13.160 --> 11:18.170
時間がかかることがわかるだろうし、 T4よりも頑丈なボックスで動作させる必要がある。
11:18.200 --> 11:28.070
A100でやれば2、 3分で終わるし、 前回の講義でお見せしたような息をのむような良い画像が得られる。
11:28.280 --> 11:34.520
ええと、 でも、 手っ取り早く安いモデルとしては、 かなりいいんじゃないかと思うんだけど。
11:35.120 --> 11:39.680
そして最後が、 オーディオの生成だ。
11:39.680 --> 11:45.440
これから音声合成パイプラインを使って、 どのモデルが欲しいか指示します。
11:45.470 --> 11:49.040
マイクロソフトのSpeech five TTSが欲しい。
11:49.040 --> 11:56.900
モデルにはもう少し、 音声の種類を設定する必要があります。
11:56.900 --> 12:01.340
そして、 ハギング・フェイスのデータセットをロードするための行がいくつかある。
12:01.490 --> 12:04.460
そして、 正しい形に整えるんだ。
12:04.460 --> 12:10.270
でも、 それができたら、 パイプラインに電話して、 人工知能エンジニアに挨拶して、
12:10.270 --> 12:17.140
このスピーチ音声でマスターとパスへの道を歩むことになるんだ。
12:17.410 --> 12:24.460
これは、 それをwavファイルに書き出すコードです。
12:24.820 --> 12:34.360
そうすれば、 このColabノートブックの中で再生できるようになる。
12:34.360 --> 12:36.220
だからかなり速く走れた。
12:36.220 --> 12:38.050
どう聞こえるか見てみよう。
12:38.050 --> 12:38.830
こんにちは。
12:38.860 --> 12:43.450
マスターへの道を歩む人工知能エンジニアへ。
12:44.200 --> 12:45.520
私にはかなりいいように思える。
12:45.520 --> 12:50.590
これは音声合成にパイプラインを使う例だろう。
12:50.800 --> 12:55.180
パイプラインAPIのウォークスルーはこれで終わりです。
12:55.180 --> 13:00.910
もちろん、 私はこのコラボを共有し、 みなさんがこのコラボにアクセスできるようにします。 そして、 みなさん自身がこのコラボにアクセスし、
13:00.910 --> 13:09.880
さまざまなインプットを試し、 Huggingfaceのハブにあるさまざまなモデルを試してみることを強くお勧めします。
13:10.180 --> 13:10.990
楽しもう。