简介:
今天小李哥将介绍亚马逊推出的云平台4代高性能计算处理器Gravition,并利用该处理器构建生成式AI向量数据库。利用向量数据库,我们可以开发和构建多样化的生成式AI应用,如RAG知识库,特定领域知识的聊天机器人等。我们今天将手把手带大家在亚马逊云科技上,搭建一个目前大热的Milvus开源向量数据库,并利用VectorDBBench软件对向量数据库进行基准测试,了解Graviton如何提升AI向量数据库的性能、优化成本。
在本系列上偏中,我将介绍如何在云平台上创建Graviton芯片基础设施,并在Graviton芯片服务器上安装Milvus开源向量数据库。在系列下篇中,我们将利用数据库基准测试软件,比较不同芯片服务器上的向量数据库性能。
方案所需基础知识
什么是Graviton4代芯片?
Amazon Graviton 4 处理器由亚马逊云科技定制设计的第四代高性能、低功耗处理器,旨在为 Amazon 计算服务中的工作负载提供最佳性价比,相对于传统计算类工作负载(Graviton2)提供高达40%的性价比提升。与常见的 x86 处理器相比,基于 Graviton 4 的 EC2 实例具有以下特性:
-
每个 vCPU 独占一个物理核心的计算资源,而非通过 SMT 技术获得一个线程;
-
每个 vCPU 拥有更大的 L1/L2 Cache 容量;
-
更快的内存带宽和更低的内存延时。
-
Graviton 处理器支持众多 Linux 操作系统,包括 Red Hat Enterprise Linux、SUSE 和 Ubuntu 等。
-
Graviton 兼容众多云原生服务和开源软件,兼容亚马逊云科技上的开发工具,数据库,容器,分析,无服务器等服务,拥有丰富的应用生态。
最新发布的第 4 代 Graviton 处理器(基于 Arm Neoverse-V2,ARMv9.0-a);主频提升,L2 缓存翻倍,L3 缓存容量提升,支持 SVE2; 内存:12*DDR5-5600(前代采用 8*DDR5-4800),内存带宽提升 75%;
什么是Milvus开源向量数据库?
Milvus 是全球最流行的开源向量数据库之一。Milvus 是一个高度灵活、可靠且速度极快的云原生开源向量数据库。它为 embedding 相似性搜索和 AI 应用程序提供支持,并努力使每个组织都可以访问向量数据库。 Milvus 可以存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的十亿级别以上的 embedding 向量。
什么是VectorDBBench基础测试软件?
VectorDBBench 是一个开源的向量数据库基准测试工具,专为评估向量数据库系统的性能而设计。它能够帮助用户测试和比较不同的向量数据库,以确定最适合其特定用例的数据库系统。通过 VectorDBBench,开发者可以基于实际的向量数据库性能做出明智的决策,提供性能对比参数有查询每秒(QPS)、延迟、成本等关键指标,基于综合对比结果,可以帮助开发者选择最合适的开源向量数据库。
本实践包括的内容
1. 创建安装开源向量数据的云基础设施(Graviton芯片和Intel芯片服务器)
2. 了解亚马逊云科技Graviton4代高性能、低功耗芯片
3. 在亚马逊云科技上安装Milvus开源向量数据库
项目实操步骤
创建向量数据库基础设施
- 首先我们进入亚马逊云科技控制台,进入EC2服务
- 点击Launch Instance创建一台EC2服务器
3. 在芯片架构处,我们选择r8g实例用于创建Graviton芯片服务器。
- 创建SSH登录秘钥对
- 为密钥对命名,并选择pem类型,点击右下角创建。
- 运行以下命令为密钥对授权,用于SSH登录服务器
bash
chmod 400 test-only.pem
- 为EC2服务器添加VPC和子网配置
- 选择配置防火墙安全组,在防火墙入站规则中添加允许SSH从0.0.0.0/0 IP范围访问
- 并选择服务器存储,我们选择gp3类型的80GiB的磁盘存储。
- 通过以下命令SSH登录到EC2服务器中,将创建好的EC2服务器IP地址替换到命令中"EC2实例公网 IP 地址"字段
bash
ssh -i /path/key-pair-name.pem ec2-user@EC2实例公网 IP 地址
- 进入到服务器中,我们运行以下命令安装docker-compose包。
bash
sudo su - root
dnf install -y docker git htop
systemctl start docker
ARCH=$(arch)
curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-${ARCH} \
-o ./docker-compose
chmod +x docker-compose
mv docker-compose /usr/bin/
- 我们从Github上下载Milvus向量数据的Docker Compose配置文件并启动向量数据库
bash
mkdir ~/milvus
cd ~/milvus
wget https://github.com/milvus-io/milvus/releases/download/v2.4.5/milvus-standalone-docker-compose.yml -O docker-compose.yml
## 启动
docker-compose up -d
## 查看状态
docker-compose ps
输出结果如下
- 运行以下命令启动MIlvus向量数据库可视化管理工具
bash
docker run -d -p 8000:3000 -e MILVUS_URL=$(hostname -i):19530 zilliz/attu:v2.4
- 打开服务器的8000端口,如http://IP:8000,进入Milvus服务器管理界面,并点击链接按键进入向量数据库
- 进入后我们就可以看到Milvus初始化创建的默认数据库了
16. 点击default数据库进入详细信息界面,我们可以看到数据库状态、创建时间、目前保存的数据量、向量数据库Schema架构等信息。
以上就是利用亚马逊云科技自研Graviton4代芯片构建高性能、低成本AI向量数据的上篇内容。欢迎大家关注小李哥的亚马逊云科技AI服务深入调研系列,关注小李哥未来不要错过更多国际前沿的AWS云开发/云架构方案。