Slide 1

Slide 1 text

MILIZE社の⽣成AI活⽤事例とデータ基盤 について Azure AI Hub 2024年2⽉26⽇

Slide 2

Slide 2 text

Copyright © MILIZE Inc. All rights reserved Confidential 会社概要 1 会社名 株式会社.*-*;&(ミライズ) 設⽴ 年⽉ 資本⾦ 円(資本準備⾦含む) 事業内容 ● "*・ビッグデータサービス事業 ● ⾦融・市場サービス事業 ● 個⼈資産形成⽀援事業 本社 東京都港区芝浦四丁⽬番号 $"/"-("5&4)*#"63"ビル ⼦会社 株式会社.*-*;&*/7&45.&/5 株式会社みらいバンク 株式会社みらいスコア 従業員数 名(年⽉⽇現在) ⽥中 徹 代表取締役社⻑ CEO 東京⼤学経済学部卒、 ⽶国ロチェスター⼤学経営学修⼠ MBA。 旧富⼠銀⾏にてデリバティブトレーディ ング、リスク管理ヘッジファンド運⽤等 を担当。 その後独⽴し、⾦融ソフトウェア会社 などを起業したシリアル起業家。

Slide 3

Slide 3 text

Copyright © MILIZE Inc. All rights reserved Confidential MILIZEの⽣成AIを⽤いた取り組みについて 2 Azureを使⽤した⽣成AIとDatabricksを活⽤した基盤構築 マイクロソフト社@品川

Slide 4

Slide 4 text

Copyright © MILIZE Inc. All rights reserved Confidential "[VSFと%BUBCSJDLTについて 3

Slide 5

Slide 5 text

Copyright © MILIZE Inc. All rights reserved Confidential ChatGPTを使ったニュースをパーソナライズする、ビジネスに繋げやすくする、戦う営業マンのサポートツール 4 (ニュースダッシュボード) NewsAd :ニュースダッシュボード 記事可視化画⾯ ニュースのスコア・正負センチメント・商品販売可能性スコアなどのニュ ースへの付加情報が計算されます。 会話ネタや連想できることなど着眼点 を与えてくれます。 今⽇のニュースで取引可能性や取引 深化できそうな先がリストアップ ニュースの要約やキーワードのワードマップなどの可視化ができます。 キーワード・⽂章での検索や類似したニュースなど、複雑な作業が可能に なります。

Slide 6

Slide 6 text

Copyright © MILIZE Inc. All rights reserved Confidential 5 顧客へのコンサルティング提供の頼もしい味⽅ 【Fin Adの特徴】 顧客の情報をもとに適切なファイナンシャル・コンサルティングを実施するためのChatGPTを使ったアドバイス⽣成システ ムです。⼈⽣設計との連動、CRM(Salesforceを予定)との連動で、One to One のアドバイスが可能になります。 1. CRM(⼈⽣設計・CRMなど)からデータ連携、顧客 に最適なアドバイスを⽣成。 2. AIの回答を編集可能。編集内容をAIが学習し、 独⾃に進化。どんどん学習してくれるので、AIが 頼れる先輩のような存在に。 3. 顧客にあわせて、挨拶⽂、ニュース、アイスブレイ クネタを⽣成。 4. 顧客管理機能(簡易)付きで、顧客別に相談履歴を 確認できる。 5. 相談リストから選択し、オリジナルの相談ストーリ ーを組み⽴て可能! 6. 顧客からの相談をいつでも受付!AI⾃動返信モー ドに設定可能! 顧客 プロフィール 個⼈情報 は排除 AZURE環境・⽇本国内のリージョンで⾦融機関でも安⼼の⾼度なセキュリティを確保したクラウド内での構築を⾏っています。

Slide 7

Slide 7 text

Confidential Copyright © MILIZE Inc. All rights reserved Databricks Vector Searchを使⽤した ニュース基盤の構築 6

Slide 8

Slide 8 text

Copyright © MILIZE Inc. All rights reserved Confidential 注意点 7 • Databricks vector searchはまだ2024/2/26現在、プレビュー版 でUSリージョンしか対応してないです。 • 本⽇の資料はDatabricksの画⾯がたくさん出ますが、 Jupyter/google colab等を動かした経験がある⼈にもわかるよ うに⼼がけて作成しました。 USリージョンのみ対応

Slide 9

Slide 9 text

