ModaHub魔搭社区:安装、启动 Milvus 服务(GPU版)教程

news2024/11/9 9:47:30

目录

安装、启动 Milvus 服务

安装前提

操作系统

硬件

软件

确认 Docker 状态

拉取 Milvus 镜像

下载并修改配置文件

启动 Milvus Docker 容器

常见问题

接下来你可以


安装、启动 Milvus 服务

CPU 版 Milvus GPU 版 Milvus

安装前提

操作系统

操作系统

版本

CentOS

7.5 或以上

Ubuntu LTS

18.04 或以上

硬件

硬件

建议配置

CPU

Intel CPU Sandy Bridge 或以上

CPU 指令集

  • SSE42
  • AVX
  • AVX2
  • AVX512

GPU

NVIDIA Pascal 或以上

内存

8 GB 或以上(取决于具体向量数据规模)

硬盘

SATA 3.0 SSD 或以上

软件

软件

版本

Docker

19.03 或以上

NVIDIA Driver

418 或以上

NVIDIA Container Toolkit

NVIDIA-Container-Toolkit

确认 Docker 状态

确认 Docker daemon 正在运行:

$ sudo docker info
  • 如果无法正常打印 Docker 相关信息,请启动 Docker daemon。
  • 在 Linux 上需要使用 sudo 执行 Docker 命令。若要在没有 sudo 的情况下运行 Docker 命令,请创建 docker 组并添加用户,详见 Linux 安装步骤。

拉取 Milvus 镜像

拉取支持 GPU 的镜像:

$ sudo docker pull milvusdb/milvus:1.1.0-gpu-d050721-5e559c
  • 如果你的主机由于网络限制无法在线获得 Docker 镜像和配置文件,请从其他主机在线获取镜像,保存为 TAR 文件传输回本地,传输完成后重新加载为 Docker 镜像:点击查看离线传输相关代码示例。
  • 如果拉取镜像的速度过慢或一直失败,请参考 部署运维问题 中提供的解决办法。

下载并修改配置文件

$ mkdir -p /home/$USER/milvus/conf
$ cd /home/$USER/milvus/conf
$ wget http://raw.githubusercontent.com/milvus-io/milvus/v1.1.0/core/conf/demo/server_config.yaml

如果无法通过 wget 命令正常下载,你也可以在 /home/$USER/milvus/conf 目录下创建 server_config.yaml 文件,然后将 server config 文件 的内容复制到你创建的配置文件中。

配置文件下载完成后,你需要将 server_config.yaml 中的 gpu 区域的 enable 参数设置为 true。

启动 Milvus Docker 容器

启动 Docker 容器之前,你必须将 server_config.yaml 中 gpu 部分的 enable 设为 true。

启动 Docker 容器,将本地的文件路径映射到容器中:

$ sudo docker run -d --name milvus_gpu_1.1.0 --gpus all \
-p 19530:19530 \
-p 19121:19121 \
-v /home/$USER/milvus/db:/var/lib/milvus/db \
-v /home/$USER/milvus/conf:/var/lib/milvus/conf \
-v /home/$USER/milvus/logs:/var/lib/milvus/logs \
-v /home/$USER/milvus/wal:/var/lib/milvus/wal \
milvusdb/milvus:1.1.0-gpu-d050721-5e559c

上述命令中用到的参数定义如下:

  • -d: 在后台运行容器。
  • --name: 为容器指定一个名字。
  • --gpus: 指定可用的 GPU。如填写 all 则表示所有 GPU 均可用。
  • -p: 指定端口映射。
  • -v: 将宿主机路径挂载至容器。

最后,确认 Milvus 运行状态:

$ sudo docker ps

如果 Milvus 服务没有正常启动,执行以下命令查询错误日志:

$ sudo docker logs milvus_gpu_1.1.0

常见问题

可以在 Windows 上安装 Milvus 吗?

理论上只要能够支持 Docker 的操作系统都可以运行 Milvus。

为什么 Milvus 在启动时返回 Illegal instruction?

如果你的 CPU 不支持 SSE42、AVX、AVX2、AVX512 其中任何一个指令集,则 Milvus 无法正常启动。可以通过 cat /proc/cpuinfo 查看 CPU 支持的指令集。

Milvus 中如何实现数据迁移?

详见数据迁移。

