Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azure OpenAI を活用してエンタープライズ向けのデータ活用基盤を作ってみる

SoftBank Tech Night
July 28, 2023
1.3k

Azure OpenAI を活用してエンタープライズ向けのデータ活用基盤を作ってみる

SoftBank Tech Night

July 28, 2023
Tweet

More Decks by SoftBank Tech Night

Transcript

  1. 向山 裕一朗 • 2013年 エンタープライズ向け営業職で入社 • 2017年 IBM Watson 周辺ソリューション企画等対応

    • 2018年 副業として週末エンジニアを始める • 2021年 個人的に Blockchain 周り Contribute 開始 • 2022年 異動 営業 → ソリューションアーキテクトへ • 2022年~ Cloud Native 製品の推進に従事 • 2023年~ OpenAI 活用含む アプリ開発等従事 2
  2. 短期間で大量の Generative AI 製品が登場 機能追加、アップデートも急速 画像生成(一例) • Stable Diffusion テキスト生成・予測(一例)

    • OpenAI 音楽生成(一例) • MusicLM コード作成、支援(一例) • GitHub Copilot etc… OpenAI の場合 (順不同) • 入力可能な文字数(token数)の増大 • 生成された文字数辺りの価格低下 • 各ベクトルデータベースとの簡単連携 • ChatGPT Plugin の登場 • GPT-4 の一般公開 • Function Calling の登場 • Code Interpreter の登場 • Azure on your data の登場 • プロンプトエンジニアリングによる回答最適化 • RAG による LLM が知らない情報の学習・予測 … etc 5
  3. 対策) 急速に拡大するユースケースへ対応しながら 自社で Generative AI をスムーズに活用していく為に User Chat UI 使いたい機能を選ぶと

    対象の APIに接続されるもの Custom FAQ Plugin ユースケース A のテンプレートアプリ 画像解析系 Plugin ユースケース B のテンプレートアプリ 素の Azure OpenAI GPT3.5 SaaS 連携 Custom FAQ Plugin Box, Google Drive 9 一般的な Chat UI 上で接続先を変えるだけで社内で開発した特定タスク特化の AI を使えるように Plugin の仕様を揃え一部リソースを共用する事でスムーズに展開していく ( ≠ ChatGPT Plugin )
  4. 全体 拡張性の高く、流用のしやすい設計の検討 GIP DNS Kubernetes アプリ実行環境 LB USER Chat App

    (Web SV) Public Cloud Plugin A Plugin B Plugin C FAISS… etc Vector / Semantic STORAGE CREDS LOG IaC Azure OpenAI Github 11
  5. Generative AI ⇔ Generative AI 各 Plugin API の構造 は

    Azure OpenAI と共通になるよう構築 Plugin 単体の利用だけではなく、Plugin ⇔ Plugin も実現する事で少ない開発工数で発展を狙う Plugin A Plugin B Plugin C Plugin n … Azure OpenAI 12 同じようにアクセス可能 Plugin から Plugin を使う事も可能
  6. Kubernetes の活用 スケールしやすい基盤の用意 13 チャットリクエストの増加、ベクトル化・推論等でかかるインフラリソース負荷の増加等、 Generative AI 活用アプリを作るだけではなく、インフラ側の設計も考慮が必要 水平スケール Pod

    CPU or Memory Limit 0.5 vcpu 垂 直 ス ケ ー ル 水平スケール Pod CPU or Memory Limit 0.5 vcpu 垂 直 ス ケ ー ル ノードA 2vCPU 8GB 水平スケール Pod CPU or Memory Limit 0.5 vcpu 垂 直 ス ケ ー ル 水平スケール Pod CPU or Memory Limit 0.5 vcpu 垂 直 ス ケ ー ル ノードグループ ノード水平スケール(各ノードで稼働する pod が使用するリソースの合計がノードの限界に近づくとノード側をスケールさせる ) ノードB 2vCPU 8GB
  7. Infrastructure as Code の活用 アイディアを即デプロイできる環境 14 Plugin を作ったら 自動的に即デプロイ 、

    更新時も自動差し替え ができるよう Infrastructure as Code な環境を用意 Plugin 設計兼 開発者(私) Fork した人 新たに開発した人 コンフィグ置き場 Github レポジトリ GIP DNS node External DNS Kubernetes アプリ実行環境 LB node node Cert Manager ・・・ RDB Secret Manager Prometheus Push 変更検出 Azure や その他 Public Cloud
  8. 社内資料 + Azure OpenAI で 社内問合せの負荷軽減 16 質問者 質問 Web/API

    Server 社内データ設置場所 回答 質問転送 今となっては一般的になった社内データ活用 1つのプラグインとして提供 認証 チャットの受け渡し プラグイン間連携 (Plugin) API Server データベースより 回答に必要なデー タの取得 → AOAI (Plugin) API Server FAISS を用いてベ クトル検索を行い、 関連文書探索 Plugin Chat UI 回答に必要な 追加データ取得 Azure OpenAI 以下の形式で質問を投げる ``` ${Prompt} >>> ${ヒットした社内データ} >>> ${User Question} ```
  9. クラウド間接続で AWS + Azure OpenAI 18 VPC EC2 (既存アプリ) Virtual

    Private Gateway Public Subnet Route53 Resolver Outbound Endpoint Direct Connect Gateway Express Route VNet Private Endpoint Gateway Subnet Private Endpoint Subnet Private DNS Resolver Subnet DNS Private Resolver Inboud Endpoint Express Route Gateway Azure OpenAI Internet Gateway Internet Azure内のVNetから OpenAIはAzure内部接続 AWSからAzureは 閉域接続 既存アプリケーションが AWS 上にあり、 AWS から OpenAI に接続したいケースもあった (AWS アプリ → Plugin → Azure → Azure OpenAI)
  10. 加速するユースケースに置いて行かれない為に 今こそ Generative AI 活用 × PlatformOps 20 出展:2021年11月16日-18日開催 「Gartner

    IT Symposium/Xpo 2021」から引用(当社にて体裁加工) みんなで DevOps アイディア即デプロイ PlatformOps 開発 チーム Fork 実施者 他部門 等 … Generative AI 活用基盤 クラウドネイティブな アプリケーション プラットフォーム 開発チームや別部門 PlatformOps チーム Gartner さんの文章引用 DevOps のスケーリングと加速には 実装環境を標準化し、その高度化に専念す るPlatformOps の概念を提唱 Platform ops is an approach to scaling DevOps that involves dedicating a team to the delivery of a shared self-service app platform. Technical professionals focused on DevOps should use a product mindset to establish a platform that helps agile development teams deliver higher quality faster. https://www.gartner.com/en/documents/3988253 ※ 勿論無法地帯も防止
  11. -- 宣伝 -- Cloud Native Application Platform 勿論自社で Kubernetes を用意することで

    CNAP 無しでも同様の環境は再現可能です 21 Managed & Help Desk • K8s 運用で必須な機能構築済み • 基盤の運用・監視お任せ • Infrastructure as Code 構築済み な MSP サービス CNAP を提供中 ※ MSP = マネージドサービスプロバイダ