
文心一言写代码:代码生成力的探索
Mistral-Large-Instruct-2407 是一款在自然语言处理领域表现不俗的大型语言模型,其在多语言支持和高级函数调用方面的能力尤为显著。本文将详细介绍如何部署和使用 Mistral-Large-Instruct-2407,包括代码实例、常见问题解答,以及部署过程中可能遇到的坑。
部署 Mistral-Large-Instruct-2407 需要一定的硬件支持,经笔者测试,至少需要四张 A800 显卡才能运行。以下是详细的配置步骤:
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)
为了验证 Mistral-Large-Instruct-2407 的能力,我们使用了 GPT-4 曾经翻车的问题“9.11 和 9.9 哪个大?为什么?”进行测试。结果显示,模型能够正确回答 9.11 大于 9.9 ,但推理过程有待优化。
Mistral-Large-Instruct-2407 官方宣称支持最大 128k tokens,但实际测试中,配置文件 config.json
显示最大支持 32k tokens。超出此限制将导致以下错误:
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}
目前 vllm 不支持 Mistral-Large-Instruct-2407 的函数调用功能,尽管官方测评中显示其函数调用能力很强。这已在 vllm 官方提出需求。
CSG-Wukong-Chinese-Mistral-Large2-123B 是 Mistral-Large-Instruct-2407 的改进版,通过微调,模型在中文自然语言处理任务上表现卓越。模型的语义理解、上下文关联和生成质量有显著提升。
训练过程中使用了两台 NVIDIA H100 显卡,显存使用稳定。下图展示了单台显卡的显存使用情况:
在推理阶段,CSG-Wukong-Chinese-Mistral-Large2-123B 展示了卓越的性能,以下是生成的对话示例:
OpenCSG 开源社区已开放了微调后的 CSG-Wukong-Chinese-Mistral-Large2-123B 模型供大家下载使用。欢迎开发者加入社区,分享经验,推动大型语言模型的发展。
模型下载地址:OpenCSG 模型下载