当前位置: 首页 > news >正文

便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持 | 龙蜥技术

编者按:日前,Alibaba Cloud Linux 3 为使 AI 开发体验更高效,提供了一些优化升级,本文为“Alibaba Cloud Linux 3 AI 能力介绍”系列文章预告篇,以 GPU 实例为例,为大家演示 Alibaba Cloud Linux 3 对 AI 生态的支持。接下来还将陆续发布 2 篇系列文章,主要介绍基于 Alinux 的云市场镜像为用户提供开箱即用的 AI 基础软件环境,以及基于 AMD 介绍 AI 能力差异化。敬请期待。更多 Alibaba Cloud Linux 3 信息可前往官网查看:https://www.aliyun.com/product/ecs/alinux

图片

当在 Linux 操作系统上开发人工智能(AI)应用程序时,研发人员可能会遇到一些挑战,这些挑战包括但不限于:

1. GPU 驱动程序:为了在 Linux 系统上使用 NVIDIA GPU 进行训练或推理,需要安装和配置正确的 NVIDIA GPU 驱动程序。由于不同的操作系统和 GPU 型号可能需要不同的驱动程序,因此可能需要一些额外的工作。

2. AI 框架编译:在 Linux 系统上使用 AI 框架进行编程时,需要安装和配置适当的编译器和其他依赖项。这些框架通常需要进行编译,因此需要确保正确安装了编译器和其他依赖项,并正确配置编译器。

3. 软件兼容性:Linux 操作系统支持许多不同的软件和工具,但不同版本和发行版之间可能存在兼容性问题。这可能会导致某些程序无法正常运行或者在某些操作系统上不可用。因此,研发人员需要了解其工作环境的软件兼容性,并进行必要的配置和修改。

4. 性能问题:AI 软件栈是一个异常复杂的系统,通常需要对不同型号的 CPU 和 GPU 进行专业的优化,才能发挥其最佳性能。软硬件协同的性能优化对于 AI 软件栈来说是一个具有挑战性的任务,需要拥有高超的技术水平和专业知识。

阿里云第三代云服务器操作系统 Alibaba Cloud Linux 3(以下简称“Alinux 3”)是基于龙蜥操作系统 Anolis OS 研发的商业版操作系统,为开发人员提供了强大的 AI 开发平台,通过支持龙蜥生态 repo(epao),Alinux 3 实现了对主流的 nvidia GPU 和 CUDA 生态的全面支持,使得 AI 开发更加便捷高效。此外,Alinux 3 还支持主流的 AI 框架 TensorFlow/PyTorch,intel/amd 等不同 CPU 平台对 AI 的优化,还将引入了 modelscope、huggingface 等大模型 SDK 的原生支持,为开发人员提供了丰富的资源和工具。这些支持,使得 Alinux 3 成为了一个完善的 AI 开发平台,解决 AI 开发人员的痛点问题,不用一直折腾环境,让 AI 开发体验更容易更高效。

Alinux 3 为开发人员提供了强大的 AI 开发平台。为了解决以上研发人员可能遇到的挑战,Alinux 3 提供了以下几点优化升级:

1. Alinux 3 通过引入龙蜥生态软件仓库(epao),支持开发者一键安装主流 NVIDIA GPU 驱动以及 CUDA 加速库,节省了开发者需要匹配驱动版本以及手动安装的时间。

2. epao 仓库中还提供了对主流 AI 框架 Tensorflow/PyTorch 的版本支持,同时安装过程中会自动解决 AI 框架的依赖问题,开发者无需进行额外编译,即可搭配系统 Python 环境进行快速开发。

3. Alinux 3 的 AI 能力在提供给开发者之前,所有组件均经过兼容性测试,开发者可以一键安装对应的 AI 能力,免去了环境配置中可能出现的对系统依赖项的修改,提高了使用过程中的稳定性。

4. Alinux 3 针对 Intel/AMD 等不同平台的 CPU 进行了 AI 专门优化,更好地释放硬件的全部性能

5. 为了更快的适应 AIGC 产业的快速迭代,Alinux 3 还将引入对 ModelScope、HuggingFace 等大模型 SDK 的原生支持,为开发人员提供了丰富的资源和工具。

在多维度的优化加持下,使得 Alinux 3 成为一个完善的 AI 开发平台,解决了 AI 开发人员的痛点问题,让 AI 开发体验更容易更高效。

以下以阿里云 GPU 实例为例子,演示 Alinux 3 对 AI 生态的支持:

1、购买 GPU 实例

图片

2、选择 Alinux 3 镜像

图片

3、安装 epao repo 配置

dnf install -y anolis-epao-release

4、安装nvidia GPU driver 

安装 nvidia driver 之前先保证 kernel-devel 已安装,确保 nvidia driver 安装成功。

dnf install -y kernel-devel-$(uname-r)

安装 nvidia driver:

dnf install -y nvidia-driver nvidia-driver-cuda

安装完成后可以通过 nvidia-smi 命令查看 GPU 设备状态。

图片

5、安装 cuda 生态库

dnf install -y cuda

6、 安装 AI 框架 tensorflow/pytorch

当前提供 CPU 版的 tensorflow/pytorch,未来将支持 GPU 版的 AI 框架。

dnf install tensorflow -y
dnf install pytorch -y

安装完成后可通过简单的命令查看是否安装成功:

图片

图片

7、部署模型

使用 Alinux 3 对 AI 的生态支持,可以部署 GPT-2 Large 模型来进行本文续写任务。

安装 Git 以及 Git LFS 方便后续下载模型。

dnf install -y git git-lfs wget

更新 pip,便于后续部署 Python 环境。

python -m pip install --upgrade pip

启用 Git LFS 的支持。

git lfs install

下载 write-with-transformer 项目源码,以及预训练模型。write-with-transformer 项目是一个网页写作 APP,可以使用 GPT-2 大模型对写作内容进行续写。

git clone https://huggingface.co/spaces/merve/write-with-transformer
GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/gpt2-large
wget https://huggingface.co/gpt2-large/resolve/main/pytorch_model.bin -O gpt2-large/pytorch_model.bin

安装 write-with-transformer 所需要的依赖环境。

cd ~/write-with-transformer
pip install --ignore-installed pyyaml==5.1
pip install -r requirements.txt

环境部署完毕后,就可以运行网页版 APP,来体验 GPT-2 帮助完成写作的乐趣。目前 GPT-2 只支持使用英文进行文本生成。

cd ~/write-with-transformer
sed -i 's?"gpt2-large"?"../gpt2-large"?g' app.py
sed -i '34s/10/32/;34s/30/120/' app.py
streamlit run app.py --server.port 7860

回显信息出现 External URL: http://<ECS EXTERNAL IP>:7860 表明网页版 APP 运行成功。

图片

“更多龙蜥产品、生态、技术合作可发送邮件至邮箱 secretary@openanolis.org,我们会第一时间与您联系。”

—— 完 ——

相关文章:

便捷、快速、稳定、高性能!以 GPU 实例演示 Alibaba Cloud Linux 3 对 AI 生态的支持 | 龙蜥技术

编者按&#xff1a;日前&#xff0c;Alibaba Cloud Linux 3 为使 AI 开发体验更高效&#xff0c;提供了一些优化升级&#xff0c;本文为“Alibaba Cloud Linux 3 AI 能力介绍”系列文章预告篇&#xff0c;以 GPU 实例为例&#xff0c;为大家演示 Alibaba Cloud Linux 3 对 AI 生…...

创新科技改变城市:智慧城市建设全景展望

在当今科技飞速发展的时代&#xff0c;智慧城市的概念已经成为城市发展的新趋势&#xff0c;为人们的生活带来了前所未有的便利和改变。智慧城市&#xff0c;顾名思义&#xff0c;是以先进的信息技术为基础&#xff0c;通过数字化、互联网化和智能化手段&#xff0c;实现城市基…...

Kotlin 环境下解决属性初始化问题

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…...

Java复习-20-接口(3)- 代理设计模式

代理设计模式(Proxy) 功能&#xff1a;可以帮助用户将所有的开发注意力只集中在核心业务功能的处理上。 代理模式(Proxy Pattern)是一种结构性模式。代理模式为一个对象提供了一个替身&#xff0c;以控制对这个对象的访问。即通过代理对象访问目标目标对象&#xff0c;可以在目…...

如何远程访问Linux MeterSphere一站式开源持续测试平台

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…...

LinuxUbuntu安装OpenWAF

Linux&Ubuntu安装OpenWAF 官方GitHub地址 介绍 OpenWAF&#xff08;Web Application Firewall&#xff09;是一个开源的Web应用防火墙&#xff0c;用于保护Web应用程序免受各种网络攻击。它通过与Web服务器集成&#xff0c;监控和过滤对Web应用程序的流量&#xff0c;识…...

LeetCode 剑指offer 09.用两个栈实现队列

LeetCode 剑指offer 09.用两个栈实现队列 题目描述 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回…...

第三方软件检测机构有哪些资质,2023年软件测评公司推荐

软件第三方测试报告 伴随着软件行业的蓬勃发展&#xff0c;软件测试也迎来了热潮&#xff0c;但是国内的软件测试行业存在着测试入行门槛低、测试投入少、测试人员专业性不足等问题&#xff0c;这些问题不但会阻碍软件测试行业的良性发展&#xff0c;而且难以保证软件产品的质…...

Unity的GPUSkinning进一步介绍

大家好&#xff0c;我是阿赵。   在几年前&#xff0c;我曾经写过一篇介绍GPUSkinning的文章&#xff0c;这么多年之后&#xff0c;还是看到不停有朋友在翻看这篇旧文章。今天上去GitHub看了一下&#xff0c;GPUSkinning这个开源的插件已经很久没有更新过了&#xff0c;还是停…...

Mysql redolog

一、redolog 是啥 数据库的ACID&#xff1a;A原子性&#xff0c;C一致性&#xff0c;I隔离性&#xff0c;D持久性&#xff1b; redolog&#xff1a;保证 持久性&#xff1b; redolog: 系统奔溃重启时需要按照上述内容所记录的步骤重新更新数据页&#xff0c;特点&#xff1a…...

【设计模式】Head First 设计模式——桥模式 C++实现

设计模式最大的作用就是在变化和稳定中间寻找隔离点&#xff0c;然后分离它们&#xff0c;从而管理变化。将变化像小兔子一样关到笼子里&#xff0c;让它在笼子里随便跳&#xff0c;而不至于跳出来把你整个房间给污染掉。 设计思想 桥模式。将抽象部分(业务功能)与实现部分(平…...

CESM2代码下载

这半年忙着毕业写论文&#xff0c;好久好久好久不更新了∠( ω)&#xff0f; &#xff0c;今天准备开个新坑 ๑乛◡乛๑&#xff0c;学习一下CESM&#xff08;Community Earth System Model&#xff09;&#xff0c;它是一个完全耦合的全球气候模型&#xff0c;可用于地球过去、…...

编写OpenCL程序的基本步骤

opencl pyopencl OpenCL-Headers OpenCL(全称为Open Computing Langugae&#xff0c;开放运算语言)是第一个面向异构系统(此系统中可由CPU&#xff0c;GPU或其它类型的处理器架构组成)的并行编程的开放式标准。 它是跨平台的。 OpenCL由两部分组成&#xff0c;一是用于编写…...

计算机网络之TCP/IP协议第一篇:网络基础知识

文章目录 写给自己的话 一:前言 1:手握金刚钻的TCP/IP 2:计算机中的协议 3:分组...

虚拟机扩容

系统环境centos8&#xff0c;分两步&#xff0c;第一步先在vmware扩容&#xff0c;第二部在虚拟机内部扩容 1.vmware分配磁盘空间 2.虚拟机内部扩容 查看当前磁盘信息&#xff0c;这个是扩容之前的&#xff0c;扩容完成才会显示新的 df -h查看系统分区信息 fdisk -l查看目录…...

Linux下的系统编程——进程间的通信(九)

一、进程间通信常用方式 IPC方式&#xff1a; Linux环境下&#xff0c;进程地址空间相互独立&#xff0c;每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到&#xff0c;所以进程和进程之间不能相互访问&#xff0c;要交换数据必须通过内核&am…...

Qt QtableWidget、QtableView表格删除选中行、删除单行、删除多行

文章目录 Qt QtableWidget表格删除选中行只能选择一行&#xff0c;点击按钮后&#xff0c;删除一行可以选择中多行&#xff0c;点击按钮后&#xff0c;删除多行选中某一列中的不同行&#xff0c;点击按钮后&#xff0c;删除多行 QTableWidgetSelectionRange介绍QTableWidget的选…...

【代码随想录day24】不同的二叉搜索树

题目 给你一个整数 n &#xff0c;求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种&#xff1f;返回满足题意的二叉搜索树的种数。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;5示例 2&#xff1a; 输入&#xff1a;n 1 输出&#xf…...

数学建模--Subplot绘图的Python实现

目录 1.Subplot函数简介 2.Subplot绘图范例1:绘制规则子图 3.Subplot绘图范例2:绘制不规则子图 4.Subplot绘图范例3:gridspec辅助实战1 5.Subplot绘图范例4:gridspec辅助实战2 1.Subplot函数简介 """ 最近在数学建模种需要绘制多张子图,发现对于subplot函…...

JMeter(三十九):selenium怪异的UI自动化测试组合

文章目录 一、背景二、JMeter+selenium使用过程三、总结一、背景 题主多年前在某社区看到有人使用jmeter+selenium做UI自动化测试的时候,感觉很是诧异、怪异,为啥?众所周知在python/java+selenium+testng/pytest这样的组合框架下,为啥要选择jmeter这个东西[本身定位是接口测…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...