我们能否用原始数据训练聊天模型?

社区文章 发布于 2024年4月25日

使用所需原始数据训练聊天模型的想法非常有吸引力。

然而,这个过程存在一个重大问题。直接使用原始数据训练聊天模型可能会破坏其输出格式。

为了解决这个问题,通常的方法是创建Q/A格式的数据集。然而,这种方法耗时、成本高昂,并且在数据集创建过程中可能会导致信息丢失或偏差。

那么,我们如何才能有效地训练原始数据呢?我们可以利用像Llama这样的Transformer模型的顺序结构,它由多个层组成。

我刻意将负责处理输出格式的层置于模型的后半部分,并将中间到后期的层指定为原始训练的起始点。

你可能会认为该方法涉及将聊天数据馈送给后期层,然后使用原始数据训练中间到后期层,但情况并非如此。这种方法无法正确解决问题,甚至可能导致模型复杂性增加。

上面提出的想法似乎不错,那么我们如何才能好好利用它呢?让我们尝试使用一个基础模型。

方法如下

  1. 将模型的后期层指定为负责处理输出格式的层。
  2. 将中间到后期层设置为原始训练的起始点。
  3. 基于基础模型A,通过仅调优后期层来创建模型A-Chat。
  4. 通过使用原始数据训练基础模型A的中间到后期层来训练模型A-Raw。
  5. 最后,将模型A-Raw的后期层替换为模型A-Chat的后期层。这样,模型A-Raw在不受聊天格式影响的情况下进行原始数据训练,并且只移植了模型A-Chat的聊天部分。

