Slide 1

Slide 1 text

Ask! NIKKEIの運⽤基盤と改善に向けた取り組み NIKKEI TECH TALK #30 2025/02/06 ⽇本経済新聞社 ⾺嶋海⽃

Slide 2

Slide 2 text

#nikkei_tech_talk 2 アジェンダ n ⾃⼰紹介 n Ask! NIKKEI について n Ask! NIKKEI の運⽤基盤 n Ask! NIKKEI 改善に向けた取り組み

Slide 3

Slide 3 text

#nikkei_tech_talk 3 ⾃⼰紹介 n 名前 p ⾺嶋海⽃(まじま かいと) n 所属 p ⽇本経済新聞社(2023/4~) p ⽇経電⼦版のAI機能開発 n 趣味 p テニス、旅⾏、漫画

Slide 4

Slide 4 text

#nikkei_tech_talk Ask! NIKKEIについて 4

Slide 5

Slide 5 text

#nikkei_tech_talk 5 Ask! NIKKEIのご紹介 n ⽇経電⼦版のAI機能 n 電⼦版記事を元にAIが回答を⽣成 p いわゆるRAG n 2025/02 現在ベータ版

Slide 6

Slide 6 text

#nikkei_tech_talk LLM 6 回答⽣成の仕組み(概要) n 質問と電⼦版記事の本⽂をプロンプトに挿⼊してLLMに参照させる ユーザー質問 電⼦版記事 プロンプト テンプレート 回答

Slide 7

Slide 7 text

#nikkei_tech_talk LLM 7 回答⽣成の仕組み(概要) n バックエンドではユーザー質問から電⼦版記事を検索 ユーザー質問 電⼦版記事 プロンプト テンプレート 回答 バックエンド 記事検索

Slide 8

Slide 8 text

#nikkei_tech_talk LLM 8 回答⽣成の仕組み(概要) n フロントエンドではLLMの出⼒をレンダリング ユーザー質問 電⼦版記事 プロンプト テンプレート 回答 フロントエンド

Slide 9

Slide 9 text

#nikkei_tech_talk LLM 9 回答⽣成の仕組み(概要) n 質問と電⼦版記事の本⽂をプロンプトに挿⼊してLLMに参照させる ユーザー質問 電⼦版記事 プロンプト テンプレート 回答

Slide 10

Slide 10 text

#nikkei_tech_talk 10 質問の⼊⼒場所 n 現在、2か所からAsk! NIKKEIに質問を⼊⼒できる ① Ask! NIKKEIのページ Ø ⼊⼒フォームとサンプル質問がある ② 個別記事ページの下部 Ø ⼊⼒フォームと記事から⾃動⽣成した質問(関連質問)がある ① Ask! NIKKEIのページ ② 個別記事ページの下部 記事:トランプ⽒、孫正義⽒らとAI開発に78兆円投資表明(2025/1/22) https://www.nikkei.com/article/DGXZQOGN21E3F0R20C25A1000000/

Slide 11

Slide 11 text

#nikkei_tech_talk 11 記事の関連質問 n 利⽤促進のため、記事ページ下部に記事内容の関連質問を⽣成 p 記事内容を深掘りする質問、記事の周辺領域の知識を広げる質問 p 記事を⼊⼒としてLLMで⾃動⽣成 LLM 記事:トランプ⽒、孫正義⽒らとAI開発に78兆円投資表明(2025/1/22) https://www.nikkei.com/article/DGXZQOGN21E3F0R20C25A1000000/

Slide 12

Slide 12 text

#nikkei_tech_talk 12 ここまでのまとめ n Ask! NIKKEIは⽇経電⼦版のAI機能 n 内部処理として、記事検索やプロンプト構築が⾏われている n 利⽤促進のため、記事内容から関連質問を⾃動⽣成

Slide 13

Slide 13 text

#nikkei_tech_talk Ask! NIKKEIの運⽤基盤 13

Slide 14

Slide 14 text

#nikkei_tech_talk LLM 14 再掲:Ask! NIKKEIのバックエンド ユーザー質問 電⼦版記事 プロンプト テンプレート 回答 バックエンド 記事検索

Slide 15

Slide 15 text

#nikkei_tech_talk 15 バックエンドの構成図(概要) n Google Cloud上で稼働

Slide 16

Slide 16 text

#nikkei_tech_talk 16 検索サーバー n Cloud Runで稼働 p FastAPI + Uvicorn n 主な処理 p クエリ展開 p クエリ埋め込みの計算 p ベクトル検索 p 検索結果のリランキング

Slide 17

Slide 17 text

#nikkei_tech_talk 17 記事DB n Qdrantを使⽤ n 特徴 p ⾼速にベクトル検索可能 p Managed Cloudを提供 Ø 2025/02現在、東京リージョンはAWSのみ p Hybrid Searchにも対応 Ø 密ベクトルと疎ベクトルの両⽅を⽤いて検索可能

