模型概述
模型特點
模型能力
使用案例
🚀 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 會處理您的個人數據以提供模型並執行其許可證。如果您隸屬於商業實體,我們可能還會向您發送有關我們模型的通信。有關您的權利和數據處理的更多信息,請參閱我們的 隱私政策。








