見出し画像

PerplexityのClaude3-Opusのトークン制限疑惑を検証してみた。訂正とお詫び有り

 PerplexityProで、Claude3-Opusを使用した場合、Anthropicの公式のClaude3-Opus200kと異なり、30kほどでトークンが制限されているとの噂が出ている。
 そこで、自分で検証してみることにした。


噂の出どころ

 まず、この噂が出てきたのが公式ディスコでの書き込み以外だと、Redditのこのスレッドです。
 タイトルは「Perplexity limits the Claude 3 Opus Context window to 30k tokens」というもので、以下がスレッド主の投稿をClaude3-Opusに翻訳してもらったものです。
「私は数回テストを行いましたが、PerplexityでClaude 3 Opusを使用する際、文脈の長さが200kから約30kに制限されていることが分かりました。

110kトークンのコードベースを使用し、PerplexityでClaude 3 Opusを使用したところ、プログラムの最後の関数が約30kトークン目に位置するものだと一貫して(5回の試行で毎回)言及されました。

AnthropicのAPIとWebチャットを使用した場合、一貫して実際の最後の関数を特定し、110kトークンのコード全体を明確に認識し、思い出すことができました。

また、3冊の本と2つの異なるコードベースでもテストを行いましたが、全体的に同じ結果が得られました。

無制限で提供するために文脈を制限する必要があるのは理解できますが、それをどこにも明記していないのは非常に残念なマーケティング戦略だと思います。このような噂は聞いていましたが、文脈ウィンドウが約30kトークンに制限されているという確認データをもう1つ追加したいと思いました。

文脈ウィンドウに達しない限り、Claude 3 Opusへの無制限アクセスは非常に素晴らしいものですが、これによって、コスト削減のために、Perplexityが水面下で私のプロンプトに何をしているのかについて疑問を感じます。」

 公式ディスコでも同様に制限があると言っている人がいたため、公式からのレスポンスを待っていたのですが、2024/03/25の朝の時点で特にアナウンスがなかったため、自分で検証してみることにしました。なお、公式ではちゃんと200kトークンに対応していると言っている人もいました。

検証方法

 Perplexityのコレクション機能を使用したClaude3を使った半自動小説作成bot(プロンプトを公開しました)
こちらの記事で公開しているシステムプロンプトをPerplexityのコレクション機能で使用し、長編を書いてもらった後に、更に一切無関係の3万字以上の話を書かせて、その後に最初の話の質問をすることにしました。最後の3万トークンしか有効でないならば、答えられないはずです。

検証作業

 検証に使ったスレッドはこちらです。

 最初にClaude3-Opusにプロットを作成してもらった「江戸時代の雰囲気を残しつつ、近未来的な要素が混在するSFコメディ」のプロットを与え、話を作ってもらいました。プロットはあまり守ってくれませんでしたし、コメディ要素が徳川ロボ吉という名前と、それをお犬様と呼ぶぐらいしか無かった気がしますが、一応21000字ほど書いてくれました。

 そこから、3万字以上を書いてもらいかつ、前の話の記憶を押し流すために、「これより、全く別の話を作ってください。舞台は所謂ナーロッパ風世界で、剣と魔法の世界です。トークン王国のケンショー街の冒険者ギルドに所属する冒険者たちの一話完結型のオムニバスストーリーを作ってください。焦点を当てるキャラクターの話は一話ごと指示します。最初の一話は舞台となるケーンショー街の紹介をメインとしてください。キャラの名前はアルベルトとします。」という、プロンプトで話をつくていってもらった。

 一話ごとのオムニバスのつもりなのに、Claude先生がやる気が合って、「次回は、アルベルトの最初の依頼の話を中心に描く予定だ。お楽しみに。」と書いてくるので、最後まで続けさせることに。最終的に絆の力で二人の仲間と三人で魔王まで倒して同じく21000字ほど書いてくれた。

 しかし、3万字にはまだ足りないので、「それでは、今度はケンショー街の中年おっさん冒険者ホークの物語を書いてください。口癖は、「しゃーねぇか」で、腰痛を患っており、本気の動きをすると戦闘後に腰が痛くなっていたがります。それでは、執筆を開始してください。」として、同じ舞台で別の話を書いてもらった。こうすれば、以前Claude3Opusに、10万字超えのなろう小説を書かせた話や、先のアルベルトのような絆押しの話にはならないだろうと思ったのだが、結局弟子のリリーが出来て、絆ができた。

 Claude先生はやはり絆厨である。話は9700字ほどになったが、トークン問題が30kでなく32kだった場合、少し不足してるので、追加で「ケンショー街に森からやってきて、冒険者になる女性狩人クローディアの物語を書いてください。」というプロンプトでProSearchの質問には「優しい性格で動物とも会話できるという秘密がある」と回答して、話を作ってもらった。
 相変わらず絆推しだったが、絆相手の馬には名前をつけてくれなそうな感じだったので、途中で指示して名前をつけさせた。それから、リーナという子を弟子にして、絆を築いて、12800字ほど書いてくれた。

 これで、ようやく合計43900字ほどとなり、噂通りだと、最初の話は完全に押し流されたはずである。