注意:不同版本之间,数据可能会不兼容。目前数据格式兼容到 Milvus v0.7.0。

Milvus 只能使用 Docker 部署吗?

Milvus 还支持源码编译,该方法仅支持 Linux 系统。详见 从源代码编译 Milvus。

应如何设置 IVF 索引的 nlist 和 nprobe 参数?

IVF 索引的 nlist 值需要根据具体的使用情况去设置。一般来说,推荐值为 4 × sqrt(n),其中 n 为 segment 内的 entity 总量。 nprobe 的选取需要根据数据总量和实际场景在速度性能和准确率之间进行取舍。建议通过多次实验确定一个合理的值。 以下是使用公开测试数据集 sift50m 针对 nlist 和 nprobe 的一个测试。以索引类型 IVF_SQ8 为例,针对不同 nlist/nprobe 组合的搜索时间和召回率分别进行对比。

因 CPU 版 Milvus 和 GPU 版 Milvus 测试结果类似,此处仅展示基于 GPU 版 Milvus 测试的结果。

在本次测试中,nlist 和 nprobe 的值成比例增长,召回率随 nlist/nprobe 组合增长呈现上升的趋势。 在 nlist 为 4096 和 nprobe 为 128 时,速度性能最佳。

接下来你可以

  • 如果你刚开始了解 Milvus:
    • 运行示例程序
    • 了解更多 Milvus 基础操作
    • 体验 Milvus 在线训练营
  • 如果你已准备好在生产环境中部署 Milvus:
    • 创建 监控与报警系统 实时查看系统表现
    • 设置 Milvus 参数
  • 如果你想在仅有 CPU 的环境下使用 Milvus:
    • 安装仅需 CPU 的 Milvus

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/684494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TOGAF10®标准中文版--(阶段C —数据架构阶段B )方法

6.5 方法 6.5.1 数据结构 数据架构应该能够处理: 静态数据——存储中的数据动态数据——事务或服务/API 中的数据使用中的数据——应用边界的数据(例如,GUI)开放数据——组织提供给公众使用并且自愿或合法要求提供的数据 将添…

创业史|苏萌:我与百分点科技的故事

编者按 苏萌曾是北京大学光华管理学院营销学教授,在学术领域崭露头角时,他毅然辞去教职,创立了百分点科技。百分点科技是一家服务全球政府和企业的大数据软件及解决方案提供商,主要从事数据科学基础软件与应用软件的研发与服务。一…

业务创新的利器:探索Flutter与小程序容器的融合应用

Flutter是由谷歌开发的开源用户界面(UI)工具包,用于构建跨平台移动应用程序、Web应用程序和桌面应用程序。它采用一种现代化的方式,使用单一代码库可以同时构建iOS和Android应用,并且能够实现高性能、高保真的用户界面…

国产十大骨传导耳机品牌,分享几款实战性高的国产骨传导耳机

骨传导耳机在运动过程中不需要通过耳部进行传音,所以佩戴舒适度高,而且不会像入耳式耳机那样堵住耳朵,导致耳部的不舒适感,并且可以清晰的听到外界声音。骨传导耳机适合于户外运动、骑行、跑步等运动场景。此外,骨传导…

调用聚合数据API获取新闻头条

调用聚合数据API获取新闻头条 1.作者介绍2.API和聚合数据API的介绍2.1 API简介2.2 聚合数据API 3.实验过程介绍,完整实验代码,测试结果3.1参数说明3.2获取代码3.3代码实现3.4问题与分析 1.作者介绍 姚嘉欣…

【Python】python进阶篇之模块化编程

模块与包 模块化编程 与java中的import功能类似,在python中,一个.py文件就是一个模块。 ⚠️:模块名称不要与python自有模块名称相同。 模块的导入 导入Python中自有的包 导入语法和前端的模块化开发语法很像 import math from math im…

学习Vue(4)

文章目录 路由简介基本使用模式设置注意点 组件一般组件路由组件 多级路由总结 路由传参参数传参query总结 params参数总结 命名路由总结 props对象写法设为trueprops为函数 按钮实现跳转和前进后退独有的生命钩子activated()deactivated() 路由守卫前置路由守卫后置路由守卫独…

基于OpenCV的人脸对齐步骤详解及源码实现

