# HuggingFaceで実装されたモデルの論文、上から読むか?下から読むか? **※これは[2021年HUITアドベントカレンダー8日目](https://qiita.com/advent-calendar/2021/huit)の記事です。** こんにちは。題意の通りです。僕は上から読みました。 ## huggingfaceとは🤗 slackでは`:hugging_face:`、discordでは`:hugging:`って打つと出てくるアレ(🤗)です。 Pytorch、TensorFlow、JAX向けに、NLPを主としたライブラリを提供しています。 <iframe src="https://hatenablog-parts.com/embed?url=https://huggingface.co/" title="" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;"></iframe> ただ、最近はTransformerの音声処理、画像処理への応用が急激に進んでいるため、自然言語以外の処理も可能なライブラリも多く提供されています。 _<center><img src="https://i.imgur.com/WMmpbPB.png" width="230px"/><br><a href="https://huggingface.co/docs/transformers/index">huggingface</a>で実装されている例</center>_ ## 動機 NLP系のモデルを「誰か実装してるかな〜」って探すと、大体huggingfaceで実装されてます。 じゃあ逆に、**huggingfaceで実装されてるモデルを全て知っておけば、自分がいずれ必要とするモデルを網羅できるのではないか!?** と思いやってみました。 ## やること 「あ〜読んだな」ぐらいの理解度(自己満足)を目指します。 非NLPerの方々は公式ドキュメントがないので、読んでみて「最近のNLPはこんなことしてるんだな〜」ぐらいに思ってもらえれば十分です。 :::danger 将来的に機械学習を研究したい方は、こういった誰かがまとめたものじゃなくて**論文のリンクを貼っておくので、ソースを自分の目で読むことを強く勧めます**。 ::: ## 事前に知っておくといいキーワード - 機械学習 - Tranformer - 事前学習(Pre-training) - Fine-tuning - 自然言語処理(NLP) - SOTA(state-of-the-art) ## やってみた 大体上から読んで、進捗:9/88です。流石に5日程で全部は無理だったので諦めました。 公式ドキュメントはアルファベット順に並んでいるのでその順序で読みましたが、日付順の方がモデルの改善の流れがわかると思うので、以下は日付順です。 ### [BERT<img src="https://www.space-i.com/wp-content/uploads/2019/11/bert-1.png" width="20px"/>](https://hackmd.io/@gojiteji/Hk-AlxKKK) - 提出日:2018/10/11 ### [BertGeneration](https://hackmd.io/@gojiteji/BJoF7e6KK) - 提出日:2019/7/29 ### [ALBERT<img src="https://userdisk.webry.biglobe.ne.jp/022/089/64/N000/000/017/145910774923681173178.jpg" width="20px"/>](https://hackmd.io/@gojiteji/rk-m3JttK) - 提出日:2019/9/26 ### [T5](https://hackmd.io/@gojiteji/SJE9E63YY) - 提出日:2019/10/23 ### [BART<img src="https://static.wikia.nocookie.net/simpsons/images/6/65/Bart_Simpson.png/revision/latest/scale-to-width-down/500?cb=20190409004756" width="20px"/>](https://hackmd.io/@gojiteji/B1wwhJYtY) - 提出日:2019/10/29 ### [BERTweet](https://hackmd.io/@gojiteji/H1VJYo9tt) - 提出日:2020/5/20 ### [BARThez](https://hackmd.io/@gojiteji/rJYdQzKtF) - 提出日:2020/10/23 ### [BEiT](https://hackmd.io/@gojiteji/rJE0RmYtY) - 提出日:2021/7/15 ### [BARTpho](https://hackmd.io/@gojiteji/SyepAmtYY) - 提出日:2021/9/20 <続く..> ## 最後にひとこと BERT(Transformer)がいかにNLPにおいてブレイクスルーとなったか、なんとなくわかってもらえたでしょうか。 いつかは全てまとめなくとも、読んでおきたいです。 ## 参考 - 勤労感謝の日なのでChainerの勤労(Training)に感謝してextensionsを全部試した話 https://ensekitt.hatenablog.com/entry/2016/11/24/012539 本記事はこのブログに触発されて書きました