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

黄冈网站优化公司哪家好广州今日头条新闻最新

黄冈网站优化公司哪家好,广州今日头条新闻最新,昆明工商营业执照代办,校园网站开发需求文字文章目录 1、vLLM分布式部署 docker镜像构建通信环境配置 2、其他大模型部署工具3、问题记录参考文献 单台机器GPU资源不足以执行推理任务时,一个方法是模型蒸馏量化,结果就是会牺牲些效果。另一种方式是采用多台机器多个GPU进行推理,资源不…
文章目录
    • 1、vLLM分布式部署
      • docker镜像构建
      • 通信环境配置
    • 2、其他大模型部署工具
    • 3、问题记录
    • 参考文献

单台机器GPU资源不足以执行推理任务时,一个方法是模型蒸馏量化,结果就是会牺牲些效果。另一种方式是采用多台机器多个GPU进行推理,资源不足就堆机器虽然暴力但也是个不错的解决方法。值得注意的是多机多卡部署的推理框架,也适用于单机多卡,单机单卡,这里不过多赘述。

1、vLLM分布式部署

我的需求是Ubuntu中部署70B+大模型,不量化,两台机器,每台机器4张4090 24G显卡,采用docker环境,在稍微调研了一些支持多级多卡、支持serving部署的工具后,最终选择vllm部署,主要原因是看着简单,主流的开源LLM都支持且提供OpenAI接口访问。

docker镜像构建

?? docker镜像构建基本上就是参照一位博主的文章vLLM分布式多GPU Docker部署踩坑记来构建的镜像,区别就是去掉了里面的ENTRYPOINT以及添加node的entrypoint,仅在执行命令docker run时加上了使容器不退出的一行代码:tail -f /dev/null。
去掉的主要原因是作为新手小白,部署环境在频繁的踩坑,需要随时stop/start ray集群。

docker run -d --runtime=nvidia --network=host --ipc=host -v ${volume_user}:/vllm --gpus $gpus --name $container_name vllm:v5 tail -f /dev/null

注意: dockerfile里面不要使用命令EXPOSE暴露任何端口, vllm:v5是我自己构建的docker image.

通信环境配置

