首页 > 其他分享 >vllm 通过不同的chat_template推理部署常见qwen、chatglm、llama3等开源大模型

vllm 通过不同的chat_template推理部署常见qwen、chatglm、llama3等开源大模型

时间:2024-04-26 16:01:57浏览次数:25  
标签:%- -% -- 模型 llama3 qwen role chat message

vllm 版本 4.0.0
镜像 vllm github 官方镜像
gpu v100 32g a800 80g
openai api 方式
出现的问题通过 chat-template 聊天模板解决

1 推理部署qwen系列模型

测试 我是谁
问题:回答内容含有分词符,回答有杂论冗余内容
模型文件没有默认聊天模板
vllm 官方也没有
聊天模板找不到
不过可以通过指定stop 入参 '<|im_start|>' 解决

2 推理部署qwen1.5系列模型

vllm 推理自动加载了模型里面默认的chat-template

  "chat_template": "{% for message in messages %}{% if loop.first and messages[0]['role'] != 'system' %}{{ '<|im_start|>system\nYou are a helpful assistant<|im_end|>\n' }}{% endif %}{{'<|im_start|>' + message['role'] + '\n' + message['content'] + '<|im_end|>' + '\n'}}{% endfor %}{% if add_generation_prompt %}{{ '<|im_start|>assistant\n' }}{% endif %}"

3 推理部署chatglm3-6b模型

模型文件一开始也没有聊天模板
后面更新才有的

  "chat_template": "{% for message in messages %}{% if loop.first %}[gMASK]sop<|{{ message['role'] }}|>\n {{ message['content'] }}{% else %}<|{{ message['role'] }}|>\n {{ message['content'] }}{% endif %}{% endfor %}{% if add_generation_prompt %}<|assistant|>{% endif %}"

4 推理部署baichuan2系列模型

模型文件没有聊天模板
在vllm github代码上面找的

{%- for message in messages -%}
    {%- if message['role'] == 'user' -%}
        {{- '<reserved_106>' + message['content'] -}}
    {%- elif message['role'] == 'assistant' -%}
        {{- '<reserved_107>' + message['content'] -}}
    {%- endif -%}
{%- endfor -%}

{%- if add_generation_prompt and messages[-1]['role'] != 'assistant' -%}
    {{- '<reserved_107>' -}}
{% endif %}"
docker run -ti --rm --gpus='"device=5"' -p30011:30011 -v /home/model/Baichuan2-13B-Chat:/data/mlops/model 3b8966176bfc --model /data/mlops/model --served-model-name baichuan2-13b-chat --host 0.0.0.0 --port 30011 --trust-remote-code --dtype half --tensor-parallel-size 1  --chat-template "{{ (messages|selectattr('role', 'equalto', 'system')|list|last).content|trim if (messages|selectattr('role', 'equalto', 'system')|list) else '' }}\n{%- for message in messages -%}\n    {%- if message['role'] == 'user' -%}\n        {{- '<reserved_106>' + message['content'] -}}\n    {%- elif message['role'] == 'assistant' -%}\n        {{- '<reserved_107>' + message['content'] -}}\n    {%- endif -%}\n{%- endfor -%}\n\n{%- if add_generation_prompt and messages[-1]['role'] != 'assistant' -%}\n    {{- '<reserved_107>' -}}\n{% endif %}"

5 推理部署llama3系列模型

llama3 模型里面有聊天模板,但是部署出来没有生效
根据 vllm GitHub issue 里面的信息,将模型里面的文件tokenizer_config.json的eos_token 更改为eot_id 可以解决问题
模型发布是2024年4月19日,vllm GitHub 官方根据llama3(号称最强开源模型)的一些问题很快就发布在2024年4月24日就发布了4.0.1版本

6 常见问题,一般都是oom max-len 数值大于 cv

可以通过 调大 --gpu-momery-utilization 0.95 默认0.9 减少 --meax-model-len --max-num-seqs 128 等等 牺牲一点推理速度和prompt输入长度
或者找一些量化版本模型 qwen1.5-32b-chat-gptq-int4

标签:%-,-%,--,模型,llama3,qwen,role,chat,message
From: https://www.cnblogs.com/linzm14/p/18160263

相关文章

  • 如何拥有自己的专属GPT-本地部署目前最强大模型llama3
    你是不是苦于没法使用ChatGPT?或者访问了ChatGPT却没法使用GPT4?现在一切问题都可以解决了!4月18日,Meta发布两款开源Llama38B与Llama370B模型,供外部开发者免费使用。这个消息轰动了全球开发者。按照Meta的说法,Llama38B和Llama370B是目前同体量下,性能最好的开源模型。所以Ll......
  • 压缩即智能:为什么 ChatGPT 拥有智能?(转)
    源地址:背景随着ChatGPT、GPT4、PaLM2、文心一言各种大模型的爆火,我们在惊讶大模型能力的同时,也在不断的问自己一个问题,为什么Decode-only的ChatGPT拥有智能?GPT其实就是基于Transformer的Decode-only,本质是就是 NextTokenPrediction,为啥如此简单的结构,训练出来的大......
  • Sharding-JDBC测试ChatGPT
    问题:Sharding-JDBC对订单表进行分库分表,16个库,每个库16张表。分片键订单id、用户id。分库规则,对分片键按1000取模再对16取模。分表规则,对分片键按1000取模再对256取模。配置文件如何写,以及ComplexKeysShardingAlgorithm实现代码? 回答:针对订单表进行分库分表,每个库16张表,分片......
  • ollama——快速上手Llama3部署使用
    ollama——快速上手Llama31.ollama安装#Linuxcurl-fsSLhttps://ollama.com/install.sh|sh#vi/etc/systemd/system/ollama.service[Unit]Description=OllamaServiceAfter=network-online.target[Service]ExecStart=/usr/local/bin/ollamaserveUser=ollamaGrou......
  • 学习笔记447—本地部署 Llama3 – 8B/70B 大模型!最简单的方法: 支持CPU /GPU运行 【3种
    本地部署Llama3–8B/70B大模型!最简单的方法:支持CPU/GPU运行【3种方案】目前在开源大模型领域,Llama3无疑是最强的!这次Meta不仅免费公布了8B和70B两个性能强悍的大模型,400B也即将发布,这是可以和GPT-4对打的存在!今天我们就来介绍3各本地部署方法,简单易懂,非常适合新手!1.G......
  • 扎克伯格说,Llama3-8B还是太大了,量化、剪枝、蒸馏准备上!
    扎克伯格说,Llama3-8B还是太大了,不适合放到手机中,有什么办法?量化、剪枝、蒸馏,如果你经常关注大语言模型,一定会看到这几个词,单看这几个字,我们很难理解它们都干了些什么,但是这几个词对于现阶段的大语言模型发展特别重要,它们就是将模型缩小的利器。这篇文章就带大家来认识认识它们,......
  • https://github.com/meta-llama/llama3 文生图
    https://github.com/meta-llama/llama3 Skiptocontent NavigationMenu Product Solutions OpenSource Pricing Searchorjumpto...  SigninSignup  meta-llama/llama3PublicNotificationsFork 1.4k Star ......
  • 使用ollama分别在我的window、mac、小米手机上部署体验llama3-8b
    1、ollama到底是个什么玩意一句话来说,Ollama是一个基于Go语言开发的简单易用的本地大模型运行框架。可以将其类比为docker(有类似docker中的一些常规命令list,pull,push,run等等),事实上确实也制定了类似docker的一种模型应用标准,在后边的内容中,你能更加真切体会到这一点。......
  • 10分钟本地运行llama3及初体验
    Meta最新推出的开源大模型llama-3,被誉为目前最强的开源大模型,能力接近于GPT4.5.因此在本地搭建一下抢鲜体验系统环境CPU:AMDRyzen53600X6-CoreProcessor4.10GHzRAM:32GGPU:Navida2060S8GDISK:SSD100GFree基于上述自身条件,装llama-38b版本比较实际。整......
  • Llama3-8B到底能不能打?实测对比
    前几天Meta开源发布了新的Llama大语言模型:Llama-3系列,本次一共发布了两个版本:Llama-3-8B和Llama-3-70B,根据Meta发布的测评报告,Llama-3-8B的性能吊打之前的Llama-2-70B,也就是说80亿参数的模型干掉了700亿参数的模型,这个还真挺让人震惊的。Llama-3-8B真的有这么强吗?鉴于8B的模型......