マルチモーダル生成ビジュアルAIの理解

VVercel
AI/미래기술마케팅/광고사진/예술

Transcript

00:00:00皆さん、
00:00:00お集まりいただきありがとうございます。冒頭でもお話ししましたが、
00:00:06本日は画像生成・画像編集モデルファミリーであるFluxについて深く掘り下げてご紹介します。もう動いてますか?私はBlack Force Labsの共同創設者、
00:00:21アンディです。モデルの話に入る前に、
00:00:24私たちが何をしているのか、
00:00:26概要をご説明したいと思います。Black Force Labsでは、
00:00:33将来的にビジュアルメディアが人間コミュニケーションの中心的なインターフェースになると信じています。私たちは、
00:00:42人間がお互いに交流するために使うであろうあらゆる画像や動画、
00:00:48つまりカメラが捉えられるものだけでなく、
00:00:52それをはるかに超えたものを動かす中心的なインフラプロバイダーであると考えています。この考えのもと、
00:01:012024年8月に会社を設立しました。それ以来、
00:01:05従業員は45人に増え、
00:01:072つの本社に分散しています。主な本社はドイツの黒い森にあるフライブルクにあり、
00:01:14ここサンフランシスコにもオフィスがあります。会社を設立した2024年8月に画像生成ファミリーFluxをリリースして以来、
00:01:25私たちは常に3つの異なるティアでリリースを構成し、
00:01:30モデルファミリーを継続的に進化させてきました。そのティアは以下の通りです。まずProモデルです。これらは非常に強力で、
00:01:40私たちが提供する中で最速のモデルです。VFL API経由でのみ利用可能で、
00:01:47FileやReplicateといったいくつかの推論パートナーからも提供されています。これらもご存知かと思います。統合が非常に簡単で、
00:01:59ほぼ瞬時に大量の処理にスケールできます。
00:02:03これが最初のティアですが、
00:02:05ご存知の方もいらっしゃるかもしれませんが、
00:02:08私の共同創設者と私は、
00:02:09本日私たちを招待してくださった創設者の方と同様に、
00:02:12オープンソースに非常に強いルーツを持っています。私たちはStable Diffusionのオリジナル開発者でもあります。その精神は今も変わっていません。私たちはオープンソースコミュニティを愛しており、
00:02:25そのためオープンウェイトとオープンソースモデルも提供しています。
00:02:29Flux Devモデルもあります。これらは公開されており、
00:02:34ダウンロードして試したり、
00:02:36自由にカスタマイズしたりでき、
00:02:39利用したいすべての人に多くの柔軟性を提供します。そして最後に、
00:02:44Flux Schnellモデルです。これらは完全にオープンソースであり、
00:02:50ある意味でFluxエコシステムへの完璧な入り口となります。エコシステムといえば、
00:02:56Hugging FaceのModel Atlasを見ると、
00:03:01これは様々なドメインで最も使われているオープンソースの基盤モデルを視覚化したものですが、
00:03:08Hugging Face上で最も大きなエコシステムを持つ単一のモデルが、
00:03:14実は私たちのFlux Devモデルであることがわかります。これは、
00:03:20Fluxがすでにオープンな画像生成の標準となっていることを示しています。もちろん、
00:03:27将来的にはさらに普及を進め、
00:03:29その範囲を拡大していくことを目指しています。会社については以上です。まだ動いてないかな?まあいいや。それでは、
00:03:38本日の講演のメインパートに移りましょう。
00:03:41皆さんと一緒にFlux、
00:03:43特に最新モデルであるFlux Contextについて深く掘り下げたいと思います。これはテキストから画像生成と画像編集を統合したものです。今日は、
00:03:53これをどのように統合するのかについてお話しします。
00:03:56その前にいくつか。この統合モデルを持つことは非常に重要だと考えています。画像生成には多くの素晴らしい応用例があり、
00:04:07昨年も見てきましたが、
00:04:09画像編集は今年まで、
00:04:11その開発速度が追いついていませんでした。画像編集は実は非常に重要なユースケースです。既存の画像を繰り返し編集することを可能にし、
00:04:22人々が画像を正確に修正するための追加の制御レベルを提供します。これは非常に重要です。Flux Contextによって、
00:04:33私たちは画像編集の決定的な瞬間を創り出しました。これは2025年6月にリリースされました。これは、
00:04:42画像生成と、
00:04:43キャラクターの一貫性、
00:04:45スタイル参照、
00:04:46ローカル編集といった編集機能を、
00:04:49ほぼリアルタイムの速度で組み合わせたモデルです。これについては後ほど詳しく見ていきます。
00:04:57良い例として、
00:04:58ここに画像の列を持ってきました。左から右へ、
00:05:01まず入力画像から始めます。次に、
00:05:04モデルに彼女の顔からこのオブジェクトを削除するようにプロンプトを出し、
00:05:09その後、
00:05:09キャラクターの一貫性を保ちながら、
00:05:12彼女を全く新しいコンテキストに配置することができます。これは非常に重要です。以前は、
00:05:18公開されているテキストから画像へのモデルに基づいて、
00:05:22このようなキャラクターの一貫性をモデルに組み込むために、
00:05:26多くのファインチューニング作業が行われていました。しかし、
00:05:30このインスタント画像編集により、
00:05:32常に手間がかかっていたそのファインチューニング作業をすべて不要にすることができました。これが今や4秒程度でできるというのは、
00:05:41本当に素晴らしいことです。最後に、
00:05:44背景を変更することもできます。この場合、
00:05:47一番右の画像では、
00:05:48冬のシーンに変更しています。すごいでしょう。他にもできることの例をいくつかご紹介します。キャラクターの一貫性を保った編集だけでなく、
00:05:58スタイル転送にも非常に優れています。左側をご覧ください。入力画像からスタイルを取り出し、
00:06:04新しいコンテンツにマッピングしています。あるいは、
00:06:08テキスト編集のように、
00:06:09フォントの一貫性を保ちながらモントリオールをフライブルクに変更するといったこともできます。これらすべてが1つのモデルに統合されており、
00:06:19非常にシンプルなテキストインターフェースを介して操作できます。すごいでしょう。非常に重要な点として、
00:06:26このモデルは一般的なモデルであるだけでなく、
00:06:29特定の重要で興味深いビジネス問題を解決するのにも非常に優れています。例えば、
00:06:35左の例では、
00:06:36このスカートを実写画像から抽出し、
00:06:38その商品の製品ショットとズームイン画像を、
00:06:41再び数秒でほぼ瞬時に得ることができます。これは、
00:06:45これらの編集モデルが登場する前は、
00:06:47何時間も、
00:06:48何日もかかったり、
00:06:49あるいは不可能だったのです。同様に、
00:06:52右側では、
00:06:53スケッチから完全にレンダリングされた出力を数秒で得ることができます。すごいでしょう。すでにお話ししたように、
00:07:01Flux Contextはテキストから画像への生成と画像編集を組み合わせたものです。いくつかの例を見ていただきました。では、
00:07:10これがモデルのパイプラインという観点から具体的に何を意味するのか、
00:07:14簡単に見てみましょう。ここに古典的なテキストから画像へのパイプラインがあります。非常にシンプルで、
00:07:22皆さんご存知でしょう。テキストプロンプトを使用し、
00:07:25それをモデルに通します。モデルはそこで何らかの魔法をかけます。このようなモデルを作成する方法については後ほど説明します。そして、
00:07:34モデルが良ければ、
00:07:36入力されたテキストプロンプトに従った画像が出力されます。画像編集を見ると、
00:07:41かなり異なります。まず画像をモデルに提示し、
00:07:44その後、
00:07:45シーン全体を記述するテキスト指示ではなく、
00:07:48その画像への変更点のみを追加します。ここには2つの条件付けがあります。最初の部分では、
00:07:54より多くの入力があります。最初の例では入力は1つだけでしたが、
00:07:59ここでは変更点を記述し、
00:08:01モデルはその変更に従って画像を修正する必要があります。ここにある教会のように、
00:08:06編集後も同じであるべき部分もあれば、
00:08:09そうでない部分もあります。これがこれらの編集モデルが行うことです。これはかなり異なるタスクです。これらを単一のモデルに組み合わせることは、
00:08:19実際には非常に素晴らしいことです。なぜなら、
00:08:22すべてができるからです。画像を生成し、
00:08:25その後編集することができ、
00:08:27ある意味でより多くの柔軟性を得られます。すでに述べたように、
00:08:31これらの編集モデルをリリースする前、
00:08:34あるいはこれらの一般的な編集モデルが登場する前は、
00:08:37テキストから画像へのモデルをファインチューニングして、
00:08:41このような制御レベルをモデルに組み込むために多くの作業が行われていました。しかし、
00:08:47これはもう必要ありません。私たちはこれを瞬時に行うことができます。これにより、
00:08:53良い結果を得るために必要な時間が大幅に短縮されます。パイプラインについては以上です。では、
00:08:59これらのモデルを実際にどのように学習させるのかを見てみましょう。ここで話したい非常に重要なアルゴリズムがあります。これらのモデルの学習を可能にするアルゴリズムは、
00:09:11Latent Flow Matchingと呼ばれ、
00:09:15LatentとFlow Matchingという2つの側面から構成されており、
00:09:20その両方について少し詳しく説明したいと思います。
00:09:24まずは
00:09:24「Latent(潜在)」
00:09:26から始めましょう。これは潜在生成モデリングに由来します。これは私と共同創設者が約5年前に考案したアルゴリズムです。これが何を意味するのかを説明するために、
00:09:38まず次の例を見てみましょう。ここに視覚化しているのは基本的に2つの画像で、
00:09:43私たちには全く同じに見えます。左側はJPEGで、
00:09:47右側は同じ画像をPNGにしたものです。つまり、
00:09:50左側は右側の近似ですが、
00:09:52違いは全く見えません。
00:09:53この2つの画像に違いを見つける人はいますか?いないと思います。さて、
00:09:59次にこれらの画像のファイルサイズを見てみましょう。JPEGのファイルサイズは、
00:10:07実際にはPNGのファイルサイズよりも一桁近く小さいです。これは非常に注目すべきことです。画像圧縮の仕組みは皆知っていますが、
00:10:18画像から多くの情報を気づかれずに削除できるという事実は、
00:10:23非常に驚くべきことだと思います。
00:10:26つまり、
00:10:27画像には私たちの人間の目では知覚できない情報がたくさん含まれているということです。これを視覚化する別の方法は、
00:10:36画像の知覚的類似度をプロットすることです。前の例ではPNGが画像で、
00:10:41その近似がJPEGですが、
00:10:43これをファイルサイズに対してプロットすることができます。これを行うと、
00:10:49このようなプロットが得られます。これは概念的なプロットなので、
00:10:54実際のデータではありませんが、
00:10:57概念的にはこのように見えます。知覚的類似度は急速に増加し、
00:11:01その後、
00:11:02ほぼ全ファイルサイズにわたって一定のレベルを維持します。これはJPEGのような非可逆圧縮アルゴリズムが利用しているものです。そして、
00:11:13これが生成モデリングと何の関係があるのか、
00:11:16と疑問に思われるかもしれません。それは、
00:11:20画像のような知覚信号、
00:11:21あるいは自然な信号(音声でも同じですが)がリアルに見える、
00:11:26あるいはリアルに知覚されるためには、
00:11:29私たちが知覚できないすべての高周波の詳細をモデル化する必要はないということを示しています。したがって、
00:11:37これらの高周波の詳細すべてをピクセル空間で生成モデルを学習させることは、
00:11:43実際には計算リソースと時間の大きな無駄になります。なぜなら、
00:11:48モデルは私たちが知覚しない側面を表現することを学習することになり、
00:11:54それを学習するのは無意味だからです。これが潜在生成モデリングの核となる部分です。つまり、
00:12:01画像を直接ピクセル空間で生成モデルを学習させる代わりに、
00:12:05より低次元の
00:12:06「潜在空間」
00:12:07と呼ばれるものを抽出する圧縮モデルを学習します。この潜在空間がここに中央に見えるものです。レーザーポインターは動くかな?ああ、
00:12:18これですね。このモデルをどうやって学習させるのか?実は非常にシンプルです。
00:12:24ここ左側の画像を使います。これをエンコーダに通します。つまり、
00:12:29これは実質的にオートエンコーダであり、
00:12:32画像をエンコーダに通すと、
00:12:35この潜在空間に到達します。そして、
00:12:38その表現を「正則化」と呼ばれる操作に通します。
00:12:42これはモデルに、
00:12:43この潜在表現から情報を削除するよう強制します。これは離散的または連続的に実装でき、
00:12:51その後、
00:12:51この潜在表現から画像を再構築します。つまり、
00:12:55入力とほぼ同じ再構築を生成するように学習させる古典的なオートエンコーダであり、
00:13:02非常に重要なことに、
00:13:04ここに識別器損失を追加します。これは、
00:13:07人間の目にとって知覚的に重要な詳細のみがこの潜在表現に反映されるようにするための事前情報と考えることができます。繰り返しますが、
00:13:19この正則化はモデルに情報を削減または削除するよう強制し、
00:13:24識別器は私たちが知覚できない正しい情報が削除されるようにします。このようにして、
00:13:31このモデルを学習させると、
00:13:33生成モデルの学習に使用されるこの潜在空間に到達します。潜在空間とは、
00:13:40入力画像、
00:13:40あるいは知覚的に同等な画像の低次元表現です。これが基本的に潜在フローマッチングアルゴリズムの
00:13:49「潜在」
00:13:49の側面です。次に
00:13:51「フローマッチング」
00:13:53について話しましょう。繰り返しますが、
00:13:56今説明することはすべてこの潜在空間で起こります。つまり、
00:14:01今私たちがしていることは、
00:14:03ここに示されている通りです。左側では、
00:14:07すべての画像が基本的にその潜在空間に埋め込まれます。では、
00:14:12フローマッチングについて話しましょう。フローマッチングアルゴリズムは、
00:14:18非常に単純な分布(私たちの場合は常に標準正規分布です。つまり、
00:14:24今は確率分布について話しています)から変換するために使用される一般的なアルゴリズムファミリーです。ここに視覚化しました。これが非常に単純な分布です。フローマッチングアルゴリズムは、
00:14:40この単純な分布と、
00:14:41自然画像のデータ分布のような非常に複雑な分布との間をマッピングするために、
00:14:48ニューラルネットワーク(ここにいる彼です)によって表現されるベクトル場を学習する手段を提供します。これがデータ分布です。これを学習させるために何をするのか?フローマッチングアルゴリズムは、
00:15:05これを実行するための非常にシンプルな手段を提供します。学習中に私たちが行うべきことは、
00:15:13ここにある標準正規分布からサンプルを抽出することだけです。つまり、
00:15:18サンプルがあり、
00:15:20それをデータ分布からの1つのサンプル、
00:15:23つまり学習例に割り当て、
00:15:25これを結合し、
00:15:27その後、
00:15:27それらを直接線形に接続するこのようなベクトルを構築することができます。
00:15:34これを学習データセットのすべての例に対して行うと、
00:15:38つまり、
00:15:39例を取り、
00:15:40標準正規分布からランダムに点をサンプリングし、
00:15:43それらを接続すると、
00:15:45ここに構築されたこのようなベクトル場に到達します。ここでベクトル場の特性について多くを語ることもできますが、
00:15:54重要な特性の1つは、
00:15:56ベクトル場では経路が交差しないということです。しかし、
00:16:01ここでは多くの交差が見られるため、
00:16:04これは明らかにこの分布上のすべての点間、
00:16:07あるいはこの分布とあの分布との間を変換する真のベクトル場ではありません。
00:16:13フローマッチングの驚くべき点は、
00:16:16このルールに従うだけで、
00:16:18つまり、
00:16:18データサンプルと標準正規分布からのサンプルとの間のこのようなベクトルを常に予測するようにモデルを学習させるだけで、
00:16:28真のベクトル場に到達し、
00:16:30それがこのように見えることです。ここでは経路がもう交差しないことがわかります。フローマッチングアルゴリズムがこれを保証するのです。これは少し魔法のようですが、
00:16:43数学的に書き下すと、
00:16:45これが理にかなっていることがわかります。このようにして、
00:16:50標準正規分布と私たちのデータ分布との間を変換するこの真のベクトル場を表現するようにモデルを学習させることができます。
00:17:00そして重要なことに、
00:17:01私たちはテキスト入力に基づいて画像を生成できるようにしたいので、
00:17:08基本的にすべての画像例に対して、
00:17:11このネットワークを常にテキスト入力で条件付けします。すごいでしょう。
00:17:17では、
00:17:17モデルをサンプリングするとき、
00:17:20私たちは何をしているのでしょうか?これら2つの分布間のマッピングを表すこのベクトル場があります。私たちが行うのは、
00:17:28標準正規分布からサンプルを開始することです。コンピュータでそこからサンプリングできますよね?それは皆知っています。そして、
00:17:37ニューラルネットワークによって表現されるこれらの軌跡に沿って積分します。これは単純なオイラー前方アルゴリズムで行うことができます。おそらく多くの方がご存知でしょう。つまり、
00:17:50数値積分スキームを使って、
00:17:52ここにあるこれらの軌跡に沿って積分し、
00:17:55データサンプルに到達します。それを再びデコーダに通すと、
00:17:59到達します。繰り返しますが、
00:18:01これは潜在空間で起こりますが、
00:18:03ここでは再びピクセル空間に到達します。そして、
00:18:07これがテキストプロンプトに基づいて画像を生成する方法です。すごいでしょう。一つ、
00:18:13これらの数値積分スキームは、
00:18:15かなり多くのステップを使用すると思います。そのため、
00:18:19このプロセスを最大50ステップに分解します。そのため、
00:18:23これらの潜在フローマッチングモデルは本来かなり遅く、
00:18:26画像を生成するのに約30秒から1分かかります。これは少し時間がかかります。
00:18:32これらを高速化する方法については、
00:18:34すぐに説明します。しかし、
00:18:35これが一般的な潜在フローマッチングアルゴリズムです。つまり、
00:18:39「潜在」は、
00:18:40モデルを学習させるこの潜在空間を接続または表現する、
00:18:43あるいはその略です。そして、
00:18:44フローマッチングアルゴリズムは、
00:18:46ここで議論したものです。さて、
00:18:48テキストプロンプトに基づいて画像を生成する方法を説明しましたが、
00:18:52これが編集モデルである
00:18:53「コンテキスト」
00:18:54にどのように適用されるのでしょうか?これも非常にシンプルです。これが基本的なFlux Contextのアーキテクチャです。これはトランスフォーマーモデルです。それは皆知っていますよね。
00:19:05少し特殊ですが、
00:19:06その魔法は入力にあります。ここ左側にモデルへの入力が見えます。まず、
00:19:12テキストエンコーダによってテキストトークンのセットに埋め込まれるテキスト入力があります。そして、
00:19:20前のスライドで見た画像エンコーダがありますよね?この部分です。これが今ここに見えているものです。つまり、
00:19:29この画像エンコーダがあり、
00:19:31そこには2つの視覚トークンのセットがあります。まず、
00:19:36実際に生成に使用する視覚トークンのセットがあります。これが最終的な出力画像になります。そして、
00:19:44画像編集を行いたい場合は、
00:19:46コンテキスト画像をモデル化または表現する2番目の視覚トークンのセットがあります。つまり、
00:19:54モデルに提示している参照画像です。そして、
00:19:57これをトランスフォーマーモデルに送ります。これは「ダブルストリームブロック」と呼ばれるものを含んでいるため、
00:20:07特殊なものです。これらは、
00:20:09それぞれの忠実度に対する一種のエキスパートモデルと言えるでしょう。ここでは、
00:20:15視覚トークンとテキストトークンを別々に扱います。
00:20:20アテンション操作以外のすべてにおいて、
00:20:23アテンション操作はすべてのトークンに対して共同で行われます。そして、
00:20:29標準ブロック、
00:20:30つまり標準的なトランスフォーマーブロックがあり、
00:20:34そこではアテンション操作の前に、
00:20:37すべての入力とテキストトークン、
00:20:39視覚トークンを同じマッピングで基本的にマッピングします。このようにして、
00:20:45画像編集に進むことができます。
00:20:48ここで入力画像を提供し、
00:20:50テキスト画像生成を行う場合は、
00:20:52これを提供せず、
00:20:53入力としてテキストプロンプトのみを使用します。すごいでしょう。最後の点です。なぜこのモデルはこんなに速いのでしょうか?Fluxモデルをご存知の方、
00:21:05どれくらいいらっしゃいますか?手を挙げていただけますか?ああ、
00:21:10何人かいらっしゃいますね。なるほど、
00:21:12すごい。皆さん、
00:21:14Fluxモデルがかなり速いことはご存知ですよね?私が「速い」と言うとき、
00:21:19何を意味するのかというと、
00:21:21基本的に同等のモデルよりも桁違いに速いことが多いということです。例えば、
00:21:27ここでは明らかに非常に遅いですが、
00:21:29素晴らしいモデルであるGPD Image Oneを見てみましょう。編集においても、
00:21:36Fluxモデルはここでは10倍以上、
00:21:39いや、
00:21:3920倍以上速いです。ですから、
00:21:41同等の強力なモデルと比較して、
00:21:44その速さは本当に驚異的です。その理由は、
00:21:47私たちが2、
00:21:483年前に開発したアルゴリズムにあります。それは
00:21:51「敵対的拡散蒸留(adversarial diffusion distillation)」
00:21:58と呼ばれ、
00:21:59このアルゴリズムの目標は、
00:22:01数値積分ステップの数を減らすことです。先ほどお話ししたように、
00:22:06標準的なフローマッチングモデルでは通常50ステップですが、
00:22:10ここではそれをわずか4ステップにまで減らすことを目標としています。各数値積分ステップはニューラルネットワークを順方向パスすることなので、
00:22:21これには長い時間がかかると想像できます。そのため、
00:22:25可能な限り減らしたいのです。どのように機能するのでしょうか?ここで2つのネットワーク、
00:22:32教師と生徒を初期化します。どちらも、
00:22:34先ほどお見せしたアルゴリズムを介して学習されたフローマッチングモデルから初期化されます。そして、
00:22:42私たちが行うのは、
00:22:43生徒を学習させて、
00:22:45教師が50ステップで行うのと同じ画像品質を、
00:22:48出力で4ステップで得られるようにすることです。これが目標であり、
00:22:53その方法です。まず画像から始め、
00:22:56ここで再び潜在空間にエンコードし、
00:22:58その後、
00:22:59生徒のために4ステップ、
00:23:01または目標とするステップ数で出力画像を生成します。そして、
00:23:05それを再びピクセルにデコードします。
00:23:08最初、
00:23:09ここの画像は非常にぼやけていて、
00:23:11全くリアルに見えません。そして、
00:23:13目標はこれを改善することです。そこで私たちが行うのは、
00:23:17これを再び使用し、
00:23:19再び潜在空間にエンコードし、
00:23:21その後、
00:23:22教師に対して同じことを行いますが、
00:23:244ステップではなく50ステップで行います。これにより高品質な画像が得られ、
00:23:30その後、
00:23:30この蒸留損失を使用します。これは基本的に、
00:23:34生徒の分布が教師の分布と一致するようにするための損失です。これだけでは残念ながら、
00:23:40基本的にリアルに見える画像を生成することはできません。そこで、
00:23:45別の識別器損失を追加します。これは、
00:23:47講演の初期の潜在生成モデリングのオートエンコーダの部分ですでに見てきました。これは基本的に同じです。つまり、
00:23:55ここで入力する実画像と、
00:23:57生徒から生成された画像を識別するように識別器を学習させます。そして、
00:24:02これはdyno v2の特徴空間、
00:24:05あるいは学習された画像表現モデル空間で行われます。このようにして、
00:24:10最終的には50ステップではなく、
00:24:12わずか4ステップでリアルな画像を生成するようにモデルを学習させることができます。これは明らかに大幅な高速化です。しかし、
00:24:21最後の点です。ここにあるこれを見ると、
00:24:24かなり、
00:24:25多くのオーバーヘッドがあるように見えますよね?なぜなら、
00:24:29ここでは潜在空間に侵入しなければならないからです。つまり、
00:24:34画像空間から始まり、
00:24:35潜在空間の文化になり、
00:24:37再びデコードし、
00:24:38その後再びエンコードしてデコードしなければなりません。そして、
00:24:43これもまた別の表現空間に再びエンコードしています。多くのオーバーヘッド、
00:24:48これに関連する多くのメモリコストがかかります。そして、
00:24:52これは非常に、
00:24:53私たちがこれを考案した後、
00:24:55高速なモデルを学習できるようになったことに驚きました。これを学習させるのは非常に骨の折れる作業でした。そこで私たちは、
00:25:04「これをどうすれば簡素化できるだろうか?」と考えました。そして、
00:25:09答えは常に同じです。「ピクセルがある場合は常に潜在空間に移動させる」ことです。そこで私たちが行ったのは、
00:25:17潜在敵対的拡散蒸留アプローチを考案することでした。これは基本的に、
00:25:22一般的な潜在生成モデリングアルゴリズムで行ったことと非常によく似ています。私たちはここにあるすべてを潜在空間に移動させます。同じことですが、
00:25:33これらのエンコーダとデコーダを使用する必要がなく、
00:25:37それらを排除できるのです。そして重要なことに、
00:25:40識別器としてdynoはもう使いません。
00:25:44この画像表現モデルでは、
00:25:45教師モデルを使用します。なぜなら、
00:25:48教師モデルはすでに潜在空間に存在し、
00:25:50非常に優れた画像表現を提供してくれるからです。ですから、
00:25:54教師モデルを識別器として使うこともできます。そして、
00:25:58残りの部分は基本的にほとんど同じです。蒸留損失も削除しました。必要ないことがわかったので、
00:26:04これも素晴らしいことです。
00:26:06そのため、
00:26:07損失が少なくなり、
00:26:09すべてが簡素化されます。このようにして、
00:26:13非常にメモリ効率の良い方法で、
00:26:16積分ステップ数を5から4に減らすこともできます。その結果、
00:26:2312.5倍の高速化が実現し、
00:26:26それがこのセクションの冒頭でお見せしたプロットで見た桁違いの速さの正体です。これが基本的に、
00:26:36フローマッチング、
00:26:38つまりベースのフローマッチングモデルから非常に高速なモデルを得る方法です。さて、
00:26:47この講演が終わる前に、
00:26:49Fluxが実際にどのように動作するかをお見せするためにデモを用意しました。では見てみましょう。ここでは画像編集に使ってみます。後で何かアップロードしますね。何をするかというと?これが良さそうですね。はい。よし。うん。これでいいでしょう。では、
00:27:16私のお気に入りのサッカークラブ、
00:27:19SCフライブルクのロゴから始めます。アメリカでは
00:27:24「サッカー」
00:27:26と言わないといけませんね。よし。これが私のお気に入りのクラブで、
00:27:33このロゴを使ってTシャツを作りたいと思います。では、
00:27:38このロゴをTシャツに配置してみましょう。目の前にスクリーンがないので、
00:27:46少し変な感じがしますね。よし。さあ、
00:27:50生成中です。少し小さくしますね。
00:27:53こんな感じかな。よし。いいですね。数秒待つと、
00:27:58この素敵なロゴがTシャツに表示されます。そして、
00:28:04ここからさらに進めることができるのが良い点です。これを繰り返すことができます。例えば、
00:28:13このロゴは少し大きすぎると思います。ロゴを小さくして、
00:28:19残りの部分に配置します。もう一度。数秒待ちます。よし。すごい。そして、
00:28:26本当に素晴らしい結果が得られました。まさに私が求めていたものです。もう一度これに戻りたいと思います。そして、
00:28:38今度は色を変えたいと思います。なぜなら、
00:28:42SCフライブルクの色は黒ではなく赤だからです。なので、
00:28:48Tシャツを赤にします。これも非常にシンプルです。今はローカル編集です。画像のローカルな部分だけを編集していますよね?この場合は色です。そして重要なことに、
00:29:05いくつかの編集を行いましたが、
00:29:08ロゴが非常に一貫して表現されていることがわかります。これが、
00:29:15私たちが目にしたキャラクター、
00:29:18あるいはこの場合はオブジェクトの一貫性です。これは非常に重要です。あるオブジェクトを持っていて、
00:29:28それを特定の文脈に配置したいマーケターのことを考えてみてください。ビジネス価値の観点から見ても、
00:29:39これは素晴らしい、
00:29:41非常に重要なことです。そして最後に、
00:29:45より複雑な変換を追加します。
00:29:48「Tシャツを公園を歩いている男性に着せる」
00:29:52としましょう。おっと。これは複雑な変換です。色の変更のようなことはPhotoshopでできる、
00:30:03と言われるかもしれませんね。しかし、
00:30:06歴史的に見て、
00:30:08このようなことは標準的な、
00:30:11あるいは以前の非AI画像生成ツールではできなかったことです。これは本当に素晴らしいです。これで、
00:30:21このようなものができました。そして最後に、
00:30:26時間になったと思いますが、
00:30:29このモデルがいかに汎用的であるかを示す最後のことをしましょう。スタイル転送もできますよね?では、
00:30:39これを水彩画にしてみましょう。
00:30:42よし、
00:30:43最後です。そして、
00:30:44このようなモデルが登場する前は、
00:30:47おそらくこれらの各タスクごとに個別のファインチューニングを学習していたでしょうが、
00:30:54今ではこれらすべてを1つにまとめることができるのは、
00:30:58かなり素晴らしいことです。いいですね。これで印刷して壁に飾ったりできます。とにかく、
00:31:05ええ、
00:31:06これがこれらのモデルの力強さを示していると思います。ああ、
00:31:11何かクラッシュしましたね。もう終わりなので最後のスライドをお見せしたかったのですが、
00:31:18私たちは採用活動を行っています。もし参加したい場合は、
00:31:23ここをスキャンするか、
00:31:24今お見せしたデモが自由に利用できるプレイグラウンドにアクセスしてください。本当にありがとうございました。何か学んでいただけたなら幸いです。

