Skip to main content
QUICK REVIEW

[論文レビュー] GPUTOK: GPU Accelerated Byte Level BPE Tokenization

Venu Gopal Kadamba, Kanishkha Jaisankar|arXiv (Cornell University)|Mar 3, 2026
Natural Language Processing Techniques被引用数 0
ひとこと要約

GPUTOK は greedy merges を保持しつつ、長い列に対して CPU トークナイザーより大幅なスピードアップを実現する、GPT-2 互換の GPU ベースバイトレベル BPE トークナイザーを実装します。

ABSTRACT

As large language models move toward million-token context windows, CPU tokenizers become a major slowdown because they process text one step at a time while powerful GPUs sit unused. We built a GPU-based byte-level BPE tokenizer that follows GPT-2's merge rules. It includes a basic BlockBPE-style kernel and a faster, optimized version that uses cuCollections static map, CUB reductions, and a pybind11 interface for Python. On WikiText103 sequences up to 131k tokens, the optimized GPU tokenizer produces the same tokens as a CPU version and, for the longest inputs, is about 1.7x faster than tiktoken and about 7.6x faster than the HuggingFace GPT-2 tokenizer. Nsight profiling shows that 70-80% of CUDA API time goes to memory allocation, so adding memory pooling should give the biggest speed boost next. Tests on generation tasks using WikiText103 prompts show that our GPU tokenizer's outputs stay within about one percentage point of tiktoken and HuggingFace GPT-2 on similarity and overlap metrics, meaning it keeps output quality while making long-context inference more practical.

研究の動機と目的

  • 長大な文脈の推論時に待機時間を低減するための GPU ベーストークナイゼーションの必要性を動機付ける。
  • greedier なマージを保持する GPT-2 スタイルのバイトレベル BPE の GPU 指向設計を説明する。
  • PyTorch サービングスタックへの統合を想定した Python 互換のインターフェースとオープンソース実装を提供する。
  • CPU ベースのトークナイザおよびベースライン GPU アプローチと比較した性能と正確性をベンチマークする。

提案手法

  • CPU 上で GPT-2 バイトエンコーダを再構築し、バイトを GPT-2 スタイルのシンボルにマッピングする。
  • 高速ルックアップのため cuCollections static_map を用いて GPU 上に GPT-2 マージ語彙を格納する。
  • 単一 CUDA ブロック内で各シーケンスごとに貪欲 BPE マージを実行する baseline および optimized の 2 つの CUDA カーネルを実装する。
  • 各マージ後にトークン列を更新するため、メモリ効率の高いダブルバッファ付きの圧縮スキームを採用する。
  • pybind11 を介して Python API を公開し、文字列バッチでのトークナイズを実行し、結果と併せてカーネルのタイミングを報告する。
Figure 1: CUDA API breakdown from Nsight Systems on the long-document workload. Memory allocations dominate API time, indicating that device-side memory pooling could substantially reduce overhead.
Figure 1: CUDA API breakdown from Nsight Systems on the long-document workload. Memory allocations dominate API time, indicating that device-side memory pooling could substantially reduce overhead.

実験結果

リサーチクエスチョン

  • RQ1GPU 在住の GPT-2 互換 BPE トークナイザが CPU のリファレンスマージを正確に再現できるか。
  • RQ2トークナイズを GPU に移すとき、長いシーケンス(例:131k トークンまで)で得られる性能向上はどの程度か。
  • RQ3カーネル設計の選択肢(ベースライン対最適化圧縮)がスループットと待機時間にどう影響するか。
  • RQ4GPU トークナイゼーションにおけるメモリアロケーションのオーバーヘッドはどの程度影響し、メモリプーリングが意味のある削減をもたらすか。
  • RQ5GPU トークナイザは CPU ベースの基準と比較してトークンレベルの正確性と下流の生成品質を維持できるか。

主な発見

Seq LenHF GPT2 (ms)tiktoken (ms)CPU-BPE (ms)GPU-Base (ms)GPU-Opt (ms)
2564.211.9212.845.774.98
100012.76.3248.510.99.42
400049.422.1189.218.314.5
1600020191.3749.929.524.1
131K1673598.1614389.353.4
  • 最適化済み GPU カーネルは tiktoken より約1.7 倍速く、131k トークン列で HuggingFace GPT-2 トークナイザより 7 倍以上高速。
  • GPU トークナイゼーションは WikiText103 スケールの入力に対して CPU リファレンスのトークン列と一致し、正確な greedy マージセマンティクスを示す。
  • 長い入力での GPU トークナイゼーションはエンドツーエンドの待機時間とスループットの点で CPU ベースのトークナイザを上回る。
  • プロファイリングにより CUDA API の時間の 70–80% がメモリアロケーションに費やされることが示され、メモリプーリングが将来の大幅な速度向上の主要な手段となる。
  • 生成の類似性テストでは、重複メトリクスで CPU ベースのトークナイザと比べて出力が約1パーセントポイント前後の差にとどまることが示された。
Figure 2: Tokenization latency versus sequence length on WikiText103 in latency mode. The optimized GPU kernel overtakes tiktoken at around two thousand tokens and reaches a clear advantage at the longest context lengths.
Figure 2: Tokenization latency versus sequence length on WikiText103 in latency mode. The optimized GPU kernel overtakes tiktoken at around two thousand tokens and reaches a clear advantage at the longest context lengths.

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。