検証結果

 そこで以下のプロンプトを送信した。
「今回一番最初に書いてもらった、「江戸時代の雰囲気を残しつつ、近未来的な要素が混在するSFコメディ」について、第一章から第11章での完結までの、初期に私が提示したプロットとの相違点をすべてリストにしてください。」

 ちゃんと固有名詞も忘れておらず、完璧ではないが相違点もちゃんと指摘できていた。もちろん、指示によって最初の部分を改めて読みに行った可能性は否定できないが、これなら実用上問題はないと思う。

 更に確認として「ケンショー街の話に出てきた冒険者の名前を全員リストにして、簡単な紹介も付けてください。」とお願いした。
 リリーというキャラが何故かリリィという表記になっていたが、こちらも問題はなかった。
 また、6万トークン以上の検証になるが「今回書いてもらった、大きく分けて4つの話にタイトルと、粗筋を付けてください。」とお願いしてみたが、無事問題なく成功した。

結論

 Perplexityは2024/03/24の日本時間朝8時にメンテを行っており、そこで制限されていたものが修正された可能性もあるが、少なくとも2024年3月25日18時の時点では、3万トークン制限ではないとおもわれる。
 もちろん、今後費用などの問題から制限がされる可能性もあるので、その点は注意していただきたい。

 Perplexityのサービスについては以下の記事を参考にしてください。
 
Claude3本家とPerplexityとPoeのサービス比較

 画像はStableCascadeで江戸浪漫SF奇譚 〜お犬様ロボ吉、将軍家を救う〜を英訳した「Edo Roman SF Kitan - Robokichi, the Dog Master, Saves the Shogun's Household, masterpiece, best quality」という、適当なプロンプトで生成してもらったものです。

訂正とお詫び

 スレッド内では確かにトークン制限はないのですが、アップロードしたファイルは3万トークン程度で制限されていました。これは、約10万トークンの以前書いてもらった小説の粗筋を書かせてみてテストしました。
いかが、その検証のスレッドです。

https://www.perplexity.ai/search/PXpr06vvR1anuWBoKn_3Fg

 なので、Claude3-Opusは200kですが、Perplexityのファイルアップロードで1ファイルから認識できるトークン量が30k程度ということのようです。

 お詫びして、訂正いたします。

 更に追加として、ファイルを3万トークン以下になるように分割して、粗筋を作成できないか検証しました。

https://www.perplexity.ai/search/191-sPvssqjtTUWHu6NbeNx3fg

 上のリンクのとおりですが、最後に上げたファイル以外はハルシネーションが多く、使用に耐えないものでした。ただし、完全なデタラメではないため、Perplexity側でのファイルのindex化による影響ではないかと推測します。

また、本家でもトークン数が増えると粗筋作成能力に不備がでてくるので、Claude3-Opus自身の能力も影響していそうです。

 ですので、現状はファイルアップロードに関しては3万トークン以下で使用するしかなさそうです。
末尾ながら、某所で追加ファイル関連で検証を手伝ってくれた、Lineinsさん、ユキトさん、北条カズマレさん、ありがとうございましたm(_ _)m

この記事が気に入ったらサポートをしてみませんか?