大模型部署和部署优化全流程,都看过来。
首先讲为什么写这篇啊,因为现在基本上都是开源模型的,然后大量的公司需要自己的数据和样本,
所以非研究院这种,基本上都是开源模型二开,所以说基本上都是调试出自己的模型,部署在自己的显卡上。
那么这里就有专门的一个岗位,大伙可以去搜,叫模型部署的岗位,不过只有大公司才会有,一般的话,都是顺手全干完的。
比如我hhh,我一个人能顶人家几个,有时候能力越大,干活越多,而不想干活,就要装糖,然后能力越小,
所以说能力越大,能力越小。
ok,正式开始啊,上面讲了为什么要部署自己的模型,
这里我默认,你知道有ollma这个种东西,也默认你已经下载好了模型,有自己的显卡。
比如说你下载了个各方面都很好的,自我感觉良好的模型,现在要看他能不能用了,一般来说就是,模型的数值验证。
这里汇总了机器学习中常见的评估指标分类:
二元分类
Accuracy(准确率):正确预测的比例
Precision(精确率/查准率):预测为正的样本中实际为正的比例
Recall(召回率/查全率):实际为正的样本中被正确预测的比例
F1 Score:Precision和Recall的调和平均
AUC-ROC:ROC曲线下面积,衡量分类器整体性能
AUC-PR:精确率-召回率曲线下面积(适用于不平衡数据)
检测任务(计算机视觉)
mAP(Mean Average Precision):多个类别AP的平均值
IoU(Intersection over Union):预测框与真实框的交并比
AP(Average Precision):单个类别的平均精确率
P-R Curve:精确率-召回率曲线
NLP任务
机器翻译/文本生成
BLEU:基于n-gram精确率的加权几何平均
ROUGE:基于召回率的评估(ROUGE-N, ROUGE-L等)
METEOR:考虑同义词和词干的标准化评分
CIDEr:专门为图像描述设计的指标
语言模型
Perplexity(困惑度):衡量语言模型预测能力的指标,越低越好
这些随便记一下就行,实际上最后训练完,都要看这些指标,这些个我讲过很多次了,但是训练完之后,一直没讲。
我现在跟你们讲清楚,这个时候一般是模型的格式转化。
模型格式转换: 目的:将训练框架模型转为通用或推理专用格式
比如:
PyTorch->TorchScript / ONNX
TensorFlow->SavedModel / TF Lite / ONNX
Keras->HDF5 / SavedModel
常规而言只有这几种格式,你下来都拿去玩玩,我敢说我的教程基本上没有废话,我个人自身就不听废话,所以只写最简单好懂的
你只需要面试讲得出onnx,HDF5基本上就有了,
然后讲下为什么必须要转化啊:
这个问题我在5月份也提过,没想到大模型现在依旧火爆,因为剩内存和速度,pytorch这种是训练框架,
远不如onnx这种生产引擎消耗少,其次无法发挥出卡的性能,
假设正常有前置对应知识的工程师,他会这么做:导出 → 量化/优化 → 用专用推理引擎部署
通用的话是PyTorch/TensorFlow → ONNX → TensorRT/OpenVINO/ONNX Runtime(这个玩意是加速器,是用来跑onnx文件的,基本上加完速快3倍很正常,调试的好会来到5-8倍,但是我没调出来过-哭泣-)。
然后一般转化完事了优化一下,量化,剪枝,蒸馏。
在下面就是选择推理邀请和部署方式的选择了:
常规的有tensorRT,ONNX Runtime,DeepSpeed-Inference,正常你用onnx这个就行。
这个部署方式内容其实很多,我稍微讲讲,下期就讲这个:
REST API HTTP 接口,最常用,现在主流的是Flask/FastAPI + Gunicorn
还有就是边缘部署可以在设备端直接运行比如TFLite, OpenVINO, NCNN
是不是感觉要长脑子了?还没完呢。
再往后就是封装,监控,日志,CI/CD那一套了。
这些是测开的领域了,我不擅长,我也不讲hhh。
哎呀又写了1600字了,硬件的东西,不同场合的东西我下期再讲了。
#聊聊我眼中的AI#