Copyright © MILIZE Inc. All rights reserved Confidential 背景 8 • ⾦融機関や法⼈営業の職員は、多くの情報から迅速に特定のニュースや市場の動 きを捉える必要がありますが、ニュースの詳細を思い出すのが難しいことがあり ます。 • この問題に対応するため、Large Language Models (LLM) を活⽤したベクトル検 索に注⽬。ベクトル検索は、キーワードだけでなくクエリの⽂脈や内容を理解 し、関連情報を⾒つけ出すことができます。 • 現在、法⼈営業向けの「NewsAD」と⾦融機関向けの「FinAD」というサービス の開発に、Databricks Vectors Searchを利⽤検討の結果を紹介します。 ⼤量のニュース を効率的に理解 したい

Slide 10

Slide 10 text

Copyright © MILIZE Inc. All rights reserved Confidential リアルタイムLLM基盤の重要性 9 • ニュースは24時間リアルタイムで私たちの元に配信 • 特に⼤きなイベントが発⽣すると、⼤きな影響がある • 現在のLLMはインターネット検索が可能でもリアルタイム性 はない 法⼈営業員 ファンドマネージャー リアルタイム処理に優位なDatabricksの基盤を採⽤

Slide 11

Slide 11 text

Copyright © MILIZE Inc. All rights reserved Confidential Databricks Vector Searchについて 10 「Databricks Vector Search」は、「Databricks上で実⾏可能な サーバーレスのベクトル検索エンジン」 1. サーバレスの類似検索エンジン 2. Deltaテーブル(Databricks専⽤のテーブル)に基づく⾃動更新ベクター検索インデックス 3. Unity Catalog(Databricksのデータの集合体)によるデータガバナンスとアクセス制御 4. サーバレスによるインフラ管理が不要 ベクトル検索 | Databricks https://www.databricks.com/jp/product/machine- learning/vector-search

Slide 12

Slide 12 text

Copyright © MILIZE Inc. All rights reserved Confidential 使⽤するデータについて 11 • ニュースデータは時事通信より提供 • 期間は2023/1/1〜2023/2/25 • データ数は15万件

Slide 13

Slide 13 text

Copyright © MILIZE Inc. All rights reserved Confidential ベクトル検索するまでの流れ 12 ベクトル検索エンドポイントの作成 ベクトルインデックスの作成 ベクトルインデックスの取得 外部モデルを登録 ベクトル検索で検証 前処理

Slide 14

Slide 14 text

Copyright © MILIZE Inc. All rights reserved Confidential 外部モデルを登録⽅法 13 AOAIの場合はapiキー以外に も指定しないと動かないこと に注意 → 加えて、HuggingFace等に登録されたモデルも簡単にサーバレスでデプロイできる。

Slide 15

Slide 15 text

Copyright © MILIZE Inc. All rights reserved Confidential ベクトルインデックスの作成 14 from databricks.vector_search.client import VectorSearchClient vs_client = VectorSearchClient() vs_client.create_endpoint( name="エンドポイント名", endpoint_type="STANDARD" )

Slide 16

Slide 16 text

