1 vllm
1.1常用概念
1 vllm:是一种大模型推理的框架,使用了张量并行原理,把大型矩阵分割成低秩矩阵,分散到不同的GPU上运行。
2 模型推理与训练:模型训练是指利用pytorch进行对大模型进行预训练。
模型推理是指用训练好的模型对新的输入生成输出的过程
3 大模型一般的训练过程:1 先对大模型进行无监督预训练。2 对模型进行微调
4 张量:向量到二维矩阵、三维矩阵等。
5 张量并行技术:张量并行技术主要用在大模型地训练过程中,特别是参数两巨大的模型,比如说transformer、GAN。
VLLM技术要点
1 张量并行化和模型并行化
VLLM支持将大型模型分布在多个GPU上进行并行计算,这包括张量并行化(Tensor Paralelism)和模型并行化(ModelParallelism)。张量并行化将模型的权重和激活在多个GPU之间切分,而模型并行化则将模型的不同层分配给不同的GPU,以此来有效利用多GPU资源.
2 连续批处理
VLM通过连续批处理(Consecutive Batch processing)技术,能够在GPU上无缝处理连续的输入序列,而无需等待额外的主机到设备数据传输。这减少了等待时间和上下文切换,从而提高了GPU利用率和整体推理速度。
4. PagedAttention
PagedAttention是一种创新的注意力机制,用于处理长序列输入,通过将输入序列分割成多个页面,每个页面独立处理,减少了全局注意力计算的复杂度,从而降低了内存使用和计算时间。
5 量化
VLLM支持不同的量化技术,如GPTQ和AWQ,这些技术能够将模型的权重量化到更低的精度,比如int4或int8,从而减少模型的内存占用,提高计算效率。
6.低延迟和高吞吐量
VLM的设计重点之一是提供低延迟的响应,即使在处理高并发请求时也能保持高性能。它能够高效地处理大量并发的文本生成请求,适合于大规模部署和实时应用。
2 lora和qlora的原理
1 lora 又名low rank adaptation,低秩矩阵自适应。特别适用于微调大规模语言预训练模型。
2 优势:直接对大规模语言模型进行全参数微调(full finetuning)计算量非常大。lora通过引入两个低秩矩阵。具体来说是把非常大的权重矩阵,化为两个维度低的矩阵
3 function call和ReAct
1 function call:模型主动调用在外部工具或者api的能力
2 ReAct:ReAct能够在不具备Function Calling能力的模型上发挥作用
4 agent
1 agent是什么
5 deepseek模型训练步骤
第一步,进行大规模无监督预训练学习。目的是让模型学会语言的基本结构与模式
第二步,使用质量冷启动数据(cot数据)对模型进行有监督微调。获得基本的格式遵循和反思验证能力
第三步,强化学习
6 项目迭代过程
6.1 第一阶段
该阶段采用的模型为GLM系列地模型,
模型参数较少,text2sql能力差
多轮对话历史影响大,调用tool的历史问答信息会很大程度上影响后续问题的回答。
通识问题易识别为调用问题,若用户给定function描述,模型有更大的倾向选择去调用
6.2 第二阶段
该阶段采用qwen32B
相较GLM的Text2SQL能力更好,受历史信息影响的情况大幅降低,对于是否需要调用SQL查询的判断能力更强。 对模型的测试后准确率大致在45%左右,因此拟对模型进行微调
构建了1378个问题的微调数据集。
构建的方法:
1 给定GPT数据库描述和应用场景批量的生成可能的用户提问,人工对这批问题进行调整(让问题更像人问出来的),
2 再用GPT生成相对应的SQL语句,编程代码批量将这些SQL对数据库进行查询,返回查询结果,人工对SQL和返回数据进行查验( SQL语句的特殊在于无法根据是否有返回结果来验证,对于用户的问题可能生成了错误理解的SQL而碰巧返回了结果,而未返回结果的不一定是错误,可能是因为数据库中没有存储相对应的数据,如今年的环境数据,因此需要人工对SQL一一核对并修正)