Skip to content

Commit

Permalink
Add HNSW PQ configuration to perf tests (#1091)
Browse files Browse the repository at this point in the history
Signed-off-by: John Mazanec <jmazane@amazon.com>
(cherry picked from commit 036d060)
  • Loading branch information
opensearch-trigger-bot[bot] committed Sep 1, 2023
1 parent fb466d4 commit 9784dce
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 0 deletions.
17 changes: 17 additions & 0 deletions benchmarks/perf-tool/release-configs/faiss-hnswpq/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"settings": {
"index": {
"knn": true,
"number_of_shards": 24,
"number_of_replicas": 1
}
},
"mappings": {
"properties": {
"target_field": {
"type": "knn_vector",
"model_id": "test-model"
}
}
}
}
15 changes: 15 additions & 0 deletions benchmarks/perf-tool/release-configs/faiss-hnswpq/method-spec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name":"hnsw",
"engine":"faiss",
"space_type": "l2",
"parameters":{
"ef_construction": 256,
"m": 16,
"encoder": {
"name": "pq",
"parameters": {
"m": 16
}
}
}
}
53 changes: 53 additions & 0 deletions benchmarks/perf-tool/release-configs/faiss-hnswpq/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
endpoint: [ENDPOINT]
test_name: "index-workflow"
test_id: "index workflow"
num_runs: 10
show_runs: false
setup:
- name: delete_index
index_name: train_index
- name: create_index
index_name: train_index
index_spec: /home/ec2-user/[PATH]/train-index-spec.json
- name: ingest
index_name: train_index
field_name: train_field
bulk_size: 500
dataset_format: hdf5
dataset_path: /home/ec2-user/data/sift-128-euclidean.hdf5
doc_count: 50000
- name: refresh_index
index_name: train_index
steps:
- name: delete_model
model_id: test-model
- name: delete_index
index_name: target_index
- name: train_model
model_id: test-model
train_index: train_index
train_field: train_field
dimension: 128
method_spec: /home/ec2-user/[PATH]/method-spec.json
max_training_vector_count: 50000
- name: create_index
index_name: target_index
index_spec: /home/ec2-user/[PATH]/index.json
- name: ingest
index_name: target_index
field_name: target_field
bulk_size: 500
dataset_format: hdf5
dataset_path: /home/ec2-user/data/sift-128-euclidean.hdf5
- name: refresh_index
index_name: target_index
- name: query
k: 100
r: 1
calculate_recall: true
index_name: target_index
field_name: target_field
dataset_format: hdf5
dataset_path: /home/ec2-user/data/sift-128-euclidean.hdf5
neighbors_format: hdf5
neighbors_path: /home/ec2-user/data/sift-128-euclidean.hdf5
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"settings": {
"index": {
"number_of_shards": 24,
"number_of_replicas": 0
}
},
"mappings": {
"properties": {
"train_field": {
"type": "knn_vector",
"dimension": 128
}
}
}
}

0 comments on commit 9784dce

Please sign in to comment.