Slide 1

Slide 1 text

LLMと共に進む SORACOMサポートの挑戦と効果 株式会社ソラコム テクニカルライター 矢崎 誠

Slide 2

Slide 2 text

本日取り扱わないこと • LLM の仕組み。 • LLM の基盤モデルの話。 • RAG の詳細な仕組み。

Slide 3

Slide 3 text

自己紹介 矢崎 誠 (makoto) • 株式会社ソラコム テクニカルライター • テクニカルライター歴: 約25年 (現職は約3年) • 生成 AI を利用した SORACOM Support Bot のコアコンポーネントの 開発も担当 @yazakimakoto

Slide 4

Slide 4 text

本日のハッシュタグ #SORACOM 使用例 #SORACOM の検索で、最新情報が! @SORACOM_PR fb.com/soracom.jp youtube.com/c/SORACOM_Japan instagram.com/soracom.official

Slide 5

Slide 5 text

目次 • ソラコムにおける生成 AI への取り組み状況 • SORACOM Support Bot • SORACOM Support Bot カイゼンの歴史 • (ネタバレを含みそうなので中略) • SORACOM Support Bot の効果

Slide 6

Slide 6 text

ソラコムにおける生成 AI への取り組み状況 1. 研究と新規開発 ➢ ChatGPT Plus 契約費用の全額補助 ➢ 松尾研究所と共同で「IoT × GenAI Lab」を設立 生成 AI 研究、新規プロダクト開発、顧客向けプロサービス 提供を行うチームを設立 2. 情報発信や共有 ➢ IoT 技術の勉強会「IoT-Tech Meetup」で “ChatGPT × IoT” を テーマに開催 3. プラットフォームへの実装と提供 ➢ IoTデータの分析を生成 AI で行える 「SORACOM Harvest Intelligence」を提供 時系列データを対象にしたプロンプト支援で、トレンドや 異常・欠損などの洞察がワンクリックで得られる 株式会社松尾研究所 経営企画マネージャー 上田 雄登 氏 株式会社スマートドライブ主催 「Mobility Transformation 2023」(2023/9/23) より SORACOM Harvest Intelligence / プロンプト一覧 (2024年7月現在)

Slide 7

Slide 7 text

SORACOM Support Bot

Slide 8

Slide 8 text

SORACOM Support Bot 昨年末 2023.12.19 SORACOM サポートサイトで、 SORACOM Support Bot と 対話できるようになりまし た。

Slide 9

Slide 9 text

SORACOM Support Bot 本日 2024.07.17 SORACOM ユーザーコンソー ルで、SORACOM Support Bot と対話できるようになり ました。

Slide 10

Slide 10 text

SORACOM Support Bot 生成 AI を利用して、以下のドキュメントに基づいた回 答を自動生成する機能です。 • SORACOM Users (ソラコムユーザーサイト) • SORACOM Developers • よくあるお問い合わせ (SORACOM サポートサイト) • SORACOM サービス更新情報 (Product Updates) • SORACOM 公式ブログ • SORACOM ホームページ (soracom.jp、soracom.io) • サービス、IoT レシピ、パートナー • SORACOM IoT USECASE など

Slide 11

Slide 11 text

SORACOM Support Bot 生成 AI 界で人気の RAG (Retrieval-augmented generation。 検索拡張生成) と呼ばれる仕組みを利用しています。 ? 質問 データベース プロンプト + ?質問 + ドキュメント ! 回答 Azure OpenAI 16 種類、 24000 チャンク

Slide 12

Slide 12 text

SORACOM Support Bot 生成 AI 界で人気の RAG (Retrieval-augmented generation。 検索拡張生成) と呼ばれる仕組みを利用しています。 ? 質問 データベース プロンプト + ?質問 + ドキュメント ! 回答 16 種類、 24000 チャンク Azure OpenAI Azure OpenAI に送信する内容が、ハ ルシネーション (幻覚) を起こす可能性 に影響する

Slide 13

Slide 13 text

SORACOM Support Bot カイゼンの歴史

Slide 14

Slide 14 text

