Llama 4 Scout 17B 16E Instruct FP8 Dynamic
模型简介
这是一个经过FP8量化的多语言大语言模型,支持文本和图像输入,输出文本响应。通过量化技术减少50%内存需求和磁盘空间,同时提升计算效率。
模型特点
FP8量化优化
权重和激活值均采用FP8量化,减少50%内存需求和磁盘空间,提升2倍计算吞吐量
多模态支持
支持图像和文本输入,可处理多模态任务
多语言能力
支持12种语言的文本处理和生成
模型能力
文本生成
图像理解
多语言处理
指令跟随
使用案例
智能助手
多语言客服机器人
构建支持多种语言的智能客服系统
可流畅处理12种语言的客户咨询
内容生成
多语言内容创作
自动生成多语言营销文案或社交媒体内容
🚀 Llama-4-Scout-17B-16E-Instruct-FP8-dynamic
Llama-4-Scout-17B-16E-Instruct-FP8-dynamic 是基于 Llama 构建的模型,通过量化优化减少了 GPU 内存需求并提高了计算吞吐量,支持多语言,可用于图像 - 文本到文本的任务。
🚀 快速开始
本模型可以使用 vLLM 后端进行高效部署,示例代码如下:
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_id = "RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic"
number_gpus = 4
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, max_tokens=256)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "Give me a short introduction to large language model."
llm = LLM(model=model_id, tensor_parallel_size=number_gpus)
outputs = llm.generate(prompt, sampling_params)
generated_text = outputs[0].outputs[0].text
print(generated_text)
vLLM 还支持与 OpenAI 兼容的服务,更多详细信息请参阅 文档。
✨ 主要特性
- 多语言支持:支持阿拉伯语(ar)、德语(de)、英语(en)等多种语言。
- 模型架构:采用 Llama4ForConditionalGeneration 架构,输入可以是文本或图像,输出为文本。
- 模型优化:对激活和权重进行 FP8 量化,减少 GPU 内存需求和磁盘大小要求,提高计算吞吐量。
- 多任务评估:在多个任务上进行了评估,包括 OpenLLM 排行榜任务、长上下文 RULER、多模态 MMMU 和多模态 ChartQA。
📦 安装指南
文档未提供具体安装步骤,故跳过该章节。
💻 使用示例
基础用法
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
model_id = "RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic"
number_gpus = 4
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, max_tokens=256)
tokenizer = AutoTokenizer.from_pretrained(model_id)
prompt = "Give me a short introduction to large language model."
llm = LLM(model=model_id, tensor_parallel_size=number_gpus)
outputs = llm.generate(prompt, sampling_params)
generated_text = outputs[0].outputs[0].text
print(generated_text)
高级用法
文档未提供高级用法示例,故跳过该部分。
📚 详细文档
模型概述
属性 | 详情 |
---|---|
模型架构 | Llama4ForConditionalGeneration,输入为文本或图像,输出为文本 |
模型优化 | 激活量化:FP8;权重量化:FP8 |
发布日期 | 2025 年 4 月 15 日 |
版本 | 1.0 |
模型开发者 | Red Hat (Neural Magic) |
模型优化
本模型是通过将 Llama-4-Scout-17B-16E-Instruct 的激活和权重量化为 FP8 数据类型得到的。这种优化将表示权重和激活的位数从 16 位减少到 8 位,减少了 GPU 内存需求(约 50%),并提高了矩阵乘法的计算吞吐量(约 2 倍)。权重量化还将磁盘大小要求降低了约 50%。量化使用了 llm-compressor 库。
模型创建
本模型使用 llm-compressor 创建,代码如下:
#!/usr/bin/env python3
"""
This script loads an LLM model and applies FP8 quantization to
weights and activations. Activations are dynamically quantized, i.e. during
actual runtime.
"""
import argparse
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM, Llama4ForConditionalGeneration
from llmcompressor.modifiers.quantization import QuantizationModifier
from llmcompressor import oneshot
from compressed_tensors.quantization import (
QuantizationScheme,
QuantizationArgs,
QuantizationType,
QuantizationStrategy,
)
def parse_arguments():
"""Parse command line arguments."""
parser = argparse.ArgumentParser(description="Quantize a causal language model")
parser.add_argument(
"--model_path",
type=str,
required=True,
help="Path to the pre-trained model",
)
parser.add_argument(
"--quant_path",
type=str,
required=True,
help="Output path for the quantized model",
)
return parser.parse_args()
def main():
"""Main function to load and quantize the model."""
args = parse_arguments()
print(f"Loading model from {args.model_path}...")
model = Llama4ForConditionalGeneration.from_pretrained(
args.model_path,
device_map="auto",
torch_dtype="auto",
trust_remote_code=True,
)
quant_scheme = QuantizationScheme(
targets=["Linear"],
weights=QuantizationArgs(
num_bits=8,
type=QuantizationType.FLOAT,
strategy=QuantizationStrategy.CHANNEL,
symmetric=True,
observer="mse",
),
input_activations=QuantizationArgs(
num_bits=8,
type=QuantizationType.FLOAT,
strategy=QuantizationStrategy.TOKEN,
symmetric=True,
dynamic=True,
),
output_activations=None,
)
recipe = QuantizationModifier(
targets="Linear",
config_groups={"group_0": quant_scheme},
ignore=[
're:.*lm_head',
're:.*self_attn',
're:.*router',
're:.*vision_model',
're:.*multi_modal_projector',
]
)
print("Applying quantization...")
oneshot(
model=model,
recipe=recipe,
trust_remote_code_model=True,
)
model.save_pretrained(args.quant_path, save_compressed=True, skip_compression_stats=True, disable_sparse_compression=True)
print(f"Quantized model saved to {args.quant_path}")
if __name__ == "__main__":
main()
模型评估
模型在 OpenLLM 排行榜任务(v1 和 v2)、长上下文 RULER、多模态 MMMU 和多模态 ChartQA 上进行了评估。所有评估均通过 lm-evaluation-harness 进行。
评估详情
- OpenLLM v1
lm_eval \
--model vllm \
--model_args pretrained="RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic",dtype=auto,add_bos_token=True,max_model_len=4096,tensor_parallel_size=8,gpu_memory_utilization=0.7,enable_chunked_prefill=True,trust_remote_code=True \
--tasks openllm \
--batch_size auto
- OpenLLM v2
lm_eval \
--model vllm \
--model_args pretrained="RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic",dtype=auto,add_bos_token=False,max_model_len=16384,tensor_parallel_size=8,gpu_memory_utilization=0.5,enable_chunked_prefill=True,trust_remote_code=True \
--tasks leaderboard \
--apply_chat_template \
--fewshot_as_multiturn \
--batch_size auto
- Long Context RULER
lm_eval \
--model vllm \
--model_args pretrained="RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic",dtype=auto,add_bos_token=False,max_model_len=524288,tensor_parallel_size=8,gpu_memory_utilization=0.9,enable_chunked_prefill=True,trust_remote_code=True \
--tasks ruler \
--metadata='{"max_seq_lengths":[131072]}' \
--batch_size auto
- Multimodal MMMU
lm_eval \
--model vllm-vlm \
--model_args pretrained="RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic",dtype=auto,add_bos_token=False,max_model_len=1000000,tensor_parallel_size=8,gpu_memory_utilization=0.9,enable_chunked_prefill=True,trust_remote_code=True,max_images=10 \
--tasks mmmu_val \
--apply_chat_template \
--batch_size auto
- Multimodal ChartQA
export VLLM_MM_INPUT_CACHE_GIB=8
lm_eval \
--model vllm-vlm \
--model_args pretrained="RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic",dtype=auto,add_bos_token=False,max_model_len=1000000,tensor_parallel_size=8,gpu_memory_utilization=0.9,enable_chunked_prefill=True,trust_remote_code=True,max_images=10 \
--tasks chartqa \
--apply_chat_template \
--batch_size auto
准确率
恢复率 (%) | meta-llama/Llama-4-Scout-17B-16E-Instruct | RedHatAI/Llama-4-Scout-17B-16E-Instruct-FP8-dynamic (本模型) |
|
---|---|---|---|
ARC-Challenge 25-shot |
100.36 | 69.37 | 69.62 |
GSM8k 5-shot |
99.24 | 90.45 | 89.76 |
HellaSwag 10-shot |
99.94 | 85.23 | 85.18 |
MMLU 5-shot |
99.94 | 80.54 | 80.49 |
TruthfulQA 0-shot |
99.17 | 61.41 | 60.90 |
WinoGrande 5-shot |
98.88 | 77.90 | 77.03 |
OpenLLM v1 平均得分 |
99.59 | 77.48 | 77.16 |
IFEval 0-shot 指令和提示准确率的平均值 |
100.91 | 86.90 | 87.69 |
Big Bench Hard 3-shot |
99.82 | 65.13 | 65.01 |
Math Lvl 5 4-shot |
98.82 | 57.78 | 57.10 |
GPQA 0-shot |
100.53 | 31.88 | 32.05 |
MuSR 0-shot |
102.18 | 42.20 | 43.12 |
MMLU-Pro 5-shot |
99.82 | 55.70 | 55.60 |
OpenLLM v2 平均得分 |
100.28 | 56.60 | 56.76 |
RULER 序列长度 = 131072 niah_multikey_1 |
101.36 | 88.20 | 89.40 |
RULER 序列长度 = 131072 niah_multikey_2 |
100.72 | 83.60 | 84.20 |
RULER 序列长度 = 131072 niah_multikey_3 |
96.19 | 78.80 | 75.80 |
RULER 序列长度 = 131072 niah_multiquery |
100.79 | 95.40 | 96.15 |
RULER 序列长度 = 131072 niah_multivalue |
97.22 | 73.75 | 71.70 |
RULER 序列长度 = 131072 niah_single_1 |
100.00 | 100.00 | 100.00 |
RULER 序列长度 = 131072 niah_single_2 |
100.00 | 99.80 | 99.80 |
RULER 序列长度 = 131072 niah_single_3 |
100.00 | 99.80 | 99.80 |
RULER 序列长度 = 131072 ruler_cwe |
96.19 | 39.42 | 37.92 |
RULER 序列长度 = 131072 ruler_fwe |
98.86 | 92.93 | 91.87 |
RULER 序列长度 = 131072 ruler_qa_hotpot |
100.00 | 48.20 | 48.20 |
RULER 序列长度 = 131072 ruler_qa_squad |
98.81 | 53.57 | 52.93 |
RULER 序列长度 = 131072 ruler_qa_vt |
100.35 | 92.28 | 92.60 |
RULER 序列长度 = 131072 平均得分 |
99.49 | 80.44 | 80.03 |
MMMU 0-shot |
97.92 | 53.44 | 52.33 |
ChartQA 0-shot 精确匹配 |
100.12 | 65.88 | 65.96 |
ChartQA 0-shot 宽松准确率 |
99.69 | 88.92 | 88.64 |
多模态平均得分 | 99.38 | 69.41 | 68.98 |
📄 许可证
本模型使用的许可证为其他,许可证名称为 llama4。
Clip Vit Large Patch14
CLIP是由OpenAI开发的视觉-语言模型,通过对比学习将图像和文本映射到共享的嵌入空间,支持零样本图像分类
图像生成文本
C
openai
44.7M
1,710
Clip Vit Base Patch32
CLIP是由OpenAI开发的多模态模型,能够理解图像和文本之间的关系,支持零样本图像分类任务。
图像生成文本
C
openai
14.0M
666
Siglip So400m Patch14 384
Apache-2.0
SigLIP是基于WebLi数据集预训练的视觉语言模型,采用改进的sigmoid损失函数,优化了图像-文本匹配任务。
图像生成文本
Transformers

