千问官方部署文档

核心技术原理

本项目旨在探索生产环境下的高并发推理服务端搭建方法,核心工作非常清晰,边角细节没有投入太多精力,希望对大家有帮助

  • vLLM支持Continuous batching of incoming requests高并发批推理机制,其SDK实现是在1个独立线程中运行推理并且对用户提供请求排队合批机制,能够满足在线服务的高吞吐并发服务能力
  • vLLM提供asyncio封装,在主线程中基于uvicorn+fastapi封装后的asyncio http框架,可以实现对外HTTP接口服务,并将请求提交到vLLM的队列进入到vLLM的推理线程进行continuous batching批量推理,主线程异步等待推理结果,并将结果返回到HTTP客户端
  • vLLM天然支持流式返回next token,基于fastapi可以按chunk流式返回流式推理成果,在客户端基于requests库流式接收chunk并复写控制台展示,实现了流式响应效果

安装注意

  • python版本为3.10
  • cuda版本是12.1
  • torch安装2.1
  • 安装vllm gptq量化版, 安装时命令采用pip install . -i https://mirrors.aliyun.com/pypi/simple/
  • 安装modelscope,命令pip install modelscope -i https://mirrors.aliyun.com/pypi/simple/
  • 安装千问的tiktoken分词库 pip install tiktoken -i https://mirrors.aliyun.com/pypi/simple/

离线推理

python程序直接拉起模型,本地推理的方式。

python vllm_offline.py
提问:你好
你好!有什么我能帮你的吗?
提问:没事
好的,如果你需要任何帮助,请随时告诉我。

在线推理

启动一个远端python http服务端,通过http客户端调用的方式,并且可以流式返回推理结果。 启动HTTP服务端:

python vllm_server.py

启动HTTP客户端

python vllm_client.py

webui

启动vllm_server后,可以再单独运行gradio_webui.py,它是基于gradio实现的聊天webui,支持多轮对话和流式应答,底层会与vllm_server实时远程调用。

python gradio_webui.py

通义千问Prompt原理

1.8B预训练版本,训练数据:

  • 语料:百度文库 输入:英国航空,中文简称英航,是英国的国家航空公司,也是寰宇一家的创始成员及国际航空集团旗下子公司。<|endoftext|> 输出:英航的主要枢纽为伦敦希思罗机场及伦敦盖特威克机场。英航是欧洲第二大的航空公司、西欧最大的航空公司及全球三间其中一间曾拥有协和客机的航空公司,其余两间为法国航空和新加坡航空。<|endoftext|> 项目演示

G8i 运行配置截图 阿里云第八代云服务器ECS g8i实例是阿里云最新推出的云服务器实例,采用CIPU+飞天技术架构,并搭载最新的Intel 第五代至强可扩展处理器(代号EMR),在计算、网络、存储和安全等方面均有显著提升。g8i实例特别适合在线音视频应用、通用互联网应用和AI相关应用等场景。 产品特性

  1. 计算能力:内置AMX AI专用加速器,AI推理性能最高可提升7倍,深度学习场景性能最大可提升2倍。
  2. 网络性能:支持eRDMA网络架构,网络延时最低可达8微秒,适合数据库、AI、大数据等应用。
  3. 存储性能:全面搭载NVMe技术,云盘IOPS达到100万,确保数据快速读写。
  4. 安全性能:全量搭载安全芯片,支持vTPM和英特尔TME运行内存加密,提供全方位的安全防护。

适用场景

  • 在线音视频应用:处理大量音视频数据,提升视频应用效率。
  • 通用互联网应用:如网站和应用服务器、数据库系统、搜索集群等。
  • AI相关应用:机器学习、深度学习、自然语言处理等。

实例规格: g8i实例提供多种规格,包括ecs.g8i.large到ecs.g8i.48xlarge,不同规格的vCPU、内存、网络带宽、云盘IOPS等性能指标不同,以满足不同规模的应用需求。

产品优势

  • 超高性能:定制CPU提升算力,单核性能提升25%,整机性能提升85%。
  • AI能力加强:内置AMX AI专用加速器,大幅提升AI推理性能。
  • 超强安全:全面搭载可信芯片,支持软硬件加密计算能力。