VLLM (Very Large Language Model)

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
简介: VLLM (Very Large Language Model) 是一种大型语言模型,通常具有数十亿或数万亿个参数,用于处理自然语言文本。VLLM 可以通过预训练和微调来执行各种任务,如文本分类、机器翻译、情感分析、问答等。

VLLM (Very Large Language Model) 是一种大型语言模型,通常具有数十亿或数万亿个参数,用于处理自然语言文本。VLLM 可以通过预训练和微调来执行各种任务,如文本分类、机器翻译、情感分析、问答等。

from vllm import LLM, SamplingParams

import os

# 设置环境变量,从魔搭下载模型

os.environ['VLLM_USE_MODELSCOPE'] = 'True'

llm = LLM(model="qwen/Qwen-1_8B", trust_remote_code=True)

prompts = [

    "Hello, my name is",

    "today is a sunny day,",

    "The capital of France is",

    "The future of AI is",

]

sampling_params = SamplingParams(temperature=0.8, top_p=0.95,stop=["<|endoftext|>"])

outputs = llm.generate(prompts, sampling_params,)

# print the output

for output in outputs:

    prompt = output.prompt

    generated_text = output.outputs[0].text

    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

理解 VLLM 需要了解深度学习和自然语言处理的基本概念。在深度学习中,模型通过学习大量数据来自我优化,以提高其准确性。在自然语言处理中,VLLM 是一种语言模型,用于处理自然语言文本。
要应用 VLLM,需要使用深度学习框架,如 TensorFlow 或 PyTorch,并在该框架中加载 VLLM 模型。然后,可以使用该模型来处理输入文本并生成输出文本。例如,可以使用 VLLM 来回答问题、翻译文本或生成文本摘要。
以下是一个简单的 VLLM 应用示例:

import tensorflow as tf

加载 VLLM 模型

model = tf.keras.models.load_model('vllm_model.h5')

输入文本

input_text = "What is the capital of France?"

处理输入文本并生成输出文本

output_text = model.predict(input_text)

输出结果

print(output_text)

VLLM 是一种非常有用的技术,可以用于各种自然语言处理任务。


import sys

from vllm import LLM, SamplingParams

import os

from modelscope import AutoTokenizer, snapshot_download

# 设置环境变量,从魔搭下载模型

model_dir = snapshot_download("qwen/Qwen-1_8b-Chat")

sys.path.insert(0, model_dir)

from qwen_generation_utils import (

    HistoryType,

    make_context,

    decode_tokens,

    get_stop_words_ids,

    StopWordsLogitsProcessor,

)

llm = LLM(model=model_dir, trust_remote_code=True)

tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)

prompts = [

    "Hello, my name is Alia",

    "Today is a sunny day,",

    "The capital of France is",

    "Introduce YaoMing to me.",

]

sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=128, stop=['<|endoftext|>', '<|im_start|>'])

inputs = []

for prompt in prompts:

    raw_text, context_tokens = make_context(

        tokenizer,

        prompt,

        history=[],

        system="You are a helpful assistant.",

        chat_format='chatml',

    )

    inputs.append(context_tokens)

# call with prompt_token_ids, which has template information

outputs = llm.generate(prompt_token_ids=inputs, sampling_params=sampling_params,)

histories = []

for prompt, output in zip(prompts, outputs):

    history = []

    generated_text = output.outputs[0].text

    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

    history.append((prompt, generated_text))

    histories.append(history)

prompts_new = [

    'What is my name again?',

    'What is the weather I just said today?',

    'What is the city you mentioned just now?',

    'How tall is him?'

]

inputs = []

for prompt, history in zip(prompts_new, histories):

    raw_text, context_tokens = make_context(

        tokenizer,

        prompt,

        history=history,

        system="You are a helpful assistant.",

        chat_format='chatml',

    )

    inputs.append(context_tokens)

outputs = llm.generate(prompt_token_ids=inputs, sampling_params=sampling_params,)

# print the output

for prompt, output in zip(prompts_new, outputs):

    generated_text = output.outputs[0].text

    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
