1、预训练大模型技术实战以 ChatGLM-6B 为例0ChatGLM-6B:单卡版本开源的对话模型1充分的中英双语预训练:ChatGLM2-6B 在 1:1 比例的中英语料上训练了 1.4T 的 token 量,兼具双语能力,相比于ChatGLM-6B初代模型,性能大幅提升。较低的部署门槛:FP16 半精度下,ChatGLM-6B 需要至少 13GB 的显存进行推理,结合模型量化技术,这一需求可以进一步降低到 10GB(INT8)和 6GB(INT4),使得 ChatGLM-6B 可以部署在消费级显卡上。更长的序列长度:相比 GLM-10B(序列长度1024),ChatGLM-6B 序列长度达
2、2048,ChatGLM2-6B序列长度达8192,支持更长对话和应用。人类意图对齐训练:使用了监督微调、反馈自助、人类反馈强化学习等方式,使模型初具理解人类指令意图的能力。ChatGLM-6B vs ChatGLM2-6B2ChatGLM-6BChatGLM2-6B最大上下文长度20488192推理速度32字符/秒45字符/秒(42%)训练量1T token1.4T token最小部署显存/文本长度6G/1k6G/8K英文综合能力英文综合能力+23%(MMLU)(MMLU)中文综合能力中文综合能力+33%(C(C-Eval)Eval)数学能力数学能力+571%(GSM(GSM-8k)8k)预
3、训练大模型技术实践3-以 ChatGLM-6B 为例-模型本地部署:-本地单机运行ChatGLM-6B模型进行对话-模型微调:-有限资源下对ChatGLM-6B模型进行高效微调ChatGLM-6B 本地推理部署ChatGLM-6B/ChatGLM2-6BChatGLM2-6B:本地运行Demo56ChatGLM2-6B本地部署demoChatGLM2-6B 部署:基础环境配置71)设备和基础环境2)python依赖安装ChatGLM2-6B 部署:模型权重准备8代码直接调用(正常访问 huggingface)ChatGLM2-6B 部署:模型权重准备9代码直接调用(正常访问 huggingfa
4、ce)ChatGLM2-6B 部署:模型权重准备10从本地加载模型将模型加载路径换成本地chatglm-6b1)从 Huggingface 上下载模型实现2)从清华云盘下载模型参数文件,放到本地chatglm2-6b下3)ChatGLM2-6B 部署:模型权重准备本地Web-Demo12ChatGLM2-6B 部署:推理参数设置13top_p:根据概率对候选做截断temperature:锐化概率分布-temperature,top_p数值越小,随机性越小;-最优值对于不同任务或经过微调后可能发生变化ChatGLM2-6B 部署:量化14精度ChatGLM-6B硬件要求(最低)FP1613GB任
5、意8GB显存以上GPU*1INT88GBINT46GBW4/8A16量化方案,显著节省显存:存储时INT4/8,计算时FP16ChatGLM2-6B 部署:量化15精度ChatGLM-6B硬件要求(最低)FP1613GB任意8GB显存以上GPU*1INT88GBINT46GBW4/8A16量化方案,显著节省显存:存储时INT4/8,计算时FP16ChatGLM-6B 微调ChatGLM-6B 微调17 模型微调:利用新的数据,对已有模型进行继续训练 为什么做模型微调?增强模型通用和人类对其能力 模型更加适应专业化领域场景 法律、金融、医疗、教育等场景ChatGLM-6B 微调18Repohtt
6、ps:/ P-tuning v2 的参数高效微调全参数微调支持多轮对话数据集和生成任务数据集大模型微调范式19Prompting手写 prompt 来引导模型适应下游任务。存在问题:成本高,难以达到最优解决方法Auto search of Discrete promptsOptimization of continuous prompts大模型微调范式Pre-training:全量训练,无标注数据Fine-tuning:全量训练,标注数据LoRA:仅训练A、B,W=W0+BAAdapter:插入额外可训练层Parameter effiecient tuningAdapter:加入adapter