私の今まで経験してきた全てのLLMノウハウを詰め込んだ、LLMシステムの開発ガイドです。
初めてLLMシステムを開発したいと思った時でも、精度改善や運用に行き詰った時でも、何かしら役に立つと思います。
現在200ページ超。
今後も随時更新していきます。
2023/7/28 体裁修正、余計なページを削除
2023/12/12 RAG、API仕様、モデルのページを追加。また情報を最新化。
2024/04 名称を改め資料を大幅にアップデートしました!
2024/05 軽微なアップデートとRAGのGood practiceを追加
2024/08 価格やトークナイザのアップデートとAOAI DevDayで発表したTipsなどを追加
1. LLM - GPTの全体像
LLM - GPT とは何なのか ~チャットAIを例にした動作イメージ~
大規模言語モデル(LLM)が持つ基礎能力
デジタルツールとLLMの連携
GPTに関するFAQ
活用例
汎用作業支援ツールChatGPT (カスタムインストラクション, GPTs)
検索との統合 Microsoft Copilot
オフィス作業支援ツールとしての応用 Microsoft Copilot for M365
プログラム開発支援としての応用 Github Copilot
LLMに期待される用途の簡易マッピング
各生成AIの現在の実力と将来性
将来的に見込まれる クロスモダリティ (マルチモーダル) の拡張
GPT-4 with Visionによる画像・テキストのマルチモーダル処理
動画生成・変換AI Soraの登場
生成AIの未来予測
2. APIでのLLM利用
APIから生成AIを扱うことの意義
生成AIが使える 各社のAPI サービス
Microsoft と OpenAI
Azure OpenAI Serviceの解説
特長
API利用までのイメージ
提供可能なAIモデル一覧
各種パラメータの解説
Azure OpenAI Studio
課金単位、コスト計算方法
1分当たりのトークン制限(TPM)
Microsoft Entra IDによるAPIの認証の流れ
SLA
3. Prompt Engineering
GPT のテキスト生成時の影響要素
LLMサービス における裏の Prompt
Prompt の各パートの名称と役割
Prompt の書き方の大原則
Prompt の順序による解釈性
System Prompt の構造化の例(Markdown記法)
プロンプトエンジニアリングの例 (英会話講師を作る)
Prompt Engineering の 手法
LLM が解釈しやすく処理する Prompt Processing
ユーザの力に依存せず優良なプロンプトに 仕上げるには?
例示で精度を高める Few-shot Learning
段階的な推論をさせる Chain of Thought
思考過程パターンを複数生成する Self Consistency
GPT 自身に出力の再帰的な修正をさせる Recursively Criticizes and Improves
Grounding を考えさせ、動的にタスク実行する ReAct
Step Back Prompt
GPT の開発補助に用いられるライブラリ
GPT パイプライン設計の重要性とPrompt flowの活用
プロンプトによる出力形式の限定の課題
4. RAGアーキテクチャ
RAGの基本
LLMの弱点
LLM における Hallucination
Retrieval Augmented Generation (RAG) アーキテクチャの図式
Fine tuningとRAGの比較
キーワード検索とベクトル検索
Azure AI Search のハイブリッド検索、 セマンティックリランク
RAGの精度向上
ステップごとのRAGの精度影響因子
クエリ拡張・加工の各手法
Embedding モデルの調整
GPTによるドキュメントのQA化・ナレッジ化
Classification ステップ + フィルタリングによる検索空間の限定
GPT-4などの高精度かつコンテキスト長の 大きいモデルによるリランク
チャンク幅チューニングによるピンポイント検索
GPT-4によるチャンク化で切れ目を判定
ドキュメントと質問の関連性や 有益さを繰り返し吟味するSelf-RAG
5. GPTシステムの運用
速度性能確保
LLMのAPI利用時に時間が掛かる理由
対策1: 出力トークン数の抑制、並列化
対策2: Provisioned throughput units (PTU)の利用
対策3: gpt-3.5-turbo への Fine tuning
LLMの評価
LLMシステムにおけるチェック観点の例
LLMシステム評価の大まかな手順 (RAG評価の例)
Prompt flowによる完成済み評価フローの利用
評価データセット作成におけるGPT-4の利用
「ちょっと待て」 ~評価役へのLLM活用~
評価役LLMの採点能力の検証
評価役LLMの採点ステップにおける注意点
対話履歴データのシミュレータ
LLMシステムの運用におけるその他の話題
GPTシステムにおけるログの重要性
プロンプトログの分析によるGPTシステム継続改善例
LLMに対する攻撃とその対策
Azure OpenAI におけるコンテンツフィルタリング機能
個人情報を意識したプロンプト・ログ管理 (最も規制が厳しいGDPRを例に)