【工具篇】MLU运行XInference部署手册

news2024/10/18 23:30:49

文章目录

  • 前言
  • 一、平台环境准备
  • 二、代码下载
  • 三、安装部署
    • 1.正常pip 安装
  • 四、运行结果展示
    • 1.如果界面404或没有东西请这样做
    • 2.运行效果


前言

Xorbits Inference(Xinference)是一个功能强大、用途广泛的库,旨在为语言、语音识别和多模态模型提供服务。借助Xorbits Inference,您只需使用一个命令即可轻松部署和维护您的或最先进的内置模型。无论您是研究人员、开发人员还是数据科学家,Xorbits Inference都能让您充分发挥尖端人工智能模型的潜力。
主要特点:
简化模型服务:简化服务大型语言、语音识别和多模态模型的过程。您可以使用单个命令设置和部署用于实验和生产的模型。
⚡️ 最先进的模型:使用单个命令尝试尖端的内置模型。推理提供了对最先进的开源模型的访问!
🖥 异构硬件利用率:使用ggml充分利用您的硬件资源。Xorbits推理智能地利用异构硬件,包括GPU和CPU,来加速您的模型推理任务。
⚙️ 灵活的API和接口:提供多个与模型交互的接口,支持OpenAI兼容的RESTful API(包括函数调用API)、RPC、CLI和WebUI,实现无缝的模型管理和交互。
🌐 分布式部署:在分布式部署场景中使用Excel,允许在多个设备或机器之间无缝分布模型推理。
🔌 与第三方库的内置集成:Xorbits Inference与流行的第三方库无缝集成,包括LangChain、LlamaIdex、Dify和Chatbox。

一、平台环境准备

卡选择:MLU370系列
驱动选择:5.10.29以上
镜像选择:SDK版本>v24.0 pytorch >= 2.1
本次操作镜像如下:
cambricon_pytorch_container:v24.09-torch2.4.0-catch1.22.2-ubuntu22.04-py310

二、代码下载

git clone https://github.com/xorbitsai/inference

三、安装部署

提示:在这里我们回顾一下之前的章节,在章节中我们提到新版的pytorch镜像只需要使用2行代码就能运行,但是在这里我们不推荐这个方法!!!因为inference是一个部署得工具包我们需要直接通过命令行进行启动,所以我们这边采取转换的方法

#转mlu
python /torch/src/torch_mlu/tools/torch_gpu2mlu/torch_gpu2mlu.py -i ./inference/
会在同级目录下生成一个inference_mlu得文件

那么这里问到了,什么时候适合用下面两行代码呢?

import torch_mlu
from torch_mlu.utils.model_transfer import transfer

这两行代码适合我们在运行python文件的时候加在头文件处,如果像inference以及下一章节的langchain-chatchat新版本,建议先转换在做操作哦!

回归正题,我们继续!!!

1.正常pip 安装

pip install gradio==4.42.0
pip install -e ./inference_mlu/

四、运行结果展示

运行命令:

xinference-local

会生成一个端口直接点击就会有个UI界面,如果你报错了请往下看

1.如果界面404或没有东西请这样做

我们提供两种修复方法:

#1先卸载重装
pip uninstall xinference
pip install -e ./inference_mlu/
#2启动
xinference-local

#若上述方法不行,且/inference_mlu/xinference/web/ui目录下不生成有内容的build和node_modules的前端文件夹,则在/web/ui目录下使用手动命令生成
apt install npm
npm install
npm run build
#此时仍有可能构建项目失败,提示缺失react-scripts,需要运行下面的命令安装
npm install react-scripts
#重新启动即可,注意使用vscode远程ssh连接,直接在平台网页运行不可以
#webui界面如下

2.运行效果

在这里插入图片描述
加载模型
寻找指定模型选择模型参数进行加载
在这里插入图片描述
左侧run model中对已加载模型进行启动,gui进行推理
在这里插入图片描述
在这里插入图片描述
这里仅展示qwen2-vl模型,我们也测试了qwen2及知识库模型,并接入到新版本的langchain-chathchat中效果都是很棒的,下期想看什么,请留言或私信,谢谢!!

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

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

相关文章

自监督学习:引领机器学习的新革命

引言 自监督学习(Self-Supervised Learning)近年来在机器学习领域取得了显著进展,成为人工智能研究的热门话题。不同于传统的监督学习和无监督学习,自监督学习通过利用未标注数据生成标签,从而大幅降低对人工标注数据…

数据库-01MYSQL-001MySQL知识点查漏补缺

MySQL知识点查漏补缺 数据库常识不常见知识点: 数据库常识 知识点001: between…and … 包含临界值。 知识点002:任何内容与null相加等于null。 知识点003:模糊查询涉及的函数有:like,between…and…, in/…

机器的“眼睛“:计算机视觉技术背后的魔法

计算机视觉,作为人工智能领域中的一颗璀璨明珠,正逐步改变着我们的生活方式。它赋予了机器“看”的能力,使得计算机能够从图像和视频中提取信息并进行分析,就像人类用眼睛和大脑来理解世界一样。本文将带你走进计算机视觉的世界&a…

解决linux服务器磁盘占满问题(详细,有效,100%解决)

应用场景: 在我们的日常开发中,我们的服务器总是在不知不觉中磁盘莫名奇妙少了很多空间,或者被占满了,如果这时候要想要存储什么文件,突然发现空间不够了。但我们通常也不知道那些文件占用的空间大,这时候…

ANSYS Workbench纤维混凝土3D

在ANSYS Workbench建立三维纤维混凝土模型可采用CAD随机几何3D插件建模后导入,模型包含球体粗骨料、圆柱体长纤维、水泥砂浆基体等不同组分。 在CAD随机几何3D插件内设置模型参数后运行,即可在AutoCAD内建立三维纤维混凝土模型,插件支持任意…

牛客习题—线性DP 【mari和shiny】C++

你好,欢迎阅读我的文章~ 个人主页:Mike 所属专栏:动态规划 mari和shiny mari和shiny ​ 分析: 使用动态规划的思路来解决。 思路: 分别统计s,sh,shy的数量即可。使用ss来统计字符s的数量,使…

LC1523.在区间范围内统计奇数数目

一开始没审题,居然构造了一个数组去做… 然后重新看,首先先想到的暴力解就是遍历low到high,然后每一个数都对二取余。但是这样的暴力解就没什么锻炼 那肯定再想一个思路,Low和high都有两种情况,要么是奇数&#xff0c…

30.第二阶段x86游戏实战2-遍历周围-C++遍历二叉树(玩家角色基址)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

衡石分析平台系统分析人员手册-应用查看

应用查看​ 应用创作界面展示了用户可以查看的所有应用。 用户可以使用平铺视图或列表视图查看应用。同时支持通过搜索、过滤、排序等方式快速查找应用。 应用视图​ 应用创作支持平铺视图和列表视图两种展示方式,默认以平铺视图的方式展示应用,用户可…

2024 蚂蚁SEO蜘蛛池对网站收录的帮助

《2024 蜘蛛池对网站收录还有效果吗?》 在网站优化的领域中,蜘蛛池曾经是一个备受关注的工具。然而,随着搜索引擎算法的不断演进,人们对于 2024 年蜘蛛池对网站收录是否还有效果产生了疑问。 一、什么是蜘蛛池? 蜘蛛池…

APQP在制造行业的应用:搭上数字化项目管理平台很nice

APQP(Advanced Product Quality Planning,即产品质量先期策划)最早由汽车行业引入,并因其在质量管理方面的显著效果而逐渐被其他制造业领域所采纳。 APQP提供了一种从产品设计的最初阶段到生产过程的全面质量管理框架,…

使用fpm工具制作Vim.rpm包

背景:生产环境中的CentOS 7在安全扫描中被扫描出vim存在堆缓冲区溢出(CVE-2024-45306)等漏洞。根据漏洞说明,需要升级到最新版。 奈何CentOS 7已经停止维护了,所以,想在网上找一个最新版的vim.rpm相当不容易…

数字图像处理:图像复原应用

数字图像处理:图像复原应用 1.1 什么是图像复原? 图像复原是图像处理中的一个重要领域,旨在从退化(例如噪声、模糊等)图像中恢复出尽可能接近原始图像的结果。图像复原与图像增强不同,复原更多地依赖于图…

ES6 Promise的用法

学习链接:ES6 Promise的用法,ES7 async/await异步处理同步化,异步处理进化史_哔哩哔哩_bilibili 一、同步与异步区别 1.JavaScript代码是单线程的程序,即通过一行一行代码顺序执行,即同步概念。 2.若处理一些简短、…

数据结构部分混淆

1.随机存储和顺序存储: 随机存取:数组,当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物理地址无关 顺序存取:链表,当存储器中的数据被读取或写入时,所需要的时间与该数据所在的物…

力扣之1412.查找成绩处于中游的学生

题目: sql建表语句: Create table If Not Exists Student (student_id int, student_name varchar(30)); Create table If Not Exists Exam (exam_id int, student_id int, score int); Truncate table Student; insert into Student (student_id,…

linux环境下的程序设计与git操作

目录 前言: 进度条小程序: 先介绍几个背景知识 代码实现 Git操作 总结 其他指令 前言: 本文将重点介绍1. linux下的程序设计,并使用linux下的几个函数接口。实现一个简单的小程序 2.本着开源精神,进行git操作。…

OPENSSL-2023/11/10学习记录-C/C++对称分组加密DES

对称分组加密常用算法: DES 3DES AES 国密SM4 对称分组加密应用场景: 文件或者视频加密 加密比特币私钥 消息或者配置项加密 SSL通信加密 对称分组加密 使用异或实现一个简易的对称加密算法 A明文 B秘钥 AB密文AB (AB)B A 密码补全和初始化 数…

在Access中执行SQL语句

1.新建一个查询 2. 关闭弹出的窗口,创建一个空查询 3. 在“设计”页中点击“数据定义”进入输入SQL语句界面 4. “执行”后就能看到执行结果 5.如果想再次执行SQL,则可在MDI窗口标题栏右键,在弹出的菜单中选择“SQL 视图”即可

Vue向上滚动加载数据时防止内容闪动

目前的需求:当前组件向上滚动加载数据,dom加载完后,页面的元素位置不能发生变化 遇到的问题:加载完数据后,又把滚轮滚到之前记录的位置时,内容发生闪动 现在的方案: 加载数据之前记录整体滚动条…