S
google
6.1M
526
Clip Vit Base Patch16
CLIP是由OpenAI开发的多模态模型,通过对比学习将图像和文本映射到共享的嵌入空间,实现零样本图像分类能力。
图像生成文本
C
openai
4.6M
119
Blip Image Captioning Base
Bsd-3-clause
BLIP是一个先进的视觉-语言预训练模型,擅长图像描述生成任务,支持条件式和非条件式文本生成。
图像生成文本
Transformers

B
Salesforce
2.8M
688
Blip Image Captioning Large
Bsd-3-clause
BLIP是一个统一的视觉-语言预训练框架,擅长图像描述生成任务,支持条件式和无条件式图像描述生成。
图像生成文本
Transformers

B
Salesforce
2.5M
1,312
Openvla 7b
MIT
OpenVLA 7B是一个基于Open X-Embodiment数据集训练的开源视觉-语言-动作模型,能够根据语言指令和摄像头图像生成机器人动作。
图像生成文本
Transformers 英语

O
openvla
1.7M
108
Llava V1.5 7b
LLaVA 是一款开源多模态聊天机器人,基于 LLaMA/Vicuna 微调,支持图文交互。
图像生成文本
Transformers

L
liuhaotian
1.4M
448
Vit Gpt2 Image Captioning
Apache-2.0
这是一个基于ViT和GPT2架构的图像描述生成模型,能够为输入图像生成自然语言描述。
图像生成文本
Transformers

V
nlpconnect
939.88k
887
Blip2 Opt 2.7b
MIT
BLIP-2是一个视觉语言模型,结合了图像编码器和大型语言模型,用于图像到文本的生成任务。
图像生成文本
Transformers 英语

B
Salesforce
867.78k
359
精选推荐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