【vLLM 学习】Neuron Int8 Quantization

部署运行你感兴趣的模型镜像

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →vllm.hyper.ai/

*在线运行 vLLM 入门教程:零基础分步指南

源码 examples/offline_inference/neuron_int8_quantization.py

# SPDX-License-Identifier: Apache-2.0

import os

from vllm import LLM, SamplingParams

# 为所有上下文长度存储桶创建 XLA HLO 图。
os.environ['NEURON_CONTEXT_LENGTH_BUCKETS'] = "128,512,1024,2048"
# 为所有 token gen buckets 创建 XLA HLO 图。
os.environ['NEURON_TOKEN_GEN_BUCKETS'] = "128,512,1024,2048"
# 将神经元模型权重量化为 int8
# 量化的默认配置为 int8 dtype。
os.environ['NEURON_QUANT_DTYPE'] = "s8"

# 样本提示。
prompts = [
 "Hello, my name is",
 "The president of the United States is",
 "The capital of France is",
 "The future of AI is",
]

# 创建一个采样参数对象。
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

# 创建一个 LLM。
llm = LLM(
    model="TinyLlama/TinyLlama-1.1B-Chat-v1.0",
    max_num_seqs=8,

 # max_model_len 和 block_size 参数必须与
 # 定位神经元设备时的最大序列长度。
 # 目前,这是连续批处理支持的已知限制
 # 在 transformers-Neuronx 中。
 # todo (liangfu) :在 transformers-Neuronx 中支持分页。
    max_model_len=2048,
    block_size=2048,
 # 安装 AWS Neuron SDK 时可以自动检测到该设备。
 # 设备参数可以被未指定用于自动检测,
 # 或明确分配。
    device="neuron",
    quantization="neuron_quant",
    override_neuron_config={
 "cast_logits_dtype": "bfloat16",
 },
    tensor_parallel_size=2)

# 从提示中生成文本。输出是 RequestOutput 对象的列表包含提示,生成的文本和其他信息的对象
outputs = llm.generate(prompts, sampling_params)
# 打印输出。
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
 print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

您可能感兴趣的与本文相关的镜像

Vllm-v0.11.0

Vllm-v0.11.0

Vllm

vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法「PagedAttention」,有效地管理注意力键和值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值