待ち時間が、明らかに違う
ChatGPTに文章をお願いすると、たいてい数秒で書き始めてくれますよね。ところが同じAIに「こういう画像を作って」と頼むと、くるくる回るマークをしばらく眺めることになる。同じ「AIに作らせる」なのに、画像だけやけに待たされる。そんなことないですか?
「画像は重いから」で片づけたくなるけれど
画像は文章よりデータが大きいから時間がかかる。まあ、それはそうです。ファイルサイズだけ見れば、数十文字の返事より一枚の絵のほうがずっと重い。
でも、ここで一つ不思議があります。いまのパソコンやスマホは、何百万画素の写真を一瞬で開くし、動画だって滑らかに再生します。データが大きいだけなら、画像生成もそこまで待たされないはずです。なのに、なぜ生成のときだけ、あんなにもたつくのでしょう。
なお「入れた言葉がどうやって絵になるのか」という仕組みそのものは別の記事で書いたので、ここでは深入りしません。今回は「なぜ遅いのか」という速度の話に絞ってみます。

一発で描いていない
実は、いまの画像生成AIの多くは、絵を一発で描き上げているわけではありません。砂嵐のようなノイズだらけの状態から始めて、「ノイズを少しだけ取り除く」という作業を何十回もくり返して、だんだん絵に近づけていきます。
これは拡散モデルと呼ばれる考え方で、大事なのは「少しずつ」「くり返す」という部分です。一回できれいにするのではなく、薄皮を一枚ずつ剥がすように、同じ処理を何度も通す。しかも各回の作業は、その前の回の結果を受け取ってから始まります。つまり2回目は1回目が終わるまで、3回目は2回目が終わるまで、待たなければなりません。
文章生成も、正確にはトークンと呼ばれる細かな単位を順番に作る逐次処理で、必ず画像生成より計算が軽いとは限りません。ただ、多くの対話サービスでは、できたトークンから画面へ流せるため、待ち時間を短く感じやすい。一方、画像生成は途中段階がまだノイズを含んだ画像なので、多くのサービスでは何十回ぶんのくり返しが終わってから成果物を見せます。計算量だけでなく、途中結果を見せられるかどうかも、体感差を大きくしています。
減らす道と、軽くする道
こう見ると、「ステップ数を減らせば速くなるはず」という発想が自然に出てきます。実際、最近の高速化の多くは「くり返しの回数をどう減らすか」を工夫したものです。50回かかっていたものを数回で済ませられれば、待ち時間はまるごと縮む。速さを左右しているのは、絵のうまさそのものより「何回くり返すか」のほうらしい、と見えてきます。
もちろん、回数だけですべては決まりません。一回のノイズ取りにも、画像全体を見ながら「どこをどれだけ直すか」を予測する大きなニューラルネットワークの計算が入ります。画像の解像度を上げたり、複雑なモデルを使ったりすれば、一回ぶんの処理も重くなります。速いGPUが効くのは、主にこの一回ぶんを短くする方向です。
つまり高速化には二つの道があります。一つは、一回の計算を軽くして速くすること。もう一つは、少ない回数でも完成へ近づけるよう学習して、くり返し自体を減らすことです。ただし、むやみに回数を削れば細部が崩れることもあるので、速さと画質の両方を保てる落としどころが必要になります。
かけ算で書いてみると
待ち時間をざっくり式にすると、こう書けます。
$$ T_{\text{total}} \approx N \times c $$
ここで $N$ はくり返しの回数(ノイズを取り除くステップの数)、$c$ は1回あたりにかかる時間です。かけ算になっているのがポイントで、$N$ が50なら、1回ぶんの処理を50回積み上げた時間を待つことになります。厳密には準備や画像への変換にかかる固定時間もありますが、待ち時間の中心を見る近似としてはこの形で捉えられます。
そして厄介なのは、この $N$ 回が順番でしか進められないこと。1枚の画像の中の画素は同時に計算できても、ステップ同士は「前の結果待ち」なので、$N$ を並列に片づけて時間短縮、ができません。だから $N$ が大きいほど、ほかの条件が同じなら待ち時間はほぼ比例して伸びていきます。
$$ N \uparrow \;\Rightarrow\; T_{\text{total}} \uparrow $$
文章生成の速さは「一語が軽い」ことに支えられ、画像生成の遅さは「$N$ 回の逐次くり返し」に支えられている。同じAIでも、待ち時間の出どころがまるで違うと読めてきます。

次にあのくるくるを眺めるとき
次に画像生成の待ち時間を眺めるとき、それは「絵が重いから」ではなく「AIがいま何十回目かのノイズ取りをやっている最中」だと思うと、少し見え方が変わります。そしてもし、その回数をうんと減らせたら、絵の質をどこまで保ったまま、あの待ち時間を消せるのでしょうね?
あわせて読みたい関連記事。


