10章Transformerをゼロから学習する

本書の冒頭で、GitHub Copilotという高機能なアプリケーションを紹介しましたが、これはGPTに似たTransformerを用いてコードの自動補完を行うものです。新しい言語やフレームワークでのプログラミング、コードの学習、あるいは定型コードの自動生成にとくに有用な機能となっています。このような目的でAIモデルを利用する製品としては、TabNine(https://tabnine.com)やKite(https://kite.com)があります。その後、「5章 テキスト生成」で、GPTを使って高品質のテキストを生成する方法について詳しく説明しました。本章では、GPTのようなモデルを構築し、Pythonのソースコードを生成します。このモデルをCodeParrotと呼ぶことにしましょう。

これまでは、ラベル付きデータの量が限られた、データに制約のあるアプリケーションを主に扱ってきました。このような場合、転移学習は性能の良いモデルを構築するのに役立ちます。「9章 ラベルのないまたは少ない状況への対応方法」では、転移学習を極限まで利用し、学習データをほとんど利用しないモデルを構築しました。

本章では、もう一方の極端な状況として、大規模なデータがあるときにできることを紹介します。本章では、事前学習のステップそのものを検討し、ゼロからTransformerを学習する方法を学びます。この問題に取り組む中で、次のような学習の側面について初めて考えることになるでしょう。

  • 非常に大規模なデータセットの収集と処理
  • 用意したデータセット専用のトークナイザーの作成
  • 複数のGPUを使ったモデル学習のスケーリング

何十億ものパラメータを持つ大規模なモデルを効率的に学習するためには、分散学習のための特別なツールが必要になります。 ...

Get 機械学習エンジニアのためのTransformers ―最先端の自然言語処理ライブラリによるモデル開発 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.