Zero Mistral 24B
模型简介
这是一个改进版的大型语言模型,专注于俄语和英语的文本生成任务,具备良好的数学和推理能力,支持长达128k tokens的上下文处理。
模型特点
多语言支持
专门针对俄语和英语进行了优化,在两种语言上表现优异
长上下文处理
支持长达128k tokens的上下文处理能力
数学推理能力
具备良好的数学计算和逻辑推理能力
纯文本专注
移除了原版模型的视觉功能,专注于文本生成任务
模型能力
文本生成
对话系统
数学计算
逻辑推理
多语言处理
使用案例
教育
数学问题解答
帮助学生解答数学问题,提供详细的解题步骤
在MathLogicQA测试中获得0.613的准确率
语言学习辅助
作为俄语和英语学习的辅助工具
客户服务
虚拟助手
作为多语言客户服务的虚拟助手
在ruHHH测试中获得0.916的准确率
🚀 Zero-Mistral-24B模型介绍
Zero-Mistral-24B 是 mistralai/Mistral-Small-3.1-24B-Instruct-2503 的改进版纯文本模型,主要适用于俄语和英语。原始的Mistral模型包含视觉特性,而此模型移除了这些特性。该模型在训练的SFT阶段主要使用了 Big Russian Dataset 数据集以及 Shkolkovo.online 的专有数据集。
该模型具备良好的数学能力和一定的推理能力,并且保留了原始Mistral模型长达128k token的长上下文处理能力。
✨ 主要特性
- 语言适配:主要适配俄语和英语,满足多语言场景需求。
- 功能优化:移除了原始模型的视觉特性,专注于文本处理。
- 能力突出:具备良好的数学能力和推理能力。
- 长上下文处理:保留了长达128k token的长上下文处理能力。
📚 详细文档
模型详情
模型描述
属性 | 详情 |
---|---|
开发者 | ZeroAgency.ru |
资助方 | ZeroAgency.ru 和 Shkolkovo.online |
分享者 | Alexander Kozhevnikov(开发者) |
模型类型 | 大语言模型(LLM) |
语言(NLP) | 俄语、英语 |
许可证 | MIT |
微调基础模型 | mistralai/Mistral-Small-3.1-24B-Instruct-2503 |
模型版本
- Merged 16-bit - 适用于transformers的原始16位合并版本。
- GGUF - 不同的GGUF版本:BF16、F16、Q8_0、Q6_K、Q4_K_M、IQ4_XS等。
主要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得分 / 精确匹配率(EM) |
CheGeKa | 0.397 / 0.322 | F1值 / 精确匹配率(EM) |
ruModAr | 0.971 | 精确匹配率(EM) |
MaMuRAMu | 0.832 | 准确率 |
ruMultiAr | 0.354 | 精确匹配率(EM) |
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 | 精确匹配率(EM) |
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月1日。当前日期是2025年1月30日。
当你不确定某些信息时,你会表明你没有该信息,并且不会编造任何内容。
如果用户的问题不明确、模糊或没有提供足够的上下文让你准确回答问题,你不会立即尝试回答,而是会请用户澄清他们的请求(例如,“我附近有哪些好的餐厅?” => “你在哪里?” 或 “下一班去东京的航班是什么时候?” => “你从哪里出发?”)""",
"english_think": """你是Mistral Small 3,一个由法国初创公司Mistral AI创建的大语言模型(LLM),该公司总部位于巴黎。
你的知识库最后更新于2023年10月1日。当前日期是2025年1月30日。
当你不确定某些信息时,你会表明你没有该信息,并且不会编造任何内容。
如果用户的问题不明确、模糊或没有提供足够的上下文让你准确回答问题,你不会立即尝试回答,而是会请用户澄清他们的请求(例如,“我附近有哪些好的餐厅?” => “你在哪里?” 或 “下一班去东京的航班是什么时候?” => “你从哪里出发?”)
请按照以下格式回答:
<think>推理过程:...</think>
"""
}
高级用法
vLLM
我们建议使用 vLLM库 来实现生产就绪的推理管道。
⚠️ 重要提示
- 建议使用相对较低的温度,例如
temperature=0.15
。- 确保为模型添加系统提示,以最好地满足你的需求。如果你想将模型用作通用助手,建议使用以下系统提示:
system_prompt = """你是Mistral Small 3,一个由法国初创公司Mistral AI创建的大语言模型(LLM),该公司总部位于巴黎。
你的知识库最后更新于2023年10月1日。当前日期是2025年1月30日。
当你不确定某些信息时,你会表明你没有该信息,并且不会编造任何内容。
如果用户的问题不明确、模糊或没有提供足够的上下文让你准确回答问题,你不会立即尝试回答,而是会请用户澄清他们的请求(例如,“我附近有哪些好的餐厅?” => “你在哪里?” 或 “下一班去东京的航班是什么时候?” => “你从哪里出发?”)"""
- 为了获得更好的性能,建议使用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的GPU显存(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>
离线模式
from vllm import LLM
from vllm.sampling_params import SamplingParams
from datetime import datetime, timedelta
# 注意:在GPU上运行此模型需要超过60GB的GPU显存
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,但这无关紧要,因为十分位已经确定了较大的数字<reflection>我正确地对齐了小数点并按位比较了数字。我注意到十分位(9比1)确定了9.9大于9.11。百分位对于这个比较不是必需的。</reflection> <self_improvement>在未来的比较中,我将优先关注有差异的最左边的数字,以优化比较过程。</self_improvement> </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 |
计算区域 | US-DE |
碳排放 | ¯\_(ツ)_/¯ |
📄 许可证
本模型使用MIT许可证。
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98