HuggingFace Transformers Course(1章)
2017年に「[1706.03762] Attention Is All You Need」が出されて以降、Transformer(パーツはAttention)を使った手法が現在の自然言語処理の主流の手法となっている。 Transformerの実装ではHugging Faceのライブラリを使うことが多いのでこの機会に体形立てて学習しておくと良いだろう。 オンラインコースの参考になった部分について紹介していく。 各章の最後には章の内容に関するクイズがあるので理解を深めることができる。
1章 : Transformer models
1章はTransformerモデルの説明が書かれている。
NLP(Natural Language Processing)とは何かというところからNLPで解決したい各タスクに対してTransformersライブラリのpipeline
を使ったコードとともに記載されている。
例えば、以下のようなタスクに対して適用できる。
- 特徴選択 : feature-extraction (get the vector representation of a text)
- マスク当て : fill-mask
- 固有表現抽出 : ner (named entity recognition)
- 質問応答 : question-answering
- 感情分析 : sentiment-analysis
- 文章要約 : summarization
- 文章生成 : text-generation
- 翻訳 : translation
- ゼロショット分類 : zero-shot-classification
Tranformerの歴史
Transformerモデルは以下のような3つの種類に分けることができる。
- GPT-like(auto-regressive)
- BERT-like(auto-encoding)
- BART/T5-like(sequence-to-sequence)
GPT-likeのモデルはTransformerのDecoderを用いている。 文章生成のような生成タスクにおいてDecoderを使うと良い。
BERT-likeのモデルはTransformerのEncoderを用いている。 BERT-baseは12層のTransformerのEncoder部分(BertLayerモジュール)を使っている。 文章分類や固有表現抽出のようなインプットの理解が必要なタスクに使うと良い。
BART/T5-likeのモデルはTransformerのEncoder-Decoderの両方を用いている。 翻訳や文章要約のようなインプットを必要とする生成タスクではEncoder-Decoderの両方を用いる
以下の表がモデルと例、タスクを整理しておりわかりやすい。
EncoderとDecoder
Encoderは図の左の部分、Decoderは図の右の部分。
オリジナルのTransformerのアーキテクチャの図は以下。
ACMの会員ならオライリー本が読み放題
2021年6月2日
毎日発信の難しさ
早速、昨日は何もかけなかった。ブログで毎日何かしらのことを書こうと思うと難しい。 会社だと日報形式でその日やった仕事のことを書けるが、それ以外の日常生活で1日の中で何かやったのかと思うと何もやっていない。
ちょっとしたミスで時間をロスするのがもったいない
最近はちょっとしたミスで時間をロスすることが多い。 例えば、pythonのコードを実行するシェルスクリプトを書いて標準出力としてリダイレクトしたい場合 ファイルがないとなぜか怒られる→引数が3個だから多すぎる? pythonのコマンドラインって長さに制限がある?
結局は標準出力先の途中のディレクトリが存在していなかったり。。
他にはgit push
しようとしたけど、pushできない。
結局は本来とは違うディレクトリからpushしようとしていたり。。
結論としては単純ミスだけど、そこに至るまでの課程が悪いのかな、切り分け力が落ちているのかもしれない。
三井住友銀行のATM無料回数変更
2021年5月30日
duolingo学習
昨日に引き続きduolingoを使って英語学習をしている。 今日は自身がクリアしていないステージがあったとしても先のチェックポイントに挑戦できるということに気づいた。 早速、先のチェックポイントに挑戦し、クリアした。 するとそのチェックポイントまでのステージに挑戦できるようになり、学習の幅が広がった。
Niziu
Niziuのダンス動画を見る機会があり見ていたが、Niziuは9人いることに今更気づいた。 ダンスを練習するなら以下が良い。
頭痛
昨日の頭痛はやはり暑い中外にいたからだろう。今日1日家にいたら、マシになった。 sktshk.hatenablog.com
2021年5月29日
duolingoを始める
語学学習のため、duolingoを始めた。まずは英語でやっている。 アプリをインストールして、30分ほどやった感想としては、ゲーム感覚で楽しく学べることが大きい。 最初は少し簡単すぎるかなと思ったが、徐々にレベルが上がっていくのだろう、楽しみ。
娘も興味があるようで一緒にやっている。 特にリスニングの問題ではけっこうな精度で発音しているので驚く。(一部正解できていた)
レアジョブを始める
最近英語を使う機会が増えてきたこともあり、英語のスピーキングとリスニングの練習のため、レアジョブを始めた。 以前はLangrich(今はEnglishCentral)をしていたのだが、他のサービスも試してみたかったので今回はレアジョブにした。
最初の無料レッスンでは自身の英語力をテストしてくれる。 いくつかの質問に答えることで講師の方がレベルを測定してくれる。 今回はレアジョブレベルでいうと10段階評価で6だった。
https://www.rarejob.com/experiences/speakingtest_progos/
これはCEFRという語学のコミュニケーション能力の国際標準規格に基づいているらしい。 目指すべき到達点が明確になるので自身の客観的なレベルがわかるのは大変良かった。 どうせやるなら、高いレベルまで目指したい。
もうけっこう暑い
家族で公園に出かけた。 もう日差しが暑いのとテントの中で少し寝たら軽い熱中症になったのか、頭が痛くなった。
今後は外出時は帽子が必要なのと厚さ対策もしないとなぁ。