南宁网站建设推荐q479185700顶上asp做网站策划书

张小明 2026/1/2 16:56:19
南宁网站建设推荐q479185700顶上,asp做网站策划书,网页的六个基本元素,惠普电脑网站建设策划方案模型推理 单多轮推理#xff0c;gpu推理#xff0c;lora推理和vllm 一、大语言模型推理基础 1. 推理与训练的核心差异 维度 模型训练 模型推理 硬件需求 需强大GPU集群、海量存储 硬件需求较低#xff0c;支持CPU/GPU 计算逻辑 反向传播梯度下降#xff0c;计算量大 仅前…模型推理 单多轮推理gpu推理lora推理和vllm一、大语言模型推理基础1. 推理与训练的核心差异维度 模型训练 模型推理硬件需求 需强大GPU集群、海量存储 硬件需求较低支持CPU/GPU计算逻辑 反向传播梯度下降计算量大 仅前向传播计算量小运行时长 一次性任务 长期运行需处理高并发请求核心目标 优化模型参数 快速响应并生成输出2. 推理关键注意事项输入数据预处理需对文本分词、编码为张量适配模型输入格式。设备一致性模型与数据需在同一设备CPU/GPU运行可通过 model.to(device) 切换。模型模式推理时需切换为评估模式 model.eval() 关闭Dropout/BatchNorm等训练专属功能。内存管理大模型推理需及时释放内存或采用小批量处理减少占用。版本一致性训练与推理需使用同一版本的框架/库避免兼容性问题。3. 推理三大核心步骤输入处理分词、标记化、编码将文本转为模型可识别的张量序列。上下文理解模型通过学习的语言知识编码输入文本的语义与上下文关系。输出生成基于上下文预测下一个token迭代生成完整文本。二、单轮/多轮推理1. 单轮推理模型仅根据当前输入生成输出不保留对话历史适用于简单问答任务。2. 多轮推理模型记录对话历史并基于历史生成回应适用于闲聊、长文本生成等场景。优势只需加载一次模型重复使用降低资源消耗提升推理速度。挑战需额外内存维护对话历史对硬件资源有一定要求。三、GPU推理部署1. 单卡GPU推理GPU凭借并行计算能力大幅提升大模型推理速度核心是通过PyTorch指定设备接下来是一个判断gpu是否可用来决定推理设备的例子喵importtorch# 判断GPU是否可用指定推理设备iftorch.cuda.is_available():devicetorch.device(cuda:0)# 使用第0块GPUelse:devicetorch.device(cpu)# 无GPU则用CPUcuda:0 指定使用第一块GPU多卡环境可指定 cuda:1 / cuda:2 等。2. 多卡GPU推理通过多卡并行计算提升推理吞吐量主流策略数据并行Data Parallelism将数据拆分到不同GPU并行处理后聚合结果。模型并行Model Parallelism将模型拆分到不同GPU分别计算不同层的输出。流水线并行Pipeline Parallelism按模型层的执行顺序将任务分配到不同GPU流水线处理。3. 多机推理针对超大规模模型单台机器算力不足在多台服务器上分布式推理核心策略数据并行数据拆分到多机每机处理部分数据并返回结果。模型并行模型拆分到多机协同完成推理计算。负载均衡分配推理任务到不同机器避免单卡/单机闲置。四、Hugging Face Transformers库推理Hugging Face Transformers是大模型推理的核心工具库支持Pipeline、ModelTokenizer等多种推理方式。1. Pipeline API快速推理封装了完整的推理流程仅需几行代码即可实现文本生成、分类等任务适合快速验证fromtransformersimportpipeline# 初始化文本生成pipeline加载Chinese-Alpaca-2-7B模型generatorpipeline(text-generation,# 任务类型文本生成model/mnt/chinese-alpaca-2-7b,# 模型本地路径return_full_textFalse,# 仅返回生成的文本不包含输入max_new_tokens40# 生成的最大新token数)# 执行推理outputsgenerator(What is the capital of Australia?,)print(outputs[0][generated_text])# 输出Canberra is the capital of Australia.其中的重点喵pipeline(“text-generation”) 指定文本生成任务自动加载对应模型与分词器。return_full_textFalse 避免输出包含原始输入仅展示模型生成内容。max_new_tokens 限制生成文本的长度防止输出过长。2. Model Tokenizer API灵活推理更底层的推理方式需手动处理输入编码、模型前向传播与输出解码灵活性更高fromtransformersimportAutoModelForCausalLM,AutoTokenizer# 加载分词器与模型tokenizerAutoTokenizer.from_pretrained(/mnt/chinese-alpaca-2-7b)modelAutoModelForCausalLM.from_pretrained(/mnt/chinese-alpaca-2-7b,torch_dtypeauto# 自动适配模型数据类型).to(device)# 将模型移至指定设备GPU/CPU# 输入处理编码文本为张量inputstokenizer(What is the capital of Australia?,return_tensorspt# 返回PyTorch张量).to(device)# 数据移至指定设备# 模型推理outputsmodel.generate(**inputs,max_new_tokens40,do_sampleFalse# 关闭采样使用贪心解码)# 输出解码将张量转为文本texttokenizer.decode(outputs[0],skip_special_tokensTrue)print(text)# 输出What is the capital of Australia? Canberra is the capital of Australia.其中AutoTokenizer / AutoModelForCausalLM 自动匹配模型的分词器与因果语言模型架构。return_tensors“pt” 生成PyTorch兼容的张量适配模型输入要求。model.generate() 模型生成接口支持 max_new_tokens 生成长度、 do_sample 采样策略等参数。skip_special_tokensTrue 解码时跳过 / 等特殊token仅保留有效文本。3. 推理参数说明参数作用max_new_tokens生成的最大新token数控制输出长度do_sample是否启用采样策略如Top-K/Top-PFalse则为贪心解码return_tensors是否返回预测张量标记索引True返回张量False返回解码后的文本return_full_text是否返回包含输入的完整文本False仅返回模型生成的内容4、多轮推理实现多轮推理的核心是维护对话历史让模型基于上下文生成回应只需加载一次模型即可支持循环对话大幅提升推理效率。多轮推理完整代码importtorchfromtransformersimportAutoModelForCausalLM,AutoTokenizer,GenerationConfigfrombitsandbytesimportBitsAndBytesConfig# 1. 配置4位量化减少显存占用bnb_configBitsAndBytesConfig(load_in_4bitTrue,# 启用4位量化bnb_4bit_quant_typenf4,# 量化类型为nf4bnb_4bit_compute_dtypetorch.float16,# 计算数据类型bnb_4bit_use_double_quantTrue,# 启用双重量化)# 2. 判断设备并加载模型/分词器devicetorch.device(cuda:0iftorch.cuda.is_available()elsecpu)model_path/mnt/chinese-alpaca-2-7btokenizerAutoTokenizer.from_pretrained(model_path)modelAutoModelForCausalLM.from_pretrained(model_path,quantization_configbnb_config,device_mapauto,trust_remote_codeTrue).to(device)# 3. 定义生成配置generation_configGenerationConfig(temperature0.2,# 生成温度越低越确定top_k40,# Top-K采样top_p0.9,# Top-P采样do_sampleTrue,# 启用采样策略num_beams1,# 束搜索数量repetition_penalty1.1,# 重复惩罚max_new_tokens400,# 最大生成token数output_scoresFalse,# 不返回分数return_dict_in_generateTrue,# 返回生成字典)# 4. 构建提示词整合对话历史defgenerate_prompt(input_text,history[]): 生成模型输入的提示词整合对话历史 :param input_text: 当前输入文本 :param history: 对话历史列表格式为[(用户输入, 模型回复), ...] :return: 拼接后的提示词 prompt# 拼接历史对话fori,(q,a)inenumerate(history):promptf### Instruction:\n{q}\n### Response:\n{a}\n# 拼接当前输入promptf### Instruction:\n{input_text}\n### Response:\nreturnprompt# 5. 多轮对话主逻辑history[]print(开始多轮对话输入空行结束)whileTrue:raw_input_textinput(Input: )iflen(raw_input_text.strip())0:break# 生成带历史的提示词promptgenerate_prompt(raw_input_text,history)# 编码输入inputstokenizer(prompt,return_tensorspt).to(device)# 模型推理withtorch.no_grad():# 禁用梯度计算节省显存outputsmodel.generate(**inputs,generation_configgeneration_config)# 解码输出output_texttokenizer.decode(outputs[0],skip_special_tokensTrue)# 提取模型回复截断掉提示词部分responseoutput_text.split(### Response:\n)[-1].strip()print(fResponse:{response})# 更新对话历史history.append((raw_input_text,response))需要强调的是4位量化配置通过 BitsAndBytesConfig 启用4位量化将模型显存占用降低75%适配低配GPU。generate_prompt函数将历史对话与当前输入拼接为模型可识别的提示词格式实现上下文关联。torch.no_grad()推理时禁用梯度计算避免不必要的显存消耗。对话历史维护用列表 history 存储(user_input, model_response)元组实现多轮上下文记忆。5、4位量化推理nf4格式4位量化是大模型推理的核心优化手段通过降低模型权重的精度大幅减少显存占用同时尽可能保留模型性能。量化核心配置解析bnb_configBitsAndBytesConfig(load_in_4bitTrue,# 开启4位量化bnb_4bit_quant_typenf4,# 采用nf4量化格式针对正态分布数据优化bnb_4bit_compute_dtypetorch.float16,# 计算时用float16平衡精度与速度bnb_4bit_use_double_quantTrue,# 双重量化对量化后的权重再次量化进一步压缩)关键说明nf4 Normalized Float 4专为大模型权重的正态分布设计比普通4位量化精度更高。4位量化可将7B模型的显存占用从约14GB降至4GB左右使低配GPU也能运行大模型。6、LoRA模型推理LoRALow-Rank Adaptation是轻量级微调技术推理时需将LoRA权重与基础模型合并无需单独加载多个模型文件。LoRA模型加载与合并代码frompeftimportPeftModel# 加载基础模型base_model_path/mnt/chinese-llama-2-7bbase_modelAutoModelForCausalLM.from_pretrained(base_model_path,device_mapauto,torch_dtypetorch.float16)# 加载LoRA模型并与基础模型合并lora_model_path/mnt/chinese-llama-2-lora-7bmodelPeftModel.from_pretrained(base_model,lora_model_path)modelmodel.merge_and_unload()# 合并LoRA权重到基础模型# 后续推理流程与普通模型一致tokenizerAutoTokenizer.from_pretrained(base_model_path)inputstokenizer(上海有什么标志性建筑,return_tensorspt).to(device)outputsmodel.generate(**inputs,max_new_tokens100)print(tokenizer.decode(outputs[0],skip_special_tokensTrue))五、vLLM高效推理部署vLLM是开源的大模型推理服务引擎能将推理速度提升24倍支持高并发请求适合生产环境部署。1. vLLM安装与基础推理pipinstall-i https://pypi.tuna.tsinghua.edu.cn/simple vllm用国内清华源安装vLLMimporttorchfromvllmimportLLM,SamplingParams# 初始化vLLM模型llmLLM(model/mnt/chinese-alpaca-2-7b,tensor_parallel_size1,# 张量并行数单卡设为1dtypefloat16,)# 定义采样参数sampling_paramsSamplingParams(temperature0.2,top_p0.9,max_tokens400,)# 多轮对话逻辑system_prompt你是一个乐于助人的助手。history[]print(vLLM多轮对话输入空行结束)whileTrue:raw_inputinput(Input: )iflen(raw_input.strip())0:break# 构建带系统提示和历史的输入promptsystem_promptforq,ainhistory:promptf\n用户{q}\n助手{a}promptf\n用户{raw_input}\n助手# vLLM推理outputsllm.generate([prompt],sampling_params)responseoutputs[0].outputs[0].text.strip()print(fResponse:{response})history.append((raw_input,response))值得注意的喵LLM 类vLLM的核心模型加载类自动优化显存与推理速度。tensor_parallel_size 多卡环境可设为GPU数量实现张量并行加速。vLLM优势采用PagedAttention技术大幅提升吞吐量支持每秒处理30k对话请求。2. 不同GPU的vLLM推理性能GPU型号计算能力适配场景NVIDIA A1008.0大规模集群推理NVIDIA T47.5中小型服务部署NVIDIA V1007.0企业级推理服务Tesla P1006.0入门级大模型推理Tesla P46.1轻量级推理测试如果你觉得这篇文章有意思不妨赏点小鱼干喵
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建好更新公司网站建设流程图

