Gigatoken: Nowy tokenizer BPE na Rust koduje tekst z prędkością 24,53 GB/s, 989x szybciej niż HuggingFace
Marcel Rød, doktorant ze Stanfordu, zaprezentował Gigatoken – nowy tokenizer BPE napisany w Rust, który osiąga rekordowe prędkości przetwarzania tekstu, znacznie przewyższając istniejące rozwiązania.

Tokenizacja, często pomijana w analizie wydajności modeli językowych, zyskuje nowe światło dzięki projektowi Gigatoken. Opracowany przez Marcela Røda, doktoranta ze Stanfordu, i udostępniony na licencji MIT, ten tokenizer BPE (Byte-Pair Encoding) napisany w języku Rust z wiązaniami dla Pythona, rewolucjonizuje prędkość przetwarzania tekstu, osiągając gigabajty na sekundę na pojedynczej maszynie.
Rekordowa wydajność Gigatokena
Testy przeprowadzone na korpusie owt_train.txt o wielkości 11,9 GB z wykorzystaniem procesora AMD EPYC 9565 (144 rdzenie, konfiguracja dual-socket) wykazały, że Gigatoken przetwarza dane z oszałamiającą prędkością 24,53 GB/s. Dla porównania, tiktoken OpenAI osiągnął 36,0 MB/s, a tokenizery HuggingFace zaledwie 24,8 MB/s na tej samej konfiguracji sprzętowej. Oznacza to przewagę wydajnościową Gigatokena odpowiednio 681x i 989x.
Imponujące wyniki powtórzyły się również na innych platformach. Na Apple M4 Max (16 rdzeni) ten sam test GPT-2 osiągnął 8,79 GB/s, co stanowi 1268-krotne przyspieszenie w stosunku do tokenizatorów HuggingFace i 140-krotne w stosunku do tiktokena. Na konsumenckim procesorze AMD Ryzen 7 9800X3D prędkość wyniosła 6,27 GB/s, czyli 106x i 68x szybciej. Marcel Rød podkreśla, że te przyspieszenia nie są efektem specyfiki jednego procesora czy słownika.
Gigatoken (wersja 0.9.0, wydana 21 lipca 2026) jest dostępny w PyPI i można go zainstalować za pomocą pip install gigatoken. Repozytorium projektu składa się w 66,2% z kodu Rust i w 33,3% z Pythona. Obsługuje 23 różne rodziny tokenizatorów, w tym popularne modele takie jak GPT-2, Llama 3-4, Qwen 2-3.6, DeepSeek V3/R1/V4, GLM 4-5, Gemma i Mistral.
Dwa tryby działania i źródła optymalizacji
Gigatoken oferuje dwa tryby użytkowania:
- Tryb kompatybilności: Umożliwia opakowanie istniejącego tokenizera HuggingFace lub tiktoken, zachowując dokładną zgodność wyjścia. Marcel Rød zaznacza, że w tym trybie, ze względu na narzut Pythona związany z tworzeniem list i konwersją string-to-bytes, wydajność spada do około 200-300x przyspieszenia.
- Natywne API Gigatokena: Pozwala Rustowi na bezpośrednie odczytywanie plików, co jest źródłem publikowanych, rekordowych wyników wydajności.
Kluczowe zyski wydajnościowe Gigatokena nie pochodzą z ulepszonej pętli łączenia BPE, lecz z dwóch obszarów, które większość tokenizatorów traktuje jako rozwiązane:
- Pretokenizacja: Zamiast delegować to zadanie do silnika wyrażeń regularnych, Gigatoken implementuje je ręcznie. Dziennik optymalizacji pokazuje, że to podejście zapewnia 2,27x przewagę nad bazową wersją winnow + NEON i 22,3x nad implementacją opartą na wyrażeniach regularnych.
- Buforowanie pretokenów: Jeśli słowo zostało już wcześniej przetworzone, jego zakodowane tokeny są wyszukiwane w pamięci podręcznej zamiast być ponownie obliczane. Marcel Rød podkreśla, że jest to trudne do zaimplementowania w praktyce ze względu na szybki wzrost pamięci podręcznej i długi ogon rozkładu pretokenów. Dodatkowo, interakcje z Pythonem są minimalizowane, a wątki zaprojektowane tak, aby minimalnie oddziaływały na siebie.
Należy zaznaczyć, że porównanie nie jest w pełni bezpośrednie. Gigatoken koduje całe, niepodzielone pliki, samodzielnie znajdując granice dokumentów i automatycznie równolegle przetwarzając dane. W przeciwieństwie do tego, HuggingFace (encode_batch_fast) jest oceniany na pierwszych 100 MB, a tiktoken (encode_ordinary_batch) na pierwszych 1 GB, oba już podzielone na |endoftext|. Ponieważ rozwiązania bazowe pomijają buforowanie, ich przepustowość pozostaje jednolita.
Chociaż główne przyspieszenia dotyczą BPE, Gigatoken oferuje również znaczące ulepszenia dla tokenizatorów SentencePiece, choć o rząd wielkości niższe. Na EPYC, Gemma 1 przetwarza z prędkością 2,51 GB/s (7,3x przyspieszenie), Gemma 3 z 3,43 GB/s (9,6x), a CodeLlama z 3,47 GB/s (10,0x).
Niezależna weryfikacja na KrabArena potwierdziła te wyniki. Na maszynie wirtualnej Intel Xeon z 4 vCPU, Gigatoken 0.9.0 osiągnął medianę 277,8 MB/s na 174 MB wycinku OpenWebText, przewyższając tiktoken 0.13.0 (10,62 MB/s) o 26,2x i tokenizery 0.23.1 (3,33 MB/s) o 83,4x.
Znaczenie dla rozwoju AI
Wprowadzenie Gigatokena przez Marcela Røda stanowi istotny krok naprzód w dziedzinie przetwarzania języka naturalnego. Znaczące przyspieszenie procesu tokenizacji może mieć dalekosiężne konsekwencje dla rozwoju i wdrażania dużych modeli językowych. Szybsze przetwarzanie danych wejściowych oznacza krótszy czas treningu modeli, efektywniejsze wykorzystanie zasobów obliczeniowych oraz możliwość pracy z większymi korpusami tekstowymi, co w efekcie może prowadzić do tworzenia bardziej zaawansowanych i wydajnych systemów AI. Projekt ten podkreśla również, jak ważne jest optymalizowanie nawet tych elementów stosu technologicznego, które są często niedoceniane, otwierając drogę do dalszych innowacji w obszarze sztucznej inteligencji.
Źródło: marktechpost.com
Komentarze
Zaloguj się, aby dołączyć do dyskusji.
Nikt jeszcze nie skomentował. Bądź pierwszy!
Czytaj dalej

