基于ChatGLM微调多任务
Created|Updated|FTlora微调基于ChatGLM微调多任务
|Post Views:
项目整体介绍:
项目背景
LLM拥有庞大的知识库,但是博而不精。在RAG项目中ChatModel,主要是用来回答用户的通用型知识和陪着聊天,但是LLM完成一些任务会存在一些答案解析上的困难,比如输出答案的格式:生成json格式、给生成的答案加水印等等。一般可以通过提示词完成,但是提示词有缺点,比如用户问:把上一代产品和现在的芯片做一个对比图,大模型私有化部署后,不知道上一代产品是什么,你需要告诉它上一代产品是G250芯片,现在是G260芯片,RAG只能给大模型提供什么是B260芯片,以及相关参数知识。但不能解决大模型理解用户的习惯问题。微调能更懂用户(企业)的偏好。
微调和提示词的优缺点:
| 维度 | 🛠️ 微调 | 🎩 提示词工程 |
|---|---|---|
| 核心比喻 | 量身定制的专属司机 熟知你的习惯、路线和偏好,无需多言。 | 使用通用地图APP 功能强大,但每次都要重新输入目的地和设置偏好。 |
| 工作原理 | 改变模型“大脑”结构 通过训练数据更新模型权重,内化知识和规则。 | 给模型“临时指令” 通过精心设计的文字引导模型,不改变其底层参数。 |
| 优点 | ✅ 高可靠性 & 一致性:形成“肌肉记忆”,输出稳定。 ✅ 效率高 & 成本优:提示词简短,节省Token,长期成本低。 ✅ 知识内化:能学会复杂、隐含的业务逻辑和风格。 ✅ 私有部署:模型可部署在本地,保障数据隐私。 | ✅ 快速迭代 & 零成本启动:立竿见影,无需训练资源和时间。 ✅ 灵活性极高:可随时修改、测试不同指令,试错成本低。 ✅ 通用性强:一个基础模型可通过不同提示应对万千任务。 ✅ 技术门槛低:不需要机器学习知识,人人可上手。 |
| 缺点 | ❌ 高初始成本:需要数据、算力、时间和专业知识。 ❌ 灵活性差:一旦训练完成,不易快速调整方向。 ❌ 可能遗忘:过度微调可能导致模型遗忘原有通用知识。 ❌ “黑箱”升级:很难直观理解模型具体学到了什么。 | ❌ 输出不稳定:容易受提示词表述影响,可能“不听话”。 ❌ 效率较低:复杂任务需要冗长的提示,占用上下文窗口。 ❌ 性能天花板:对于极其复杂的任务,可能无法通过提示解决。 ❌ 数据泄露风险:使用云端API时,提示词可能被记录。 |
| 适用场景 | 🎯 专业化生产流水线 - 企业级客服机器人 - 法律、医疗等专业领域问答 - 固定格式报告生成 - 需要私有化部署的场景 | 🎯 万能瑞士军刀 - 快速原型验证与探索 - 个人或非频繁使用的任务 - 创意生成、头脑风暴 - 需要极高灵活性的研究 |
多任务数据预处理方式
LoRA方式微调ChatGLM模型代码实现和训练
驱动云使用的扩展
Author: 甘虎文
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2024-02-25
基于ChatGLM微调多任务实战
基于ChatGLM微调多任务实战1. 项目介绍【理解】 1.1. 项目简介LLM(Large Language Model)通常拥有大量的先验知识,使得其在许多自然语言处理任务上都有着不错的性能。但,想要直接利用 LLM 完成一些任务会存在一些答案解析上的困难,如规范化输出格式,严格服从输入信息等。因此,在这个项目中我们对大模型 ChatGLM-6B 进行 Finetune,使其能够更好的对齐我们所需要的输出格式。 1.2. ChatGLM-6B模型1.2.1 模型介绍ChatGLM-6B 是清华大学提出的一个开源、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。该模型使用了和 ChatGPT 相似的技术,经过约 1T 标识符的中英双语训练(中英文比例为 1:1),辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答(目前中文支持最好)。 相比原始Decoder模块,ChatGLM-6B模型结构有如下改动点: embedding 层梯度缩...
2025-01-27
lora微调笔记
微调笔记 分类: fine tuning 传统全量微调,(高质量微调) prompt tuning(提示词微调) 技术:指令微调 上下文学习 chain of thought(思维链) PET模型(Pattern-Exploiting Training) POFT方法:分成三种类型:(面向提示的微调) 全量微调(Full Fine-Tuning):模型所有参数都参与更新,包括预训练模型参数和下游任务层参数。如PET模型。 部分参数微调(Partial Fine-Tuning):只更新预训练模型中的一部分参数,比如高层 transformer block、某些 attention 层或特定模块,其余参数冻结。如Adapter Tuning。 仅提示参数微调(Prompt-Only Tuning):冻结原始预训练模型参数,只训练 prompt 参数。如P-tuning、Prompt Tuning等。 Soft Prompt及微调方法PEFT(参数高效微调) conda env export > /ptune_chatglm/...
2024-03-30
大模型微调的主要方式
大模型微调的主要方式【掌握】1、大模型Prompt-Tuning方法1.1 NLP任务四种范式 第一范式:基于传统机器学习模型 第二范式:基于深度学习 第三范式:基于预训练模型+fine-tuning 第四范式:预训练模型+Prompt+预测 1.2 Fine-Tuning(微调)Fine-Tuning基本思想:使用小规模的特定任务文本继续训练预训练语言模型。 Fine-Tuning问题: 所需的Fine-Tuning量取决于预训练语料库和任务特定语料库之间的相似性。如果两者相似,可能只需要少量的Fine-Tuning,如果两者不相似,则可能需要更多的Fine-Tuning,并且效果不明显。 成本高 Prompt-Tuning的基本思想:通过添加模板的方法将任务目标转化为与预训练目标相似的形式(如MLM),避免引入额外的参数的同时,最大化利用模型的预训练知识。 Prompt-Tuning主要解决传统Fine-Tuning方式的两个痛点: **降低语义偏差:**预训练任务主要以MLM为主,而下游任务则重新引入新的训练参数,因此两个阶段目标差异较大。因此需要解决Pre-Tra...
2024-03-13
基于GPT2的医疗问诊机器人
基于GPT2的医疗问诊机器人 学习目标 理解医疗问诊机器人的开发背景. 了解企业中聊天机器人的应用场景 掌握基于GPT2模型搭建医疗问诊机器人的实现过程 1. 项目介绍【理解】1.1 项目背景 本项目基于医疗领域数据构建了智能医疗问答系统,目的是为为用户提供准确、高效、优质的医疗问答服务。 1.2 环境准备 python==3.10 transformers==4.40.2 torch==2.5.1+cu121 1.3 项目整体结构 整体代码结构: 2. 数据处理【实现】2.1 数据介绍 数据存放位置:llm_tuning/Gpt2_Chatbot/data data文件夹中存有原始训练语料为train.txt。train.txt的格式如下,每段闲聊之间间隔一行,格式如下: 12345帕金森叠加综合征的辅助治疗有些什么?综合治疗;康复训练;生活护理指导;低频重复经颅磁刺激治疗卵巢癌肉瘤的影像学检查有些什么?超声漏诊;声像图;MR检查;肿物超声;术前超声;CT检查 2.2 数据处理 目...
2024-01-19
新零售行业评价决策系统
新零售行业评价决策系统一、项目介绍【理解】1、项目背景 随着科技的迅速发展和智能设备的普及,AI技术在新零售行业中得到了广泛应用。其中 智能推荐系统 是AI技在新零售中最为常见且有效的应用之一。通过分析用户的购买历史、浏览行为以及喜好偏好,推荐系统可以根据个人特征给用户进行个性化商品推荐。这种个性化推荐不仅可以提高用户购买意愿,减少信息过载,还可以带来更高的用户满意度和销量。 在智能推荐系统中,文本分类的应用属于重要的应用环节。比如:某电商网站都允许用户为商品填写评论,这些文本评论能够体现出用户的偏好以及商品特征信息,是一种语义信息丰富的隐式特征。 相比于单纯的利用显式评分特征,文本信息一方面可以弥补评分稀疏性的问题,另一方面在推荐系统的可解释方面也能够做的更好。 因此,本次项目我们将 以”电商平台用户评论”为背景,基于深度学习方法实现评论文本的准确分类 ,这样做的目的是通过用户对不同商品或服务的评价,平台能够快速回应用户需求,改进产品和服务。同时,自动分类也为个性化推荐奠定基础,帮助用户更轻松地找到符合其偏好的商品。 2、评论文本分类实现方法2.1 传统的深度学习方法 目前实...