Facebookのテキスト分類ライブラリfastTextがモデルのサイズを縮減してモバイルにも対応

今朝(米国時間5/2)、Facebookの人工知能研究所(Facebook AI Research, FAIR)が、同社の超高速でオープンソースのテキスト分類ライブラリfastTextのアップデートをリリースした。発表された当初のfastTextは90の言語の語ベクトルで訓練されていたが、今回のアップデートで295言語になる。また、モデルのサイズ、ひいてはメモリの必要量を抑える工夫が盛り込まれている。

fastTextのようなテキスト分類機能があれば、言語分析に依存する多国語ツールの開発が容易になる。クリックベイト(釣りネタ)のタイトルを見つけたり、スパムをフィルタするためには、言葉を解釈して分類する機能が必要だ。

fastTextは元々、対応ハードウェアの種類や性能を問わない、という設計だったが、でも、実行には数ギガバイトのメモリを要した。高度なハードウェアを贅沢に使える研究所ならそれでもよいが、モバイルでそれをやるのは、到底無理だ。

でも今回は、Facebookのもうひとつのオープンソースプロジェクト類似性検索(Facebook AI Similarity Search, FAISS)とのコラボレーションで、メモリの必要量を数百キロバイトに抑えることができた。FAISSは、大量のデータを扱うことにどうしても伴うメモリの問題を、部分的に解決している。

膨大な量の情報のコーパスは、多次元のベクトル空間でうまく表現できる場合が多い。Facebookなど多くの企業が、これらのベクトルの比較をコンテンツとユーザー選好を比較するために最適化しているが、コンテンツを他のコンテンツと比較することも重要だ。そのためにFAISSのチームが導入した方法が、fastTextのメモリ要量の縮減に大きく寄与した。

“特徴枝刈り(feature pruning)や量子化、ハッシング、再訓練など、いくつかのテクニックを使ってテキスト分類モデルのサイズを、よく使われるデータ集合で訓練したときには100KB未満に縮小することができた。正確さやスピードは、犠牲にしていない”、とFacebookの研究者たちは2016年12月のペーパー“fastText.zip: Compressing Text Classification Models”で述べている。

その研究者たちは、今後はさらなるモデルサイズの縮減が可能だ、と仮説を述べている。その場合、スピードを維持しつつモデルを縮小することが課題になる。でも今日からは、GitHub上のアップデートされたライブラリにアクセスして、研究と工夫を始めることができる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa))