用亚马逊云科技Graviton高性能/低耗能处理器构建AI向量数据库(上篇)

CSDN 2024-09-17 10:31:05 阅读 61

简介:

今天小李哥将介绍亚马逊推出的云平台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开源向量数据库

项目实操步骤

创建向量数据库基础设施

1. 首先我们进入亚马逊云科技控制台,进入EC2服务

2. 点击Launch Instance创建一台EC2服务器

 3. 在芯片架构处,我们选择r8g实例用于创建Graviton芯片服务器。

4. 创建SSH登录秘钥对

5. 为密钥对命名,并选择pem类型,点击右下角创建。

6. 运行以下命令为密钥对授权,用于SSH登录服务器

<code>chmod 400 test-only.pem

7. 为EC2服务器添加VPC和子网配置

8. 选择配置防火墙安全组,在防火墙入站规则中添加允许SSH从0.0.0.0/0 IP范围访问

9. 并选择服务器存储,我们选择gp3类型的80GiB的磁盘存储。

10. 通过以下命令SSH登录到EC2服务器中,将创建好的EC2服务器IP地址替换到命令中“EC2实例公网 IP 地址”字段

<code>ssh -i /path/key-pair-name.pem ec2-user@EC2实例公网 IP 地址

11. 进入到服务器中,我们运行以下命令安装docker-compose包。

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/

12. 我们从Github上下载Milvus向量数据的Docker Compose配置文件并启动向量数据库

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

输出结果如下

 13. 运行以下命令启动MIlvus向量数据库可视化管理工具

<code>docker run -d -p 8000:3000 -e MILVUS_URL=$(hostname -i):19530 zilliz/attu:v2.4

14. 打开服务器的8000端口,如http://IP:8000,进入Milvus服务器管理界面,并点击链接按键进入向量数据

15. 进入后我们就可以看到Milvus初始化创建的默认数据库了

 16. 点击default数据库进入详细信息界面,我们可以看到数据库状态、创建时间、目前保存的数据量、向量数据库Schema架构等信息。

以上就是利用亚马逊云科技自研Graviton4代芯片构建高性能、低成本AI向量数据的上篇内容。欢迎大家关注小李哥的亚马逊云科技AI服务深入调研系列,关注小李哥未来不要错过更多国际前沿的AWS云开发/云架构方案。 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。