当前位置: 首页 > news >正文

建设项目自主验收公示网站个人网页制作设计模板

建设项目自主验收公示网站,个人网页制作设计模板,网站外链内链怎么做,万能浏览器最新下载背景 LlamaFactory 的 LoRA 微调功能非常便捷,微调后的模型,没有直接支持 vllm 推理,故导致推理速度不够快。 LlamaFactory 目前支持通过 VLLM API 进行部署,调用 API 时的响应速度,仍然没有vllm批量推理的速度快。 …

背景

LlamaFactory 的 LoRA 微调功能非常便捷,微调后的模型,没有直接支持 vllm 推理,故导致推理速度不够快。

LlamaFactory 目前支持通过 VLLM API 进行部署,调用 API 时的响应速度,仍然没有vllm批量推理的速度快。

如果模型是通过 LlamaFactory 微调的,为了确保数据集的一致性,建议在推理时也使用 LlamaFactory 提供的封装数据集。

简介

在上述的背景下,我们使用 LlamaFactory 原生数据集,支持 lora的 vllm 批量推理。
完整代码如下:

import json
import os
from typing import Listfrom vllm import LLM, SamplingParams
from vllm.lora.request import LoRARequestfrom llamafactory.data import get_dataset, get_template_and_fix_tokenizer
from llamafactory.extras.constants import IGNORE_INDEX
from llamafactory.hparams import get_train_args
from llamafactory.model import load_tokenizerdef vllm_infer():model_args, data_args, training_args, finetuning_args, generating_args = (get_train_args())tokenizer = load_tokenizer(model_args)["tokenizer"]template = get_template_and_fix_tokenizer(tokenizer, data_args)eval_dataset = get_dataset(template, model_args, data_args, training_args, finetuning_args.stage, tokenizer)["eval_dataset"]prompts = [item["input_ids"] for item in eval_dataset]prompts = tokenizer.batch_decode(prompts, skip_special_tokens=False)labels = [list(filter(lambda x: x != IGNORE_INDEX, item["labels"]))for item in eval_dataset]labels = tokenizer.batch_decode(labels, skip_special_tokens=True)sampling_params = SamplingParams(temperature=generating_args.temperature,top_k=generating_args.top_k,top_p=generating_args.top_p,max_tokens=2048,)if model_args.adapter_name_or_path:if isinstance(model_args.adapter_name_or_path, list):lora_requests = []for i, _lora_path in enumerate(model_args.adapter_name_or_path):lora_requests.append(LoRARequest(f"lora_adapter_{i}", i, lora_path=_lora_path))else:lora_requests = LoRARequest("lora_adapter_0", 0, lora_path=model_args.adapter_name_or_path)enable_lora = Trueelse:lora_requests = Noneenable_lora = Falsellm = LLM(model=model_args.model_name_or_path,trust_remote_code=True,tokenizer=model_args.model_name_or_path,enable_lora=enable_lora,)outputs = llm.generate(prompts, sampling_params, lora_request=lora_requests)if not os.path.exists(training_args.output_dir):os.makedirs(training_args.output_dir, exist_ok=True)output_prediction_file = os.path.join(training_args.output_dir, "generated_predictions.jsonl")with open(output_prediction_file, "w", encoding="utf-8") as writer:res: List[str] = []for text, pred, label in zip(prompts, outputs, labels):res.append(json.dumps({"prompt": text, "predict": pred.outputs[0].text, "label": label},ensure_ascii=False,))writer.write("\n".join(res))

vllm.yaml 示例:

## model
model_name_or_path: qwen/Qwen2.5-7B-Instruct
# adapter_name_or_path: lora模型### method
stage: sft
do_predict: true
finetuning_type: lora### dataset
dataset_dir: 数据集路径
eval_dataset: 数据集
template: qwen
cutoff_len: 1024
max_samples: 1000
overwrite_cache: true
preprocessing_num_workers: 16### output
output_dir: output/
overwrite_output_dir: true### eval
predict_with_generate: true

程序调用:

python vllm_infer.py vllm.yaml

程序运行速度:

Processed prompts: 100%|| 1000/1000 [01:56<00:00,  8.60it/s, est. speed input: 5169.35 toks/s, output: 811.57

总结

本方案在原生 LlamaFactory 数据集的基础上,支持 LoRA 的 vllm 批量推理,能提升了推理效率。

进一步阅读

如果微调模型后,发现使用vllm模型批量效果不太好,可以参考下述文章:

  • 基于 LLamafactory 的异步API高效调用实现与速度对比.https://blog.csdn.net/sjxgghg/article/details/144176645

亲测,LLamafactory 部署 模型,然后使用 Async API 调用后评估效果会好一些。

http://www.yayakq.cn/news/546394/

相关文章:

  • 网站建设主持词广州十度网络网站开发最好
  • 广州白云区网站开发wordpress数据存储
  • 手机可以访问的网站怎么做河北省建设集团有限公司网站首页
  • 永久空间网站广州最新防疫动态
  • 学seo建网站淘宝做的网站优化
  • 温州市职业中专学校seo关键词推广多少钱
  • 网站设置受信任微信招聘网站建设
  • 揭阳建设局网站县城做网站
  • 上海专业网站建站品牌重庆市设计院官网
  • php网站开发经典教材网站备案后改域名
  • 自己做个网站用什么软件好怎么用wordpress 建站
  • 建网站价格手机网站制作流程
  • 哪些网站织梦cms佛山债优化
  • 华为网站建设招聘无网站可以做cpc吗
  • 什么响应式网站重庆市建设工程人力资源网
  • 游戏网站建设内容好的版式设计网站
  • 天津建设局网站网页制作作业成品
  • 报价网站制作工业设计公司有哪些
  • 上海网站公司淘宝店购买网站
  • 网站模板目录扫描做智能网站系统下载软件
  • 企业网站备案需要什么郑州制作网站设计
  • 三航奔腾建设有限公司官方网站漳州最便宜的网站建设价格
  • 关于医院网站建设的通知网站不备案有什么后果
  • 建设京东类的网站需要什么流程php班级网站建设
  • 网站建设费和网站维护费的区别工程交易信息网
  • 网站设计书模板百度小说排行榜2020
  • 秦皇岛网站建设多少钱如何将网站排名做高
  • 鄂州市 网站建设编程软件下载安装
  • 济南市建设工程招投标协会网站一个旅游网站建设
  • 学做网站看那个网邵东建设公司网站哪家好