Key Takeaway

Black Force LabsのFlux Contextは、潜在フローマッチングと潜在敵対的拡散蒸留アルゴリズムを組み合わせることで、画像生成と編集を統合し、キャラクターの一貫性を保ちながらリアルタイムに近い速度で多様なビジュアルコンテンツを作成・修正できる画期的なマルチモーダルAIモデルです。

Highlights

Black Force Labsが開発したFluxは、画像生成・編集モデルファミリーであり、将来のビジュアルコミュニケーションの中心となることを目指しています。

Flux Contextは、テキストから画像生成と画像編集を統合し、キャラクターの一貫性、スタイル参照、ローカル編集をほぼリアルタイムで実現します。

このモデルは、既存の画像を繰り返し編集する際のファインチューニング作業を不要にし、大幅な時間短縮と柔軟性を提供します。

Fluxモデルの学習には、知覚的に重要な情報のみを扱う「潜在空間」と、単純な分布から複雑なデータ分布への変換を学習する「フローマッチング」アルゴリズムが用いられています。

Fluxの驚異的な速度は、「潜在敵対的拡散蒸留(LADD)」アルゴリズムによって実現されており、数値積分ステップ数を大幅に削減し、同等モデルと比較して桁違いの高速化を達成しています。

デモでは、ロゴのTシャツへの配置、サイズ変更、色変更、背景変更、水彩画へのスタイル転送など、Flux Contextの多様な編集機能と一貫性が示されました。

