当前位置: 首页> 教育> 高考 > 网站制做_各大网站热搜榜排名_西安seo外包平台_百度搜索引擎优化的推广计划

网站制做_各大网站热搜榜排名_西安seo外包平台_百度搜索引擎优化的推广计划

时间:2025/7/11 0:57:09来源:https://blog.csdn.net/qq_64685283/article/details/143178330 浏览次数:0次
网站制做_各大网站热搜榜排名_西安seo外包平台_百度搜索引擎优化的推广计划

 

vLLM

vLLM 是一个用于大模型推理的高效框架。它旨在提供高性能、低延迟的推理服务,并支持多种硬件加速器,如 GPU 和 CPU。

vLLM 适用于大批量Prompt输入,并对推理速度要求高的场景,吞吐量比HuggingFace Transformers高10多倍。

安装:vllm需要在Linux环境中,可以启动虚拟机来实现部署,创建时选择64G,否则空间不够用

wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
  •  下载CUDA Toolkit 12.4.0

sudo sh cuda_12.4.0_550.54.14_linux.run
  • 运行CUDA Toolkit的安装脚本
pip install vllm

或者我们可以使用docker的方式搭建一个Ubuntu环境,来使用 vLLM 推理部署

docker run -tid --gpus all -p 3316:22 -p 5900:5900 -p 5901:5901 -p 8889:8888 --name container_name -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all --privileged=true ubuntu:20.04
  • 启动一个名为 container_name 的 Ubuntu 20.04 容器
  • 以特权模式运行,并且可以使用所有 NVIDIA GPU 

docker exec -it container_name bash

如果我们已经创建了一个容器,但是后续需要映射端口号到本机8000,那么可以创建一个新镜像

# 创建一个新的镜像,基于现有容器
docker commit container_name new_image_name# 停止并删除旧容器
docker stop container_name
docker rm container_name# 使用新镜像启动新容器,并映射端口
docker run -p 8000:8000 --name container_name new_image_name

这样就进入了Ubuntu环境。 

现在的Ubuntu是最简单配置的,如果使用wget等命令,需要使用apt-get下载再使用。

离线推理

Qwen2.5代码支持的模型都被vLLM所支持。 vLLM最简单的使用方式是通过以下演示进行离线批量推理。

from transformers import AutoTokenizer
from vllm import LLM, SamplingParamstokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B-Instruct")
# 指定大模型生成文本时的行为,温度越低生成的文本越确定,更倾向于选择概率最高的词
sampling_params = SamplingParams(temperature=0.7, top_p=0.8, repetition_penalty=1.05, max_tokens=512)llm = LLM(model="Qwen/Qwen2.5-7B-Instruct")
prompt = "hello?"
messages = [{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)outputs = llm.generate([text], sampling_params)for output in outputs:prompt = output.promptgenerated_text = output.outputs[0].textprint(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

   

OpenAI兼容的API服务 

借助vLLM,构建一个与OpenAI API兼容的API服务十分简便,该服务可以作为实现OpenAI API协议的服务器进行部署。默认情况下,它将在 http://localhost:8000 启动服务器

vllm serve Qwen/Qwen2.5-7B-Instruct
  • 快速启动一个基于 vLLM 的模型服务。会加载指定的模型,并提供一个 REST API 接口,使得可以通过网络请求来与模型交互 
  • vLLM 会下载并加载 Qwen/Qwen2.5-7B-Instruct 模型,并启动一个本地的服务端点

如果本地已经下载模型,可以使用下面来启动:

python3 -m vllm.entrypoints.openai.api_server --model Qwen/Qwen2___5-1___5B-Instruct

 


from openai import OpenAIopenai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
# 因为我们在本地运行一个不需要实际密钥的服务器,可以将密钥设置为任意值,因为它不会被实际使用client = OpenAI(api_key=openai_api_key,base_url=openai_api_base,
)chat_response = client.chat.completions.create(model="Qwen/Qwen2.5-7B-Instruct",messages=[{"role": "system", "content": "You are Qwen, created by Alibaba Cloud. You are a helpful assistant."},{"role": "user", "content": "hello"},],temperature=0.7,top_p=0.8,max_tokens=512,extra_body={"repetition_penalty": 1.05,},
)
print("Chat response:", chat_response)

输出:

Chat response: ChatCompletion(id='chat-fdc2422da17f4d4cb419e1af320eb481', choices=[Choice(finish_reason='stop', index=0, logprobs=None, message=ChatCompletionMessage(content='Hello! How can I assist you today?', refusal=None, role='assistant', function_call=None, tool_calls=[]), stop_reason=None)], created=1730100300, model='Qwen/Qwen2___5-1___5B-Instruct', object='chat.completion', service_tier=None, system_fingerprint=None, usage=CompletionUsage(completion_tokens=10, prompt_tokens=30, total_tokens=40, completion_tokens_details=None, prompt_tokens_details=None), prompt_logprobs=None)Process finished with exit code 0

本地运行

llama.cpp就像 Python 框架 torch+transformers 或 torch+vllm 的组合,但用的是 C++。

  1. 获取 llama-cli 程序

  2. 获取 GGUF[1] 格式的 Qwen2.5 模型

  3. 使用模型运行程序

Linux上安装构建工具:

sudo apt install build-essential

编译程序:

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp

然后运行 make 命令:

make llama-cli

llama-cli 提供多种“模式”来与模型进行“交互”

./llama-cli -m qwen2.5-7b-instruct-q5_k_m.gguf \-co -cnv -p "You are Qwen, created by Alibaba Cloud. You are a helpful assistant." \-fa -ngl 80 -n 512

Text Generation Web UI

这是一款流行的文本生成Web界面工具,拥有多个交互界面,并支持多种模型后端。

使用 repo中提供的Shell脚本。首先,克隆repo并进去文件夹中:

git clone https://github.com/oobabooga/text-generation-webui
cd text-generation-webui

在Linux系统上运行 start_linux.sh ,在Windows系统上运行 start_windows.bat:

pip install -r requirements_apple_silicon.txt
text-generation-webui
├── models
│   ├── Qwen2.5-7B-Instruct
│   │   ├── config.json
│   │   ├── generation_config.json
│   │   ├── model-00001-of-00004.safetensor
│   │   ├── model-00002-of-00004.safetensor
│   │   ├── model-00003-of-00004.safetensor
│   │   ├── model-00004-of-00004.safetensor
│   │   ├── model.safetensor.index.json
│   │   ├── merges.txt
│   │   ├── tokenizer_config.json
│   │   └── vocab.json
关键字:网站制做_各大网站热搜榜排名_西安seo外包平台_百度搜索引擎优化的推广计划

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: