ailia Tokenizer 1.3をリリース

Kazuki Kyakuno
axinc
Published in
7 min readAug 5, 2024

テキストとトークンを相互変換するailia Tokenizer 1.3をリリースしました。新たにPython APIを提供し、ailia MODELSへの適用を行います。

ailia Tokenizerの概要

ailia Tokenizerは、テキストとトークンを相互変換するライブラリです。AIで自然言語処理する場合、トークナイザを使用して、テキストをAIで扱えるトークンに変換する必要があります。従来、この処理はTransformersで行われていましたが、TransformersはPython APIしか提供されていないため、C++やUnity、Flutterから扱いにくいという課題がありました。ailia Tokenizerは、クロスプラットフォームで利用可能なトークナイザを提供します。

ailia Tokenizer 1.3

ailia Tokenizer 1.3の新機能

新しいトークナイザの追加

新しいトークナイザとして、GPT2、LLAMAに対応します。GPT2はGPT2、MSCLAP、BLIP2で、LLAMAはllavaで使用されています。

高速化

WhisperやClipのBPEのロジックを見直し、高速化を行なっています。

Python APIの提供

Transformers互換のAPIを追加し、Pythonから呼び出すことができるようになりました。Transformersは、バックエンドにTensorFlowとTorchを使用しているため、下記の課題があります。

・ライブラリの読み込みに時間がかかる
・Dockerで使用した場合にイメージサイズが大きくなる
・Torchで使用しているcuDNNとailia SDKやONNX RuntimeのcuDNNのバージョンが競合することがある
・TransformersのAPI仕様の変更により同じ引数でも挙動が変化してモデルが動かなくなる

ailia Tokenizerはこれらの問題を解決し、依存関係の少ない、安定したトークナイザを提供します。

ailia MODELSにおけるailia Tokenizerの利用

ailia TokenizerのPython APIの提供に伴い、ailia MODELSの全てのモデルでTransformersではなく、ailia Tokenizerを使用するようになりました。

ailia MODELSの336モデルのうち、Tokenizerを使用するのは下記の39モデルです。

audio_processing/clap
audio_processing/distil-whisper
audio_processing/msclap
audio_processing/kotoba-whisper
diffusion/latent-diffusion-txt2img
diffusion/stable-diffusion-txt2img
diffusion/control_net
diffusion/riffusion
diffusion/marigold
image_captioning/blip2
image_classification/japanese-stable-clip-vit-l-16
image_classification/japanese-clip
large_language_model/llava
natural_language_processing/bert
natural_language_processing/bert_insert_punctuation
natural_language_processing/bert_maskedlm
natural_language_processing/bert_ner
natural_language_processing/bert_sentiment_analysis
natural_language_processing/bert_tweet_sentiment
natural_language_processing/bertjsc
natural_language_processing/cross_encoder_mmarco
natural_language_processing/fugumt-en-ja
natural_language_processing/fugumt-ja-en
natural_language_processing/multilingual-e5
natural_language_processing/sentence_transformers_japanese
natural_language_processing/t5_base_japanese_title_generation
natural_language_processing/bert_sum_ext
natural_language_processing/bert_zero_shot_classification
natural_language_processing/t5_base_japanese_summarization
natural_language_processing/t5_whisper_medical
natural_language_processing/gpt2
natural_language_processing/rinna
natural_language_processing/bert_question_answering
natural_language_processing/glucose
natural_language_processing/bert_maskedlm_proofreeding
natural_language_processing/soundchoice-g2p
network_intrucation_detection/bert-network-packet-flow-header-payload
network_intrucation_detection/falcon-adapter-network-packet
object_detection/glip

下記のオプションを使用することで、従来通り、Transformersを使用することもできます。

--disable_ailia_tokenizer

ailia Tokenizerのより詳しい情報

ailia Tokenizerのより詳しい情報は下記の記事を参照してください。

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--

Kazuki Kyakuno
axinc
Editor for

CTO — ax Inc. , Managing Director — AXELL