上一章介绍了如何基于APE+SELF自动化构建指令微调样本.这一章咱就把微调跑起来,主要介绍以Lora为首的低参数微调原理,环境配置,微调代码,以及大模型训练中显存和耗时优化的相关技术细节 标题这样写是因为上周突然收到了一周内上线一版chatbo的命令,原因无它领导们都刷到了<一个小时你也可以拥有ChatGPT>,<100美金训练ChatGPT>,<仅训练3小时超越ChatGPT>,<人人都可以拥有ChatGPT>...领导说人人都有了为啥我没有呀?!!真诚…
上一章我们介绍了不同的指令微调方案, 这一章我们介绍如何降低指令数据集的人工标注成本!这样每个人都可以构建自己的专属指令集, 哈哈当然我也在造数据集进行时~ 介绍两种方案SELF Instruct和Automatic Prompt Engineer,前者是基于多样的种子指令,利用大模型的上下文和指令理解能力,以及生成的多样性来Bootstrap生成更多样的指令样本,后者是prompt逆向工程,基于输入和输出,使用LLM来生成和挑选最优的prompt指令. 于是我把这两个方法强行组了CP,用APE…
这一章我们介绍固定prompt微调LM的相关模型,他们的特点都是针对不同的下游任务设计不同的prompt模板,在微调过程中固定模板对预训练模型进行微调.以下按时间顺序介绍,支持任意NLP任务的T5,针对文本分类的两篇PET和LM-BFF. 在小样本场景,固定prompt微调LM对比常规微调的优点,在分类任务上比较直观我能想到的有三点(在下面PET中会细说) 无需额外的分类层的参数引入,微调成本低 标签词本身前置语义信息的引入,无需重头学习可类比MRC 微调和预训练的Gap更小,任务转化成LM任务…
这一章我们介绍在下游任务微调中固定LM参数,只微调Prompt的相关模型.这类模型的优势很直观就是微调的参数量小,能大幅降低LLM的微调参数量,是轻量级的微调替代品.和前两章微调LM和全部冻结的prompt模板相比,微调Prompt范式最大的区别就是prompt模板都是连续型(Embedding),而非和Token对应的离散型模板.核心在于我们并不关心prompt本身是否是自然语言,只关心prompt作为探针能否引导出预训练模型在下游任务上的特定能力. 固定LM微调Prompt的范式有以下几个优…
这一章我们聊聊指令微调,指令微调和前3章介绍的prompt有什么关系呢?哈哈只要你细品,你就会发现大家对prompt和instruction的定义存在些出入,部分认为instruction是prompt的子集,部分认为instruction是句子类型的prompt. 对比前三章介绍过的主流prompt范式,指令微调有如下特点 面向大模型:指令微调任务的核心是释放模型已有的指令理解能力(GPT3中首次提出),因此指令微调是针对大模型设计的,因为指令理解是大模型的涌现能力之一.而prompt部分是面…
java 加解密技术系列之 AES 序 概念 原理 应用 代码实现 结束语 序 这篇文章继续介绍对称加密算法,至于今天的主角,不用说,也是个厉害的角色 — — AES.AES 的出现,就是为了来替代原先的 DES 标准.现在来说,AES 的用途还是非常广泛的. 概念 AES, 全称为“Advanced Encryption Standard”,中文名“高级加密标准”,在密码学中又称 Rijndael 加密法,是美国联邦政府采用的一种区块加密标准.AES 加密算法作为新一代的数据加密标准汇聚了强安…
Java 加解密技术系列之 DES 序 背景 概念 基本原理 主要流程 分组模式 代码实现 结束语 序 前 几篇文章讲的都是单向加密算法,其中涉及到了 BASE64.MD5.SHA.HMAC 等几个比较常见的加解密算法.这篇文章,以及后面几篇,打算介绍几个对称加密算法,比如:DES.3DES(TripleDES).AES 等.那么,这篇文章主要是对 DES 大概讲一下. 背景 在 讨论 DES 之前,首先了解一下什么是对称加密算法吧.对于对称加密算法,他应用的时间比较早,技术相对来说比较成熟,在…
Java 加解密技术系列之 HMAC 序 背景 正文 代码 结束语 序 上一篇文章中简单的介绍了第二种单向加密算法 — —SHA,同时也给出了 SHA-1 的 Java 代码.有这方面需求的童鞋可以去参考一下.今天这篇文章将要介绍第三种单向加密算法 — — HMAC,其实,这种加密算法并不是那么常用,最起码,在我写系列博客之前,我是没有听说过它的.当然,这并不是说 HMAC 不出名,肯定是我孤落寡闻了. 背景 之所以在单向加密算法中介绍 HMAC 这种“不常见的”算法,一是因为“没见过”,二是因…
简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料版本不一.或不全面 .NET官方库密码算法提供不全面,很难针对其他语言(Java)进行适配 本系列文章主要介绍如何在 .NET Core 中使用非对称加密算法.编码算法.消息摘要算法.签名算法.对称加密算法.国密算法等一系列算法,如有错误之处,还请大家批评指正. 本系列文章旨在引导大家能快速.轻松的…
简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料版本不一.或不全面 .NET官方库密码算法提供不全面,很难针对其他语言(Java)进行适配 本系列文章主要介绍如何在 .NET Core 中使用非对称加密算法.编码算法.消息摘要算法.签名算法.对称加密算法.国密算法等一系列算法,如有错误之处,还请大家批评指正. 本系列文章旨在引导大家能快速.轻松的…