Published on

transformers v4.9.0のリリース

Author
株式会社イエローバックの機械学習エンジニアです

はじめに

HuggingFace transformers v4.9.0 がリリースされました。 リリースノートをもとに v4.9 系の変更点を確認していきます。

ONNX 形式の export

Open Neural Network Exchange(ONNX)形式へのエクスポートが簡単に行えるようになったようです。

python -m transformers.onnx --model=bert-base-cased onnx/bert-base-cased/

CANINE モデル

用途: 自然言語処理

ByT5 と同様に Google Research によるトークン化を行わないバイトレベルのモデルです。

以下のチェックポイントが Hugging Face Hub で公開されています。

  • google/canine-s (subword loss)
  • google/canine-c (autoregressive character loss)
  • nielsr/canine-s
  • nielsr/canine-c

Tokenizer 学習

既存のトークナイザの設定をベースに新たにトークナイザを学習できるようになりました。

TensorFlow examples

TFTrainer が終了して、Keras に置き換わります。そのため各種 examples が修正されました。

HuBERT TensorFlow モデル

HuBERT モデルが TensorFlow で実装されました。

重大な変更

これまではTrainingArgumentsload_best_model_at_end が True に設定されていた場合、save_strategyeval_strategy で異なる値を設定しても、save_strategy が eval_strategy で上書きされていました(ベストモデルを追跡する場合には、保存するたびに評価する必要があります)。 そのため、この状況では、save_strategyeval_strategyを同じ値に設定することを示すエラーが発生し、その値が「steps」の場合、save_stepseval_stepsの倍数である必要があります。

その他

いろいろ改善や修正などがありました。

  • Flax/JAX 関連はとくに活発
  • DeepSpeed 関連

まとめ

v4.9 では ONNX 形式へのエクスポートや CANINE モデルのサポートに加えて、細かな改善や修正などが多く入っています。