新刊ピックアップ
「大規模言語モデル入門」の前書きを公開!
「大規模言語モデル入門」
前書き
ChatGPTをはじめとする大規模言語モデルが世界的に大きな注目を集めています。大規模言語モデルは、大規模なテキストデータを使って訓練された大規模なパラメータで構成されるニューラルネットワークです。自然言語処理や機械学習の研究で培われてきた多くの知見をもとに開発され、特に2020年以降にパラメータ数およびテキストデータを大規模化することで飛躍的に性能が向上しました。近年の大規模言語モデルは非常に高性能であり、コンピュータが我々の住む世界のことをよく理解し、人間と自然にやりとりできるような新しい能力を獲得したと言えるでしょう。
また、近年はライブラリの充実や計算環境の普及にともなって、プログラミングの経験が少しあれば、ニューラルネットワークのモデルを手軽に動かしたり、データから学習させたりすることができるようになりました。大規模言語モデルの開発では、Hugging Faceが開発するtransformersというPythonライブラリが標準的に利用されています。このライブラリは、非常に洗練されたインターフェイスを提供しており、数十行程度のコードを書くだけで高度な処理を実装できます。本書は大規模言語モデルの技術的な側面に興味を持つ方に向けた入門書です。執筆にあたっては、理論と実装
本書の後半では、代表的な自然言語処理タスクについてtransformersなどを使って手を動かしながら、自然言語処理モデルの開発を学びます。本書ではすべて日本語のデータセットを使っており、実用的に使える日本語自然言語処理のモデルを作成します。本書の内容を一通り読むことで、大規模言語モデルのしくみを理解するとともに、自然言語処理のさまざまな課題を解決するモデルを開発できる基礎的な知識が身に付くはずです。
大規模言語モデルは新しい技術であり、実世界の問題をどのように解決できるのかはまだ未知数です。しかし、今後は特定の用途に特化したモデルが多数開発されていき、実用化における個別の課題を乗り越えて、非常に幅広い問題に応用されていくことは間違いないように思われます。こうした中で、本書は、現場で大規模言語モデルの開発や研究に携わる人に役立つ日本語のまとまった書籍を作りたいという想いから始まりました。本書をきっかけに、大規模言語モデルに携わる人が増えることで、日本国内における研究や開発、ひいては産業の活性化につながることを願っています。
対象読者と内容について
本書は、大規模言語モデルに興味のあるエンジニア、学生、研究者を対象にしています。
本書は、機械学習もしくはプログラミングの書籍の1冊目に読む本としておすすめできる本ではありません。本書では、Python プログラミングに関する基本的な知識があることを前提にしています。また、書籍内では機械学習・
本書の構成
本書は、前半が理論編、後半が実装編になっています。理論編は基本的な内容から、執筆時点の最先端の内容まで順に解説しています。実装編は各章があまり依存せずに独立して読めるようになっており、興味のある章から読んだり、必要になった際に読んだりすることができるようになっています。
近年の大規模言語モデルの使い方として、自前の訓練データを使って再学習
第1章では、transformers を使ってコードを動かしながら基本的な自然言語処理のタスクについて概観したあと、単語埋め込みから大規模言語モデルまでの変遷と大規模言語モデルの概要について説明します。第2章から第4章が理論編です。大規模言語モデルは、分野としては急速に進展していますが、実はTransformerという優れたニューラルネットワークを大量のテキストデータを使って事前学習するという方法自体は変化していません。理論編では、大規模言語モデルを実現する技術に焦点をあてて詳しく解説します。第2章では、Transformer のしくみを各構成要素から詳細に説明します。第3章では、代表的な大規模言語モデルであるGPT、BERT、T5の事前学習、ファインチューニング、transformersでの基本的な使い方について解説したあと、トークナイゼーションや日本語の扱いについて説明します。第4章では、ChatGPTに代表されるテキストを生成する能力を持つ大規模言語モデルの近年の進展について解説します。特にモデルの大規模化による創発的能力の獲得や文脈内学習、アライメントを中心に扱います。
第5章から第9章までが実装編になっています。第5章では、日本語の言語理解能力をはかる標準的なデータセットであるJGLUEに含まれる感情分析、自然言語推論、意味的類似度計算、多肢選択式質問応答の四つのタスクを通じて、transformersを使った日本語自然言語処理の実装の基礎について説明します。第6章では、系列ラベリングという方法を用いて、固有表現認識モデルを開発します。固有表現認識の基礎を説明し、BERTを使った日本語固有表現認識モデルを実装した後、固有表現認識のデータセットを自分で構築する方法を紹介します。第7章は、系列変換という方法を用いた要約生成モデルを作成します。要約生成の基礎的な事項を説明し、T5 を用いて記事の見出しを自動生成するモデルを実装します。第8章では、文やパッセージを一つのベクトルとして表現する文埋め込みモデルを開発します。代表的な文埋め込みモデルであるSimCSEを実装し、任意のテキストに対してWikipediaから類似したテキストを検索できるシステムを作成します。
さて、第5章から第8章では大規模言語モデルを再学習することで自然言語処理のモデルを開発する方法を扱いました。第9章では、ChatGPTをAPI経由で使用して、日本語のクイズ問題を解く質問応答システムを開発します。質問応答についての基礎とChatGPTをAPI経由で使う基本的な方法を解説したあと、日本語の質問応答コンペティション
ソースコード
本書のソースコードは下記のGitHubリポジトリで公開されています。
https://
本書のソースコードは第7章・