Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Pineconeの重要性とプラクティス
Search
八百俊哉
July 27, 2023
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Pineconeの重要性とプラクティス
ChatGPT Meetup Tokyo #1
八百俊哉
July 27, 2023
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
It's Worth the Effort
3n
188
29k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Become a Pro
speakerdeck
PRO
31
6.3k
Are puppies a ranking factor?
jonoalderson
2
4.1k
Building the Perfect Custom Keyboard
takai
2
910
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Amusing Abliteration
ianozsvald
1
350
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Transcript
Pinecone の 重要性とプラクティス Page 001 株 式 会 社 フ
ィ ー ド フ ォ ー ス A p p U n i t y 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 002 自己紹介 大学で機械学習を専攻。画像処理や自然言語処理の概要をそこで学ぶ。 2020 年に新卒で株式会社フィードフォースに入社。 入社時からデータサイエンティストとして社内のデータ分析を中心に 業務を実施。 最近は、新規事業開発を勉強中。 趣味は、休日にバレーボールをすること。
2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。 八百 俊哉 @feed_yao
Page 003 Agenda LLM の急速な普及によって、ベクトル データがどのように重要性を増してい るのか 従来のデータベースとベクトルデータ ベースの違いについて、データ構造・ 検索/
クエリ処理・スケーラビリティ といった観点から紐解く Pinecone の基本機能や特徴 index 管理とデータ戦略について 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
LLM の急速な普及と ベクトルデータベース Page 004 近年、LLM の急速な普及に伴い、ベクトルデータがます ます重要性を増しています。 ベクトルデータは、高次元の数値配列として表現される データであり、従来のデータ形式に対し、より高い表現
力を持ちます。 また、ベクトルデータベース(VecDB )は、ベクトル間 の類似度計算により、類似するデータを効果的に検索で きるため、従来のデータベースでは難しかった類似デー タの検索が可能になります。 従来のデータ形式 ベクトルデータ こんにちは [0,1,3,0, ....] 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
LLM に問い合わせるだけ ベクトルデータベースの活用 Answer Question Answer Question LLM の急速な普及と ベクトルデータベース
LLM とVecDB の関係 LLM の知識内での回答 Question 内容に近いデータを検索 LLM の知識にない情報でも 回答を作成できる Page 005 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 006 01 従来のデータベースとベクトルデータベースの 違いは、主にデータ構造、検索・クエリ処理、 スケーラビリティの面で顕著に現れます 03 02 従来のデータベース(RDS) は、
テーブルとしてデータを格納し、 各テーブルは行と列で構成されています。 一方でVecDB は、ベクトルとしてデータを格納します。 従来のデータベースと ベクトルデータベースの違い データ構造 検索/ クエリ処理 スケーラビリティ 従来のデータベースはSQL を用いてデータ検索 や更新が行われます。条件に合致するデータを 厳密に検索します。 一方、ベクトルデータベースでは、ベクトル間 の類似度に基づいた検索が主となります。 従来のデータベースでは、データ量やアクセス数が増える と、スケーラビリティの問題が発生しやすいです。 一方、ベクトルデータベースは、高次元データを効率的に 扱うためのインデックス構造やアルゴリズムが用いられて おり、大規模なデータセットやリアルタイムなクエリに対 応することが可能です。 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 007 01 VecDB×LLM の相乗効果 03 02 従来のデータベース(RDS) は、 テーブルとしてデータを格納し、
各テーブルは行と列で構成されています。 一方でVecDB は、ベクトルとしてデータを格納します。 従来のデータベースと ベクトルデータベースの違い データ構造 検索/ クエリ処理 スケーラビリティ 従来のデータベースはSQL を用いてデータ検索や更新が行われます。条 件に合致するデータを厳密に検索します。 一方、ベクトルデータベースでは、ベクトル間の類似度に基づいた検索 が主となります。 従来のデータベースでは、データ量やアクセス数が増えると、スケーラビリティの問題 が発生しやすいです。 一方、ベクトルデータベースは、高次元データを効率的に扱うためのインデックス構造 やアルゴリズムが用いられており、大規模なデータセットやリアルタイムなクエリに対 応することが可能です。 高次元データの表現が可能となり、機械 学習モデルや深層学習で生成されるベク トルデータの管理が容易になる 与えられたクエリベクトルに最 も近いベクトルを効率的に検索 できる リソースの動的調整により柔軟 なスケーラビリティが実現 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 008 Why Pinecone Pinecone は、 ベクトルデータベースとして優れた特性を持ち、 機械学習や深層学習を用いたアプリケーション開発 に適した基本機能を提供しています 数十億ものアイテムがある場合でも、
超低クエリ処理を実現できる。 データの追加、編集、削除がリアルタ イムにインデックスに反映される。こ れにより、データが常に最新の状態で 利用できるため、アプリケーションの 効率が向上する。 ベクトル検索とメタデータフィルター を組み合わせることで、より関連性の 高い検索結果を効率的に提供できる。 これにより、顧客ニーズに合わせた最 適な検索結果を短時間で得ることが可 能。 高速な検索機能 リアルタイムなデータ更新 メタデータフィルター 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 009 VecDB の最適な プラクティスとは VecDB の重要性や Pinecone の特性を紹介してきました。 ここから状況に合わせた最適なVecDB
の設計につい て考えていきたいと思います ここからは 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 010 Organization Index Index Vector Vector Vector values( ベクトルデータ)
Pinecone の概念 Pinecone 内に登場する概念について図を用いながら整理します id(index 内で重複なし) namespaces( グループ) metadata values id namespaces metadata values id namespaces metadata 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 011 Organization Index Vector values( ベクトルデータ) id(index 内で重複なし) namespaces(
グループ) Pinecone の概念 Pinecone 内に登場する概念について図を用いながら整理します metadata 文字列をEmbedding したベクトルが入っている この値を用いて近似している文章などを算出する 例:[0, 1, 2, 1, 6, 7, ....] index 内で重複していない固有のID 一つのVector に対して一つのid が存在する Fetch を使用することでid をもとにVector を取得することができる Vector の集合を作成したいときに使用する query( 近い文章を検索) するときにNamespace の範囲で検索できる 例:index.query(vector=[...], namespace='sample') 様々なフォーマットがサポートされているメタ情報。 query するときに、metadata を使用してフィルタリングが可能 例:index.query(vector=[...], filter={'sample': {...}}) 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 012 Organization Index Index Vector Vector Vector values( ベクトルデータ)
Pinecone の概念 Pinecone 内に登場する概念について図を用いながら整理します 社内プロジェクトでの使用例 id(index 内で重複なし) namespaces( どの文書か) metadata values slack_{channel}_0 slack metadata values google_doc_0_0 google_doc metadata slack_{channel} id( 文書ID) text( 本文) {message} google_doc_{doc_title} {doc_description} doc_name( どの文書か) slack google_doc 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 013 Organization Index Vector Vector values( ベクトルデータ) Pinecone の概念
id(index 内で重複なし) namespaces( どの文書か) metadata values slack_{channel}_0 slack metadata slack_{channel} id( 文書ID) text( 本文) {message} 文書を分割している場合は それぞれに番号を 割り振りID とする( 詳細は後述) どの文書から作成した ベクトルかを区別する 特定のnamespace を 使用したいときに利用する namespace は一つしか 指定できない 複数の条件で絞り込む用に用意 doc_name( どの文書か) slack Pinecone 内に登場する概念について図を用いながら整理します 社内プロジェクトでの使用例 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 014 Index Vector values( ベクトルデータ) id(index 内で重複なし) シチュエーション別の プラクティス
以下のシチュエーションでの適切な管理を考える この場合はあまり工夫する必要はない metadata もなくても運用まで持っていける id が重複しないようにするだけで良いが、 指定しなければ自動で割り振られる 1 つのサービスから条件分岐なしでベクトルを取得する 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 015 Index Vector values( ベクトルデータ) id(index 内で重複なし) namespaces( グループ)
シチュエーション別の プラクティス 以下のシチュエーションでの適切な管理を考える 集合を区別できるnamespaces を それぞれのベクトルに用意する。 この場合は、query の条件に合わせて取得する 集合を変更することができる。 metadata でid を与える方法もある 1 つのサービスから1 つの集合を指定し、ベクトルを取得する 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 016 Index Vector values( ベクトルデータ) id(index 内で重複なし) namespaces( グループ)
シチュエーション別の プラクティス 以下のシチュエーションでの適切な管理を考える namespaces では、1 つの条件しか指定できない。 複数の条件を組み合わせる場合は、 metadata の活用が必須になる。 サービスの拡張性を考慮しながら全体を 設計する必要がある。 1 つのサービスから複数の条件を指定し、ベクトルを取得する metadata 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。
Page 017 The End Thank you for watching 最後までご清聴ありがとうございました。 本日は以下のトピックについてお話ししました。
現在進行形で抽象化が進んでいる分野のため 変化が激しいとは思いますが、 現在わかる範囲で情報をまとめました。 お役に立てれば幸いです。 八百 LEARN MORE PORTOFOLIO LLM とVecDB の重要性 通常のDB とVecDB の違い Pinecone の概要 状況別のプラクティス例 2023 ©️ Feedforce Inc. | 本資料を無断で転用・改変・複製・第三者に開示することを禁じます。