ありがたいことに、「AWSではじめる生成AI」を献本いただきました。
AWSではじめる生成AI
―RAGアプリケーション開発から、基盤モデルの微調整、マルチモーダルAI活用までを試して学ぶChris Fregly、Antje Barth、Shelbee Eigenbrode 著、久富木 隆一 訳、本橋 和貴、久保 隆宏 技術監修
発売日に合わせて書評をと思ったのですが、サラッと読んで理解できる本ではなかったので、読んだところまでで、ご紹介させていただきたいと思います。
まえがき
まえがきでは、6月開催のAWS Summit Japan 2024に触れられています。原著を単純に翻訳するだけでなく、できるだけ最新の情報を盛り込んでくれています。
原著では、「Pythonや深層学習の基本要素についてはすでに知識があるもの」を想定されていますが、日本語版では概念についての解説が訳注として追加されています。このあたりも嬉しい点だなと思いました。
1章 生成AIのユースケース、基礎、プロジェクトライフサイクル
生成AIのユースケースから基盤モデルとはなにかといった解説だけでなく、「生成AIプロジェクトのライフサイクル」に触れられているのがポイントです。
生成AIモデルの学習とデプロイ以外にも、様々なステップについて解説されており、また、それぞれのステップが2章以降のどこに関連するかが示されており、読み進める指針にもなります。
章の後半は、AWSが提供するサービスや、なぜAWSなのかといった内容が解説されています。
2章 プロンプトエンジニアリングとコンテキスト内学習
この章ではプロンプトエンジニアリング手法について解説しています。プロンプトの記述が英語の原文と日本語訳が併記されており、とても見やすく理解が進みます。
Top P、Top K、Temperatureといった推論パラメーターについても、どういった仕組みで作用して出力結果がかわるのかというところが詳細に解説されており、とても勉強になりました。
3章 大規模言語モデル
このあたりから、本書のメインコンテンツです。ヘビーです。その分学びが多いと感じました。(サラッと読んで理解できる人はおそらく事前に色々勉強していた人でしょう。)
トークナイザーや埋め込みの解説に始まり、Transformerアーキテクチャの詳細解説が続きます。その後、Transformerを使った基盤モデルの種類が解説されます。一口に大規模言語モデルと言っても、タスクに合わせたアーキテクチャがあることを、初めて知りました。
4章 メモリーと計算リソースの最適化
「大規模」言語モデルなのでたくさんの資源が必要そうですが、この章では、なぜメモリーがたくさん必要なのかの解説から、精度をできるだけ落とさずにメモリー消費量を減らす方法が解説されます。メモリー消費量を減らしたとしても、1つのGPUでは学習ができないため、分散コンピューティングについての解説が続きます。分散の方法も色々あり、性能向上の手法も解説があります。
392個のml.p4d.24xlargeで学習させるという、とても個人では試せそうにない数字にワクワクしました。
5章 微調整と評価
この章では、まず指示による微調整(instruction fine-tuning)の解説から、具体的なモデル、データセットの詳細解説があります。データセットの解説ではsamsumというデータセットを用いて具体的な解説があります。ここももちろん英語の原文と日本語訳が併記されており、とてもわかり易い!
解説の後は微調整をSageMakerで行う方法が複数解説されています。微調整したモデルの評価についても解説があり、様々なメトリクス指標について解説されています。
ということで、私は5章まで読みました。ここから先がさらにディープになりそうな予感がします。楽しみです。
書籍中では解説がメインで、コードの出番は少ないですが、GitHubでノートブックが大量に公開されていますので、実際に手を動かして、理解を深めることもできると思います。