-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhance: [2.5]intermin index support different index type and more data type(fp16/bf16) #39180
base: 2.5
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: cqy123456 The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@cqy123456 Please associate the related pr of master to the body of your Pull Request. (eg. “pr: #”) |
@cqy123456 Please associate the related issue to the body of your Pull Request. (eg. “issue: #”) |
@cqy123456 go-sdk check failed, comment |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## 2.5 #39180 +/- ##
===========================================
- Coverage 81.06% 69.37% -11.69%
===========================================
Files 1399 300 -1099
Lines 196700 26958 -169742
===========================================
- Hits 159448 18703 -140745
+ Misses 31653 8255 -23398
+ Partials 5599 0 -5599
|
189ec69
to
476fb9c
Compare
@cqy123456 E2e jenkins job failed, comment |
@cqy123456 go-sdk check failed, comment |
@cqy123456 cpp-unit-test check failed, comment |
476fb9c
to
eea69ac
Compare
@cqy123456 go-sdk check failed, comment |
@cqy123456 cpp-unit-test check failed, comment |
@cqy123456 E2e jenkins job failed, comment |
configs/milvus.yaml
Outdated
nprobe: 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist | ||
subDim: 4 # interim index sub dim, recommend to (subDim % vector dim == 0) | ||
refineRatio: 3.5 # interim index parameters, should set to be >= 1.0 | ||
withRawData: true # Whether to keep raw data inside the intermin index |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace withRawData by denseVectorIndexType
eea69ac
to
3d2a8d5
Compare
configs/milvus.yaml
Outdated
nprobe: 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist | ||
subDim: 4 # interim index sub dim, recommend to (subDim % vector dim == 0) | ||
refineRatio: 3.5 # interim index parameters, should set to be >= 1.0 | ||
withRawData: true # Whether to keep raw data inside the intermin index |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be an index feature, not a configuration item.
@@ -102,7 +103,8 @@ SegmentGrowingImpl::Insert(int64_t reserved_offset, | |||
AssertInfo(field_id_to_offset.count(field_id), | |||
fmt::format("can't find field {}", field_id.get())); | |||
auto data_offset = field_id_to_offset[field_id]; | |||
if (!indexing_record_.SyncDataWithIndex(field_id)) { | |||
if (!indexing_record_.SyncDataWithIndex(field_id) || | |||
!indexing_record_.HasRawData(field_id)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This may seem difficult to understand; please change it to insert_raw_to_index = indexing_record_.SyncDataWithIndex(field_id) && indexing_record_.HasRawData(field_id); if (!insert_raw_to_index) xxx , which means that only the index holds the original data and the index data has been matched with the inserted data, and no more data will be written to the chunk.
@cqy123456 E2e jenkins job failed, comment |
/run-cpu-e2e |
3d2a8d5
to
451f7bc
Compare
…e fp16/bf16 Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
451f7bc
to
68d4c0e
Compare
@@ -404,8 +404,11 @@ queryNode: | |||
# Milvus will eventually seals and indexes all segments, but enabling this optimizes search performance for immediate queries following data insertion. | |||
# This defaults to true, indicating that Milvus creates temporary index for growing segments and the sealed segments that are not indexed upon searches. | |||
enableIndex: true | |||
nlist: 128 # temp index nlist, recommend to set sqrt(chunkRows), must smaller than chunkRows/8 | |||
nprobe: 16 # nprobe to search small index, based on your accuracy requirement, must smaller than nlist | |||
nlist: 128 # interim index nlist, recommend to set sqrt(chunkRows), must smaller than chunkRows/8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
change these config before merge
@cqy123456 E2e jenkins job failed, comment |
/run-cpu-e2e |
@cqy123456 E2e jenkins job failed, comment |
some raw data status will change:
Intermin index has raw data: