クイズの説明
Step 2で学んだ内容の理解度をチェックします。
- 全8問
- 合格ライン: 80%(7問正解)
- 不合格の場合は復習してから再挑戦してください
問題
Q1. エンベディングモデル選定でRAGシステムに最も重要なMTEBカテゴリはどれですか?
- A) Classification
- B) Clustering
- C) Retrieval
- D) Summarization
答えを見る
正解: C
RAGシステムではクエリに対して関連ドキュメントを正確に検索することが最も重要なため、MTEBのRetrievalカテゴリのスコアが最も参考になります。ClassificationやClusteringはテキスト分類やグループ化のタスクで使われます。
Q2. Matryoshka Embeddingの利点はどれですか?
- A) エンベディングの精度を100%にできる
- B) 高次元ベクトルの先頭N次元を切り出して低次元で使える
- C) 複数のモデルを同時に使える
- D) エンベディングの生成速度を10倍にできる
答えを見る
正解: B
Matryoshka Embeddingでは、例えば1536次元で生成したベクトルの先頭512次元だけを使うことが可能です。これによりストレージと検索速度を改善しつつ、精度の95%以上を維持できます。柔軟な次元数調整が最大の利点です。
Q3. 既にPostgreSQLを運用中の組織で、10万件程度のベクトル検索を導入する場合、最も適切な選択はどれですか?
- A) Pinecone(フルマネージド)
- B) pgvector(PostgreSQL拡張)
- C) 独自のベクトル検索エンジンを開発
- D) Elasticsearch
答えを見る
正解: B
既存のPostgreSQLインフラを活用できるpgvectorが最も効率的です。追加のインフラ不要で、SQLの知識がそのまま使え、メタデータとの結合も容易です。10万件程度であればpgvectorのパフォーマンスで十分対応できます。
Q4. HNSWインデックスのパラメータ m を大きくした場合の影響はどれですか?
- A) メモリ使用量が減少し、検索速度が向上する
- B) メモリ使用量が増加し、検索精度(Recall)が向上する
- C) インデックスの構築速度が向上する
- D) ベクトルの次元数が自動的に削減される
答えを見る
正解: B
mは各ノードの接続数を制御します。大きくするとグラフの接続が密になり検索精度が向上しますが、各ノードが保持する接続情報が増えるためメモリ使用量も増加します。RAGでは12-24の範囲が推奨されます。
Q5. IVFインデックスのnlistパラメータの適切な設定方法はどれですか?
- A) 常に100固定
- B) ベクトル数の平方根(sqrt(N))を目安にする
- C) ベクトルの次元数と同じにする
- D) 可能な限り大きくする
答えを見る
正解: B
IVFのnlist(クラスタ数)はベクトル数の平方根が一般的な目安です。100万ベクトルなら約1000クラスタとなります。小さすぎると各クラスタが大きくなり検索が遅く、大きすぎるとクラスタが小さくなりRecallが低下します。
Q6. ハイブリッド検索でReciprocal Rank Fusion (RRF)を使用する目的はどれですか?
- A) ベクトル検索とキーワード検索の結果を単一のスコアに統合する
- B) 検索結果をアルファベット順にソートする
- C) 重複するドキュメントを全て除外する
- D) 検索クエリを自動的に翻訳する
答えを見る
正解: A
RRFは、異なるスコア体系を持つ複数の検索結果を、ランク(順位)ベースで統一的に統合するアルゴリズムです。ベクトル検索のコサイン類似度とBM25のスコアは直接比較できませんが、RRFはランクを使うため異なるスコア体系の結果を自然に融合できます。
Q7. セマンティックキャッシュの類似度閾値を0.95に設定している場合、どのような動作が期待されますか?
- A) 全てのクエリがキャッシュヒットする
- B) 元のクエリと意味的にほぼ同一のクエリのみキャッシュヒットする
- C) キーワードが完全一致するクエリのみキャッシュヒットする
- D) ランダムに50%のクエリがキャッシュヒットする
答えを見る
正解: B
コサイン類似度0.95は非常に高い閾値で、「デプロイ手順を教えて」と「デプロイの方法を教えてください」のように、意味的にほぼ同一の表現のみがキャッシュヒットします。閾値が低すぎると誤った結果を返すリスクがあり、高すぎるとキャッシュヒット率が下がります。
Q8. Product Quantization (PQ)の主な目的はどれですか?
- A) 検索精度を100%に向上させる
- B) ベクトルを圧縮してメモリ使用量を大幅に削減する
- C) ベクトルの次元数を自動的に最適化する
- D) 複数のベクトルDBを同時にクエリする
答えを見る
正解: B
PQは高次元ベクトルをサブベクトルに分割し、各サブベクトルを代表値で近似することで、メモリ使用量を最大32倍程度削減できます。精度は多少低下しますが、数千万〜数億のベクトルを扱う場合にはメモリ制約を解消する重要な手法です。
結果
7問以上正解の場合
合格です。おめでとうございます。
Step 2「ベクトルDBを選定・構築する」を完了しました。 次は Step 3「プロンプトを最適化する」に進みましょう。
6問以下の場合
もう少し復習しましょう。
| 問題 | 復習セクション |
|---|---|
| Q1, Q2 | step2_1 エンベディングモデルの基礎と選定 |
| Q3 | step2_2 ベクトルDBの比較と選定 |
| Q4, Q5, Q8 | step2_3 インデックス戦略とアルゴリズム |
| Q6, Q7 | step2_4 検索の最適化 |
推定所要時間: 15分