目录 1. 前言2. 人脸对齐基本原理与步骤3. 人脸对齐代码实现 1. 前言 在做人脸识别的时候,前期的数据处理过程通常会遇到一个问题,需要将各种人脸从不同尺寸的图像中截取出来,再进行人脸对齐操作:即将人脸截取出来并将倾斜的人脸…

JVM-java对象内存分布(二)

目录 一、栈针 二、java 对象内存分布 1、那何为java内存对象布局? 2、什么是jvm的内存模型 1、如果我们新生代,一直创建新对象,此时我们新生代不够用了怎么办? 2、那么为什么大部分对象的生命周期比较短呢?这个…

HCIP-7.3QinQ技术原理、配置链路聚合Eth-Trunk

HCIP-7.3QinQ技术原理、配置&链路聚合Eth-Trunk 1、QinQ概述1.1、QinQ实现方式:1.2、QinQ封装结构:1.3、QinQ的分类:1.3.1、基于端口的QinQ1.3.2、灵活QinQ 2、链路聚合Eth-Trunk2.1、Eth-Trunk基本原理2.2、手工聚合模式2.2.1、配置接口…

集团公司该如何构建信息化系统?

干货文章,全文手码,花3分钟认真看完,绝对有收获! 前言: 信息化系统是管理体系的延伸,如果一家集团企业想要走向信息化,首先得考虑的是,企业内当前是否已经存在完备的信息化管理制度…

《面试1v1》SpringMVC

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

【电子取证篇】电子数据取证标准(国家标准GB/T)

【电子取证篇】电子数据取证标准(国家标准GB/T) ​ 电子数据取证国家标准,此次更新把名称由"电子物证"更改成了"电子数据",避免了不同部门不同行业因为不同叫法而辩论个不停,后续标准的更新应该会…

JUC高级-0624

10. ThreadLocal(线程局部变量) 10.1 ThreadLocal基础 大厂面试题 ThreadLocal中 ThreadLocalMap的数据结构和关系?ThreadLocal的key是弱引用,这是为什么?ThreadLocal内存泄露问题你知道吗?ThreadLocal中…

clickhouse初探

背景 目前公司用的是influxdb来存储时序数据,但是influxdb太坑了,查一天的数据就开始内存猛涨,然后就炸了,查询语句也不适应。因此调研了tdengine,还把influxdb和tdengine做了性能对比。 结果嘛 ,首先tden…

C语言:位操作----将某一位置1或置0

C语言 基础开发----目录 前期准备 想要将将某一位置1或置0&#xff0c;需要进行位操作。 此次需要用到 与(&)&#xff0c;或(|)&#xff0c;左移(<<)和右移(>>) 这四个位操作。 具体位操作说明&#xff1a;C语言&#xff1a;位运算符----与(&)&#xff…

5年资深Android开发,转行逆向开发该如何学习?

Android逆向是什么&#xff1f; 简单地来说&#xff0c;安卓逆向是对已经打包好的APP进行反编译、源码分析了解APP实现逻辑的一门技术。我们可以把安卓安装时用到的APK文件看作一个加密后的压缩包&#xff0c;逆向就是要最大程序地还原出APK打包之前的源码。 逆向需要用到解密…

[Web程序设计]实验: Web基础

一、实验目的 &#xff08;1&#xff09;掌握开发工具的安装和配置 &#xff08;2&#xff09;熟悉程序的编写&#xff0c;运行和访问方法&#xff1b; 二、实验内容 &#xff08;1&#xff09;请编写出一个HTML页面&#xff0c;令其输出“hello world!~~”&#xff0c;使用…

略施小计,拥有自己的GPT

ChatGPT一经发布就在AI圈引起轰动&#xff0c;GPT-4和chagpt-plugin让OpenAI和其他同行拉开了更大的差距。由于某些原因&#xff0c;我们可能无法亲身体验ChatGPT的神奇之处。但现在&#xff0c;如果你还没有体验过ChatGPT&#xff0c;就像10年前没有购买比特币一样&#xff08…

SuperMap GIS基础产品WebGIS FAQ集锦(3)

SuperMap GIS基础产品WebGIS FAQ集锦&#xff08;3&#xff09; 【iClient】iClient for Leaflet,如何修改map的默认渲染方式&#xff1f; 【解决办法】map的默认渲染方式取决于浏览器支持&#xff0c;可通过renderer属性设置&#xff0c;设置为L.SVG或L.Canvas 【iClient】le…