首页 > 其他分享 >Anolis OS 23 基于 AMD 实例的 AI 推理优化实践 | 龙蜥技术

Anolis OS 23 基于 AMD 实例的 AI 推理优化实践 | 龙蜥技术

时间:2023-11-14 10:34:40浏览次数:25  
标签:23 AI OS Anolis 开发者 推理

编者按:龙蜥操作系统 Anolis OS 23 是龙蜥社区基于操作系统分层分类理论,面向上游原生社区独立选型,全面支持智算的首款国产操作系统,为开发人员提供了强大的 AI 开发平台,通过支持龙蜥生态软件仓库(EPAO),Anolis OS 23 实现了对主流 AI 框架的全面支持,使得 AI 开发更加便捷高效。本文将基于 AMD 实例介绍 Anolis OS 23 针对 AI 推理应用进行的专门优化,并通过最佳实践演示如何使用龙蜥社区容器镜像加速 AI 应用推理部署。




Anolis OS 23 基于 AMD 实例的 AI 推理优化实践 | 龙蜥技术_开发者

01

Anolis OS 23 加速 AI 应用部署

Anolis OS 23 中通过引入龙蜥生态软件仓库(EPAO),实现一键安装部署 AI 开发环境,解决了 AI 组件之间繁琐的依赖关系,加速 AI 应用的开发、部署流程。EPAO 仓库有以下特点:

  • EPAO 仓库支持开发者一键安装主流 NVIDIA GPU 驱动和 CUDA 加速库,为开发者节省驱动版本匹配和手动安装的时间。
  • EPAO 仓库提供对主流 AI 框架 PyTorch/TensorFlow 的版本支持,同时安装过程中自动解决 AI 框架的依赖问题,开发者无需进行额外编译,即可搭配系统 Python 环境进行快速开发。
  • EPAO 仓库中的组件在提供给开发者之前,均经过兼容性测试,开发者可以一键安装对应的组件,免去环境配置中可能出现的对系统依赖项的修改,提供使用过程中的稳定性。

EPAO 仓库当前支持的 AI 组件列表:

分类

名称

版本号

驱动

cuda

12.1.1

nvidia-driver

530.30.02

AI 框架

tensorflow

2.12.0

pytorch

2.0.1

onnx

1.14.0

CPU 场景模型加速

intel-extension-for-pytorch

2.0.100

intel-extension-for-tensorflow

1.2.0

NVIDIA 容器支持

nvidia-container-toolkit

1.13.1

libnvidia-container

1.13.1

在 Anolis OS 23 上 部署 AI 环境只需三步,就可以安装适用于系统 Python 版本的 AI 开发环境:


1. 引入 EPAO。



dnf install -y anolis-epao-release

2.(GPU 实例)安装 NVIDIA 驱动及 CUDA。



dnf install -y kernel-devel-$(uname-r)
dnf install -y nvidia-driver nvidia-driver-cuda cuda

3. 安装 AI 框架。



dnf install -y pytorch
dnf install -y tensorflow

02



Anolis OS 23 加速 AI 应用推理

CPU 平台相较于 GPU 平台具备多种优势,包括灵活通用、低功耗高性能、易扩展和生态丰富等。在 AI 推理应用部署中,CPU 仍然是一种非常重要的硬件平台。然而,在 CPU 上部署 AI 推理应用并充分发挥其全部硬件性能,对开发者来说却是一个繁琐的问题。Anolis OS 23 针对这个问题,聚焦 AMD CPU 实例,引入了 AI 专门优化方案,更好的帮助开发者释放出硬件的全部性能,为开发者降本增效。

1.CPU 计算加速:现代 CPU 具备多种扩展指令集,可以大幅提高重复计算工作的并行度,然而这些指令集需要经过软件适配才能发挥作用。AMD 推出的 ZenDNN 加速库可以针对 AMD CPU 架构,充分利用扩展指令集优化 AI 推理计算,帮助 AI 开发者充分释放 AMD 平台的深度学习推理性能。ZenDNN 针对不同的推理工作负载均有优化效果,包括计算机视觉、自然语言处理和推荐系统。并且在最新的 ZenDNN v4.1 发布页面中,Anolis OS 已经正式获得 AMD 官方支持,成为首款支持 ZenDNN 的国产操作系统。

2.内存分配加速:在进行 AI 推理过程中,大量的数据需要从内存中读写。使用内存加速技术可以提高内存访问的效率,减少数据访问的延迟和带宽限制。同时内存加速技术可以支持多线程并发访问内存,提高推理并行度和整体性能。tcmalloc 和 jemalloc 是两种常用的内存分配器,相比于 glibc 默认的 ptmalloc,这两种内存分配器针对多线程程序的内存管理进行了专门优化,以提高内存分配释放的性能。目前 Anolis OS 23 仓库中已经引入这两种内存分配器,开发者可以一键安装对应的组件。

在第八代 AMD ECS 实例上,安装相同版本的运行环境下,经过优化后的 Anolis OS 23 与 Ubuntu 部署相同大模型的推理性能对比:


ChatGLM

Qwen

Stable Diffusion

Ubuntu 22.04

4.985 byte/s

3.957 byte/s

0.604 pic/min

Anolis OS 23

23.811 byte/s

18.426 byte/s

1.443 pic/min

03



AI 应用推理优化实践

为了减少 AI 开发者在环境部署上的成本,龙蜥社区推出了针对 AMD CPU 优化的 AI 推理容器镜像,镜像中直接集成 ZenDNN CPU 计算加速以及 tcmalloc 内存加速,即开即用,将 AI 推理环境部署成本降低为 0。

在使用龙蜥社区容器镜像之前,需要安装 docker 运行环境,在 Anolis OS 23 上可以通过如下命令安装:



dnf install -y docker

具备 docker 运行环境后,开发者可以通过以下命令拉取镜像,并进入镜像进行 AI 开发部署:



docker pull registry.openanolis.cn/openanolis/pytorch-amd:1.12-23-zendnn4.0
docker run -d --name pytorch-amd -u $(id -u):$(id -g) -v $HOME:$HOME registry.openanolis.cn/openanolis/pytorch-amd:1.12-23-zendnn4.0
docker exec -it pytorch-amd /bin/bash

镜像中针对 AMD CPU 的优化已经默认生效,开发者只需要安装 AI 应用的依赖环境,就可以运行推理应用享受极致的性能体验。下面将以 ChatGLM-6B 模型 为例,体验容器镜像带来的便捷(为了保证模型运行的稳定,容器内存至少分配 32 GB,存储空间至少分配 100 GB)。

1.在部署 ChatGLM-6B 之前,需要安装一些必备软件。



dnf install -y git git-lfs

2.下载 ChatGLM-6B 项目源码。



git clone https://github.com/THUDM/ChatGLM-6B.git

3.安装 Python 运行依赖(镜像已包含 PyTorch,无需另外安装)



pip install protobuf transformers==4.27.1 cpm_kernels gradio mdtex2html sentencepiece accelerate streamlit streamlit-chat

4.运行网页 DEMO。运行网页 DEMO 时,由于国内网络原因,可能会出现模型下载失败,可以多次重试,或手动下载模型文件并指定本地离线模型。



cd ~/ChatGLM-6B
streamlit run web_demo2.py --server.port 7860

网页版服务运行起来后,可以通过 http://<ECS EXTERNAL IP>:7860 访问服务。部署在 AMD CPU 实例上的聊天机器人再经过 Anolis OS 23 的专门优化后,对话非常流利,开发者无需 GPU 实例即可流畅开发 AI 应用,大大减少了开发成本与开发时间。


—— 完 ——


关于龙蜥


龙蜥社区是立足云计算打造面向国际的 Linux  服务器操作系统开源根社区及创新平台。龙蜥操作系统(Anolis OS)是龙蜥社区推出的 Linux 发行版,拥有三大核心能力:提效降本、更加稳定、更加安全。

