Try   HackMD

HuggingFaceで実装されたモデルの論文、上から読むか?下から読むか?

※これは2021年HUITアドベントカレンダー8日目の記事です。

こんにちは。題意の通りです。僕は上から読みました。

huggingfaceとは🤗

slackでは:hugging_face:、discordでは:hugging:って打つと出てくるアレ(🤗)です。

Pytorch、TensorFlow、JAX向けに、NLPを主としたライブラリを提供しています。

ただ、最近はTransformerの音声処理、画像処理への応用が急激に進んでいるため、自然言語以外の処理も可能なライブラリも多く提供されています。

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

huggingfaceで実装されている例

動機

NLP系のモデルを「誰か実装してるかな〜」って探すと、大体huggingfaceで実装されてます。

じゃあ逆に、huggingfaceで実装されてるモデルを全て知っておけば、自分がいずれ必要とするモデルを網羅できるのではないか!? と思いやってみました。

やること

「あ〜読んだな」ぐらいの理解度(自己満足)を目指します。

非NLPerの方々は公式ドキュメントがないので、読んでみて「最近のNLPはこんなことしてるんだな〜」ぐらいに思ってもらえれば十分です。

将来的に機械学習を研究したい方は、こういった誰かがまとめたものじゃなくて論文のリンクを貼っておくので、ソースを自分の目で読むことを強く勧めます

事前に知っておくといいキーワード

  • 機械学習
  • Tranformer
  • 事前学習(Pre-training)
  • Fine-tuning
  • 自然言語処理(NLP)
  • SOTA(state-of-the-art)

やってみた

大体上から読んで、進捗:9/88です。流石に5日程で全部は無理だったので諦めました。

公式ドキュメントはアルファベット順に並んでいるのでその順序で読みましたが、日付順の方がモデルの改善の流れがわかると思うので、以下は日付順です。

BERT

  • 提出日:2018/10/11

BertGeneration

  • 提出日:2019/7/29

ALBERT

  • 提出日:2019/9/26

T5

  • 提出日:2019/10/23

BART

  • 提出日:2019/10/29

BERTweet

  • 提出日:2020/5/20

BARThez

  • 提出日:2020/10/23

BEiT

  • 提出日:2021/7/15

BARTpho

  • 提出日:2021/9/20

<続く..>

最後にひとこと

BERT(Transformer)がいかにNLPにおいてブレイクスルーとなったか、なんとなくわかってもらえたでしょうか。

いつかは全てまとめなくとも、読んでおきたいです。

参考