Datawhale AI 夏令营

Datawhale AI 夏令营

Datawhale AI 夏令营

暑假除了改改返修论文,闲来无事参加个Datawhale AI 夏令营玩玩。我本身不做大模型,研究方向是演化计算,主要针对组合优化问题所以这次抱着尝试的心态参加一下。

大模型微调

我参加的是第三个课程,大模型微调,所谓大模型微调就是利用给定的训练集(当然,可以自主扩充或增强),微调完成预训练的大模型。首先,预训练的大模型已经掌握了基本的特征提取和数据分析的能力,使用新数据进行微调可以很好的利用大模型的这样能力,并完成指定任务。本次而课程使用的是spark-13b模型,内部的算法是LoRA。模型任务是学习设计高考阅读理解题,通过文本+题干与答案之间的对应关系,给定prompt,以监督学习的方式训练模型,使得可以根据prompt自动生成新的阅读理解题目和对应答案,赋能教育行业,提高出题质量,降低人力成本呢。其主要流程如下:

  1. 数据获取:对于模型训练而言,数据的数量和质量都对结果(泛化性能)产生很大影响。一方面,数据量少,导致数据稀疏问题,使得模型无法学到关键特征,且极易过拟合(个人观点:说到底,是因为违反了概率论中的大数定律,少数数据不具代表性);另一方面,数据质量差,包含过多噪声数据和缺失值数据,会误导模型的训练,使得模型学习到错误的特征,直接影响泛化性能(比如,一段文字中的错别字、语法问题,非法符号等)。在平台给出的代码中,虽然对原始数据做了预处理,但是我认为仍不够,因为通过观察训练数据的excel文件,发现了诸多语法和错别字问题,实在让人头疼。
    在这里插入图片描述在这里插入图片描述
    数据预处理之后得到了一个output文件,里面存储了经过处理的数据。问题来了,经过处理的数据仍然包括很多不合理的表达(错误的单词,单独的字母,破坏一段完整的句子的非法符号),显然,这些数据本身的问题肯定会影响模型效果,但是在我对数据进行进一步处理,修改语病和错别字之后,模型的效果并不比使用原始数据的效果要好(不知道是因为内部随机性太大,还是这些数据问题对于模型效果而言微乎其微?个人更偏向前者)。模型的随机性其实直接影响着它的鲁棒性,大语言模型如果内部和输出不稳定,那么在实际部署的时候怎么确保其稳定工作呢?
  2. 模型训练:拿好了数据要准备训练模型时,首先要调整模型的学习率和epoch,学习率太小,模型学得很慢,学习率太大,可能导致不收敛,epoch太小,学习不充分,epoch太大,又导致过拟合,且这两个超参数之间的耦合性还很强。如何设计这两个参数其实是比较棘手的问题,个人设置结果如下:
    [0.00008 10 70
    0.00008 15 69.833333
    0.00008 12 68.0625
    0.00006 17 69.16667
    0.00006 17 69.28819]
    其中前两列分别是学习率和epoch,最后一列是性能得分。此外,对数据进行进一步修正之后得到的结果是[0.00008 10 67.05208],令人费解的实验结果。
    在这里插入图片描述
    咱就说想不明白,这分怎么就越来越低了呢…
  3. 心得与思考:该大模型内部存在了很大随机性,且由于其是黑箱模型,我们只能通过不断地试学习率和epoch(对数据修正试过了,没用,也许扩增数据有用,可以尝试一下,或者修改prompt),说白了,这是一个超参数优化问题,而且两个参数之间存在耦合关系,从学术上来讲,可以把这个大模型微调问题建模为一个双层超参数优化问题,来搜索最优超参数组合,不过,这当然需要足够且大量的算力支撑,对于我,还是随便试试参数比较合适吧哈哈哈哈
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值