LLM大语言模型算法特训,带你转型AI大语言模型算法工程师
xia讠果☛
lexuecode.com/7402.html
LLM大语言大模型介绍
大语言模型(LLM)是一种利用机器学习技术来理解和生成人类语言的人工智能模型。 对于希望从各个方面增强通信和数据处理并实现自动化的企业和机构而言,LLM 具有极高的价值。 LLM 使用基于神经网络的模型,通常运用自然语言处理(NLP)技术来处理和计算其输出。
LLM大语言模型算法特训,带你转型AI大语言模型算法工程师 - 大模型训练-SFT
1.SFT 监督微调
1.1 SFT 监督微调基本概念
SFT(Supervised Fine-Tuning)监督微调是指在源数据集上预训练一个神经网络模型,即源模型。然后创建一个新的神经网络模型,即目标模型。目标模型复制了源模型上除了输出层外的所有模型设计及其参数。这些模型参数包含了源数据集上学习到的知识,且这些知识同样适用于目标数据集。源模型的输出层与源数据集的标签紧密相关,因此在目标模型中不予采用。微调时,为目标模型添加一个输出大小为目标数据集类别个数的输出层,并随机初始化该层的模型参数。在目标数据集上训练目标模型时,将从头训练到输出层,其余层的参数都基于源模型的参数微调得到。
1.2 监督微调的步骤 具体来说,监督式微调包括以下几个步骤:
预训练: 首先在一个大规模的数据集上训练一个深度学习模型,例如使用自监督学习或者无监督学习算法进行预训练;
微调: 使用目标任务的训练集对预训练模型进行微调。通常,只有预训练模型中的一部分层被微调,例如只微调模型的最后几层或者某些中间层。在微调过程中,通过反向传播算法对模型进行优化,使得模型在目标任务上表现更好;
评估: 使用目标任务的测试集对微调后的模型进行评估,得到模型在目标任务上的性能指标。
1.3 监督微调的特点
监督式微调能够利用预训练模型的参数和结构,避免从头开始训练模型,从而加速模型的训练过程,并且能够提高模型在目标任务上的表现。监督式微调在计算机视觉、自然语言处理等领域中得到了广泛应用。然而监督也存在一些缺点。首先,需要大量的标注数据用于目标任务的微调,如果标注数据不足,可能会导致微调后的模型表现不佳。其次,由于预训练模型的参数和结构对微调后的模型性能有很大影响,因此选择合适的预训练模型也很重要。
LLM大语言模型算法特训,带你转型AI大语言模型算法工程师 - Rank Loss —— 通过排序序列学会打分
假定现在有一个排好的序列:A > B > C >D。
我们需要训练一个打分模型,模型给四句话打出来的分要满足 r(A) > r(B) > r© > r(D)。
那么,我们可以使用下面这个损失函数:
其中,yw 代表排序排在 yl 的所有句子。
用上述例子(A > B > C > D)来讲,loss 应该等于:
loss = r(A) - r(B) + r(A) - r(C) + r(A) - r(D) + r(B) - r(C) + ... + r(C) - r(D)
loss = -loss
为了更好的归一化差值,我们对每两项差值都过一个 sigmoid 函数将值拉到 0 ~ 1 之间。
可以看到,loss 的值等于排序列表中所有「排在前面项的 reward」减去「排在后面项的 reward」的和。
而我们希望模型能够「最大化」这个「好句子得分」和「坏句子得分」差值,而梯度下降是做的「最小化」操作。
因此,我们需要对 loss 取负数,就能实现「最大化差值」的效果了。