Timeline

Black Force LabsとFluxの紹介

Black Force Labsの共同創設者であるアンディが、同社のビジョンと画像生成・編集モデルファミリー「Flux」を紹介します。同社は2024年8月に設立され、ビジュアルメディアが将来の人間コミュニケーションの中心になると信じています。Fluxモデルは、Pro、Dev、Schnellの3つのティアで提供され、特にFlux DevはHugging Face上で最大のオープンソースエコシステムを誇り、オープンな画像生成の標準となっています。これは、Fluxがすでに画像生成分野で広く採用されていることを示しています。

Flux Contextの深掘り:統合された画像生成と編集

本講演の主要テーマであるFlux Contextについて詳しく解説されます。2025年6月にリリースされたこのモデルは、テキストから画像生成と画像編集を統合し、キャラクターの一貫性、スタイル参照、ローカル編集といった機能をほぼリアルタイムで提供します。これにより、既存の画像を繰り返し編集する際のファインチューニング作業が不要になり、オブジェクトの削除、背景変更、スタイル転送、製品ショットの生成など、多様なユースケースで非常に強力なツールとなります。特に、キャラクターの一貫性を保ったまま新しいコンテキストに配置できる点は画期的です。

モデルパイプライン:テキストから画像生成と画像編集の比較

テキストから画像への古典的なパイプラインと画像編集のパイプラインの違いが説明されます。テキストから画像生成はテキストプロンプトのみを入力とするのに対し、画像編集は既存の画像と変更指示の両方を入力とします。Flux Contextはこれらを単一のモデルに統合することで、より高い柔軟性を提供し、以前はテキストから画像へのモデルをファインチューニングして実現していた制御レベルを瞬時に達成できるようになりました。これにより、高品質な結果を得るために必要な時間が大幅に短縮され、ユーザーはより効率的に画像を生成・編集できます。