Slide 18

Slide 18 text

#nikkei_tech_talk 18 推論インスタンス n 複数タスクを実⾏ p 埋め込み計算 p リランキング n GPUインスタンス(G2)を使⽤ p HuggingfaceのText Embeddings Inference Ø GPUで⾼速に推論を可能にするツールキット Ø 電⼦版データで学習したモデルを使⽤ Ø 複数モデルを同じインスタンスで運⽤ p アプリケーション内部LBで接続 Ø Cloud Run等からはVPCコネクタ, Direct VPC egressでアクセス huggingface/text-embedding- inference - GitHub

Slide 19

Slide 19 text

#nikkei_tech_talk 19 DB挿⼊バッチ n Cloud Run Functionsで稼働 p Cloud Schedulerで定期実⾏ n 主な処理 p 社内APIで記事情報取得 p 記事の埋め込みを計算 p Qdrantに保存

Slide 20

Slide 20 text

#nikkei_tech_talk 20 関連質問⽣成 n Cloud Run Functionsで稼働 p Cloud Schedulerで定期実⾏ n 主な処理 p 社内APIで記事情報取得 p LLMで質問⽣成 p 検索品質評価 Ø 検索サーバーにリクエスト Ø 独⾃の評価指標を計算 Ø 品質の悪い質問をフィルタ

Slide 21

Slide 21 text

#nikkei_tech_talk Ask! NIKKEI 改善に向けた取り組み 21

Slide 22

Slide 22 text

#nikkei_tech_talk 22 ロギング n 社内のデータ基盤Atlasを活⽤ p 参考:https://hack.nikkei.com/blog/advent20241218/ p 他の電⼦版のログとの紐付け n Google Cloud上で独⾃のロギングも実施 p Pub/Sub 経由でBigQueryにデータ送信 p プロダクト内の簡易的な分析に使⽤ Ø ユーザーの質問の分析 Ø フィードバックの集計 ⽇経のデータ分析基盤「Atlas」 の現在地 ‒ HACK The Nikkei

Slide 23

Slide 23 text

#nikkei_tech_talk 23 トレーシング n Arize Phoenixで出⼒をトレーシング p LLMに特化したトレーシングライブラリ p OpenTelemetry protocol (OTLP) に従う Ø フロントエンドとバックエンドを紐付け可能 n Cloud Runでセルフホスト p Cloud SQL for PostgreSQLをDBとして使⽤ n ブログ書きました! p https://hack.nikkei.com/blog/advent20241208/ Arize Phoenix + Cloud Runで実現する LLMのトレーシング‒ HACK The Nikkei

Slide 24

Slide 24 text

#nikkei_tech_talk 24 トレーシング n Arize Phoenixによるトレーシング p 各所のログを紐付け Ø フロントエンドでの回答⽣成 Ø 検索サーバーにおける各処理 p 主要な記録項⽬ Ø LLMのモデルやトークン数 Ø ⼊出⼒、レイテンシ Ø ユーザーからのフィードバック(後述) p その他機能 Ø データセット登録 Ø LLM部分のリプレイ Arize Phoenix + Cloud Runで実現する LLMのトレーシング‒ HACK The Nikkei

Slide 25

Slide 25 text

#nikkei_tech_talk 25 フィードバックの収集 n 改善サイクルを速く回すためにフィードバックを収集 p 社内APIを介してSlackで通知される p 先述のPhoenixのログと紐づいている フォームの位置と形態 Phoenixのリンク付きでSlackに通知 Phoenixで⽣成過程 を確認できる

Slide 26

Slide 26 text

#nikkei_tech_talk 26 関連質問の改善 n 品質劣化の検知、改善策の着想をしやすい環境作り p 毎⽇Slackで⼈気記事の関連質問を通知 p 関連質問⽣成処理をトレーシング Ø プロンプトを変更した場合などの検証が容易 Slackでの⼈気記事の関連質問の通知 関連質問の⽣成過程をトレーシング

Slide 27

Slide 27 text

#nikkei_tech_talk まとめ 27

Slide 28

Slide 28 text

#nikkei_tech_talk 28 まとめ n Ask! NIKKEIは⽇経電⼦版のRAG機能 p 電⼦版記事を元にユーザーの質問に対する回答を⽣成 p 記事下部には記事の関連質問を⾃動⽣成 n Ask! NIKKEIのバックエンドはGoogle Cloud上で稼働 p 検索サーバーやGPUインスタンスなどを運⽤ n Ask! NIKKEI改善のための取り組み p ロギング、トレーシング p フィードバックの収集、関連質問の品質チェック

Slide 29

Slide 29 text

#nikkei_tech_talk 29 We’re Hiring!! AIエンジニア、MLエンジニア求⼈ テックブログ

Slide 30

Slide 30 text

#nikkei_tech_talk ご清聴ありがとうございました!! 30