今日、自然言語処理関連の情報を調べていたら、Hugging Faceというサイトを見つけました。
GPTやBERTなど、大規模な事前学習モデルが公開されているらしく、気になったので調べてみました。
Hugging Faceとは
Hugging Faceは、主に自然言語処理に関連したライブラリの開発や人工知能のコミュニティを運営しているアメリカの企業のようです。
Hugging Faceのサイトでは、学習済みの機械学習モデルやデータセットなどを公開しているようです。
Hugging Faceが公開しているライブラリ
Hugging FaceのGitHubリポジトリを開くと、開発&公開されているライブラリを確認できます。2022年4月5日時点では、以下の6つのライブラリが公開されています。
- transformers
- datasets
- tokenizers
- accelerate
- optimum
- huggingface_hub
transformers
transformersは、何千もの学習済みモデルを提供してくれるライブラリで、Apache-2.0ライセンスの元で公開されています。
Transfomerという機械学習アーキテクチャは、自然言語処理のイメージが最も強いですが、画像や音声、それらをマルチモーダルに扱うこともできる優れたモデルです。
TransformerやマルチモーダルAIについて気になる方は以下の記事をご覧ください。
近年、注目されている人工知能技術の最先端とも言えるTransformerの学習済みモデルを提供するtransformersは、ぜひ使えるようになったおきたいライブラリの1つだと思います。
datasets
datasetsライブラリは、
- HuggingFace Datasets Hubで公開されている多数のデータセットをダウンロードから前処理まで一括で行ことが可能なdataloader
(PyTorchのdataloaderと類似していますね) - csvやjson、pngなどの自分が用意したデータだけでなく、HuggingFace Datasets Hubで公開されているデータセットに対しても、単純で高速かつ再現可能な前処理を実現
の2つの特徴を持つライブラリです。一言でまとめると、HuggingFace Datasets Hub向けに、機械学習モデルに渡すデータ構造を容易に実現できるdataloaderのためのライブラリといったところでしょう。
tokenizers
パフォーマンスと汎用性を重視し、現時点で最も利用されているトークナイザーの実装を提供します。
accelerate
PyTorch向けに、マルチGPUやTPUなどを簡単に使用するためのライブラリです。
optimum
transformersの拡張機能を提供するライブラリです。具体的には、モデルの学習や実行を目的のハードウェアで最大効率で実現んするためのパフォーマンスの最適化を実現します。
huggingface_hub
Hugging Face Hubからダウンロードしたり、Hugging Face Hubへパブリッシュしたりするためのクライアントライブラリです。
Hugging Faceが公開しているコース
Hugging Face Hubでは、上で紹介したライブラリを使用して、自然言語処理を学ぶことができるコースを公開しています。
このコースを通じて、自然言語処理を学ぶことができるだけでなく、上で紹介したライブラリの使い方についても知ることができるのは、とても良いですね。
https://huggingface.co/course/chapter1/1
Discordのコミュニティ
Discordでコミュニティが開かれています。
Discordで開かれているコミュニティに参加するには、Hugging Faceのサイトの右上にあるプルダウンメニュー開き、Discordをクリックします。