- 博客(9)
- 收藏
- 关注
原创 NLP Seminar | 无需Instruction Tuning 实现 Instruction Following?
通常,我们会通过在instruction-following数据集上微调模型,让模型学会遵循指令,称为显式指令调优(explicit instruction-tuning)。然而,作者发现,即使没有明确的指令调优,当我们训练模型仅生成回应(不依赖指令)或只在单一任务上(如生成诗歌或食谱)时,模型有时依然能够遵循指令。这表明,在特定任务中适配语言模型时,它可能意外地作为通用对话助手,回应完全不同的输入。
2024-11-08 04:03:45
1069
原创 (原创)LLM学习总结|模型量化: QLoRA论文笔记
量化的基本原理是根据每个tensor的浮点型最大值和最小值,将其映射为一个固定范围的整形数值集合,比如[-127~127]。假设一个简单的公式:qweight=round(weight/scale),其中qweight代表量化后权重,weight代表量化前权重,scale代表缩放因子,可以看到在进行缩放后为了将浮点型转换为整数过程中增加了round操作丢失了小数部分。在后续计算或反量化为浮点型时存在无法完全还原的情况,这就是精度损失。
2024-08-12 14:20:41
1664
1
原创 算法基础|位运算
对进行逻辑与运算。只有当对应位都是1时,结果才为1,否则为0。5 & 3等价于,结果是0001,即1。:对两个二进制数的每一位进行逻辑或运算。只要有一个对应位是1,结果就是1。5 | 3等价于,结果是0111,即7。:对两个二进制数的每一位进行异或运算。当对应位不同时,结果为1;相同时,结果为0。5 ^ 3等价于,结果是0110,即6。以上运算也被称作是双目运算,即把两个整数作为二进制数,对这两个数的每个数位逐一进行相应运算:将二进制数的每一位向左移动指定的位数,右边用0填充。5
2024-07-30 14:09:58
1043
原创 LLM 实践 - prompt engineering & SFT原创
如果是调用 OpenAI 的 API,可以通过在参数设置 response_format={ "type": "json_object" } 让输出格式为 JSON。不过要记得 prompt 里也需要显式地提出 大模型必须以 JSON 格式输出回答,否则会报错。
2024-07-30 14:05:47
1041
原创 模型量化基础:浮点数表示
尽管单精度浮点数的尾数部分精度有限,但是指数部分的存在使得浮点数能够表示广泛的数值范围,而不仅仅局限于尾数部分的精度。在浮点数表示中,偏移量(Bias)是用于表示指数部分的一个值,使得指数可以表示正数和负数。假设我们有一个单精度浮点数,它的二进制表示为1.57 * 2^1,那么此时指数部分实际上存储的数字为1 + 127 = 128,转换为二进制为 10000000。不过,并不是所有的指数值范围都用于表示实际的指数。有效位数的估算通常是基于尾数位的精度,尾数位是浮点数中用来表示小数部分的部分。
2024-07-07 13:33:04
959
原创 NLP学习总结|ChatGLM模型架构
TODO: 我目前还没有弄清楚的一点是为什么Part A需要注意力分数,如果我们训练目标是通过生成对mask位置的词的预测,难道不是只需要生成部分有注意力分数就行了吗?对于部分 B 中的标记,它们的范围从 1 到跨度的长度。从一个均值为3的泊松分布中采样片段的长度,直到原始文本中15%的字符被掩盖,然后在文本中随机排布填空片段的位置。长度从原始文本长度的50%到100%的均匀分布中采样的片段。这预训练目标针对的是无条件的。Part A就可以看作是cloze的问题描述,masked掉的是需要回答的问题。
2024-05-14 09:10:05
1184
1
原创 NLP学习总结|SFT微调方法之一:LoRA微调
矩阵的秩(rank)分为行秩和列秩,行秩指的是矩阵的线性无关的行的个数,列秩同理。因为一个矩阵的行秩和列秩总是相等的,因此它们统一被叫做矩阵的秩。
2024-04-23 07:24:28
3357
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人