LLM生成模型-推理参数设置

总结自视频(吴恩达大模型入门课):8_12_generative-configuration_哔哩哔哩_bilibili 

影响模型推理结果的参数:

Max new tokens: 200, 限制了模型生成的新token数量,防止生成过长或无用的内容。限制回复长度,比如在聊天应用中,限制回复长度可以提升用户体验,避免资源浪费。

Sample top K: 25,控制生成过程中的采样策略,top k是选择概率最高的前k个token;

如上图,模型生成了字典大小长度的概率分布,top k只在前k个大小概率中,按照概率加权随机选择一个作为生成的token。这样可以是生成的结果具有随机性,同时防止过于随机,生成一些不太可能完成的句子。

Sample top P: 1,基于累积概率选择token,前面累计概率不超过P,从这几个里面随机选择;

 比如设置P=0.3,则累积概率到donut,再往后就超过了,从前面两个选择一个。

Temperature: 0.8,温度越高,随机性越高,温度是一个缩放系数,调整softmax输出结果。

 小于1,越小,概率分布越集中,随机性降低;

大于1,越大,概率分布较为平缓,多个tokens被选中的概率值相当,随机性增强。

### vLLM 多GPU推理模型API生成指南 对于希望利用vLLM进行多GPU环境下的推理并构建相应的API接口,可以遵循如下方法来实现高效部署。 #### 准备工作 确保环境中已安装必要的依赖项以及配置好支持多卡运算的PyTorch版本。考虑到性能优化,在启动服务前还需调整CUDA_VISIBLE_DEVICES环境变量以便指定参与计算的具体显卡编号[^1]。 #### 加载预训练模型 通过`transformers`库加载所需的大型语言模型(LLM),并将其实例化对象分配至多个GPU设备上运行。这里假设已经下载好了目标模型及其权重文件到本地路径 `/root/ft/model/` 下: ```python from transformers import AutoModelForCausalLM, AutoTokenizer import torch.distributed as dist dist.init_process_group('nccl') # 初始化进程组通信 device_ids = list(range(torch.cuda.device_count())) # 获取可用GPU列表 model_path = "/root/ft/model/" tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path).to(device_ids[0]) if len(device_ids)>1: model = torch.nn.DataParallel(model, device_ids=device_ids) # 使用DataParallel封装模型 ``` #### 构建RESTful API 为了使外部应用能够方便地调用该模型的服务端点,推荐采用Flask框架搭建简易Web服务器,并定义POST请求处理函数负责接收输入数据、执行预测操作最后返回结果给客户端。注意要设置合适的batch size以充分利用硬件资源同时保持响应速度[^3]: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/predict', methods=['POST']) def predict(): try: input_text = request.json.get("text","") inputs = tokenizer(input_text, return_tensors='pt').to(device_ids[0]) outputs = model.generate(**inputs,max_length=50,num_return_sequences=1) result = tokenizer.decode(outputs[0], skip_special_tokens=True) return jsonify({"response":result}) except Exception as e: return str(e), 400 if __name__ == '__main__': app.run(host='0.0.0.0', port=8080) ``` 此段代码实现了基于HTTP协议暴露出来的/predict路由,它接受JSON格式的数据包作为参数并通过模型完成文本生成任务后再将答案打包成相同形式回传回去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值