Azure OpenAIの本を出します!執筆の軌跡と中身紹介、感想
はじめに
初めての書籍執筆ブログです。著者の一人 (永田)として、2024/1/24 発売の『Azure OpenAI Service ではじめる ChatGPT/LLM システム構築入門』を出版させていただくことになった経緯をまとめています。想像以上に長文になってしまいましたが、ゆるりと読んでみて頂けると嬉しいです。
『Azure OpenAI Service ではじめる ChatGPT/LLM システム構築入門』表紙
経緯
新卒で Microsoft に Cloud Solution Architect として入社し、Azure の導入支援を行ってきました。入社後 (厳密には内定後くらい)に本格的に Azure を勉強し始めたわけですが、Azure を勉強する中で多くの人が抱く感想が書籍の数が少ないです。うちの家の近くの本屋に行くと、AWS の本は数多く置かれているのですが、Azure の本は数冊程度、という状況でした。もちろん Azure は他クラウドに比べてドキュメントやラーニングコンテンツが充実しているとは言われます。ただ私が個人的に本が好きというのもあって、いつか本を出したいというのはずっと思っていました。
それでも最初から本を出すというのはだいぶハードルが高く感じられました。普段ブログの執筆はコミュニティイベントで技術情報を発信するということはあっても、書籍というある程度の分量があるものをまとめた経験はありません。また出版社とも繋がりもなく、そもそもどうやって本にしていったらいいか全く分かりませんでした。
そこでまずいきなり Amazon や書店に本が並ぶような商業誌を目指すのではなく、技術同人誌を出して書籍執筆の知見を貯めることにしました。入社同期の伊藤さんに声をかけ、その後同僚で Azure AI/ML のビジネス活用に情熱を燃やす宮田さんと立脇さんを巻き込む形で Azure Machine Learning の技術同人誌を執筆しました。執筆したAzure Machine Learning の入門書は、2023 年の春に池袋で開催された技術書典という技術書の同人誌即売会で販売しました。結果としては大成功で、当初想定を大きく上回り、技術書典のイベント会場での販売とオンライン販売を合わせて 200 冊弱、会期終了後のオンライン販売や個別販売を合わせると合計で300 冊以上販売できました。
そのとき販売していた書籍『Re:ゼロから始める Azure Machine Learning』は現在も Booth 上で販売しております。
『Re:ゼロから始める Azure Machine Learning』(Booth ページ)
もともとの想定は、この Azure の機械学習プラットフォームである Azure Machine Learning の入門から MLOps の実現までをテーマにした書籍を執筆しようと思っておりました。ただ、2023 年は生成 AI ブームが巻き起こり、ChatGPT などの LLM をどうやって企業で活用できるかが強く問われた年になりました。その一方で、ChatGPT が利用できるクラウドサービスである Azure OpenAI Service に関して、多数の有用なブログ記事は多く出ていたものの、書籍というまとまった情報はあまり存在していませんでした。そこで若干軌道を修正し、まず世の中で求められている、ChatGPT や LLM を利用したシステム構築をテーマにした本を執筆することにしました。
技術同人誌の販売はうまくいったものの、出版社との繋がりがないという状況は変わりません。そこで社内で多数の書籍執筆経験がある A さんに相談し、同じく社内のノリさんというキーパーソンを紹介して頂きました。このノリさんは大手出版社出身の方で、商業出版を目指すうえでの戦略をはじめ非常に多くの相談にのって頂きました。その後ノリさんの紹介で同じく Azure OpenAI 本の執筆を志していた同志・吉田真吾さんと合流し、技術評論社さんの編集の方とお繋ぎ頂いて、Azure OpenAI 本の企画がスタートしました。またこのあたりのタイミングで、Azure AI Search (旧称 Azure Cognitive Search)に関して深い知見をお持ちの花ケ﨑さん
と、Azure OpenAI に関して多数の案件推進・宣伝活動を手掛けてる蒲生さんにも参加いただけることになり、7 人の著者が揃いました。
中身の紹介
経緯が想定の 2 倍以上に膨らんでしまいましたが、ざっくり本の中身を紹介します。
本書は、Azure OpenAI Service を中心にしたシステム構築を中心にしています。
ひとくちに「Azure OpenAI を使ったシステム構築」といっても、エンジニアとしてコードをバリバリ書いて実装を行っている方から、ビジネス部門出身で DX に足を踏み入れたものの、コードはまだあまり書くことがないという方まで幅広い方々がいます。
そこで本書は 4 部構成にして、それぞれの部でスタートとゴールを明確にし、幅広い読者の目的とレベル感への対応を目指しました。
本書「はじめに」より
第 1 部:Microsoft Azure での ChatGPT 活用
第 1 部はこれから Azure OpenAI Service の ChatGPT モデルを触っていく方々を想定し、ChatGPT 単体のアプリを社内展開して業務で活用できるイメージがつくのを目標にしています。
内容
- 生成 AI と ChatGPT モデルの基本的な概念とその仕組みを解説
- ChatGPT に入力する指示となる「プロンプト」の書き方を紹介
- Azure OpenAI Service の概要と具体的な利用方法を解説し、ChatGPT アプリをユーザー自身の環境に展開
ポイント
最初のパートでは、そもそも生成 AI や ChatGPT に何ができるのかというところから丁寧に解説しています。Azure OpenAI Service を使ってChatGPT アプリを展開するところまでコード実装なしでやっているので、コーディングが苦手な方にもぜひ見て頂きたいパートです。
第 2 部:RAG による社内文章検索の実装
第 2 部は、社内文章検索システムの社内展開の検討や、精度改善を行いたい読者を想定し、ChatGPT モデルを活用した社内文章検索(RAG)システムの導入を目標にしています。
内容:
- RAG の概念理解から実際の社内文章検索アプリの展開まで体験
- Azure AI Search を中心に、社内文章検索アプリのキーとなる Azure サービスの紹介
- 実際の RAG システムのアーキテクチャについて解説
- 検索精度や回答生成精度の改善アプローチについて紹介
ポイント
検索拡張生成 (RAG) という文字づらからだと最初なんだか分からない概念について、コンセプトから実装までしっかり説明しているパートです。サンプルコードを交えた実装やアーキテクチャの紹介のみならず、精度改善を行っていくための評価や改善アプローチまで踏み込んでいるのがポイントです。
第 3 部:Copilot stack による LLM アプリケーションの実装
第 3 部では、ChatGPT モデルや LLM を組み込んだアプリケーションである「Copilot」の考え方を紹介しています。第 2 部で扱った RAG システムに ChatGPT プラグインを追加していく形で、実際の実装についても解説しています。
内容
- ChatGPT モデルなどの LLM を組み込んだアプリケーションである「Copilot」の考え方を紹介
- Copilot を開発するうえで必要な要素を抽象化した Copilot Stack について解説
- AI オーケストレーション、基盤モデルと AI インフラストラクチャ、LLM アプリのインターフェイスである Copilot フロントエンドを解説
ポイント
LLM を組み込んだアプリケーションである Copilot と、必要な要素を詰め込んだCopilot stackは非常に重要なコンセプトであると同時に、最初はとっつきにくさもあると思います。この部では Copilot stack の全体を丁寧に解説しています。またLLM アプリ (Copilot)のインターフェイスをどのように作るといいかについて解説されているのも面白いパートです。
第 4 部:ガバナンスと責任ある AI
第 4 部では、LLM アプリケーションを開発・運用していくうえでのガバナンスと責任ある AI について解説します。
内容
- LLM アプリケーションを組織全体で活用するための基盤構築やその実現方法を紹介
- 非機能要件の一般論とともに、認証・認可やログ管理、課金、流量制限、閉域化、負荷分散を解説
- 「責任ある AI」活用のためのデータの取り扱いやコンテンツフィルタリング機能の説明
ポイント
最近、Azure OpenAI 自体を紹介した本は登場してきましたが、私が見る限り Azure OpenAI を組み込んだ共通基盤としてのアーキテクチャ設計まで踏み込んだ本はなかなかありません。Azure API Managementをはじめ重要なサービスを紹介しています。
書いていく中での感想、苦労した点
ちゃんとした書籍の執筆も取りまとめも初めてであったため、色々な部分で苦労しました。とくに 7 人の著者の力を最大限引き出しつつ 1 冊の本としてまとめるのが面白くもあり大変な部分でした。
7 名の著者はそれぞれ高度な専門知識やお客様ご支援の経験を持っている方々ですが、それぞれ章を分担して書くとなると、どうしても説明の重複箇所や、ゴールイメージの違いからなるレベル感の違いが生まれてしまいます。たとえば、同じ Azure 機能に関する説明が複数個所でなされていたり、本書を冒頭から読み進めたときに、難易度がジェットコースターみたいに上下してたりする部分がありました。ひとくちに技術書・入門書といっても、図解やサンプルをふんだんに使った技術書から、オライリー並みの硬派な本までさまざまあります。
そこで本書は、前述の 4 部構成をとり、それぞれの部でスタートとゴールを明確にする形でまとめなおしました。この方針は本書の初稿がだいぶ書き終わってから生まれました。初稿が書き終わった段階で有識者の皆様にフィードバックをお願いしたのですが、そこで手厳しいもの含めさまざまなフィードバックを頂き、本書全体の構成を練り直すことになりました。本当は最初から綺麗に 4 部構成の計画ができていればよかったのですが、このタイミングで全体を練り直したおかげで、本書の中身がより分かりやすくまとまったと思っています。たくさんのフィードバックをいただいた皆様には頭が上がりません。
ほかにも、初めて書籍を書くというところで細かい部分もだいぶ気を配りました。文字はどこまで「ひらく」といいのか (お勧め → おすすめ、沢山 → たくさん、など)、専門用語はアルファベットのままがいいのかカタカナに寄せるのか、などなど、読者の皆様が変なところでひっかからずに内容に集中してもらえるよう気を付けました。
そして、本書が絶賛校正中の段階であった 2023 年 11 月に、Microsoft Ignite という製品発表イベントがあり、そこで Azure OpenAI はじめ本書で取り扱っていた製品に多くのアップデートがありました。せっかく初稿を書き終わってひと段落した段階でしたら、本書も大幅な改訂を余儀なくされました。ただおかげで Ignite でのアップデートも盛り込み、最新の内容を皆様へお伝えできそうです。
本を書くにあたっては、これだけ速いスピードで進化するこの LLM 分野に、書籍という形式が適しているのかという悩みもありました。それでも、こうした技術の核心に触れる質の高い情報を一冊の中に集約することの価値は、今日でも書籍にしかないと信じています。
おわりに
この記事を最後まで読んでいただきありがとうございます。来年 1/24 発売ということで、著者の我々も物理本はまだ手元になく、届く日をとても楽しみにしています。もし皆様の中でちょっとでも興味をもっていただけたらぜひお手に取ってみて頂けると嬉しいです。
1/24 発売。予約受付中:
Azure OpenAI Service ではじめる ChatGPT/LLM システム構築入門
Discussion