テキストからの動画生成系のモデルがいろいろ出てきてなかなか優秀なのを見て思った事。

stable diffusionの画像生成が優秀なので画像生成を取り込んだサービスを作ろう!みたいな事をやっていると、 こうやってあとからもっとインパクトがあるものが出た時に、自分たちがリリースするものは周回遅れの今更なもの、 となってしまうリスクはあるよなぁ。 もちろんちゃんとサービスにするのに考えなくてはいけない事は多いので、 本気でそれをやるのなら周回遅れという感じにはならない、という事もあるかもしれない。 だから大切なのは、何を本気でやるか、という所だよなぁ。 2次元の画像生成を何かやりたいと思っているのなら別に良いが、 何か面白い生成をやりたいと思っていただけならきっと動画の方が良さそう。 なんとなくでやる事を選ばないようにしたい。

自分が何かプロダクトで一発当てよう、と思った時に、そのプロダクトは何で勝負するか、というのは大切だよな。 出来たらそれはチームで共有しててビジョン的な何かになって欲しいものだけれど、 チームの前にまず自分は何で勝負しようと思っているのか、というのをはっきりさせるのは大切に思う。 お前は何で勝負する気なんだ?と問われた時に答えられるような事を日々やっていきたい。

何で勝負するか、というのは、最初に決めてずっとそれ、とは限らないよな。 どちらかというと日々考えていくものという側面も強い気がする。 時代も状況も変わっていくので、ブレずに突き進む時と大きく方針転換する時は両方必要に思う。

何で勝負するか、というのは、自分のアイデンティティにも絡む所だよなぁ。 ジョブズもNeXTの頃を振り返ってPCで互換性のあるもの作ってる方が良かったんだろうが、それは自分のやりたい事じゃなかった、 みたいな事言ってたが、そういう事はあるよな。 時代が要請するものが自分のやりたい事で無いのなら、その時には自分のやる事はない、という事もありそう。

今の自分はC++でコアとかGPUとかをちゃんと使い切ってパフォーマンスを出す、という方向で勝負しようとしている気がする。 ハードウェアの機能を使い切る、という方が適切かもしれない。 iPadはちょうどM1を推してて8コア+8GPUコアで、使えるリソースは多い。 リリースする頃にM2とかが出てても別段周回遅れにはならない。 逆に今後「やっぱりそんなスペック要らなかったね」とよりしょぼいコアになっていったら周回遅れのものを出してしまう事になるが。 CPUコアとかGPUとか使うみたいな変更は小手先じゃ出来ないので、 あとからすぐに真似されるという事が無いのもいい。 そして違いもユーザーにわかりやすく、やって意義のあるものと自分が思える。

C++というのはそうした目的において、まぁまぁ悪くない選択と思う。iOSならC++かSwiftの二択だろう。Objective-CではC++並みのパフォーマンスを出すのは厳しい。 そしてC++はそうした目的に特化している部分があるので他の用途で使うのに比べるとだいぶ良い。

モバイルのハードウェアを使い切るというのも自分向きに思う。 もともと携帯業界で組み込みやっていたのもありハードウェアには割と強い方に思うし、 その上でモバイルアプリのような複雑なGUIとか作るのも結構得意だ。 自分の積み重ねてきたものと良くマッチしているように思う。 なかなかアイデンティティを反映した勝負所ではなかろうか。 この路線で良いものを出したが負けました、なら、納得できる気がする。

日々の仕事が、そうした自分の勝負しようと思っている事に沿っているか、というのも考えていきたい気がする。 何かの決定に悩んだ時に、そうした視点から選択を行っていきたいよな。 幸い、割と何をやるのかに裁量がある仕事なので、次にやる事を考える時にもそうした勝負する所に沿った事をやっていきたい。