「Azure Machine Learning ではじめる機械学習 / LLM 活用入門」を読んでの書評
Table of Contents
遅ればせながら,2025年4月7日に発売された「Azure Machine Learning ではじめる機械学習 / LLM 活用入門」を著者の一人である立脇さんから献本頂いたので,書評を書いていきます!
改めて,出版おめでとうございます🎉
Azure Machine Learningではじめる機械学習/LLM活用入門を著者の立脇さんから献本頂きました🎉
— asteriam (@asteriam_fp) March 29, 2025
Azureでの機械学習実践の書籍は今までなかったと思うので、楽しく読ませて頂きます!後ほど書評ブログも書こうと思います。 pic.twitter.com/VQae8ekOGW
書籍の目次
目次は以下のように全体は4部構成(+付録)になっています.
- 第1部: Azure Machine Learning の基本
- 第1章: 機械学習をビジネスに活かすには
- 第2章: Azure Machine Learning の概要
- 第3章: Azure Machine Learning のセットアップ
- 第4章: AutoML の概要と実践
- 第2部: 機械学習モデルの構築と活用
- 第5章: スクラッチでのモデル開発
- 第6章: MLflow による実験管理とモデル管理
- 第7章: 機械学習パイプライン
- 第8章: モデルのデプロイ
- 第9章: MLOps の概要と実践
- 第3部: 大規模言語モデルの活用
- 第10章: 大規模言語モデルの概要
- 第11章: 基盤モデルとモデルカタログ
- 第12章: プロンプトフローの活用
- 第13章: LLMOpsへの招待
- 付録
- 付録 A: クライアント環境のセットアップ
- 付録 B: Azure Machine Learning とデータ
- 付録 C: MLflow Modelsによるノーコードコンテナビルドとデプロイ
- 付録 D: 責任あるAIツールボックス
内容の紹介と感想
各章で個人的に興味深かった点や印象に残った点を紹介していきます.
第1部: Azure Machine Learning の基本
最初に機械学習をビジネスに適用する上でのプロセスの全体像が語られています.機械学習の適用を一度でも経験したことがある人なら目にしたことがある内容ですが,改めてコンパクトにまとめられて良きです.この辺りの理解は CRISP-ML(Q)1 を眺めておくとより理解が深められると思います.参考になる資料として「CLISP-ML(Q)をはじめとしたMLシステムの品質確保に関する調査」を挙げておきます.
本書では,機械学習の取り組みは試行錯誤と改善を繰り返すループプロセスという説明がされていて,非常に好感が持てました.機械学習の適用は当初考えてもいなかったことが発生しうるため,Continuous X (X=Integration, Delivery, Training, Monitoring) が必要不可欠だと考えていますが,これらを効率的に行う上で,Azure Machine Learning のようなクラウドサービス・プラットフォームを活用して取り組んでいくことを推奨しています.
第1部 - 第2章以降では,Azure Machine Learning のセットアップやそれぞれのサービスや機能説明を詳細にされています.第4章では,AutoML について触れられていますが,以前一時期流行っていた AutoML 系は最近あまり聞かなくなったかなと思い,実際どれぐらい使われているのか気になりました(書籍の一部を割いているということは,今でも一定の利用ニーズはあるのかなとも思いつつ...).
第2部: 機械学習モデルの構築と活用
6章では,MLflow による実験管理の方法が丁寧に書かれていて,内部的なコンポーネントの役割などツールに対する理解が深まると思います.あまり実験管理のライブラリの使い方にページ数を割いている書籍は見ないので,細かく確認出来て MLflow に対する理解が進むと同時に,Azure Machine Learning との関係性についてもしっかり書かれているの連携のイメージがしやすく感じます.
続く7章は,機械学習パイプラインの話が書かれていて,個人的に機械学習パイプラインの構築は関心があるトピックなので,興味深く読ませて貰いました.パイプラインにおけるコンポーネントの設計の話に触れられていて,考え方は頭に入れておきたいです.コンポーネントの細かい分割は,ジョブ実行時のオーバーヘッドになり得る話が書かれていて,最近 Vertex AI Pipelines だと Persistent Resource2 という機能が実装されていて,クラスタとしての役割を持って起動までにかかるオーバーヘッドを少なくできたりもします.
少し余談ですが,例えば,1日1回のバッチ実行をするパイプラインでは,オーバーヘッドをそこまで気にしなくてもいいのでは?とも思います.適度にモジュラー構造を持って責務が分けられたコンポーネントになっていれば,バッチパイプラインではそれなりの時間がかかることが普通なので,コンテナの立ち上げ時にかかる時間オーバーヘッドは多少許容できるかなと(オーバーヘッドは少ないに越したことはないのは前提の上での話).
時間を気にするユースケース例えば,高速な推論処理を推論パイプラインで行ったり,ストリーミング的なデータを処理するパイプラインでリアルタイムライクなケースでは,クラスタなどを用意するか,常時コンテナを立ち上げた状態で処理しないとそもそも間に合わないので,それはまた別のお話かなと感じました.とはいえ,このような非機能要件にも目を向けて書かれたいる書籍はあまり見かけないので,素晴らしいと思います.
後半は,パイプラインのジョブ実行というハンズオンの内容が書かれていて,概要とイメージ図がセットになっていて,一連の処理を Azure Machine Learning 上で動かすガイドがしっかり書かれていて,動かせるイメージを持てました.
他には,8章のモデルデプロイの内容で,dev 用のローカルエンドポイントが用意されていたり,Azure Machine Learning ではローカルでのテストや動作確認などを簡単にできる仕組みが用意されていて,感心しました.マネージドサービスを使っていて難しいポイントは,ローカルでの動作確認や再現実行が比較的容易ではないので,苦労することが多いです.モデルのデプロイ方式(オンラインエンドポイント・バッチエンドポイント)の紹介もされていて,意外と他のクラウドサービスでもきちんと説明があるものは少ない印象なので,説明されていてありがたいと感じます.
また,9章では MLOps 成熟度の話やリファレンスアーキテクチャの参照を用意してくれていたり,より発展して学ぶことができそうでした.Azure Machine Learning の MLOps 機能で気になったものは,エンタープライズ利用を考慮したレジストリ機能は良さそうに思います.本番環境は,アクセス制御等の関係から開発環境と分離したいケース,課金請求やコスト管理を環境毎で行いたいケースなどでワークスペースを分けた利用というのはよくあることです.一方でワークスペース間でリソースシェアをしたいニーズもあり,それを実現するワークスペース間でのリソースシェアができる Hub としての役割でレジストリ機能が使えるということみたいです(詳しくは本書をご確認ください).
第3部: 大規模言語モデルの活用
基盤モデルの推論環境へのデプロイとして,サーバーレス API が用意されていて,対応したモデルを色々と使えるのは魅力的です.API への入出力のトークン数に応じた課金で使えるとのことです.ただ,対応するリージョンが日本に用意されているのかは気になりました.自前で用意したデータセットを用いたファインチューニングの方法もページ数を割いて紹介されています.
「Azure OpenAI Service ではじめる ChatGPT/LLM システム構築入門」という書籍でも紹介されていて,以前僕も書評させて貰った「Azure OpenAI Service ではじめる ChatGPT/LLM システム構築入門」を読んでの書評でも触れたプロンプトフローを使った効率的な LLM ワークフローの開発についても12章で触れられています.個人的にプロンプトフローの機能だけでもかなり価値があると思っていて,開発のイテレーションを標準化したり再現性を持って進められるツールで活用する価値が高いです!(Azure 使うなら絶対使いたい)
最後の13章では,LLMOps について紹介されています.MLOps との比較・違いもされていて,MLOps をやってきた人にとってマッピングしやすい内容になっています.LLMOps のプロセス3についてはまだまだプラクティスが確立されていない面も多いかなと思うので,本書の例は1つ参考にできそうです!
ここからは少し僕の見解ですが,LLM 活用としては「評価」と「監視(モニタリング・オブザーバビリティ)」が今まで以上に大事になってきています.評価で言うと,LLM の評価の難しさは,異なるタスクにおける能力のばらつき,プロンプトの変更に敏感でそれによる性能の変化が容易に起こりうる,自然言語のメトリクスでの評価(同じ文章でもドメイン固有で使われ方や意味も異なりうる),といった困難さがあります(他にも,モデルのアップデートによる回答の一貫性の欠如やハルシネーションなど色々とあります).コントローラブルでない要素も多分にありますが,ゴールデンデータセットを用意する,LLM-as-a-judge4 によるスコアリング評価など少しずつでも良いので,評価を行いながら評価自体の改善が必要になってきます.
もう1つの「監視(モニタリング・オブザーバビリティ)」ですが,LLM による生成はどうしても時間がかかるため,応答時間やレイテンシーは UX に直結してしまいます.複数の処理が入った時にどこがボトルネックになっているかを把握しておく必要があります.継続的な改善を行うためにも,ユーザーの実際の使用パターン,生成が上手くいかない失敗ケース,フィードバックなどのデータを収集して,プロンプトチューニングなどに活かすことが大事になってきます.他には,OpenAI や Anthropic が提供する API を使うケースが多いと思いますが,エラー率・トークン消費量・コスト5などを把握しておかないとシステム面の安定性が見込めないかもしれません.
こういったことをクラウドベンダーが提供するマネージドサービスを使ったり,LangSmith, Langfuse といったサードパーティのツールを使って LLM 活用の day one から取り掛かるのが良さそうです.
全体を通して,一般的な機械学習の適用や活用に対する説明がありつつ,Azure Machine Learning 上で実用的に行うための設定方法や動かし方を図解でわかりやすく説明されています.図表が豊富で押さえておくポイントが整理されていて理解しやすかったです.特にコラムは説明の補足だけでなく,発展的な内容にも触れられているので読んでいて楽しかった!付録もデータ基盤周りの話が興味深い内容でした.
少し個人的な見解も折り込みましたが,Azure で機械学習を始める人は是非手に取って眺めて頂くことをオススメします!
参考
CRISP-DM を機械学習プロジェクトの適用へと拡張したプラクティスです
2025年6月時点では,"Pre-GA Offerings Terms" というステータスになっています
著者の一人が書かれた LLMOps : ΔMLOps というスライドが参考になります
課金設定をオートチャージにしていないとクレジットが無くなって止まるケースもあるかもしれません