生成 AI の利活用 ソラコムでは、増加傾向の問い合わせに適切に対応す るために、2023-01 からサポート文脈での生成 AI の利 活用に挑戦してきました。 出典: Microsoft. “Azure OpenAI Service の一般提供開始 大規模かつ高度な AI モデルへのアクセスを拡大し、企業に付加価値を提供”. News Center Japan. 2023-1-23. https://news.microsoft.com/ja-jp/2023/01/23/230123-general-availability-of-azure-openai-service-expands-access-to-large-advanced-ai- models-with-added-enterprise-benefits/, (参照 2024-07-03).

Slide 15

Slide 15 text

soracom-bot SORACOM Support Bot は、社内では soracom-bot と 呼ばれています。 リリース月: • 2023-03 無名のボット (ver.1) • 2023-06 soracom-bot (ver.2) • 2023-07 soracom-bot-3 • 2024-01 soracom-bot-4 • 2024-06 soracom-bot-5

Slide 16

Slide 16 text

2023-03 無名のボット (ver.1) ボットが誕生。日本語で聞くと、まれに日本語で答え る。

Slide 17

Slide 17 text

ボットの動作を精査すると わかったことが (無名のボット (ver.1))

Slide 18

Slide 18 text

伸びしろ (1): • ドキュメントを 1 種類 しか選択できない。 2023-03 無名のボット (ver.1) Index Air Topic 1 Topic 2 Beam Topic 1 Topic 2 Harvest Topic 1 Topic 2 • Tree 構造のインデックス。 • リファインメント機構。

Slide 19

Slide 19 text

伸びしろ (2): • リファインメント機構 で回答が改善されない。 (改悪されることもある) 2023-03 無名のボット (ver.1) • Tree 構造のインデックス。 • リファインメント機構。 質問+上の回答 + Topic D 質問+上の回答 + Topic C 質問+上の回答 + Topic B 質問 + Topic A 質問+上の回答 + Topic D 質問+上の回答 + Topic C 質問+上の回答 + Topic B 質問 + Topic A 理想 現実

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

質問+上の回答 + Topic D 質問+上の回答 + Topic C 質問+上の回答 + Topic B 質問 + Topic A カイゼン (ver.1 → 2) • フラットな構造のインデックスに変更。 • リファインメント機構を廃止。 Index Air Topic 1 Topic 2 Beam Topic 1 Topic 2 Harvest Topic 1 Topic 2 Index Air: Topic 1 Air: Topic 2 Beam: Topic 1 Beam: Topic 2 Harvest: Topic 1 Harvest: Topic 2 質問 + Topic A + Topic B + Topic C + Topic D

Slide 22

Slide 22 text

2023-06 soracom-bot (ver.2) Slack でソラコムメンバーであればだれでも使えるボットとして利用可能に。 日本語で聞くと、日本語で答える。社内で 200 回くらい利用された。

Slide 23

Slide 23 text

ボットを使ってもらって わかったことが (soracom-bot (ver.2))

Slide 24

Slide 24 text

伸びしろ (3): • SORACOM Users だけで は、ユーザーの期待に 応えられない。 2023-06 soracom-bot (ver.2) • データベースに格納されているのは、SORACOM Users (ソラコムユーザーサイト) のみ。 • プロンプトに入れるドキュメントは 4 件。 SORACOM Users (ソラコムユーザーサイト)

Slide 25

Slide 25 text

伸びしろ (4): • プロンプトに入れるドキュ メントに正しい情報が含ま れない。 2023-06 soracom-bot (ver.2) • データベースに格納されているのは、SORACOM Users (ソラコムユーザーサイト) のみ。 • プロンプトに入れるドキュメントは 4 件。 データベース プロンプト + ?質問 + ドキュメント

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

カイゼン (ver.2 → 3) • データベースに公式ブログ、英語サイトなども追加する。 • プロンプトに入れるドキュメントの数を増やす。 ? 質問 データベース プロンプト + ?質問 + ドキュメント ! 回答 Azure OpenAI 4 → 8 件 1 → 4種類

Slide 28

Slide 28 text

2023-07 soracom-bot-3 社内で 400 回くらい利用された。

Slide 29

Slide 29 text

ボットを使ってもらって わかったことが (soracom-bot-3)

Slide 30

Slide 30 text