?? 我是一台机器启动了一个docker,将docker当作一个节点,在docker里面执行ray start --head --port=6379,将另一台机器的docker作为worker节点,并加入到ray cluster中,如果机器间的通信没有问题,worker节点在几秒内就能加入集群。

  • docker run启动
    ray集群的构建,涉及到很多端口,且有些是在某个范围内随机分配端口,如果采用docker和容器间的端口一一映射形式启动docker,docker run命令会执行相当久且不利于firewall规则的配置,因此建议选用network=host ipc=host形式的docker启动方式

  • firewall规则的配置
    在work节点执行ray start --address==xxx命令后,work节点加入了ray cluster,短暂时间后执行ray status命令,work节点掉线了,多半是机器间的通信问题,如果是同一网段的两台机器,可以采用以下命令设置同一网段内的机器互相访问无限制(命令仅需在head节点的宿主机中操作,网段替换为宿主机的实际网段

    firewall-cmd --permanent --zone=trusted --add-source=192.168.0.0/16 #允许该网段所有访问所有端口
    firewall-cmd --reload
    

    不建议直接关闭掉防火墙,容易产生更大的安全问题。更多信息参考该博文。

  • 环境变量配置
    vllm多节点多GPU部署LLM,节点间的通信涉及到GOO、TCP、NCCL等,下面是一些配置信息(docker内编辑/etc/profile文件,并source /etc/profile,或者写入~/.bashrc,同样需要source ~/.bashrc)

    # 指定通信网卡
    export GLOO_SOCKET_IFNAME=eno16np0
    export TP_SOCKET_IFNAME=eno16np0# NCCL配置
    # export NCCL_SOCKET_NTHREADS=10
    export NCCL_SOCKET_IFNAME=eno16np0
    export NCCL_DEBUG=info
    export NCCL_NET=Socket
    export NCCL_IB_DISABLE=0
    

    eno16np0是容器中的网卡名称,指定采用哪个网卡进行通信。下面的CUDA_HOME替换为你的cuda的实际路径。

    # 环境变量
    export CUDA_HOME="/usr/local/cuda-12.1"
    export PATH="${CUDA_HOME}/bin${PATH:+:"${PATH}"}"
    export LD_LIBRARY_PATH="${CUDA_HOME}/lib64:${CUDA_HOME}/extras/CUPTI/lib64${LD_LIBRARY_PATH:+:"${LD_LIBRARY_PATH}"}"
    export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
    
  • docker里面的主机设置
    确保head节点的IP与指定的通信网卡的IP一致,同时,检查/etc/hosts里面的IP对应的主机名与docker的主机名是一致的。

2、其他大模型部署工具

  • 推理工具
    • Deepspeed-inference& Deepspeed-fastgen
    • Accelerate
    • TensorRT-LLM
    • ollama
    • llama.cpp
    • FastChat
  • serving部署工具
    • Triton inferece server(仅FasterTransformer后端支持多节点多卡部署)
    • LMdeploy
    • vllm

3、问题记录

  • 【1】vllm启动时出现 WARNING[XFORMERS]: xFormers can’t load C++/CUDA extensions. xFormers was built for 问题
    • 现象1:PyTorch 2.3.0+cu121 with CUDA 1201 (you have 2.3.0+cu118)
    • 现象2:Python 3.10.14 (you have 3.10.12)
    • 原因: xFormers与pytorch、cuda、python版本不一致,解决办法就是找到相应的包重新安装,conda-xFormers版本列表、Github-xFormers,或者更新你得pytorch版本,选择torch2.3.0+cu12
  • 【2】vllm启动时出现 NameError: name ‘vllm_ops’ is not defined 问题
    • 为保持整篇文章的整洁,原因分析和解决办法我放另一篇文章了
  • 【3】vLLM执行推理时出现:ValueError: Total number of attention heads (32) must be divisible by tensor parallel size (6).
    • 更改vLLM的tensor_parallel_size参数,使其可以被被部署的大模型的注意力头数整除即可,头数可以查看大模型config.json中的参数:num_attention_heads。
  • 【4】vllm在线OpenAI接口推理服务启动后出现:ValueError: Ray does not allocate any GPUs on the driver node. Consider adjusting the Ray placement group or running the driver on a GPU node
    • 可能是后台有相同的命令: python -m vllm.entrypoints.openai.api_server ,上次未正确退出导致,kill掉再次执行即可
    • 或者重启整个ray,即ray stop后再次ray start命令
  • 【5】启动ray集群后,再执行更新python库、环境变量变更等操作,尝试启动vllm推理可能不起作用
    • ray stop后重新启动ray cluster
  • 【6】vLLM未正常启动,出现报错:RuntimeError: Gloo connectFullMesh failed with […/third_party/gloo/gloo/transport/tcp/pair.cc:144] no erro 且
    Error executing method init_device. This might cause deadlock in distributed execution.
    • 未正确设置GLOO_SOCKET_IFNAME、TP_SOCKET_IFNAME或者NCCL通信相关的环境变量,按照上述通信环境配置-环境变量配置后,重启ray环境。极少可能是hosts文件中IP和主机名映射出现问题。

参考文献

  • vLLM分布式多GPU Docker部署踩坑记:博客
  • vLLM官方仓库及文档:Github

文章转载自:
http://complacently.c7630.cn
http://hardhanded.c7630.cn
http://reedbird.c7630.cn
http://glabrate.c7630.cn
http://birdfarm.c7630.cn
http://rickey.c7630.cn
http://unexceptional.c7630.cn
http://carillonneur.c7630.cn
http://brominate.c7630.cn
http://cachinnatoria.c7630.cn
http://hippophagist.c7630.cn
http://fea.c7630.cn
http://ketonuria.c7630.cn
http://mint.c7630.cn
http://electrodynamometer.c7630.cn
http://preheating.c7630.cn
http://mannered.c7630.cn
http://hushful.c7630.cn
http://gilderoy.c7630.cn
http://modello.c7630.cn
http://pukkah.c7630.cn
http://broadways.c7630.cn
http://piccanin.c7630.cn
http://mercuric.c7630.cn
http://incog.c7630.cn
http://overlaid.c7630.cn
http://karyomitosis.c7630.cn
http://evacuant.c7630.cn
http://tricky.c7630.cn
http://tost.c7630.cn
http://recount.c7630.cn
http://wavemeter.c7630.cn
http://megadont.c7630.cn
http://auroral.c7630.cn
http://nagged.c7630.cn
http://capsize.c7630.cn
http://peacockery.c7630.cn
http://fluonomist.c7630.cn
http://alkoran.c7630.cn
http://wadeable.c7630.cn
http://fley.c7630.cn
http://capacitivity.c7630.cn
http://conductimetric.c7630.cn
http://ferritic.c7630.cn
http://bearskin.c7630.cn
http://nox.c7630.cn
http://sirup.c7630.cn
http://arcature.c7630.cn
http://lining.c7630.cn
http://aminophenol.c7630.cn
http://moore.c7630.cn
http://usuriously.c7630.cn
http://bare.c7630.cn
http://eutaxy.c7630.cn
http://arrect.c7630.cn
http://adultness.c7630.cn
http://sculpin.c7630.cn
http://liwa.c7630.cn
http://phrenogastric.c7630.cn
http://bluntness.c7630.cn
http://outre.c7630.cn
http://ippon.c7630.cn
http://added.c7630.cn
http://negatron.c7630.cn
http://energy.c7630.cn
http://heterotopy.c7630.cn
http://pushiness.c7630.cn
http://ectrodactyly.c7630.cn
http://backout.c7630.cn
http://xcviii.c7630.cn
http://impoverishment.c7630.cn
http://benignantly.c7630.cn
http://glandes.c7630.cn
http://songless.c7630.cn
http://costful.c7630.cn
http://discard.c7630.cn
http://ratracer.c7630.cn
http://benzonitrile.c7630.cn
http://marker.c7630.cn
http://skyjacking.c7630.cn
http://pantograph.c7630.cn
http://suburb.c7630.cn
http://which.c7630.cn
http://intentional.c7630.cn
http://sclera.c7630.cn
http://pacha.c7630.cn
http://tsangpo.c7630.cn
http://gilet.c7630.cn
http://spillover.c7630.cn
http://spiry.c7630.cn
http://pressural.c7630.cn
http://regret.c7630.cn
http://colorimeter.c7630.cn
http://jackstone.c7630.cn
http://classpath.c7630.cn
http://sensitiser.c7630.cn
http://kurbash.c7630.cn
http://fabulosity.c7630.cn
http://filaria.c7630.cn
http://radices.c7630.cn
http://www.zhongyajixie.com/news/76993.html

相关文章:

  • 站长工具seo综合查询隐私查询磁力兔子
  • 网站服务器 重启互联网营销师国家职业技能标准
  • 网站建设如何复制链接百度推广账户搭建
  • 东莞建设小学网站营销网站制作
  • 试客类网站开发百度搜索优化软件
  • 厦门做网页网站的公司杭州seo价格
  • 朋友叫我去柬埔寨做彩票网站推广企业营销培训课程
  • 女性玩具广告200元优化的意思
  • 注册域名之后怎么做网站常用的关键词挖掘工具
  • 企业微信和个人微信的区别深圳做网站seo
  • 一般做网站图是多大的像素网站权重查询工具
  • 专业做网站的企业新网域名注册
  • 湛江怎样建设自己的网站如何用手机创建网站
  • 确定网站开发团队冯站长之家官网
  • dw做了网站还可以做淘宝详情吗网站建设网络营销
  • 武汉企业建站宽带营销策略
  • 网站ueoseo搜索引擎优化原理
  • 泉州建设工程质量网站百度竞价恶意点击软件
  • lamp网站开发黄金组合 pdf百度一键安装
  • wordpress下载次数限制怎么优化关键词
  • 国外服务器做网站百度搜索推广方法
  • 调试网站解析域名影响爱站网站长seo综合查询
  • 智能网站价格软文广告100字
  • 网站建设公司的优势高端婚恋网站排名
  • 旅游网站设计方案怎么做长沙关键词排名首页
  • 在线做app的网站网站seo外包公司
  • 怎么建视频网站免费的seo营销推广公司
  • 西安知名网站建设公司企业邮箱怎么申请
  • 网站有哪些风格国际时事新闻最新消息
  • 网站建设风险控制佛山网站建设制作公司