渋谷駅前で働くデータサイエンティストのブログ

元祖「六本木で働くデータサイエンティスト」です / 道玄坂→銀座→東京→六本木→渋谷駅前

エンジニア・データ分析職の方々にお薦めしたい、LLM時代に不可欠な教養が身に付くテキスト3選


(『IT Text 自然語処理の基礎』より)

3ヶ月ほど前に空前のLLMブームについて概観する記事を書きましたが、それ以降も世間のLLMに対する狂騒ぶりは収まるどころかますます拍車がかかるという有様で、あまつさえ僕自身の仕事における日常業務にもじわじわと影響が及びつつあり、今後も良きにつけ悪しきにつけLLMと共生し続ける必要がありそうだと感じている今日この頃です。


そんな猫も杓子もLLMに群がるが如き空前のブームを受けて、エンジニアやデータ分析職の方々の中には「LLMに興味はあるんだけど世の中にあまりにも多くのLLM関連コンテンツが溢れ返っていて何から手をつけたら良いのか分からない」という向きもあるように見受けられます。そこで、僕も断じてLLM以下生成AIの専門家などではないのですが、個人的に「このテキストを読めばLLM時代を生き抜くことが出来そうだ」と感じた書籍を、全くの独断と偏見で3冊選んでみました。以下にそれぞれの紹介を付しておきます。

LLMの発展を支える、自然言語処理機械学習分野の基礎


1冊目は、随分前に購入したものの実際にはKindleの中で積読したままだいぶ時間が経ってしまい、つい最近になって改めて読んでみたらあまりにも素晴らしかったということで絶賛(僕が)宣伝中の『IT Text 自然言語処理の基礎』です。以下に目次を転載しておきますが、その長大さを見るだけでも内容の充実ぶりが窺えるかと思います。

第1章 自然言語処理の概要
 1.1 自然言語処理の応用
 1.2 コーパス自然言語処理
 1.3 自然言語処理の難しさ
 演習問題

第2章 自然言語処理のための機械学習の基礎
 2.1 機械学習とは
 2.2 教師あり学習
 2.3 特徴量表現
 2.4 パーセプトロン
 2.5 ロジスティック回帰
 2.6 ソフトマックス回帰モデル
 2.7 機械学習モデルの評価
 2.8 正則化
 2.9 ニューラルネットワーク
 2.10 計算グラフと自動微分
 2.11 ニューラルネットワークに関するその他の話題
 演習問題

第3章 単語ベクトル表現
 3.1 記号からベクトルへ
 3.2 素性関数による単語のベクトル表現
 3.3 分布仮説と単語文脈行列
 3.4 特異値分解による次元削減
 3.5 Word2Vec:ニューラルネットワークによる学習
 3.6 単語ベクトルの応用
 3.7 FastText:単語よりも小さな単位の利用
 3.8 単語ベクトル表現の課題と限界
 演習問題

第4章 系列に対するニューラルネットワーク
 4.1 単語ベクトルの合成
 4.2 再帰ニューラルネットワーク(RNN)
 4.3 勾配消失問題と勾配爆発問題
 4.4 長期短期記憶(LSTM)
 4.5 ゲート付き再帰ユニット(GRU)
 4.6 畳込みニューラルネットワーク(CNN)
 演習問題

第5章 言語モデル・系列変換モデル
 5.1 言語モデル・系列変換モデルの導入
 5.2 言語モデルの定式化
 5.3 言語モデルの利用例
 5.4 言語モデルの具体例1:nグラム言語モデル
 5.5 言語モデルの具体例2:ニューラル言語モデル
 5.6 系列変換モデル
 5.7 言語モデルの評価:パープレキシティ
 5.8 未知語問題への対応
 演習問題

第6章 Transformer
 6.1 Transformerの歴史的背景
 6.2 自己注意機構(セルフアテンション)
 6.3 Transformerの構成要素
 6.4 学習時の工夫
 演習問題

第7章 事前学習済みモデルと転移学習
 7.1 事前学習済みモデルの背景
 7.2 デコーダの事前学習:GPT
 7.4 エンコーダ・デコーダの事前学習:BART
 7.5 事前学習済みモデルと知識蒸留
 7.6 事前学習済みモデル利用上の注意点
 演習問題

第8章 系列ラベリング
 8.1 系列ラベリングとは
 8.2 系列ラベリングの定式化
 8.3 点予測による系列ラベリング
 8.4 線形連鎖に基づく条件付き確率場
 演習問題

