Skip to content

Commit

Permalink
Added Milvus Versions
Browse files Browse the repository at this point in the history
  • Loading branch information
PahudPlus committed Jul 23, 2020
1 parent afd8a80 commit c74a59a
Show file tree
Hide file tree
Showing 9 changed files with 138 additions and 69 deletions.
9 changes: 0 additions & 9 deletions site/en/about_milvus/README.md

This file was deleted.

16 changes: 11 additions & 5 deletions site/en/menuStructure/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,25 @@
"label3": "",
"order": 0
},
{
"id": "architecture.md",
"title": "Architecture",
"label1": "about_milvus",
"label2": "",
"label3": "",
"order": 1
},
{
"id": "features.md",
"title": "Key Features",
"label1": "about_milvus",
"label2": "",
"label3": "",
"order": 1
"order": 2
},


{
"id": "architecture.md",
"title": "Architecture",
"id": "milvus_versions.md",
"title": "Milvus Versions",
"label1": "about_milvus",
"label2": "",
"label3": "",
Expand Down
41 changes: 0 additions & 41 deletions site/en/milvus_basics/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,7 @@ id: index.md
Please read <a href="index_overview.md">Index Overview</a> before reading this article.
</div>

## Index Overview

### Index types in CPU-only Milvus

<div class="table-wrapper" markdown="block">

| Name | Index building with CPU | Search with CPU | Float vector support | Binary vector support |
| -------- | ----------------- | -------------- | -------------- | ---------------- |
| FLAT | - | ✔️ | ✔️ | ✔️   |
| IVF_FLAT | ✔️ | ✔️ | ✔️ | ✔️   |
| IVF_SQ8 | ✔️ | ✔️ | ✔️ ||
| IVF_PQ | ✔️ | ✔️ | ✔️ ||
| RNSG | ✔️ | ✔️ | ✔️ ||
| HNSW | ✔️ | ✔️ | ✔️ ||
| ANNOY | ✔️ | ✔️ | ✔️ ||

</div>

### Index types in Milvus with GPU support

<div class="table-wrapper" markdown="block">

| Name | Index building with CPU | Search with CPU | Search with GPU | Search with GPU | Float vector support | Binary vector support |
| ---------- | ----------------------- | --------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | -------------------- | --------------------- |
| FLAT | - | ✔️ | - | ✔️<br>(Only Supports floating point vectors) | ✔️ | ✔️ |
| IVF_FLAT | ✔️ | ✔️ | ✔️<br>(Only Supports floating point vectors) | ✔️<br>(Only Supports floating point vectors) | ✔️ | ✔️ |
| IVF_SQ8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ ||
| IVF_SQ8H | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ ||
| IVF_PQ | ✔️ | ✔️ | ✔️<br>(Only Supports GPU index for Euclidean distance) | ✔️<br>(Only Supports GPU search for Euclidean distance) | ✔️ ||
| RNSG | ✔️ | ✔️ ||| ✔️ ||
| HNSW | ✔️ | ✔️ ||| ✔️ ||
| ANNOY | ✔️ | ✔️ ||| ✔️ ||

</div>

<div class="alert note">
<ul>
<li>FLAT index does not need index building.</li>
<li>For indexes supporting both CPU search and GPU search, you can create or search them using different devices, either CPU or GPU. For example, you can create an index using CPU and conduct a vector search using GPU.</li>
<li>Index building parameters and search parameters vary with index type. See <a href="milvus_operation.md">Milvus Operations</a> for more information.</li>
</ul>
</div>

## Milvus Indexes

Expand Down
61 changes: 61 additions & 0 deletions site/en/milvus_basics/milvus_versions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
id: milvus_versions.md
---

# Milvus Versions

## Overview

Milvus runs on machines with or without GPU. To use Milvus on machines without a GPU, install CPU-only Milvus. Otherwise, if you have CUDA-enabled GPUs in your computer, it is recommended that you use GPU-enabled Milvus to achieve better search performance for larger queries.




## CPU-only Milvus vs. GPU-enabled Milvus

In Milvus, a vector search includes two separate processes: index building and search.

- For GPU-enabled Milvus, these two processes can run concurrently, which facilitates more efficient query, especially for incremental data.
- For CPU-only Milvus, search computation can only be executed after index building is completed, which makes it more suitable for static data.


### Index types in CPU-only Milvus

<div class="table-wrapper" markdown="block">

| Name | Index building with CPU | Search with CPU | Float vector support | Binary vector support |
| -------- | ----------------- | -------------- | -------------- | ---------------- |
| FLAT | - | ✔️ | ✔️ | ✔️   |
| IVF_FLAT | ✔️ | ✔️ | ✔️ | ✔️   |
| IVF_SQ8 | ✔️ | ✔️ | ✔️ ||
| IVF_PQ | ✔️ | ✔️ | ✔️ ||
| RNSG | ✔️ | ✔️ | ✔️ ||
| HNSW | ✔️ | ✔️ | ✔️ ||
| ANNOY | ✔️ | ✔️ | ✔️ ||

</div>

### Index types in Milvus with GPU support

<div class="table-wrapper" markdown="block">

| Name | Index building with CPU | Search with CPU | Search with GPU | Search with GPU | Float vector support | Binary vector support |
| ---------- | ----------------------- | --------------- | ---------------------------------------------------------------- | -------------------------------------------------------- | -------------------- | --------------------- |
| FLAT | - | ✔️ | - | ✔️<br>(Only Supports floating point vectors) | ✔️ | ✔️ |
| IVF_FLAT | ✔️ | ✔️ | ✔️<br>(Only Supports floating point vectors) | ✔️<br>(Only Supports floating point vectors) | ✔️ | ✔️ |
| IVF_SQ8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ ||
| IVF_SQ8H | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ ||
| IVF_PQ | ✔️ | ✔️ | ✔️<br>(Only Supports GPU index for Euclidean distance) | ✔️<br>(Only Supports GPU search for Euclidean distance) | ✔️ ||
| RNSG | ✔️ | ✔️ ||| ✔️ ||
| HNSW | ✔️ | ✔️ ||| ✔️ ||
| ANNOY | ✔️ | ✔️ ||| ✔️ ||

</div>

<div class="alert note">
<ul>
<li>FLAT index does not need index building.</li>
<li>For indexes supporting both CPU search and GPU search, you can create or search them using different devices, either CPU or GPU. For example, you can create an index using CPU and conduct a vector search using GPU.</li>
<li>Index building parameters and search parameters vary with index type. See <a href="milvus_operation.md">Milvus Operations</a> for more information.</li>
</ul>
</div>
3 changes: 0 additions & 3 deletions site/en/quick_start/install_milvus/install_milvus.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@ id: install_milvus.md

# Installation Overview

Milvus runs on machines with or without GPU. To use Milvus on machines without a GPU, install CPU-only Milvus. Otherwise, if you have CUDA-enabled GPUs in your computer, it is recommended that you use GPU-enabled Milvus to achieve better search performance for larger queries.

In Milvus, the vector search includes two separate processes: index building and search. For GPU-enabled Milvus, these two processes can run concurrently, which facilitates more efficient query, especially for incremental data. For CPU-only Milvus, search computation can only be executed after index building is completed, which makes it more suitable for static data.

## Install using Docker

Expand Down
9 changes: 0 additions & 9 deletions site/zh-CN/about_milvus/README.md

This file was deleted.

57 changes: 57 additions & 0 deletions site/zh-CN/about_milvus/milvus_versions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
---
id: milvus_versions.md
---

# 版本比较

## 概述

Milvus 提供两个发行版本:CPU 版本和 GPU 版本。CPU 版本仅支持 CPU 运算。GPU 版本在 CPU 版本的基础上对部分功能进行了 GPU 加速。如果你的计算机上安装了支持 CUDA 功能的 GPU 设备,建议你安装 Milvus 的 GPU 版本以获取针对海量数据的更优的查询性能。

## 版本比较

Milvus 中的向量搜索包含但不限于这两个独立的部分:创建索引过程和搜索计算过程。

- GPU 版 Milvus支持同时进行索引创建和搜索计算以提高查询效率,特别适合动态增加的数据。
- CPU 版 Milvus 仅支持搜索计算在创建索引结束后进行,更适合静态数据。

### CPU 版本 Milvus 支持的索引类型

<div class="table-wrapper" markdown="block">

| 索引类型 | CPU 建索引 | CPU 搜索 | 浮点型向量 | 二值型向量 |
| ---------- | ---------------- | ------------ | ------------- | ------------- |
| FLAT | N/A | ✔️ | ✔️ | ✔️   |
| IVF_FLAT | ✔️ | ✔️ | ✔️ | ✔️   |
| IVF_SQ8 | ✔️ | ✔️ | ✔️ ||
| IVF_PQ | ✔️ | ✔️ | ✔️ ||
| RNSG | ✔️ | ✔️ | ✔️ ||
| HNSW | ✔️ | ✔️ | ✔️ ||
| ANNOY | ✔️ | ✔️ | ✔️ ||

</div>

### GPU 版本 Milvus 支持的索引类型

<div class="table-wrapper" markdown="block">

| 索引类型 | CPU 建索引 | CPU 搜索 | GPU 建索引 | GPU 搜索 | 浮点型向量 | 二值型向量 |
| ---------- | ---------------- | ------------ | ------------------ | ----------------- | ------------- | ------------ |
| FLAT | N/A | ✔️ | N/A | ✔️<br>(仅支持浮点型向量) | ✔️ | ✔️ |
| IVF_FLAT | ✔️ | ✔️ | ✔️<br>(仅支持浮点型向量) | ✔️<br>(仅支持浮点型向量) | ✔️ | ✔️ |
| IVF_SQ8 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ ||
| IVF_SQ8H | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ ||
| IVF_PQ | ✔️ | ✔️ | ✔️<br>(仅对欧氏距离支持 GPU 索引) | ✔️<br>(仅对欧氏距离支持 GPU 搜索) | ✔️ ||
| RNSG | ✔️ | ✔️ ||| ✔️ ||
| HNSW | ✔️ | ✔️ ||| ✔️ ||
| ANNOY | ✔️ | ✔️ ||| ✔️ ||

</div>

<div class="alert note">
<ul>
<li>FLAT 类型不需要建索引。</li>
<li>对于那些 CPU 和 GPU 同时支持的索引,Milvus 支持在创建和搜索时使用不同的设备。比如,你可以在 GPU 上创建索引后再在 CPU 上查询,也可以在 CPU 上创建索引后再在 GPU 上查询。</li>
<li>对于不同索引类型,创建索引的参数和搜索参数也有所不同。详细信息请参考 <a href="milvus_operation.md">Milvus 基本操作</a>。</li>
</ul>
</div>
9 changes: 8 additions & 1 deletion site/zh-CN/menuStructure/cn.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,14 @@
"label3": "",
"order": 2
},

{
"id": "milvus_versions.md",
"title": "发行版本",
"label1": "about_milvus",
"label2": "",
"label3": "",
"order": 3
},

{
"id": "milvus_basics",
Expand Down
2 changes: 1 addition & 1 deletion site/zh-CN/milvus_basics/index_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ id: index_overview.md

## 向量索引

向量索引(vector index)是指通过某种数学模型,对向量构建的一种时间和空间上比较高效的数据结构。借助向量索引,我们能够高效地查询与目标向量相似的若干个向量。
向量索引(vector index)是指通过某种数学模型,对向量构建的一种时间和空间上更高效的数据结构。借助向量索引,我们能够高效地查询与目标向量相似的若干个向量。

由于精确检索通常过于耗时,Milvus 目前支持的向量索引类型大都属于 ANNS(Approximate Nearest Neighbors Search,近似最近邻搜索)。相比精确检索,ANNS 的核心思想是不再局限于只返回最精确的结果项,而是仅搜索可能是近邻的数据项,即以牺牲可接受范围内的精度的方式提高检索效率。

Expand Down

0 comments on commit c74a59a

Please sign in to comment.