Copyright © MILIZE Inc. All rights reserved Confidential ベクトル検索エンドポイントの作成 15 index = vs_client.create_delta_sync_index( endpoint_name=vs_endpoint_name, source_table_name=source_table_name, index_name=index_name, pipeline_type="TRIGGERED", #TRIGGEREDとcontinuousがある primary_key="プライマリーID", embedding_source_column="ニュースのデータを指定(カラム)", embedding_model_endpoint_name="llm-endpoint" #先ほど登録したモデル ) ニュースのデータを指定

Slide 17

Slide 17 text

Copyright © MILIZE Inc. All rights reserved Confidential ベクトルインデックスの取得 16 index = vs_client.get_index( endpoint_name=vs_endpoint_name, index_name=index_name) モデル 時間 text-embedding-ada-002 9640秒 databricks-bge-large-en 5070秒 multilingual-e5-large-embedding-endpoint 8940秒 経過時間を表示 使用状況を確認

Slide 18

Slide 18 text

Copyright © MILIZE Inc. All rights reserved Confidential ベクトル検索の実施 17 query="ローソン KDDI TOB" results = index.similarity_search( query_text=query, columns=["NewsTitle", "NewsDate","NewsBody"], num_results=5 #トップ5つの結果を表示 ) 結果 作成されたベクトルデータベース

Slide 19

Slide 19 text

Copyright © MILIZE Inc. All rights reserved Confidential 微妙でした 18

Slide 20

Slide 20 text

Copyright © MILIZE Inc. All rights reserved Confidential ベクトル検索の実施 19 multilingual-e5-large-embeddingで再度検証 text-embedding-ada-002 (OpenAI)より、⽇本語タスクにおいて⾼いスコア(※) (※)JapaneseEmbeddingEval https://github.com/oshizo/JapaneseEmbeddingEval 結果

Slide 21

Slide 21 text

Copyright © MILIZE Inc. All rights reserved Confidential 実践的な例 : Langchainとの統合 20 LangchainはDatabricksの各種機能をサポートしており、これまで紹介した機能を⽣かした RAGベースのチャットボットを簡単に実装できる。 from langchain.vectorstores import DatabricksVectorSearch from langchain.embeddings import DatabricksEmbeddings from langchain.chat_models import ChatDatabricks from langchain.chains import RetrievalQA embedding_model = DatabricksEmbeddings(endpoint='multilingual-e5-large-embedding-endpoint') vs_index = vs_client.get_index(endpoint_name=vs_endpoint_name, index_name=index_name) # Create the retriever vectorstore = DatabricksVectorSearch( vs_index, text_column="combined_news", embedding=embedding_model, columns=["NewsDate","NewsTitle","NewsBody"] ).as_retriever(search_kwargs={'k': 4}) chat_model = ChatDatabricks(endpoint="databricks-llama-2-70b-chat", max_tokens = 1000) qa = RetrievalQA.from_chain_type(llm=chat_model, chain_type="stuff", retriever=retriever) chatモデル指定

Slide 22

Slide 22 text

Copyright © MILIZE Inc. All rights reserved Confidential 実践的な例 : Langchainとの統合 21 (回答) 最新の⾦融関連ニュースとして、以下のような情報があります。 ⽇本の銀⾏の破綻に伴い、⽶国の⾦融市場では信⽤不安が収まらず、⾦融株の⼤幅下落が続いています。特 に地⽅銀⾏株の下げがきつく、ファースト・リパブリック・バンクは6割超、ウエスタン・アライアンス・ バンコーポレンションは5割近く急落しています。(2024年2⽉13⽇) ⽶連邦準備制度理事会(FRB)は、経営破綻した⽶中堅銀⾏シリコンバレーバンク(SVB)の問題で、 監督と規制のあり⽅を点検すると発表しました。(2024年2⽉13⽇) ロシアは、ウクライナ穀物合意を巡る協議で、18⽇に期限切れとなる合意の再延⻑について「60⽇間に 限って」同意する意向を⽰しました。(2024年2⽉13⽇) チェコのクプカ運輸相は、2035年にガソリン⾞の新⾞販売を事実上禁⽌する法案に関し、ドイツやイタ リアなど欧州連合(EU)7カ国の交通相と協議したことを明らかにしました。(2024年2⽉13⽇) ユーログループ議⻑のドナフーは、会合後の共同記者会⾒で、⽶中堅銀⾏シリコンバレーバンク(SVB) の破綻に絡み、欧州の銀⾏は「全体的に良好な状態だ」との認識を⽰しました。(2024年2⽉13⽇) バイデン⽶政権は、2024会計年度(23年10⽉〜24年9⽉)の国防総省の予算として、前年度⽐ 3.2%増の8420億ドル(約112兆円)を議会に要求しました。国防予算としては過去最⼤で、対中 国の抑⽌⼒強化に向けたものとみられます。(2024年2⽉13⽇) 以上の情報は、現在の⾦融関連ニュースの⼀部です。 (質問) ⾦融機関との⾯談があるので、最新の⾦融関連のニュースを⽇付と共に教えてください。

Slide 23

Slide 23 text

Copyright © MILIZE Inc. All rights reserved Confidential リアルタイムRAGに向けて:Delta Sync(デルタ同期) 22 index = vs_client.create_delta_sync_index( endpoint_name=vs_endpoint_name, source_table_name=source_table_name, index_name=index_name, pipeline_type="TRIGGERED", primary_key="プライマリーID", embedding_source_column="ニュースのデータを指定", embedding_model_endpoint_name="multilingual-e5-large-embedding" ) Delta Sync Indexを作成することで、元となるテキストデータのテーブルと同期されたベク トルDBが作成される。 Index.sync() を実⾏することで、最後に同期した時点と実⾏時点の元のテーブルの差分が⾃動でベクトル化 される。 *pipeline_type="continuous"の場合はリアルタイムでベクトル化される。(インスタンスは常時起動する。)

Slide 24

Slide 24 text

Copyright © MILIZE Inc. All rights reserved Confidential 今後について 23 • Databricksの推奨する、LLMチャットボットのリアルタイム評価のためのモニタ リング基盤の構築 • AI searchやPrompt Flowなどの棲み分けを今後どのようにするか Prompt Flow Databricksで⾼品質のRAGアプリケーションを作成する https://www.databricks.com/jp/blog/building-high-quality-rag-applications-databricks