SORACOM Lagoon 3 で Public dashboardが利用 できるプランを次の3つか ら全て答えよ。 • Free • Maker • Pro Lagoon 2 のドキュメント を参照して答える…。 伸びしろ (4): • 人の目には明らかに重 要に見えるキーワード を無視する。 2023-07 soracom-bot-3 • ベクトル検索だけでドキュメントを抽出。 • 質問は 1 回限り。 • 参照するサイトは 4 種類。

Slide 31

Slide 31 text

2023-07 soracom-bot-3 • ベクトル検索だけでドキュメントを抽出。 • 質問は 1 回限り。 • 参照するサイトは 4 種類。 伸びしろ (5): • ボットの回答が的外れな場合、新たに質問するしか ない。データベースに正しい答えがあったとしても、 回答を引き出すのが難しい。

Slide 32

Slide 32 text

2023-07 soracom-bot-3 • ベクトル検索だけでドキュメントを抽出。 • 質問は 1 回限り。 • 参照するサイトは 4 種類。 伸びしろ (6): • 4 種類でもメンバーの期待に応えられない。

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

カイゼン (ver.3 → 4) • ベクトル検索に加えて文字列検索も利用して、適切 なドキュメントを抽出。 • 複数回続けて質問できるように。 • 参照するサイトを 13 種類に増やし Tree 構造を復活。 • 各 Tree からドキュメントを 抽出。 Class 1 サイト 1: Topic 1 サイト 1: Topic 2 サイト 2: Topic 1 サイト 2: Topic 2 サイト 3: Topic 1 サイト 3: Topic 2 Class 2 サイト 4: Topic 1 サイト 4: Topic 2 サイト 5: Topic 1 サイト 5: Topic 2 サイト 6: Topic 1 サイト 6: Topic 2 users.soracom.io など ブログなど サイト 2: Topic 1 サイト 5: Topic 1 文字列検索により選出

Slide 35

Slide 35 text

カイゼン (ver.3 → 4) • ベクトル検索に加えて文字列検索も利用して、適切 なドキュメントを抽出。 • 複数回続けて質問できるように。 • 参照するサイトを 13 種類に増やし Tree 構造を復活。 • 各 Tree からドキュメントを 抽出。 Class 1 サイト 1: Topic 1 サイト 1: Topic 2 サイト 2: Topic 1 サイト 2: Topic 2 サイト 3: Topic 1 サイト 3: Topic 2 Class 2 サイト 4: Topic 1 サイト 4: Topic 2 サイト 5: Topic 1 サイト 5: Topic 2 サイト 6: Topic 1 サイト 6: Topic 2 users.soracom.io など ブログなど サイト 2: Topic 1 サイト 5: Topic 1 文字列検索により選出 SORACOM Support Bot としてリリース!

Slide 36

Slide 36 text

2024-01 soracom-bot-4 社内で 500 回くらい利用さ れたが遅さが目立つ…。 16:33:02 16:36:51 4 分近くかかるケースも…

Slide 37

Slide 37 text

ボットを使ってもらって わかったことが (soracom-bot-4)

Slide 38

Slide 38 text

伸びしろ (7): • 遅い。回答が届くまでに数分。 2024-01 soracom-bot-4 • Chroma でベクトル検索と文字列検索。 • ユーザーの質問をそのまま使って検索。 • 英語の質問には英語のドキュメントを使って検索。

Slide 39

Slide 39 text

伸びしろ (8): • ボットにとって難しい質問がある。 • 複数の情報を比較する質問。 • 例: Harvest Files と Harvest Data の違い。 • 複数の情報が必要な質問。 • 例: SAM パーミッション権限の書きかたに関する質問。 2024-01 soracom-bot-4 • Chroma でベクトル検索と文字列検索。 • ユーザーの質問をそのまま使って検索。 • 英語の質問には英語のドキュメントを使って検索。

Slide 40

Slide 40 text

2024-01 soracom-bot-4 伸びしろ (8): • ボットにとって難しい質 問がある。 • 複数の情報を比較する質 問。 • 例: Harvest Files と Harvest Data の違い。 • 複数の情報が必要な質問。 • 例: SAM パーミッション権 限の書きかたに関する質問。

Slide 41

Slide 41 text

