Skip to content
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

[Feature]: Support Double, Float16 and BF16 vectors #22837

Open
1 task done
xiaofan-luan opened this issue Mar 19, 2023 · 12 comments
Open
1 task done

[Feature]: Support Double, Float16 and BF16 vectors #22837

xiaofan-luan opened this issue Mar 19, 2023 · 12 comments
Assignees
Labels
good first issue Good for newcomers kind/feature Issues related to feature request from users
Milestone

Comments

@xiaofan-luan
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

Is your feature request related to a problem? Please describe.

There are many different vector types based on models.
So far what we received most is double, float16, BF16, double and BF16 is on top priority.
Anyone interested on it please help

Describe the solution you'd like.

No response

Describe an alternate solution.

No response

Anything else? (Additional Context)

No response

@xiaofan-luan xiaofan-luan added the kind/feature Issues related to feature request from users label Mar 19, 2023
@xiaofan-luan xiaofan-luan added this to the 2.0-Backlog milestone Mar 19, 2023
@jiaoew1991 jiaoew1991 added the good first issue Good for newcomers label Mar 19, 2023
@jon-chuang
Copy link

/assign

@jon-chuang
Copy link

jon-chuang commented Apr 1, 2023

@xiaofan-luan could I ask if it is wrong to convert the embedding to a float32, which I think has better numerical performance on most CPU unless hardware support exists?

Or, is the purpose of this issue to support storage of such formats assuming that the compute nodes have the correct compute (e.g. GPU or the right Xeon chipset) to handle operations in those datatypes?

If so, do we need to implement fallback by e.g. emulation or casting when the appropriate compute support is missing? Pytorch handles by autocasting.

@jon-chuang
Copy link

Duplicate: #22132

@jon-chuang
Copy link

jon-chuang commented Apr 1, 2023

btw, bfloat16 does not exist on faiss: https://github.com/facebookresearch/faiss/wiki/How-to-make-Faiss-run-faster, and I believe not in Annoy or HNSWLib either

But it supports float16 and we can compile it back in: #2828

@jiaoew1991
Copy link
Contributor

Welcome @jon-chuang , You can implement float16 first, we can discuss about bf16 later. 😄

@jiaoew1991
Copy link
Contributor

/unassign @jon-chuang

@jiaoew1991
Copy link
Contributor

We can break down the steps into the following:

  • segcore supports brute-force search for float16.
  • Go distributed layer supports float16.
  • Knowhere supports float16 type indexing.
  • SDKs support float16.

cydrain added a commit to cydrain/milvus that referenced this issue Jun 12, 2024
…e as BinaryVector (milvus-io#33760)

Issue: milvus-io#22837

Signed-off-by: Cai Yudong <yudong.cai@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 12, 2024
issue #22837 
pr: #33750

Signed-off-by: chasingegg <chao.gao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 12, 2024
issue:#22837
related:#33653

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 13, 2024
…e as BinaryVector (#33760) (#33788)

pr: #33760
Issue: #22837

Signed-off-by: Cai Yudong <yudong.cai@zilliz.com>
chasingegg pushed a commit to chasingegg/milvus that referenced this issue Jun 14, 2024
sre-ci-robot pushed a commit that referenced this issue Jun 14, 2024
)

issue: #22837
related: #33880

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 14, 2024
issue: #22837 
pr: #33868

- opensource autoindex support
- metric type check for different data types
- autoindex data type for search param

Signed-off-by: chasingegg <chao.gao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 17, 2024
issue: #22837 
pr: #33868 

Use primitive type instead of proto enum type for queryHook to recognize

Signed-off-by: chasingegg <chao.gao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 18, 2024
issue: #22837 

contain #33625
#33867
#33911 which already merged to
2.4 branch

Signed-off-by: chasingegg <chao.gao@zilliz.com>
Co-authored-by: foxspy <xianliang.li@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 18, 2024
issue: #22837

- fix byte size wrong for binary vectors
- fix the expect/actual error msg

Signed-off-by: chasingegg <chao.gao@zilliz.com>
sre-ci-robot pushed a commit that referenced this issue Jun 19, 2024
issue: #22837
related: #33878

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
jaime0815 pushed a commit that referenced this issue Jun 26, 2024
…move some cgo call (#34102)

issue: #22837
related pr: #34104

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
jaime0815 pushed a commit that referenced this issue Jun 26, 2024
…in pkg (#34104)

issue: #22837
related pr: #34102

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
issue:milvus-io#22837
related milvus-io#33575

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
…e as BinaryVector (milvus-io#33760)

Issue: milvus-io#22837

Signed-off-by: Cai Yudong <yudong.cai@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
issue:milvus-io#22837
related:milvus-io#33653

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
issue: milvus-io#22837 

contain milvus-io#33625
milvus-io#33867
milvus-io#33911 which already merged to
2.4 branch

Signed-off-by: chasingegg <chao.gao@zilliz.com>
Co-authored-by: foxspy <xianliang.li@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
issue: milvus-io#22837

- fix byte size wrong for binary vectors
- fix the expect/actual error msg

Signed-off-by: chasingegg <chao.gao@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
issue: milvus-io#22837
related: milvus-io#33878

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
yellow-shine pushed a commit to yellow-shine/milvus that referenced this issue Jul 2, 2024
…move some cgo call (milvus-io#34102)

issue: milvus-io#22837
related pr: milvus-io#34104

Signed-off-by: cqy123456 <qianya.cheng@zilliz.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers kind/feature Issues related to feature request from users
Projects
None yet
Development

No branches or pull requests

8 participants