第9章 構文解析
 9.1 構文解析とは
 9.2 句構造解析
 9.3 依存構造解析
 9.4 さまざまな構文解析手法
 演習問題

第10章 意味解析
 10.1 意味解析とは
 10.2 テキスト間含意関係認識
 10.3 ニューラルネットワークによる意味解析
 10.4 述語項構造解析
 10.5 論理表現
 10.6 セマンティックパージング
 10.7 意味解析のその他の話題
 演習問題

第11章 応用タスク・まとめ
 11.1 機械翻訳
 11.2 質問応答
 11.3 対話
 11.4 自然言語処理の過去・現在

本書の特筆すべき点は、文字通りの自然言語処理の基礎事項から近年のニューラル翻訳やニューラル言語モデルの発展といった「LLMの前身」に当たる概念、さらにはそれらを支えるNNベースの機械学習の基本とその応用、そしてLLMを支えるself-attention / Transformerの概念に至るまで、懇切丁寧に解説しているところです。勿論今をときめくGPTについての解説もあり、割いている紙面は多くありませんが現在問題視されているhallucinationの概念もきちんと説明されていて、LLM時代真っ只中の課題意識にもバッチリ触れられる構成となっています。


特にこの手の専門書にありがちな数式の羅列は比較的抑えられた上で*1、NNモデル構造とそこを流れるテキストデータの様子については図表をふんだんに駆使して分かりやすく説明しており(例えばこの記事冒頭の図など)、「どの言語モデルがどのように言語データを扱っているか」が一目で分かるようになっています。これは僕がこれまでに読んできたNLP関連の書籍の中では群を抜いて分かりやすく書かれていると言っても過言ではなく、おかげさまでNLPに苦手意識のあった僕でもスムーズに読み切れました。


勿論、自然言語処理の「基礎」と題するだけあってLLMに直接は関連しないもののNLPという観点からはむしろ「主戦場」とも言える、構文解析や意味解析といったテーマにも多くの紙面が割かれており、その説明も従来書に比べて非常に分かりやすく僕個人としては大いに助かったという感想です。


ちなみに「それらの自然言語処理を実現するコーディング実装」の説明がないことだけが難点ですが、これは本書に登場するキーワードを日本語でも英語でもググれたGitHub, Stack Overflow, Cross Validated, Qiita, Zennなどなどに幾らでも実装例が出てきますので、あえて本書で取り上げる必要がなかったということだと思われます。まずは本書を一読して「LLMの根幹を成す、現代における自然言語処理の全体像」を把握するというのが、理想的な読み方と言えそうです。


なお僕の現職でかつて同僚だった小田さんが自然言語処理学会誌に寄稿した本書の紹介文でも

前述したように,深層学習以後の自然言語処理の進展は非常に高速である一方,技術としては収斂が進みつつある.また本書では各論文固有のモデルについての言及は少なく,汎用的なモデル構造を紹介する形となっている.これらの観点から,本書の内容が直ちに陳腐化することは避けられると考えられ,信頼できる教科書として長く使用できるのではないかと思われる.

と称賛されており、参考になるかと思われます。彼の紹介文も本書の非常に良いまとめとなっていますので、この記事での紹介と併せて読まれることをお薦めします。


LLMそのものが動く仕組みの概要と、技術的な観点から見た今後の展望と


2冊目は、直近の新刊書で尚且つ一般向け書籍では界隈からの評価が最も高い、PFN創業者の岡野原さんが書かれた『大規模言語モデルは新たな知能か』です。以下に目次を引用しておきます。

序章 チャットGPTがもたらした衝撃
1 大規模言語モデルはどんなことを可能にするだろうか
2 巨大なリスクと課題
3 機械はなぜ人のように話せないのか
4 シャノンの情報理論から大規模言語モデル登場前夜まで
5 大規模言語モデルの登場
6 大規模言語モデルはどのように動いているのか
終章 人は人以外の知能とどのように付き合うのか

縦書きの一般書ということもあり、基本的には数式やコードの類はほぼ出てきません。その代わりに分かりやすい模式図・概念図を多数交えて「LLMが何故広く知られるような挙動を示すか」「LLMにとって何が深刻な課題か」といったLLMユーザーが一番に関心を持ちそうな話題について解説を加えています。その上で、さらにはそのベースとなるニューラル言語モデルに至るまでの過程を、シャノンの情報理論に始まる長い長い歴史として紐解いていき、それに加えて一般論としての「(人工)知能の捉え方」の議論にまで踏み込んでいくという、大変に興味深い構成になっています。


あとがきによればChatGPTが話題を呼び始めた頃に「2週間で一気に書き上げ」たそうですが、そんな駆け足で執筆されたとは思えないくらい充実した内容だと思います。特にLLMがどういう挙動をする代物なのかという解説と、その裏側のメカニズムの開発は流石一般向け書籍なだけあって非常にコンパクトにまとまっています。これまでLLMどころかニューラル言語モデルにも疎かった、という人でも読みやすく分かりやすい一冊と言えるのではないでしょうか。


個人的には、クロスエントロピーの計算などで当たり前のように援用されているシャノンの情報理論が、何故提唱された当時は画期的だったのかという解説と、その頃シャノンが実際に手計算(!)で示したテキスト生成モデルがどんなものであったかを紹介していたところが、強く印象に残りました。


LLMを初めとする生成AIを支える深層学習が直面する、理論的課題の解説


3冊目は、数年来の知己でもある今泉さんが2年前に出された『深層学習の原理に迫る』です。こちらも以下に目次を引用しておきます。

第1章 深層学習の登場
第2章 深層学習とは何か
第3章 なぜ多層が必要なのか
第4章 膨大なパラメータ数の謎
第5章 なぜパラメータの学習ができる?
第6章 原理を知ることに価値はあるか

正確にはLLMというよりそれを支える基礎技術である深層学習(Deep Learning)についての、さらにそのまた根底にある基礎原理の仕組みについて、出来るだけ分かりやすい解説を試みるというかなり野心的な一般書です。2年前の本ではありますが、LLMの数々が示す驚異の性能であったり不可解な挙動といった、現在においても未解明のままの課題の数々について現段階での研究成果をもとに説明してくれる、素晴らしい一冊です。


そのうちのいくつかを例示すると、今泉さんの近年の研究テーマとして知られる「非滑らかさ」の話題が好例でしょう。僕は実際の論文を読んでも1割も分からなかったんですが、本書の解説を読んでようやくその意味と意義とが理解できたという次第です。他にも現在ではgrokkingとして知られる「パラメータを増やし続けると過学習が収まり再び汎化するようになる」現象の解説や、どの局所最適に落ちても損失関数の「底」が広大に広がっているために全て大域最適解になるという「広い大域最適解」説の話題、さらには「宝くじ仮説」として知られる「多数のパラメータを持つNNは内部にサブNNを多数持っていてランダムにそれらが呼び出される」説の紹介なども詳細にされています。


コメントなど


ちなみにこの記事では『IT Text 自然言語処理の基礎』→『大規模言語モデルは新たな知能か』という順に読むことをお薦めする感じになっていますが、実際には「取っ付きやすいと感じた方から読む」のが良いのではないかと思っています。1冊目→2冊目の順であれば「技術的な議論としては難しく見えていたけど実際にはこういう感じだったのか」と後から納得感が出るということもあるかと思いますし、逆に2冊目→1冊目の順なら「平易な解説としてはこれこれのように書かれているけど裏側ではこんな仕組みがあったのか」という種明かし感が得られるのではないかと思われます。


ただ、いずれの順であれ3冊目の『深層学習の原理に迫る』は最後に読んだ方が良いと思います。理由は単純で、一般向け書籍であり且つ数式も極力割愛していながら、展開される議論の抽象度があまりにも高過ぎるからです(笑)。どちらかというと前二者を読んで深層学習がどのように使われていて、どのようなアルゴリズムで動いていて、どれほどの精度が出ているか、ということを理解してから3冊目として読むと色々な気付きが得られるのではないでしょうか。特に、LLMの観点からするとhallucinationの問題はNNの原理的側面が解明されない限り解決されないという観測もあるくらいなので、一通りの議論を知っておくことは有意義なはずです。


ともあれ、巷に溢れる得体の知れない「自称AI専門家」「自称AI研究者」が手掛ける有象無象のweb記事や資料を読んだり彼らが開催するセミナーなどに通うよりは、確かな専門家の方々が著したこれらの書籍を読む方が、よっぽどLLM時代を生き抜く上で不可欠な教養が着実に身につくと思われます。今後もLLMの進歩とそれに連なる狂騒はしばらく続くと予想されますが、それらに惑わされないように確かな見識を持ち続けたいものです……自戒を込めて。


追記


この記事を書いている最中に、技評さんからその名もズバリ『大規模言語モデル入門』という書籍が出る旨アナウンスがありました。7月末の発売だそうです。

*1:ただし具体的なアルゴリズムの解説のところでは必要に応じて数式表現と擬似コードを併用している