📘

書評:Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門

2024/01/17に公開

この度、2024年1月24日に発売予定の「Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門」を著者から献本いただきました。本記事はその書評を記すものです。
https://amzn.asia/d/bRDJVro

※本書は著者の多くが日本マイクロソフトの社員ですが、執筆は著者個人の活動であり、日本マイクロソフトの公式な書籍ではないようです。

総評

Azure OpenAIを体系的に学ぶことができる一冊になっています。Azure OpenAIを使ってアプリケーション開発をしようとしている人は必読です。
また、Azure OpenAIそのものの説明にとどまらずAzure OpenAIのメリットとしてしばしば取り上げられる、VNetを使った閉域化やAzure Load Balancerを使った負荷分散などのAzureのエコシステムとの連携に多くのページが割かれていて、技術要素としてのAzure OpenAIだけではなく、Azure OpenAIを使ったソリューションを作るための本であるというところも印象的でした。

多くの企業でAzure AI Searchを使った企業内検索を実装する事例が多いですが、その技術手法であるRAGについても実装から評価まで1章分の文量を割いて解説しているのも良いと思いました。特にRAGを実装した場合の評価手法についてはまだまだ発展途上ということもあり、その技術ベースを知ることができる本は少ないので、RAGを使った検索を実装したい人にも必読の一冊になっています。
また、「Copilotってよく聞くけど、それって自分たちでも作れるの?」と思っている人にも、本書の内容を理解すれば、Copilotの仕組みが理解できると思います。

本書を勧める人

  • Azure OpenAIを体系的に学びたい方
  • Azure OpenAIだけではなく、一緒によく使われるAzureサービスについても知りたい方
  • Azure OpenAIを組み込んだソリューションを作ろうとしている方

本書はアンマッチかもしれない人

書籍には必ず想定読者がいます。
以下は書籍の内容を批判するものではなく、こういったことを期待して読むと想定読者から外れてしまうかもしれない、という意図で記載するものです。
また、そういったことを想定資する場合などのような学習教材を使えばいいのかについての私見も合わせて記載します。

  • OpenAIの中でもDALL-EやWhisperについて知りたい方
    本書はGPT-3.5やGPT-4について詳解している書籍です。そのためDALL-EやWhisperについて詳しく知りたい人はアンマッチかもしれません。
    とはいえ、DALL-EやWhisperについてもプロンプトという観点ではどちらも必要になってくるので、本書を読んでからDALL-EやWhisperを学ぶというのもありだと思います。ただし現時点ではDALL-EやWhisperについて体系的に学べる書籍はないので、DALL-EやWhisperの公式ドキュメントを読むというのが良いと思います。

  • 最新のプロンプトエンジニアリングについて知りたい方
    ある程度実績のあるプロンプトエンジニアリング手法についてはよくまとまっていますが、最新のプロンプトエンジニアリング手法(有名なところだと例えばEmotion Promptとか)については触れられていません。
    そのため、最新のプロンプトエンジニアリング手法について知りたい方が読むと知っている手法が多く出てくるかもしれません。
    最新の情報は書籍では得にくいことが多いため、これを求める人はインターネットでarxiveを漁るとか、Twitterで最新の情報を追うとかが良いと思います。

  • コンテンツフィルターについて詳しく知りたい人
    コンテンツフィルターはAzure OpenAI独自の機能で、とても強力な機能です。コンテンツフィルター自体がどのようなものか、という説明はありますが、それをどのようにアプリケーションに組み込んでコンテンツフィルターがトリガーされた時にどう処理すればよいかということはさらっと触れられている程度のため、特にこの部分を知りたい方は物足りないかもしれません。

    https://learn.microsoft.com/ja-jp/azure/ai-services/openai/concepts/content-filter

  • 敵対的プロンプトについて知りたい方
    コンテンツフィルターに関連しますが、プロンプトインジェクションやプロンプトリークといったLLMアプリケーションに対する攻撃手法である敵対的プロンプトの説明やそれに対する対応方法については触れられていません。
    とりあえずコンテンツフィルターでJailbreakをオンにすればいいと思いますが、サービス設計やプロンプトによって防ぐことができるのか、ということについては触れられていません。

    https://www.promptingguide.ai/jp/risks/adversarial

  • LangChainやSemantic Kernelを体系的に学びたい方
    本書ではLangChainやSemantic Kernelについては紹介程度で触れられていますが、体系的に学ぶような内容にはなっていません。
    LangChainやSemantic Kernelについて体系的に学びたい方はそれ専用の書籍を読んだ方が良いと思います。
    ただ、これらのライブラリは非常に更新が早くいです。つい最近どちらも安定版がリリースされましたが、これらの内容自体をどうしても出版まで時間がかかる書籍で読むのがお勧めかというと個人的には微妙なところかと思います。まずは公式ドキュメントのクイックスタートなどで体験してみるのがファーストステップとしては良いと思います。

    https://python.langchain.com/docs/get_started/quickstart

    https://learn.microsoft.com/en-us/semantic-kernel/get-started/quick-start-guide?toc=%2Fsemantic-kernel%2Ftoc.json&tabs=Csharp

  • ガッツリハンズオンをやりたい方
    本書は各機能について小さいサンプルコードを提供していますが、1つのアプリケーションの開発を通してAzure OpenAIについて学ぼう!というような構成ではありません。
    そのため、ガッツリハンズオンをやりたい方は物足りなかもしれません。しかし個人的には「基本を知り、応用を想像せよ」という学び方が好きなので、本書の構成は好印象です。

特によかったポイント

  • 技術以外の倫理面もカバーしている
    Microsoftが出している「責任あるAI」をベースにLLMの倫理的課題にどのように対応すれば良いのかが書かれています。技術書は多くの場合その技術要素のみにフォーカスされることが多いのでこの内容はとても良いと思いました。

  • 評価手法もカバー
    いまは多くの組織で「とりあえず作ってみよう」というフェーズですが、組織で企業活動として行う以上いずれは(すでに?)「このLLMアプリケーションの評価をどのようにするのか」ということを考えなければならないときが必ずやってきます。個人的に最近この部分に注目していることもあり、評価手法まで書かれているのはとても良いと思いました。


https://amzn.asia/d/bRDJVro


余談

これ以降は完全に個人的な感想です。

  • 付録のChatGPTの仕組みが面白い
    機械学習の知識が日本ディープラーニング協会のE資格を取ったタイミングのLSTMあたりで止まっていたのですが、ちょうどそこからの差分が付録として書いてあったのはとても参考になりました。

  • フレンチクルーラーが食べたくなる
    表紙がドーナツなのもそういうことやで?

GitHubで編集を提案

Discussion