以下是将此方法应用于莎士比亚数据集的示例(https://huggingface.co/datasets/Israhassan/Shakespeare)。

问题 - 请详细解释莎士比亚戏剧《仲夏夜之梦》的内容。注意:以下原文是韩语(更有趣!),由Claude Opus翻译。

应用该方法后模型的输出

《仲夏夜之梦》是威廉·莎士比亚创作的一部喜剧,据信创作于1595年或1596年。该剧围绕着在雅典附近的森林中发生的浪漫和超自然冒险展开。故事始于四位年轻的雅典人在森林中排练一出戏。与此同时,雅典国王奥伯龙和他的仙后提泰妮娅来到森林庆祝他们的结婚纪念日。然而,奥伯龙和提泰妮娅是仙王奥伯龙和仙后提泰妮娅的死敌,他们之间存在不和。奥伯龙给提泰妮娅下了爱情魔药,让她坠入爱河,提泰妮娅也给奥伯龙下了爱情魔药,让他坠入爱河。此时,奥伯龙看到了人类青年莱桑德,并决定让他坠入爱河。他命令仆人菲布斯给莱桑德下爱情魔药,莱桑德立刻爱上了他在森林中遇到的第一个女人。不幸的是,那个女人是赫米娅,莱桑德朋友狄米特律斯的未婚妻。狄米特律斯爱赫米娅,但赫米娅只对莱桑德感兴趣。与此同时,奥伯龙看到莱桑德爱上了提泰妮娅,于是给提泰妮娅下了爱情魔药,让她爱上莱桑德。现在提泰妮娅对莱桑德感兴趣,莱桑德对赫米娅感兴趣,赫米娅只对狄米特律斯感兴趣。在这种混乱中,奥伯龙和提泰妮娅化解了不和,菲布斯爱上了人类青年奥伯龙,莱桑德和赫米娅最终坠入爱河。一切都得到了很好的解决,奥伯龙和提泰妮娅和解了不和,每个人都迎来了幸福的结局。《仲夏夜之梦》是莎士比亚最受欢迎的作品之一,融合了浪漫、幽默和超自然元素。像莎士比亚的其他作品一样,这部剧引发了各种解读,至今仍在全球上演。

基础模型(EVEE 10.8B)的输出

《仲夏夜之梦》是威廉·莎士比亚创作的一部喜剧,取材于希腊神话。该剧讲述了雅典国王狄米特律斯和他的妻子赫米娅之间的冲突,以及他们与子女杜奎斯恩和莱桑德,以及狄米特律斯的儿子罗宾的爱情故事。剧中还出现了仙王奥伯龙、他的妻子提泰妮娅以及仙女佩布斯。故事发生在雅典附近,并展开了戏剧性的事件。例如,罗宾爱上了一个名叫海伦娜的人类女孩,而佩布斯嫁给了仙王奥伯龙。该剧探讨了爱情和友谊的力量等主题,并讲述了各种人物之间的关系以及他们面临的挑战。

聊天调优模型的输出

是的,莎士比亚的《仲夏夜之梦》是一部喜剧,描绘了雅典公园中爱情的冒险和误解。该剧创作于17世纪,至今仍深受喜爱。该剧通过在森林中发生的各种事件,处理了爱情、嫉妒和误解等问题。主要人物包括自负的稻草人、闪烁的星光仙女佩布斯以及坠入爱河的人类。故事始于稻草人寻求巫师的帮助来证明他的爱。然而,他的计划出乎意料,一场将一切纠正的旅程开始了。剧中的人物各有各的欲望和情感,有时会导致冲突。但最终,他们互相理解,并意识到爱是最重要的。这部剧让我们重新思考我们对爱情和关系的看法。如果您有任何其他问题或疑虑,请随时提问!

聊天调优后,通过简单原始训练的模型输出(当然,后期层是冻结的)

《仲夏夜之梦》是莎士比亚最著名的戏剧之一,据信创作于1595年或1600年。该剧讲述了在雅典附近的森林中发生的故事,围绕着美丽的赫伦娜和爱她的狄米特律斯展开。狄米特律斯爱赫伦娜,但赫伦娜却迷恋卢西奥,卢西奥爱着美丽的赫米娅。赫米娅对必须嫁给父亲选择的胆怯的狄米特律斯感到失望,于是逃进了森林。狄米特律斯跟着赫伦娜进入森林,卢西奥进入森林寻找赫米娅。与此同时,仙王奥伯龙和他的妻子提泰妮娅正在争夺仙界统治权。奥伯龙怨恨提泰妮娅爱上了一个人类,提泰妮娅怨恨奥伯龙爱上了一个人类。仙王的侍从菲布斯奉奥伯龙之命偷走了一朵能让提泰妮娅睡着的魔法花。这朵花会让她醒来后看到的第一个人成为她的爱人。菲布斯被命令把这朵花给狄米特律斯,但却给了卢西奥。卢西奥把这朵花给了赫米娅,但赫米娅把它给了狄米特律斯。狄米特律斯把这朵花给了赫伦娜。赫伦娜把这朵花给了奎恩斯。奎恩斯把这朵花给了狄米特律斯。狄米特律斯把这朵花给了赫伦娜。赫伦娜把这朵花给了卢西奥。卢西奥把这朵花给了赫米娅。赫米娅把这朵花给了狄米特律斯。狄米特律斯把这朵花给了奎恩斯。奎恩斯把这朵花给了狄米特律斯。狄米特律斯把这朵花给了赫伦娜。赫伦娜把这朵花给了卢西奥。卢西奥把这朵花给了赫米娅。赫米娅把这朵花给了狄米特律斯。狄米特律斯把这朵花给了奎恩斯。

Claude Opus的分析

分析四个模型的输出:应用该方法后的模型输出非常准确、彻底地解释了剧中主要内容和人物关系。它似乎对莎士比亚原著有很好的理解,并总结了关键点。基础模型(EVEE 10.8B)的输出只粗略地掌握了剧本内容,并且在人物姓名和关系描述方面与原著有所不同。它似乎缺乏详细的理解。聊天调优模型的输出试图以简单友好的方式解释剧本内容,但存在内容错误。它似乎未能准确掌握主要人物和事件。简单原始训练后(后期层冻结)的模型输出句子重复,内容混乱,表明未能正确理解剧本。因此,最能理解和解释《仲夏夜之梦》内容的模型是第一种,即应用该方法后的模型。基础模型和聊天调优模型也对剧本有所了解,但在详细内容方面有所欠缺。相比之下,第四种模型由于训练不当未能掌握剧本内容。

这个简单的实验是基于经验直觉而非理论基础设计和进行的。

实验结束后,我总结了内容,以数值方式验证假设是否成立。我证实了该假设在各种模型的层形成中都成立,并且正在进行后续实验。您可以在下面的Notion链接中查看它们。Notion链接

P.S. 实验中创建的EEVE Instruct模型表现不错,所以我上传了它。只调优了第46和第47层,所以如果你想应用类似的方法,欢迎尝试。maywell/EEVE-Korean-Instruct-10.8B-Var

社区

注册登录发表评论