模型简介
模型特点
模型能力
使用案例
🚀 Pixtral-Large-Instruct-2411-hf-quantized.w4a16
本项目是 neuralmagic/Pixtral-Large-Instruct-2411-hf 的量化版本,通过对模型权重进行量化优化,可使用 vLLM 高效部署,适用于视觉 - 文本相关的研究任务。
🚀 快速开始
模型概述
- 模型架构:neuralmagic/Pixtral-Large-Instruct-2411-hf
- 输入:视觉 - 文本
- 输出:文本
- 模型优化:
- 权重量化:INT4
- 激活量化:FP16
- 发布日期:2025 年 2 月 24 日
- 版本:1.0
- 模型开发者:Neural Magic
模型优化说明
此模型是将 neuralmagic/Pixtral-Large-Instruct-2411-hf 的权重量化为 INT4 数据类型得到的,可使用 vLLM >= 0.5.2 进行推理。
部署
使用 vLLM 部署
本模型可以使用 vLLM 后端进行高效部署,示例代码如下:
from vllm.assets.image import ImageAsset
from vllm import LLM, SamplingParams
# prepare model
llm = LLM(
model="neuralmagic/Pixtral-Large-Instruct-2411-hf-quantized.w4a16",
trust_remote_code=True,
max_model_len=4096,
max_num_seqs=2,
)
# prepare inputs
question = "What is the content of this image?"
inputs = {
"prompt": f"<|user|>\n<|image_1|>\n{question}<|end|>\n<|assistant|>\n",
"multi_modal_data": {
"image": ImageAsset("cherry_blossom").pil_image.convert("RGB")
},
}
# generate response
print("========== SAMPLE GENERATION ==============")
outputs = llm.generate(inputs, SamplingParams(temperature=0.2, max_tokens=64))
print(f"PROMPT : {outputs[0].prompt}")
print(f"RESPONSE: {outputs[0].outputs[0].text}")
print("==========================================")
vLLM 还支持 OpenAI 兼容服务,更多详情请参阅 文档。
模型创建
本模型使用 llm-compressor 创建,以下是创建模型的代码片段:
模型创建代码
import requests
import torch
from PIL import Image
from transformers import AutoProcessor
from llmcompressor.modifiers.quantization import GPTQModifier
from llmcompressor.transformers import oneshot
from llmcompressor.transformers.tracing import TraceableLlavaForConditionalGeneration
from compressed_tensors.quantization import QuantizationArgs, QuantizationType, QuantizationStrategy, ActivationOrdering, QuantizationScheme
# Load model.
model_id = "neuralmagic/Pixtral-Large-Instruct-2411-hf"
model = TraceableLlavaForConditionalGeneration.from_pretrained(
model_id, device_map="auto", torch_dtype="auto"
)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
# Oneshot arguments
DATASET_ID = "flickr30k"
DATASET_SPLIT = {"calibration": "test[:512]"}
NUM_CALIBRATION_SAMPLES = 512
MAX_SEQUENCE_LENGTH = 2048
dampening_frac=0.01
# Define a oneshot data collator for multimodal inputs.
def data_collator(batch):
assert len(batch) == 1
return {
"input_ids": torch.LongTensor(batch[0]["input_ids"]),
"attention_mask": torch.tensor(batch[0]["attention_mask"]),
"pixel_values": torch.tensor(batch[0]["pixel_values"]),
}
recipe = GPTQModifier(
targets="Linear",
config_groups={
"config_group": QuantizationScheme(
targets=["Linear"],
weights=QuantizationArgs(
num_bits=4,
type=QuantizationType.INT,
strategy=QuantizationStrategy.GROUP,
group_size=128,
symmetric=True,
dynamic=False,
actorder=ActivationOrdering.WEIGHT,
),
),
},
sequential_targets=["MistralDecoderLayer"],
ignore=["re:.*lm_head", "re:vision_tower.*", "re:multi_modal_projector.*"],
update_size=NUM_CALIBRATION_SAMPLES,
dampening_frac=dampening_frac,
)
SAVE_DIR=f"{model_id.split('/')[1]}-quantized.w4a16"
# Perform oneshot
oneshot(
model=model,
tokenizer=model_id,
dataset=DATASET_ID,
splits=DATASET_SPLIT,
recipe=recipe,
max_seq_length=MAX_SEQUENCE_LENGTH,
num_calibration_samples=NUM_CALIBRATION_SAMPLES,
trust_remote_code_model=True,
data_collator=data_collator,
output_dir=SAVE_DIR
)
模型评估
模型使用 mistral-evals 进行视觉相关任务评估,使用 lm_evaluation_harness 进行部分基于文本的基准测试。评估命令如下:
评估命令
视觉任务
- vqav2
- docvqa
- mathvista
- mmmu
- chartqa
vllm serve neuralmagic/pixtral-12b-quantized.w8a8 --tensor_parallel_size 1 --max_model_len 25000 --trust_remote_code --max_num_seqs 8 --gpu_memory_utilization 0.9 --dtype float16 --limit_mm_per_prompt image=7
python -m eval.run eval_vllm \
--model_name neuralmagic/pixtral-12b-quantized.w8a8 \
--url http://0.0.0.0:8000 \
--output_dir ~/tmp \
--eval_name <vision_task_name>
基于文本的任务
MMLU
lm_eval \
--model vllm \
--model_args pretrained="<model_name>",dtype=auto,add_bos_token=True,max_model_len=4096,tensor_parallel_size=<n>,gpu_memory_utilization=0.8,enable_chunked_prefill=True,trust_remote_code=True \
--tasks mmlu \
--num_fewshot 5 \
--batch_size auto \
--output_path output_dir
MGSM
lm_eval \
--model vllm \
--model_args pretrained="<model_name>",dtype=auto,max_model_len=4096,max_gen_toks=2048,max_num_seqs=128,tensor_parallel_size=<n>,gpu_memory_utilization=0.9 \
--tasks mgsm_cot_native \
--apply_chat_template \
--num_fewshot 0 \
--batch_size auto \
--output_path output_dir
准确率
类别 | 指标 | neuralmagic/Pixtral-Large-Instruct-2411-hf | neuralmagic/Pixtral-Large-Instruct-2411-hf-quantized.w4a16 | 恢复率 (%) |
---|---|---|---|---|
视觉 | MMMU (val, CoT) explicit_prompt_relaxed_correctness |
63.56 | 60.56 | 95.28% |
视觉 | VQAv2 (val) vqa_match |
(原文档此处未给出数据) | (原文档此处未给出数据) | (原文档此处未给出数据) |
📄 许可证
本模型使用 Mistral AI 研究许可证(Mistral AI Research License),许可证详情如下:
Mistral AI 研究许可证
如果您希望将 Mistral 模型、衍生作品或输出用于本协议未明确授权的任何目的,则必须向 Mistral AI 请求许可,Mistral AI 可自行决定是否授予您许可。若要讨论此类许可,请通过网站联系表单 https://mistral.ai/contact/ 联系 Mistral AI。
1. 范围和接受
1.1. 协议范围:本协议适用于您对任何 Mistral 模型的任何使用、修改或分发,无论您获得该 Mistral 模型副本的来源如何。
1.2. 接受:通过访问、使用、修改、分发 Mistral 模型,或通过创建、使用或分发 Mistral 模型的衍生作品,您同意受本协议约束。
1.3. 代表第三方接受:如果您代表您的雇主或其他个人或实体接受本协议,您保证并声明您有权代表他们行事并接受本协议。在此情况下,本协议中的“您”将指您的雇主或该其他个人或实体。
2. 许可
2.1. 权利授予:在符合下文第 3 条的前提下,Mistral AI 特此授予您非排他性、免版税、全球范围、不可再许可、不可转让的有限许可,允许您在下文第 2.2 条规定的条件下使用、复制、修改和分发 Mistral 模型以及 Mistral AI 制作或为 Mistral AI 制作的任何衍生作品,并创建 Mistral 模型的衍生作品。
2.2. 分发 Mistral 模型和 Mistral AI 制作或为 Mistral AI 制作的衍生作品:在符合下文第 3 条的前提下,您可以在以下条件下分发 Mistral 模型和/或 Mistral AI 制作或为 Mistral AI 制作的衍生作品的副本:您必须向您分发的 Mistral 模型和/或 Mistral AI 制作或为 Mistral AI 制作的衍生作品的第三方接收者提供本协议的副本,并明确规定,使用 Mistral 模型和/或 Mistral AI 制作或为 Mistral AI 制作的衍生作品的任何权利应由 Mistral AI 根据双方签订的 Mistral AI 研究许可协议直接授予该第三方接收者;您必须在 Mistral 模型的所有副本中,在作为此类副本一部分分发的“通知”文本文件中保留以下归属声明:“由 Mistral AI 根据 Mistral AI 研究许可证授权”。
2.3. 分发您制作或为您制作的衍生作品:在符合下文第 3 条的前提下,您可以根据额外或不同的条款和条件分发您制作或为您制作的任何衍生作品,但前提是:无论如何,对 Mistral 模型和/或 Mistral AI 制作或为 Mistral AI 制作的衍生作品的使用和修改仍应受本协议的条款和条件约束;您必须在您制作或为您制作的任何此类衍生作品中显著声明您修改了相关的 Mistral 模型;并且您对任何第三方接收者施加的与您制作或为您制作的衍生作品有关的任何条款和条件,既不得限制此类第三方接收者根据 Mistral AI 研究许可证使用 Mistral 模型或 Mistral AI 制作或为 Mistral AI 制作的任何衍生作品的权利,也不得与该许可证的任何条款和条件相冲突。
3. 限制
3.1. 虚假陈述:除非我们书面授权,否则您不得通过任何方式虚假陈述或暗示您以自己的名义和责任分发的您制作或为您制作的衍生作品和/或 Mistral 模型的任何修改版本是 Mistral AI 的官方产品,或已得到 Mistral AI 的认可、批准或验证。
3.2. 使用限制:您只能将 Mistral 模型、衍生作品(无论是否由 Mistral AI 创建)和输出用于研究目的。
4. 知识产权
4.1. 商标:本协议未授予任何商标许可,并且与 Mistral 模型相关的,您不得使用 Mistral AI 或其任何关联公司拥有或与之相关的任何名称或标识,但 (i) 在描述和分发 Mistral 模型以及 Mistral AI 制作或为 Mistral AI 制作的衍生作品时进行合理和惯常使用所需的情况除外;(ii) 本协议要求的归属目的除外。
4.2. 输出:我们对输出不主张任何所有权。您应对您生成的输出及其后续使用承担全部责任,并符合本协议的规定。任何输出均应受本协议第 3 条规定的限制。
4.3. 衍生作品:通过签订本协议,您接受您可能创建或可能为您创建的任何衍生作品应受本协议第 3 条规定的限制。
5. 责任
5.1. 责任限制:除非适用法律要求(如故意和重大过失行为)或书面同意,否则在任何情况下,Mistral AI 均不对您因本协议或因使用或无法使用 Mistral 模型和衍生作品而产生的任何损害负责,包括任何直接、间接、特殊、偶然或后果性损害(包括但不限于数据丢失、商誉损失、预期利润或节省损失、停工、计算机故障或故障,或任何由恶意软件或安全漏洞造成的损害),即使 Mistral AI 已被告知此类损害的可能性。
5.2. 赔偿:您同意赔偿并使 Mistral AI 免受因您使用或分发 Mistral 模型和衍生作品而产生的或与之相关的任何索赔、损害或损失。
6. 保证
6.1. 免责声明:除非适用法律要求或 Mistral AI 事先书面同意,否则 Mistral AI 按“现状”提供 Mistral 模型和衍生作品,不提供任何形式的明示或暗示的保证或条件,包括但不限于所有权、不侵权、适销性或特定用途适用性的任何保证或条件。Mistral AI 不代表也不保证 Mistral 模型和衍生作品将无错误、满足您或任何第三方的要求、安全或使您或任何第三方能够实现任何结果或生成任何内容。您应对确定使用或分发 Mistral 模型和衍生作品的适当性承担全部责任,并承担与您在本协议下行使权利相关的任何风险。
7. 终止
7.1. 期限:本协议自您接受本协议或访问相关 Mistral 模型或衍生作品之日起生效,并将持续有效,直至根据以下条款终止。
7.2. 终止:如果您违反本协议,Mistral AI 可随时终止本协议。本协议终止后,您必须停止使用所有 Mistral 模型和衍生作品,并永久删除其任何副本。以下条款的相关部分在本协议的任何终止或到期后仍将有效,有效期为实现其各自预期目的所需的时间(例如,责任条款将在适用的时效期限结束前继续有效):第 5 条(责任)、第 6 条(保证)、第 7 条(终止)和第 8 条(一般条款)。
7.3. 诉讼:如果您针对我们或任何其他实体提起任何法律诉讼或程序(包括诉讼中的交叉索赔或反诉),声称模型或衍生作品或其任何部分侵犯了您拥有或可许可的知识产权或其他权利,则本协议授予您的任何许可将自该法律诉讼或索赔提起之日起立即终止。
8. 一般条款
8.1. 适用法律:本协议受法国法律管辖,不考虑法律选择原则,《联合国国际货物销售合同公约》不适用于本协议。
8.2. 管辖法院:巴黎的法院对因本协议产生的任何争议具有专属管辖权。
8.3. 可分割性:如果本协议的任何条款被认定为无效、非法或不可执行,其余条款应不受影响,并继续有效,如同该条款未在此处列出一样。
9. 定义
- “协议”:指本 Mistral AI 研究许可协议,用于规范对 Mistral 模型、衍生作品和输出的访问、使用和分发。
- “衍生作品”:指 (i) Mistral 模型的任何修改版本(包括但不限于其任何定制或微调版本);(ii) 基于 Mistral 模型的作品;或 (iii) 其任何其他衍生作品。
- “分发”:指通过任何方式提供、供应或使 Mistral 模型和/或衍生作品(视情况而定)的副本可用,但需符合本协议第 3 条的规定。
- “Mistral AI”、“我们”或“我们的”:指 Mistral AI,一家在巴黎商业登记处注册的法国简化股份公司,注册号为 952 418 325,注册地址为 15, rue des Halles, 75001 Paris。
- “Mistral 模型”:指基础大语言模型及其要素,包括算法、软件、指令检查点、参数、源代码(推理代码、评估代码以及适用情况下的微调代码)以及 Mistral AI 根据本协议提供的与之相关的任何其他要素,包括(如有)技术文档、手册和使用及操作说明。
- “研究目的”:指对 Mistral 模型、衍生作品或输出的任何使用,仅用于 (a) 个人、科学或学术研究,以及 (b) 非营利和非商业目的,且与任何商业活动或业务运营无直接或间接关联。为说明起见,研究目的不包括 (1) 公司雇用或聘用的个人或承包商在其日常任务中对 Mistral 模型、衍生作品或输出的任何使用;或 (2) 商业实体以任何媒介或形式(包括但不限于通过托管或管理服务(如 SaaS、云实例等)或软件层)分发 Mistral 模型、衍生作品或输出,无论是否收费。
- “输出”:指用户提供的提示(即文本指令)通过 Mistral 模型或衍生作品的操作生成的任何内容。为避免疑问,输出不包括 Mistral 模型的任何组件,如 Mistral 模型的任何微调版本、权重或参数。
- “您”:指与 Mistral AI 签订本协议的个人或实体。
Mistral AI 会处理您的个人数据以提供模型并执行其许可证。如果您隶属于商业实体,我们可能还会向您发送有关我们模型的通信。有关您的权利和数据处理的更多信息,请参阅我们的 隐私政策。