从一次“找不到头文件”说起:工控项目中Keil工程结构的深层陷阱与破局之道 你有没有经历过这样的场景? 凌晨两点,项目紧急联调,代码写完准备编译——突然弹出红字警告: fatal error: adc_driver.h: No such file or…

张小明 2025/12/28 14:55:44 网站建设

湖南高端建设网站网站中下滑菜单怎么做

在当今快节奏的软件开发环境中,开发者们面临着前所未有的效率挑战——从日常的代码补全到复杂的项目架构设计,从个人开发到团队协作,每一个环节都需要投入大量时间和精力。而MonkeyCode的出现,正在彻底改变这一现状。 代码补全&am…

张小明 2025/12/23 21:15:19 网站建设

影视网站建设的总体目标邢台网拓信息技术服务有限公司

让电路仿真“活”起来:用数据库驱动Multisim自动化实验你有没有经历过这样的场景?设计一个电源模块,需要测试10种输入电压、5种负载条件和3种温度配置下的输出稳定性——总共就是 $10 \times 5 \times 3 150$ 组参数组合。如果每组都要手动改…

张小明 2025/12/23 21:14:16 网站建设

快速做网站公司报价把html变成wordpress主题

从零开始玩转物联网:手把手带你搞定 Arduino IDE 环境搭建 你有没有想过,家里的温湿度计能自动上传数据到手机?楼道的灯光会根据人影自动亮起?这些看似“聪明”的小设备,背后其实都离不开一个简单却强大的工具—— A…

张小明 2025/12/30 7:52:48 网站建设

国外的营销网站丽水微信网站建设报价

如何快速下载B站高清视频:bilidown终极使用指南 【免费下载链接】bilidown 哔哩哔哩视频解析下载工具,支持 8K 视频、Hi-Res 音频、杜比视界下载、批量解析,可扫码登录,常驻托盘。 项目地址: https://gitcode.com/gh_mirrors/bi…

张小明 2025/12/23 21:12:10 网站建设

旅游网站建设合同大学电子系的建设网站的方案

从零开始搭建 ESP32 开发环境:Arduino IDE 实战全指南 你是不是也曾在某天晚上,满怀期待地打开电脑,插上刚买的 ESP32 开发板,准备开启你的物联网项目——结果却发现 Arduino IDE 根本找不到板子?串口报错、驱动装不上…

张小明 2025/12/31 8:46:17 网站建设