Gigatoken: مُرمّز BPE بلغة Rust يشفر النص بسرعة 24.53 جيجابايت/ثانية، أسرع حتى 989 مرة من HuggingFace Tokenizers
OpenAI
Hugging Face
Google/DeepMind
Meta
Alibaba/Qwen
DeepSeek
Moonshot AI
NVIDIA
Microsoft
Allen Institute for AI
Answer.AI
Mistral
أصدر طالب الدكتوراه في جامعة ستانفورد مارسيل روم Gigatoken، وهو مُرمّز BPE بلغة Rust مع روابط بايثون، يحقق سرعات تصل إلى 24.53 جيجابايت/ثانية على معالج AMD EPYC ذي 144 نواة، وهو أسرع 989 مرة من HuggingFace Tokenizers و 681 مرة من tiktoken. يأتي تسريع الأداء من معالج مسبق SWAR مكتوب يدويًا ومن التخزين المؤقت للرموز المسبقة.
Gigatoken هي مكتبة للترميز بطريقة ترميز أزواج البايت (Byte-Pair Encoding، BPE)، مكتوبة بلغة Rust مع روابط Python. تم إصدارها بموجب ترخيص MIT من قبل طالب الدراسات العليا في جامعة ستانفورد مارسيل رود (Marcel Rød). الإصدار 0.9.0 متاح على PyPI (pip install gigatoken). في الاختبارات المعيارية على نموذج GPT-2 باستخدام نظام مزود بمعالجين AMD EPYC 9565 بـ 144 نواة لكل منهما، يعالج Gigatoken البيانات بمعدل 24.53 جيجابايت في الثانية. للمقارنة: تصل سرعة tiktoken من OpenAI إلى 36.0 ميجابايت في الثانية، ومكتبة tokenizers من HuggingFace إلى 24.8 ميجابايت في الثانية، أي أن Gigatoken أسرع بمقدار 681 و989 مرة على التوالي. على معالج Apple M4 Max (16 نواة) تبلغ السرعة 8.79 جيجابايت في الثانية (أسرع بمقدار 1268 مرة من HuggingFace و140 مرة من tiktoken)، وعلى معالج AMD Ryzen 7 9800X3D تبلغ 6.27 جيجابايت في الثانية (أسرع بمقدار 106 و68 مرة). لا يتحقق التسريع من خلال دورة دمج BPE الأسرع، بل بفضل أداة ما قبل الترميز المكتوبة يدويًا باستخدام تقنية SWAR (تعليمات مفردة ضمن سجل ومتعددة البيانات، SIMD Within A Register) وتخزين مؤقت للرموز المسبقة. في البداية، عملت أداة ما قبل الترميز القائمة على التعبيرات النمطية (regex) بسرعة ~47 ميجابايت في الثانية؛ بعد التحسينات (آلة حالة محدودة يدوية، SWAR، مؤشر مزدوج مع توازي على مستوى التعليمات ILP)، ارتفعت السرعة إلى 1049 ميجابايت في الثانية - أي تسريع بمقدار 22.3 مرة. تدعم المكتبة 23 عائلة من أدوات الترميز: GPT-2, GPT-OSS, Llama 3/4, Qwen 2-3.6, DeepSeek V3/R1/V4, GLM 4/5, Kimi K2, Nemotron 3, Phi-4, OLMo 2/3, ModernBERT, Gemma وMistral. يوجد وضعان: وضع التوافق (يحافظ على التكافؤ الدقيق لمخرجات HuggingFace/tiktoken، لكنه يوفر تسريعًا بمقدار 200-300 مرة فقط) والوضع الأصلي (أقصى سرعة). يتم تسريع أدوات الترميز من نوع SentencePiece بمقدار 7-22 مرة، بينما لا تدعم أدوات الترميز من نوع WordPiece. أظهرت إعادة إنتاج مستقلة على منصة KrabArena (4 vCPU من Intel Xeon) تسريعًا بمقدار 26.2 مرة مقارنة مع tiktoken و83.4 مرة مقارنة مع tokenizers.
المصدر: MarkTechPost —
الأصلي