Kimi K3 Moonshot AI daleko za czołowymi modelami USA w cyberbezpieczeństwie, destylacja może być przyczyną
Brytyjskie i amerykańskie instytuty oceniły model Kimi K3 firmy Moonshot AI, który znacząco ustępuje czołowym modelom z USA w zadaniach ofensywnych cybernetycznie, choć wyprzedza chiński GLM-5.2.
Redakcja Aigest4 godz. temu

AegisAI pozyskuje 36 mln dolarów na walkę z phishingiem wspomaganym przez AI
Firma AegisAI, założona przez byłych menedżerów bezpieczeństwa Google, zebrała 36 milionów dolarów w rundzie finansowania Serii A, aby rozwijać technologię zwalczającą ataki phishingowe napędzane sztuczną inteligencją.
Redakcja Aigest19 godz. temu

IBM zapewnia, że AI nie zabija mainframe'ów, mimo fatalnego kwartału
IBM odnotowało zaskakująco słabe wyniki finansowe, głównie z powodu spadku sprzedaży mainframe'ów, ale zarząd firmy utrzymuje, że sztuczna inteligencja nie jest przyczyną problemów.
Redakcja Aigestwczoraj

Samsung rozważa miliardową inwestycję w Mistral, wyceniając startup na 20 mld euro
Samsung prowadzi rozmowy w sprawie zainwestowania do miliarda euro we francuski startup AI Mistral, co podniosłoby jego wycenę do około 20 miliardów euro. To kolejny krok koreańskiego giganta w umacnianiu pozycji w branż
Redakcja Aigest2 dni temu

Symulacje kluczowe dla rozwoju fizycznej sztucznej inteligencji: przegląd silników
Rozwój fizycznej sztucznej inteligencji napotyka na wyzwania związane z dostępnością danych, co sprawia, że symulacje stają się nieodzownym narzędziem. Nowoczesne silniki symulacyjne, takie jak MuJoCo, Isaac Sim i Newton
Redakcja Aigest2 dni temu

Google wprowadza nowe modele Gemini Flash: 3.6 Flash, 3.5 Flash-Lite i 3.5 Flash Cyber
Google rozszerzyło swoją ofertę modeli Gemini Flash, wprowadzając 3.6 Flash, 3.5 Flash-Lite oraz 3.5 Flash Cyber. Nowe wersje charakteryzują się niższymi kosztami i większą efektywnością tokenów, co ma wspierać obciążeni
Redakcja Aigest2 dni temu
Bądź na bieżąco ze światem AI
Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.