伸びしろ (9): • 英語で質問したときに日本語のドキュメントをうま く参照できない。逆もまた難しい。 • 文字列検索では言語を意識する必要がある。同様に ベクトル検索も言語を意識してみたが…。 2024-01 soracom-bot-4 • Chroma でベクトル検索と文字列検索。 • ユーザーの質問をそのまま使って検索。 • 英語の質問には英語のドキュメントを使って検索。

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

カイゼン (ver.4 → 5) • 遅い。回答が届くまでに数分。 • データベースを Chroma → AWS OpenSearch に変更。 • LLM を GPT-4 → GPT-4o に変更。 • ドキュメント 1 件あたりの基準サイズを見直して、 2000 トークン → 500 トークンに変更。 情報量を最適化して 回答時間を改善。

Slide 44

Slide 44 text

カイゼン (ver.4 → 5) • ボットにとって難しい質問がある。 • 複数の情報を比較する質問。 • SAM パーミッション権限に関する質問。 • LLM に送信するドキュメントの数を最大 12 → 30 件 に増加。 さらに… 基準トークン数を ¼ に減らしているため、トークン数は減。

Slide 45

Slide 45 text

カイゼン (ver.4 → 5) • LLM にドキュメントごとの件数を計画させる。

Slide 46

Slide 46 text

カイゼン (ver.4 → 5) • LLM に質問のバリエーションを生成させる。 「Harvest Files と Harvest Data の違いを教えてくださ い。」という質問では、以下のような質問を生成させ、 質問ごとにデータベースからドキュメントを抽出。 1. 「Harvest Files の特徴を教えてください」 2. 「Harvest Data の特徴を教えてください」 組み合わせを想定してすべての記事を作ることは不可能だが、 この仕組みを利用することで、Harvest Files と Harvest Data を比較した記事が無くても回答を生成できる。

Slide 47

Slide 47 text

カイゼン (ver.4 → 5) • 英語で質問したときに日本語のドキュメントをうま く参照できない。逆もまた難しい。 • ベクトルを計算するモデルを text-embedding-ada- 002 → text-embedding-3-large に変更。 ベクトル検索は言語を限定しないで実施する。

Slide 48

Slide 48 text

2024-06 soracom-bot-5 社内で 200 回くらい利用されている。引き続き利用し ています。

Slide 49

Slide 49 text

ボットの動作を精査すると わかったことが (soracom-bot-5)

Slide 50

Slide 50 text

2024-06 soracom-bot-5 ボットと人は間違えられがちw

Slide 51

Slide 51 text

2024-06 soracom-bot-5 うまく動いている様子。SORACOM Support Bot とし て動作しています。フィードバックをいただけると嬉 しいです。

Slide 52

Slide 52 text

SORACOM Support Bot の効果

Slide 53

Slide 53 text

SORACOM Support Bot の効果 • SORACOM サポートサイトに寄せられる問い合わせで SORACOM Support Bot を利用できるケースのうち、 約 31.9 % の方が SORACOM Support Bot を利用して います。 • SORACOM Support Bot の回答のうち… • 約 34.5 % が SORACOM サポートメンバーが正しいと判 断しています。 • 約 41.4 % が SORACOM サポートメンバーの関与なく解 決されました。

Slide 54

Slide 54 text

SORACOM Support Bot の効果 • SORACOM Support Bot の回答は、SORACOM サ ポートに問い合わせることに比べて、回答が返って くるまでの時間が圧倒的に短い。 • 気になったことはユーザーコンソールですぐに質問 できる。

Slide 55

Slide 55 text

SORACOM Support Bot の効果 • テクニカルライターとして、不足している情報への理解 が深まる。 • 文書化されていない知識と、文書化されている知識が可視 化される。 • SORACOM Support Bot が回答できないことで、文書化されてい ない知識が可視化される。 • 適切に文書化しやすい知識 (例: Harvest Files の特徴など) と、複数の文書を比較して得られる知識 (例: Harvest Files と Harvest Data の違い) がある。 • 後者については、ユーザーが必要とするすべての組み合わせを用 意することは現実的には困難だが、生成 AI を利用すると一定実現 できる。

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

SORACOM の願い クラウド ⇒ 多くの Web サービス SORACOM ⇒ 多くの IoT システム 日本から、世界から、たくさんの IoT プレイヤーが生まれますように

Slide 58

Slide 58 text

IoTの「つなぐ」を簡単に You Create. We Connect.