目录
相关文章
|
9月前
|
并行计算
vllm部署模型要点
vllm部署模型要点
|
4月前
|
存储 缓存 资源调度
# Qwen3-8B 的 TTFT 性能分析:16K 与 32K 输入 Prompt 的推算公式与底层原理详解
Qwen3-8B 是通义实验室推出的 80 亿参数大模型,支持最长 32,768 token 上下文,适用于长文本处理场景。通过 FP8 量化、CUDA Kernel 优化及 RoPE 位置编码技术,提升推理效率与稳定性。模型在 16K 输入下 TTFT 约 150-200ms,32K 输入下约 250-300ms,适用于文档摘要与长对话交互。
1333 8
|
5月前
|
存储 编解码 Prometheus
大模型推理加速实战:vLLM 部署 Llama3 的量化与批处理优化指南
本文详解如何通过量化与批处理优化,在vLLM中高效部署Llama3大模型。涵盖内存管理、推理加速及混合策略,提升吞吐量并降低延迟,适用于大规模语言模型部署实践。
1471 2
|
9月前
|
人工智能 运维 调度
破解 vLLM + DeepSeek 规模化部署的“不可能三角”
人工智能产业的蓬勃发展催生了丰富多样的推理模型,为解决特定领域的问题提供了高效的解决方案。DeepSeek 的爆火就是极佳的范例。然而,对于个人用户而言,如何有效地利用这些模型成为一个显著的挑战——尽管模型触手可及,但其复杂的部署和使用流程却让人望而却步。针对这一现象,在大型语言模型(LLM)领域,vLLM 应运而生。通过便捷的模型接入方式,vLLM 让用户能够轻松地向模型发起推理请求,从而大大缩短了从模型到应用的距离。
|
8月前
|
编解码 人工智能 并行计算
基于 Megatron 的多模态大模型训练加速技术解析
Pai-Megatron-Patch 是一款由阿里云人工智能平台PAI 研发的围绕英伟达 Megatron 的大模型训练配套工具,旨在帮助开发者快速上手大模型,打通大模型相关的高效分布式训练、有监督指令微调、下游任务评估等大模型开发链路。本文以 Qwen2-VL 为例,从易用性和训练性能优化两个方面介绍基于 Megatron 构建的 Pai-Megatron-Patch 多模态大模型训练的关键技术
|
8月前
|
机器学习/深度学习 分布式计算 Kubernetes
30分钟拉起Ray集群并部署Stable Diffusion模型服务
Ray 是一个支持模型训练、测试以及部署的开源平台,由加州大学伯克利分校的 RISELab 开发。它旨在简化大规模机器学习、强化学习和分布式计算任务的开发与部署。阿里云计算巢实现了Ray Cluster的一键部署,帮助用户能够便捷地使用分布式集群训练和测试自己的模型。
|
10月前
|
自然语言处理 监控 程序员
本地部署企业级自适应 RAG 应用的方法与实践
本文介绍了本地部署企业级自适应RAG(Adaptive Retrieval-Augmented Generation)应用的方法与实践。RAG结合信息检索与文本生成,广泛应用于问答、编程等领域。自适应RAG通过分类器评估查询复杂度,动态选择无检索、单步检索或多步检索策略,优化生成结果。其特点在于灵活性和适应性,能够根据输入情况调整检索和生成策略。核心技术包括检索策略的自适应、生成策略的自适应以及模型参数的自适应调整。通过实战,深入了解了RAG的工作原理和应用场景,并获得了宝贵经验。
1561 4
|
人工智能 自然语言处理 并行计算
探索大模型部署:基于 VLLM 和 ModelScope 与 Qwen2.5 在双 32G VGPU 上的实践之旅
本文介绍了使用 `VLLM` 和 `ModelScope` 部署 `Qwen2.5` 大模型的实践过程,包括环境搭建、模型下载和在双 32G VGPU 上的成功部署,展现了高性能计算与大模型结合的强大力量。
2980 3