どうもこんにちは、さいほうへいきです。
今回の記事は表題の通りなのですが、『Sora2はChatGPTと同じグリッチトークンでぶっ壊れるの?』というのを検証していきます。
どうぞよろしくお願いします!
事前の知識とか
グリッチトークンってなんぞや? っていう人もいると思うので軽く触れておきます。
文章を生成していろいろおしゃべりできるAIには構文解析の機能があるのですが、その過程でだいたい次のようなことが行われています(例なのであまりにも簡略化されています)。
-僕の入力『this is the issue』
-パース『[th][is] [is] [th][e] [is][su][e]』→『12 2 13 243』
文字列の出現頻度に応じて、効率よく分類します。とりあえずこれでかなり文字が短縮できました。
ChatGPTなんかは、内部的に[1,2,2,1,3,2,4,3]のようなトークンの集合体でテキストを処理しています。
当然、[ephemeral]や[innocuous]のようなあんまり見ない単語より、[the]や[an]のような頻出単語を少ないデータ数であらわした方が効率がいいですよね。
もしtheに813539なんかを割り当ててしまえば、それだけで演算に使うデータのサイズが爆増します。
だから、構文解析時は頻出ワードを1バイト、滅多にでないワードを4バイト、みたいにいい感じにまとめられています。
ところが『植物百科通』『bagbogbo』のようなテキストはなぜか1バイトに分類されています。ナゼ?
こういうワードはグリッチトークンと呼ばれ、使おうとするとへんてこりんな挙動を示します。
例えばこんな感じ。
僕『植物百科通ってなに?』
AI『以下は「material(マテリアル)」や「texture(質感)」と混同されがちな「meltyな"material"="soft and pliable"」というニュアンスを含む「"soft and smooth"」な(以下略)』
結論
壊れます。
今回は実験に使うプロンプトとして、『ネオン看板には「○○」と書かれている』というものを使用しました。
まず、そもそもこのプロンプトが動作するのかどうか、グリッチトークンではない普通の語で試してみます。
はい、きちんとこれらのワードは動いています。おおむね正しく動画が生成できていますね。
というわけで次は『植物百科通』。
graphic……?
正常に認識できていないようです。他にも数度トライしましたが、すべてのケースで正常に出力されませんでした。
次に『bagbogbo』。
ヒンディー語ですかね?
生成時についた音声ナレーションではまた全然意味の分からないことを口走っています。失敗。
グリッチトークンの傾向
数回グリッチトークンを用いて生成させてみたところ、どうやら『植物百科通』と『bagbogbo』には一応傾向というかそんなものがあるように見受けられました。
『植物百科通』は、『graphic』というワードに変化しやすいみたいです。
また『bagbogbo』は、『たびたび』というワードに変化やすいようです。(一度だけ『しばしば』が出たのはすこし面白かった)
あと、『bagbogbo』は複数回の検証中に『つづく』という意味のワード(言語は違った)が2回現れたので、もしかするとこれも関連性はあるかも。
Sora2を馬車馬のように働かせてそれぞれ10回ずつ検証してみたのですが、うち9回と6回は上記のワードとして認識されていました。
僕はLLMなどにそう詳しいわけではないのですが、もしかしたら『植物百科通』のトークンと『graphic』のトークンがどこか近かったりするのかも?
もちろん、ネオン看板じゃなくて別の方式で動画生成をさせてみると変化するかもしれないので、『植物百科通=graphic』という等式は成り立たないかもしれません。
まとめ
というわけで、今回はSora2はグリッチトークンで壊れるのだろうか? という検証でした。
ただ純粋に僕が気になっただけなので、そこまで深い考察などもしてないですが、もし誰かの参考になったら幸いです。
それではまた。