Up 入力データのサイズ制限 作成: 2025-05-16
更新: 2025-05-16


    ChatGPT に入力サイズの限度を質問。
    以下は,その答えから。

    ◆ 結論から先に
    1. Transformer は「固定長の入力までしか扱えません」。
    2. 長すぎるテキストは、分割して処理されます(ただし文単位ではなく「トークン数単位」)。
    3. 入力できる長さの上限(=コンテキスト長)は、モデルの設計で決まっています。
    ◆ 詳しく説明します
    ① 長文も「一度にすべて入力」はできない
    Transformer 系のモデルでは、「一度に処理できるトークン数」に上限があります
    この上限を コンテキスト長(context length) または シーケンス長(sequence length) と呼びます。
    • 例えば GPT-3 の場合:2048 トークン
    • GPT-4:8192 または 32,768 トークン(モデルによる)
    • Claude や Gemini の一部モデルでは 100,000 トークン以上
    このように、ハードウェア制約と計算量の都合で、1回の入力で処理できる長さには限りがあります。
    ② 入力は「文単位」ではなく「トークン単位」で裁断される
    Transformer は文法構造にこだわらず、一定のトークン数で区切って処理します
    • 文章が文の途中で切れていてもかまわず、最大トークン数ぶんを処理します。
    • たとえば 2048 トークンが上限なら、そこまで読み込んだら「次の2048」へ。
    これをスライディングウィンドウ的に行う場合や、分割して別のバッチで学習する場合もあります。
    ③ では「長文をどう学習させるのか?」
    学習時には、学習材(例えば Wikipedia の一章や書籍全文など)を、連続的にトークン列へ変換し、コンテキスト長でスライスしていきます。
    • テキストが非常に長い場合でも、滑らかに切って順番に学習します。
    • このとき、モデルには「このトークンは何番目か(位置エンコーディング)」が与えられているため、前後関係も保持されます
    ただし:
    • 「2048トークンの中にしか現れない情報しか使えない」
    • 「もっと長い前後関係が必要なら、それを意識した設計(Memory形式など)が必要」
    という制約がついて回ります。
    ◆ まとめ(ポイント再掲)
    項目 内容
    モデルの入力上限 トークン数で定義され、モデルごとに異なる(例:2048、8192、32K など)
    長文の扱い トークン列に変換 → 上限トークン数で切る → 順に学習へ投入
    文単位か? いいえ。「文」ではなく「トークン長」で扱う(文の途中で切れても構わない)
    前後の文脈の扱い 入力トークンの中でしか保持されない。上限を超えた文脈は「忘れる」