vllm部署Mistral-Large-Instruct-2407

1. 引入

2024年7月底又上演了大模型疯狂内卷,23号Llama3.1-405B发布,性能已经接近GPT4;24号Mistral Large 2发布,只用了123B的参数,就在代码、推理、数学领域又超过了Llama3.1-405B。

并且,Mistral-Large-Instruct-2407官方就通告支持中文,这个也很少见。而且在通用能力测评中,也表现不错。

那么,如何部署使用Mistral-Large-Instruct-2407呢?有没有什么坑?

2. vllm部署方法

经笔者实测,使用4张A800,才能将Mistral-Large-Instruct-2407跑起来,具体配置方法如下所示:

CUDA_VISIBLE_DEVICES=0,1,2,3 python -m vllm.entrypoints.openai.api_server \
        --model /data/models/Mistral-Large-Instruct-2407/ \
        --served-model-name aaa \
        --trust-remote-code \
        --tensor-parallel-size 4 \
        --port 8000

部署后,就能使用标准openai接口访问方式来使用这个模型了:

from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage

llm = ChatOpenAI(
    streaming=True,
    verbose=True,
    openai_api_key='none',
    openai_api_base='http://10.11.12.13:8000/v1', 
    model_name='aaa'
)
output = llm([HumanMessage(content='你好')])
print(output.content)

3. 测试

用之前GPT4翻车的问题“9.11和9.9哪个大?为什么?”(参考4)来测试Mistral-Large-Instruct-2407,得到如下回复:

 9.11 比 9.9 大。

原因如下:

1. 首先比较整数部分:9.11 和 9.9 的整数部分都是 9,所以它们相等。
2. 接下来比较小数部分:
   - 9.11 的小数部分是 0.11。
   - 9.9 的小数部分是 0.9。

0.11 比 0.9 小,但我们需要比较整体数值,而不是单独的小数部分。

3. 9.11 可以看作是 9 + 0.11,而 9.9 可以看作是 9 + 0.9。
   - 0.11 是 11 个 0.01。
   - 0.9 是 9 个 0.1。

4. 将 0.11 和 0.9 转换为相同的单位进行比较:
   - 0.11 = 11 个 0.01。
   - 0.9 = 90 个 0.01。

5. 比较 11 个 0.01 和 90 个 0.01:
   - 11 个 0.01 等于 0.11。
   - 90 个 0.01 等于 0.9。

显然,9.11(即 9 + 0.11)比 9.9(即 9 + 0.9)大,因为 9.11 比 9.9 多了 0.01。

所以,9.11 比 9.9 大。
CPU times: user 696 ms, sys: 16.9 ms, total: 713 ms
Wall time: 22.7 s

结论正确,但推理过程也不够好,比如“因为 9.11 比 9.9 多了 0.01”就是错的。

4. 小坑

  1. 最大token

目前发现一个小坑,Mistral-Large-Instruct-2407官方宣称支持token最大128k,但是目前模型config.json中的参数配置显示"max_position_embeddings": 32768(参考2)。笔者实测目前放出的模型最大token仅支持32k,发送请求中,prompt超出32k会得到如下报错:

BadRequestError: Error code: 400 - {'object': 'error', 'message': "This model's maximum context length is 32768 tokens. However, you requested 74761 tokens in the messages, Please reduce the length of the messages.", 'type': 'BadRequestError', 'param': None, 'code': 400}

从参考3中,也能看到很多人在讨论这个问题,目前官方还没回复。

  1. 函数调用

目前vllm并不支持该模型的函数调用,虽然模型的官方测评(参考1)中可以看到他的函数调用能力很不错。
所以笔者给vllm官方提了一个需求:https://github.com/vllm-project/vllm/issues/6778

6. 总结

Mistral-Large-Instruct-2407是一个通用能力不错,且代码、推理、数学能力很好的,整体能力接近GPT4的模型。

参考

  1. https://mistral.ai/news/mistral-large-2407/
  2. https://huggingface.co/mistralai/Mistral-Large-Instruct-2407/blob/main/config.json#L12
  3. https://huggingface.co/mistralai/Mistral-Large-Instruct-2407/discussions/3
  4. https://blog.csdn.net/Japhet_jiu/article/details/140512097
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值