目前, Anolis OS 23  已发布,全面支持智能计算,兼容主流 AI 框架,支持一键安装 nvidia GPU 驱动、CUDA 库等,完善适配 Intel、兆芯、鲲鹏、龙芯等芯片,并提供全栈国密支持。

加入我们,一起打造面向云时代的操作系统!


标签:23,AI,OS,Anolis,开发者,推理
From: https://blog.51cto.com/u_15308345/8362718

相关文章

  • OpenAI支持的视觉能力
    介绍带有视觉的GPT-4,有时也称为GPT-4V或在API中,允许模型接收图像并回答有关它们的问题。从历史上看,语言模型系统一直受到单一输入模态(文本)的限制。对于许多用例来说,这限制了可以使用GPT-4等模型的领域。gpt-4-vision-preview具有视觉功能的GPT-4目前可供所有通过模型和......
  • docker异常unable to add return rule in DOCKER-ISOLATION-STAGE-1 chain
    docker重装启动异常 INFO[2021-03-09T15:06:20.839195000+08:00]Loadingcontainers:start.INFO[2021-03-09T15:06:20.885624800+08:00]stoppingeventstreamfollowinggracefulshutdownerror="<nil>"module=libcontainerdnamespace=mobyINFO[2021-......
  • ubuntu:安装/启动ssh(23.10)
    一,ubuntu23.10默认未安装ssh如下:liuhongdi@lhdpc:~$servicesshstatusUnitssh.servicecouldnotbefound.二,安装ssh1,从命令行安装root@lhdpc:~#apt-getinstallssh2,安装完成后查看效果:root@lhdpc:~#servicesshstatus○ssh.service-OpenBSDSecureS......
  • ubuntu:dpkg操作deb包(23.10)
    一,查看某个文件所属的deb包:root@lhdpc:/usr/local/source/Python-3.12.0#dpkg-S/usr/bin/python3python3-minimal:/usr/bin/python3二,查看dpkg的版本号root@lhdpc:/usr/local/source/Python-3.12.0#dpkg--versionDebiandpkg软件包管理程序1.22.0(amd64)版。......
  • ubuntu:python:编译安装过程中的报错(python 3.12/ubuntu 23.10)
    一,参考文档:https://devguide.python.org/getting-started/setup-building/#install-dependencies主要是补充python所需依赖的开发库,如果这些库未安装,则在安装python的过程中就会报出下面所列的错误,安装依赖库的命令:ubuntu如下:sudoapt-getinstallbuild-essentialgdbl......
  • 20231114学习总结
    推荐参考书:[1]范淼,李超.Python机器学习及实践,清华大学出版社.[2]PeterHarrington.机器学习实战,人民邮电出版社。《机器学习B实验任务书1》一、上机安排时间地点第10周周一2023.11.06第6-7节九实4-3、4-4第11周周一2023.11.13第6-7节九实......
  • 2023深圳ccpc,可能算游记?
    2023年的最后一站程序设计竞赛在深圳,不过写这篇博客并不是为了记录赛场上的故事,只是说些想说的。拿了块铜牌,虽然没有打铁,但还是发生了不少让人伤心的事。又想到这是最后一次和大三的老东西们一块出去比赛,不要那么沉重,所以在回来的路上还是打了不少趣。上了高铁后感觉没啥......
  • 2023年11月13日模拟赛
    同步更新于我的博客总结昨日中二病发作写了一篇离谱文章,请直接无视,别看阿⁄(⁄⁄•⁄ω⁄•⁄⁄)⁄。害怕......
  • 2023/11/13(可对角化)
    ......
  • 2023NOIP A层联测30 总结
    2023NOIPA层联测30总结\(T1\)给定一个序列\(a\),有\(m\)次操作\(l,r,v\),表示将\([l,r]\)内的每个\(a_i\)变为\(\max(a_i,v)\)\(n\le10^5,m\le10^7\)看到\(n\le10^5,m\le10^6\),赶紧打一个\(O(m\log_2n)\)的线段树做法,在看到\(20pts\)的\(l......