Muranaga's View

読書、美術鑑賞、ときにビジネスの日々

Azure OpenAI Service:大規模言語モデルと連携するシステム構築を学ぶ

生成 AI は一般的な知識を学習した大規模言語モデル(LLM)で作られている。

それを実ビジネスに活用するには、企業内に固有な知識・文書を反映させる必要がある。それには事後学習(ファインチューニング)を行って、LLM 自体を強化するやり方もあるが、AI 技術者が多大な計算機資源を行って、学習・検証を行わなければならない。実際に学習データが用意できるかという問題もある。

したがって、より現実的なアプローチは、RAG(Retrieval-Augmented Generation)である。

muranaga.hatenablog.com

Azure OpenAI Service ベースで、RAG / グラウンディングを使った社内情報検索のできる Chat システムを作るためには、以下の2冊の本が参考になる。いずれも Azure OpenAI Service の入門書である。

  • 『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門』
  • 『Azure OpenAI Service実践ガイド ~ LLMを組み込んだシステム構築』

どちらも同じ読者層を狙った良書だと思うが、あえて特徴づけるとするならば、RAG を使ったシステム構築に詳しいのは前者、Azure OpenAI Service に対する全般的な理解をハンズオンで深めることができるのが後者、ということになるだろうか?

残念ながら Azure OpenAI Service を使える環境にないので、コードを動かさず読んだだけの感想になるが、ざっくりまとめると以下のようになる。

  • 『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門』

Azure OpenAI Service 入門書。RAG による社内情報検索と組み合わせた Chat システムの構築を事例として、LLM と組み合わせたシステム構築の概要が掴める。

特に RAG を使ったシステム構築に詳しい。on your data により、ノーコード・ローコードで Chat を作るところから始まり、プロンプト・フロー、AIオーケストレーションといったより高度なやりかたへ進む。

Copilot Stack という全体アーキテクチャ、およびそれを構成するAIオーケストレーションとして、ReAct(Reasoning & Acting)、グラウンディング/RAG、Function Calling、プラグイン、LangChain / Semantik Kernel と一通り説明されている。

基盤モデルとしてオープンソース系のものを使い、それをさらにファインチューニングすること、たとえば知識蒸留、枝刈りなどによるモデルの圧縮が説明されている

責任あるAIとしてのコンテンツフィルタリングにも言及している。

付録B の LLM 技術解説が、自然言語処理の歴史・Transformer の動き、RLHF(人間のフィードバックによる強化学習)などコンパクトにまとまっていて、秀逸。

  • 『Azure OpenAI Service実践ガイド ~ LLMを組み込んだシステム構築』

Azure OpenAI Service 入門書。社内システムやデータベースを参照して、LLM と連携するシステム構築の概要が掴める。

生成AI入門、プロンプトエンジニアリングから始まり、Azure OpenAI Service をハンズオンで説明する。Web 上にサンプルコードがあるので、それを動かしながら理解を深めることが可能。

Copilot Stack の全体像、そしてそれを構成する各要素、AI Serach、グラウンディング/RAG、On your data、LangChain、Semantic Kernel、Function Calling、プロンプトフロー、プラグイン開発、ファインチューニング、AI Content Safety と一通り、その機能と実践を解説する。

索引がないのが残念。

RAG は、もともとある社内情報検索・文書検索の性能に依存することが多い。また文書をそのままの形式でデータベース化しても、よい答えが返ってこない可能性もある。Grounding のやり方として、ユーザが聞くと予想される質問・応答形式に直してからデータベースにするなど、さまざまな工夫が考えられる。

さらに AI オーケストレーションフレームワーク、LangChain について詳しく知りたいなら、以下の本が参考になる:

大規模言語モデルを構築したり、ファインチューニングしたりするには、本格的に AI・LLM の作り方を学ぶ必要がある。そのレベルの技術者は、HuggingFace にあるさまざまなオープンソース系の Transformer モデルをいじることが、最初の入口になるだろう: