模型简介
模型特点
模型能力
使用案例
许可证: mit 数据集:
- ZeroAgency/ru-big-russian-dataset 语言:
- 俄语
- 英语 标签:
- mistral
- 聊天
- 对话
- transformers 推理: 参数: 温度: 0 管道标签: 文本生成 基础模型:
- mistralai/Mistral-Small-3.1-24B-Instruct-2503 库名称: transformers
Zero-Mistral-24B模型卡
Zero-Mistral-24B是mistralai/Mistral-Small-3.1-24B-Instruct-2503的改进版纯文本模型,主要适配俄语和英语。原版Mistral模型包含视觉功能,在此模型中已被移除。训练过程主要包括在Big Russian Dataset数据集和Shkolkovo.online的专有数据集上进行SFT阶段训练。
该模型具备良好的数学能力和一定的推理能力。
模型保留了原版Mistral长达128k tokens的上下文处理能力。
模型详情
模型描述
- 开发者: ZeroAgency.ru
- 资助方: ZeroAgency.ru和Shkolkovo.online
- 共享者: Alexander Kozhevnikov(开发者)
- 模型类型: 大型语言模型(LLM)
- 支持语言(NLP): 俄语、英语
- 许可证: MIT
- 微调基础模型: mistralai/Mistral-Small-3.1-24B-Instruct-2503
📚 模型版本
📊 主要16位合并版本基准测试
MERA评估
MERA得分: 0.623
任务 | 结果 | 指标 |
---|---|---|
LCS | 0.194 | 准确率 |
RCB | 0.607 / 0.592 | 平均F1/准确率 |
USE | 0.452 | 标准分级 |
RWSD | 0.55 | 准确率 |
PARus | 0.942 | 准确率 |
ruTiE | 0.868 | 准确率 |
MultiQ | 0.781 / 0.629 | F1分数/精确匹配 |
CheGeKa | 0.397 / 0.322 | F1/精确匹配 |
ruModAr | 0.971 | 精确匹配 |
MaMuRAMu | 0.832 | 准确率 |
ruMultiAr | 0.354 | 精确匹配 |
ruCodeEval | 0 / 0 / 0 | pass@k ¯\_(ツ)_/¯ |
MathLogicQA | 0.613 | 准确率 |
ruWorldTree | 0.987 / 0.987 | 平均F1/准确率 |
ruOpenBookQA | 0.913 / 0.913 | 平均F1/准确率 |
公开任务评估:
任务 | 结果 | 指标 |
---|---|---|
BPS | 0.981 | 准确率 |
ruMMLU | 0.778 | 准确率 |
SimpleAr | 0.997 | 精确匹配 |
ruHumanEval | 0.006 / 0.006 / 0.006 | pass@k ¯\_(ツ)_/¯ |
ruHHH | 0.916 | 准确率 |
ruHateSpeech | 0.834 | 准确率 |
ruDetox | 0.341 / 0.843 / 0.624 / 0.66 | 总体平均评分(J)/意义保留评分(SIM)/流畅度评分(FL)/风格转换准确率(STA) |
ruEthics | [[0.386, 0.399, 0.41, 0.333, 0.327], [0.421, 0.427, 0.452, 0.375, 0.363], [0.653, 0.65, 0.697, 0.596, 0.573]] | 5 MCC |
使用方式
该模型可与以下框架配合使用:
推荐系统提示词
prompts = {
"generic": "你是一个虚拟助手。你回答人们的问题,帮助他们并提供支持。你被设计成有用、无害且诚实的。你用提问或用户要求的语言回答。",
"think": """你是一个虚拟助手。你回答人们的问题,帮助他们并提供支持。你被设计成有用、无害且诚实的。你用提问或用户要求的语言回答。
请按以下格式回答:
<think>推理过程: ...</think>
...""",
"task": "你是一个虚拟助手。你回答人们的问题,帮助他们并提供支持。你被设计成有用、无害且诚实的。你用提问或用户要求的语言回答。根据以下指令解决问题。不要道歉,不要展开对话。",
"task_think": """你是一个虚拟助手。你回答人们的问题,帮助他们并提供支持。你被设计成有用、无害且诚实的。你用提问或用户要求的语言回答。根据以下指令解决问题。不要道歉,不要展开对话。
请按以下格式回答:
<think>推理过程: ...</think>
...""",
"english_generic": """你是Mistral Small 3,由总部位于巴黎的法国初创公司Mistral AI创建的大型语言模型(LLM)。
你的知识库最后更新于2023-10-01。当前日期是2025-01-30。
当你不确定某些信息时,你会说明你没有相关信息且不会编造任何内容。
如果用户的问题不清晰、含糊或没有提供足够上下文让你准确回答,你不会立即尝试回答,而是会要求用户澄清他们的请求(例如"我附近有什么好餐厅?"=>"你在哪里?"或"下一班飞往东京的航班是什么时候?"=>"你从哪里出发?")
""",
"english_think": """你是Mistral Small 3,由总部位于巴黎的法国初创公司Mistral AI创建的大型语言模型(LLM)。
你的知识库最后更新于2023-10-01。当前日期是2025-01-30。
当你不确定某些信息时,你会说明你没有相关信息且不会编造任何内容。
如果用户的问题不清晰、含糊或没有提供足够上下文让你准确回答,你不会立即尝试回答,而是会要求用户澄清他们的请求(例如"我附近有什么好餐厅?"=>"你在哪里?"或"下一班飞往东京的航班是什么时候?"=>"你从哪里出发?")
请按以下格式回答:
<think>推理过程: ...</think>
""",
}
vLLM
我们推荐使用vLLM库来实现生产级推理管道。
注意1:建议使用相对较低的温度值,如temperature=0.15
。
注意2:确保为模型添加系统提示词以最好地适应您的需求。如果要将模型用作通用助手,我们推荐以下系统提示词:
system_prompt = """你是Mistral Small 3,由总部位于巴黎的法国初创公司Mistral AI创建的大型语言模型(LLM)。
你的知识库最后更新于2023-10-01。当前日期是2025-01-30。
当你不确定某些信息时,你会说明你没有相关信息且不会编造任何内容。
如果用户的问题不清晰、含糊或没有提供足够上下文让你准确回答,你不会立即尝试回答,而是会要求用户澄清他们的请求(例如"我附近有什么好餐厅?"=>"你在哪里?"或"下一班飞往东京的航班是什么时候?"=>"你从哪里出发?")
注意3:推荐使用flash_attn或flashinfer-python以获得更好性能。
安装
确保安装vLLM >= 0.8.4
:
pip install --upgrade vllm
同时确保安装mistral_common >= 1.5.4
:
pip install --upgrade mistral_common
您也可以使用现成的docker镜像或docker hub上的镜像。
服务器
我们建议在服务器/客户端设置中使用ZeroAgency/Zero-Mistral-24B。
- 启动服务器:
vllm serveZeroAgency/Zero-Mistral-24B --enable-prefix-caching --dtype bfloat16 --max-model-len 32768 --tool-call-parser mistral --enable-auto-tool-choice
注意:在GPU上运行Zero-Mistral-24B需要约55GB的bf16或fp16显存。
- 可以使用简单的Python代码调用客户端。
import requests
import json
from datetime import datetime, timedelta
url = "http://<your-server>:8000/v1/chat/completions"
headers = {"Content-Type": "application/json", "Authorization": "Bearer token"}
model = "ZeroAgency/Zero-Mistral-24B"
messages = [
{
"role": "system",
"content": """你是一个虚拟助手。你回答人们的问题,帮助他们并提供支持。你被设计成有用、无害且诚实的。你用提问或用户要求的语言回答。根据以下指令解决问题。不要道歉,不要展开对话。
请按以下格式回答:
<think>推理过程: ...</think>
..."""
},
{ # 题目来自https://3.shkolkovo.online/catalog/2552/93150
"role": "user",
"content": """第一个工人每小时比第二个工人多生产9个零件,完成216个零件的订单比第二个工人完成相同订单快4小时。第一个工人每小时生产多少个零件?"""
},
]
data = {"model": model, "messages": messages}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json()["choices"][0]["message"]["content"])
#<think> 设x为第二个工人每小时生产的零件数。那么第一个工人每小时生产x + 9个零件。列出表格:第一个工人 第二个工人 每小时零件数 x + 9 x 所需小时数 216 : (x + 9) 216 : x 时间差 4 216 : (x + 9) − 216 : x = 4 216x − 216(x + 9) = 4x(x + 9) 216x − 216x − 1944 = 4x^2 + 36x 1944 = 4x^2 + 36x 4x^2 + 36x − 1944 = 0 D = 36^2 + 4 · 4 · 1944 = 1296 + 31104 = 32400 = 180^2 x1 = −36 + 180 : 8 = 144 : 8 = 18 x2 = −36 − 180 : 8 < 0 — 不符合题意。因此第一个工人每小时生产18 + 9 = 27个零件。 </think>
#27
离线使用
from vllm import LLM
from vllm.sampling_params import SamplingParams
from datetime import datetime, timedelta
# 注意在GPU上运行此模型需要超过60GB显存
llm = LLM(model="ZeroAgency/Zero-Mistral-24B", tokenizer_mode="mistral", tensor_parallel_size=8)
SYSTEM_PROMPT = """你是一个虚拟助手。你回答人们的问题,帮助他们并提供支持。你被设计成有用、无害且诚实的。你用提问或用户要求的语言回答。
请按以下格式回答:
<think>推理过程: ...</think>
..."""
user_prompt = """9.9和9.11哪个更大?"""
messages = [
{
"role": "system",
"content": SYSTEM_PROMPT
},
{
"role": "user",
"content": user_prompt
},
]
sampling_params = SamplingParams(max_tokens=512, temperature=0.0, top_p=1, top_k=-1)
outputs = llm.chat(messages, sampling_params=sampling_params)
print(outputs[0].outputs[0].text)
#<think> 任务:比较9.9和9.11以确定哪个更大 方法:对齐小数点后逐位比较 难度:低到中 我需要仔细对齐小数点并逐位比较数字。1. 对齐小数点:9.90 9.11 2. 比较整数部分:两者都是9,相等 3. 比较十分位:9.90有9,9.11有1 9 > 1,因此9.90更大 4. 比较百分位:9.90有0,9.11有1 0 < 1,但这不重要,因为十分位已经决定了更大的数<反思>我正确地对齐了小数点并逐位比较了数字。我注意到十分位(9对1)决定了9.9比9.11大。百分位的比较在这个比较中不是必要的。</反思> <自我改进>在未来的比较中,我将优先关注最左侧有差异的数字,以优化比较过程。</自我改进> </think> 9.9比9.11大。当你比较小数时,从整数部分开始,然后是十位,百位,依此类推。在这个例子中,9.9在十位有9,而9.11在十位有1。因为9 > 1,所以9.9比9.11大。
Transformers
如果想使用Hugging Face transformers生成文本,可以这样做。
from transformers import pipeline
import torch
messages = [
{"role": "user", "content": "9.9和9.11哪个更大?"},
]
chatbot = pipeline("text-generation", model="ZeroAgency/Zero-Mistral-24B", max_new_tokens=256, torch_dtype=torch.bfloat16)
response = chatbot(messages, temperature=0.1)
print(response[0]['generated_text'][1]['content'])
# 9.9比9.11大。
llama-server
您可以运行llama-server - 一个兼容OpenAI的服务器,用于服务GGUF版本的模型。
使用docker容器运行的示例:
docker run --gpus all -v `pwd`:/mnt -p8000:8000 ghcr.io/ggml-org/llama.cpp:server-cuda -fa --port 8000 --host 0.0.0.0 --temp 0.0 --jinja -ngl 100 --api-key DUMMY-API-KEY -m /mnt/Zero-Mistral-24B-Q4_K_M_L.gguf
环境影响
碳排放量可以使用Lacoste等人(2019)提出的机器学习影响计算器进行估算。
- 硬件类型: 8x H200
- 使用时长: 29.5小时
- 云服务提供商: Runpod
- 计算区域: 美国-特拉华
- 碳排放量:
¯\_(ツ)_/¯