Fluxモデルの学習方法:潜在フローマッチング

Fluxモデルの学習を可能にする「潜在フローマッチング」アルゴリズムが詳細に解説されます。まず「潜在」の側面では、人間の目には知覚できない画像内の冗長な情報を排除し、より低次元の「潜在空間」でモデルを学習させることの効率性が強調されます。次に「フローマッチング」の側面では、単純な標準正規分布から複雑なデータ分布への変換を学習するベクトル場をニューラルネットワークがどのように表現するかが説明されます。このプロセスはテキスト入力で条件付けされ、数値積分によって画像を生成しますが、標準的なモデルでは多くのステップが必要で時間がかかるという課題も指摘されます。

Flux Contextのアーキテクチャと速度最適化

Flux Contextのトランスフォーマーベースのアーキテクチャが紹介され、テキストトークンと視覚トークン(生成用とコンテキスト用)を統合して処理する「ダブルストリームブロック」が特徴です。次に、Fluxモデルが同等のモデルよりも桁違いに高速である理由が「敵対的拡散蒸留(ADD)」、特に「潜在敵対的拡散蒸留(LADD)」アルゴリズムによって説明されます。LADDは、数値積分ステップ数を50からわずか4ステップに削減し、学習プロセスを潜在空間に移行させ、教師モデルを識別器として利用することで、メモリ効率を向上させつつ12.5倍の速度向上を実現しています。これにより、Fluxは驚異的な速度で画像を生成・編集できます。

Flux Contextのライブデモ

Flux Contextの実際の動作を示すライブデモが行われます。デモでは、SCフライブルクのロゴをTシャツに配置し、そのロゴのサイズ変更、Tシャツの赤色への変更(ローカル編集)、そしてTシャツを着た男性を公園に配置する複雑な背景変更が実演されます。さらに、最終画像を水彩画風にスタイル転送する機能も披露され、キャラクターやオブジェクトの一貫性を保ちながら、多様な編集タスクを単一のモデルで実現できる汎用性と強力さが強調されます。このデモは、Flux Contextがマーケティングやデザインなど、様々なビジネスシーンで大きな価値を提供することを示しています。

Community Posts

View all posts