探索GrammarGPT:利用监督微调方法的中文语法纠错开源大模型研究
GrammarGPT:基于监督微调的中文语法纠错开源LLMs探索
语法纠错的目的是自动纠正不符合语法的句子。最近有些项目已经证明了闭源大型语言模型(llm,例如ChatGPT)在语法错误纠正方面的出色能力。然而,开源LLMs的潜力仍未得到开发。本文介绍了开源LLMs GrammarGPT,初步探讨了其在汉语语法纠错方面的潜力。GrammarGPT 的核心配方是利用chatgpt生成和人工注释的混合数据集。实验结果表明,GrammarGPT 显著优于现有的 SOTA 系统。尽管模型参数比 SOTA 基线大20倍,但指令调优所需的数据量却少了1200倍,这说明了开源llm在本地CGEC上的潜力。我们的 GrammarGPT 在 NLPCC 2023 SharedTask1中排名第三,证明了我们的方法的有效性。
今日AI资讯 2023-08-21 星期一
阿里:将推出大模型数学工具 MindOpt Copilot
联想推出AI大模型训练服务器
"视频版ControlNet"开源了,靠提示词精准换画风,全华人团队出品
清华系团队开源多模态生物医药大模型
AI创企Arthur开源大模型性能评估工具
Meta将推出"免费版编程工具" - Code Llama
腾讯云智能·文案创作:一键生成高质量视频脚本的全能创作工具
美联社禁用ChatGPT创建发布内容
阿里大文娱旗下科技业务公司神力视界孵化出爆款APP妙鸭相机
OpenAI首次公开收购,选择了开源版“我的世界”团队
一、背景介绍
语法错误纠正(grammar Error Correction, GEC)旨在不改变句子的意思,自动纠正不符合语法的句子。在此之前研究汉语语法纠错(CGEC)主要是来自国外汉语学习者的错误,很明显这是不对的。
因此,本次研究转向了母语人士的语法错误,这更加微妙和具有挑战性。
以往对GEC的研究主要采用Seq2edit和Seq2seq两种方法,并在各种GEC上取得了令人印象深刻的性能基准。随着LLMs的出现,有人对闭源LLMs(如ChatGPT)的性能进行了评估,并透露了其出色的错误检测和纠正能力。然而,潜在的的开源LLMs仍未被探索。
在本文中,我们介绍了GrammarGPT,这是一种用于研究语法的新模型开源llm架构通过监督微调解决汉语语法错误纠正(CGEC)的潜力。对CGEC llm进行微调的关键挑战是获得包含母语人士语法错误的高质量并行数据。但是,手动注释这些数据不仅耗时而且代价昂贵,因此需要使用探索自动数据标注方法。最近的研究已经成功地利用从ChatGPT提取的数据和真实世界的数据集对特定领域的LLMs进行微调,有效降低成本的同时实现优越的性能。受这一研究思路的启发,我们提出了一种混合方案包含不同类型的汉语语法错误的数据集。
具体来说,我们首先提出了一种启发式的语法错误检测方法
如图所示,这些线索引导ChatGPT通过提供这些线索来生成不符合语法的句子。然后,对于那些没有线索的错误,我们从公共网站上收集不符合语法的句子并改正手动。此外,我们还提出了一种误差不变的数据增强方法,通过替换命名实体来增强数据的多样性在与相似数据并行的情况下,可以提高模型的识别能力纠正汉语语法错误。我们最终构建了1k个并行数据,并利用这些数据对llm进行指令调优微调。
二、构造混合数据集
下面表中显示了六种以英语为母语的人常常犯的主要语法错误类型,可分为有(w/)线索和没有(w/o)线索两种类型。我们可以找到错误句子流利,符合汉语母语习惯。然而,他们不符合汉语语法,想正确就比较困难了。
表1:各种语法错误的例句。
对那些有(w/)线索的语法错误,我们可以很容易地发现并纠正它们。例如,出现的"超过(more than)"和"大约(about)"导致冗余组件的错误和我们可以去掉其中一个,使句子符合汉语语法。然而,对于那些没有线索的错误,需要对汉语语法有更深的了解检测和纠正。
虽然人工注释的数据提供了高质量的样本,但相关的高成本仍然是一个重要的问题。为了解决这个问题,我们采取了一种妥协的方法。引入ChatGPT生成不符合语法的句子;网上搜集再对不符合语法的句子进行标注。
采用误差不变增强技术,将并行数据中的命名实体替换为相似实体,进一步增强了模型的校正能力
汉语语法错误。最后,我们将并行数据转换为指令,然后利用这些指令对llm进行微调。
2.1 ChatGPT生成数据
有线索的语法错误很容易被发现,并通过识别具体的线索来纠正。例如,more than和about放在一起使用,导致成分冗余;The cause和cause by放在一起使用,导致结构混乱;prompt和pace放在一起使用,导致搭配不当。相反,我们可以通过将这些线索插入到符合语法的句子中来构建不符合语法的句子。我们可以通过提供这些从公共网站收集的线索来指导ChatGPT生成符合我们要求的不符合语法的句子。
2.2 人工标注数据
对于没有明显的语法线索错误句子,我们收集了公共网站的数据,并手工标注。
- 常见的六种病句类型
- 初中语文期末复习:常见病句类型汇总,高频考点!
- 关联词语使用不当的病句及其修改
- 初中语文病句辨析“10不放过”,从此病句无难题
- https://zhuanlan.zhihu.com/p/479275444
- https://www.zszzs.com/wendang/qitafanwen/54091.html
- https://baijiahao.baidu.com/s?id=1742587369710610978&wfr=spider&for=pc
- https://baijiahao.baidu.com/s?id=1617092703098480309&wfr=spider&for=pc
- https://www.renrendoc.com/paper/208183328.html
- https://baijiahao.baidu.com/s?id=1675817725570818147&wfr=spider&for=pc
- http://bj.xdf.cn/zhongkao/chuer/zhidao/134300.html
- http://bj.xdf.cn/zhongkao/chuer/zhidao/134299.html
- https://www.yueyeche.com.cn/zhjx/202207/19911.html
2.3 错误不变、数据增强
为了优先考虑模型对本地语法错误的关注并提高其鲁棒性,我们设计了一种错误不变的增强方法。
汉语的语法错误往往是微妙的,很少发现在命名实体的位置。因此,我们采用将并行数据中的命名实体替换为相似实体(同义词)的策略。
通过采用这种增强方法,模型可以集中精力进行识别不变的错误,而不是特定的名词,从而提高其性能纠正细微的和难以察觉的语法错误。
三、指令微调
指令调优已经成为调优llm的主流方式,通过提供明确的指令来增强模型理解。
在本文中,我们遵循了这一主流方式,并对llm进行了微调指令调优。指令细节如表2所示,主要是由四个部分组成:
-
- 任务后缀:该组件指导llm承担AI的角色助手。
-
- 任务描述:这里是llm需要完成的具体任务完成是轮廓。
-
- 输入:这对应于使用的不符合语法的句子微调过程中的输入。
-
- 输出:这表示符合语法的句子,作为微调期间的预期输出。
超参数详细信息
训练数据集
共构建1061个并行数据样本,大约35%是手工标注的,而剩下的65%是用ChatGPT生成的。
微调脚本finetuning.py
# https://github.com/FreedomIntelligence/GrammarGPT/blob/main/finetune.py
python finetuning.py
四、推理
验证数据集
采用NLPCC2023开源的数据集
https://github.com/masr2000/NaCGEC/blob/main/data/nacgec.test.input
推理脚本
# https://github.com/FreedomIntelligence/GrammarGPT/blob/main/generate.py
python generate.py
影响分析
在我们对我们的贡献的中,即混合数据集的构建和误差不变增强方法。
值得注意的是,无论是否应用数据增强,在chatgpt生成的数据上训练的模型始终优于训练人类注释数据的模型。将这一观察结果归因于两个主要原因:
- 首先,人工标注的数据量比ChatGPT生成的数据量要少,因为人工标注的成本较高。
- 第二,没有线索的语法错误更难纠正。
此外,我们的混合数据集展示了增强的潜力本机CGEC的性能。这一发现证实了我们的方法在构建由汉语语法错误组成的混合数据集方面的有效性。
此外,通过采用误差不变增强方法,我们观察到在混合数据集上训练的模型在召回率和F0.5指标上有显着改善,但在精度上只有微小改善。这表明我们的增强技术通过迫使模型更加关注增强数据中的语法错误来增强模型检测语法错误的能力。
五、应用场景
六、总结
本文介绍了一种开源的大型语言模型(LLM) GrammarGPT
专门设计的汉语语法错误纠正。首先构建了一个包含大约1k个并行数据样本的混合数据集。它包括chatgpt生成的数据和人工注释的数据,用于处理有线索和没有线索的语法错误。此外,我们引入了一种错误不变增强方法,通过强制模型更加关注增强数据中的语法错误,来提高模型对汉语语法错误的纠正能力。我们在构建的数据集上进一步微调开源大规模语言模型。
实验结果和深入分析证明了GrammarGPT在汉语语法纠错中的有效性。
【点击➕关注】:小贾探AI
本人投身于软件行业近十载,专注于WEB工程落地、大数据领域、图谱领域以及AI领域(大模型-GPT-应用落地),平时会在公众号不定期发布一些技术类和实践类的文章,欢
迎关注,一起进步一起成长~
引用
- https://arxiv.org/pdf/2307.13923
- https://github.com/FreedomIntelligence/GrammarGPT
- https://huggingface.co/bigscience/bloom
- https://github.com/yizhongw/self-instruct
- https://github.com/FreedomIntelligence/LLMZoo
上一篇: 在线英语语法校验工具
下一篇: 文本纠错序言
推荐阅读
-
【摩尔线程+Colossal-AI强强联手】MusaBert登上CLUE榜单TOP10:技术细节揭秘 - 技术实力:摩尔线程凭借"软硬兼备"的技术底蕴,让MusaBert得以从底层优化到顶层。其内置多功能GPU配备AI加速和并行计算模块,提供了全面的AI与科学计算支持,为AI推理和低资源条件下的大模型训练等场景带来了高效、经济且环保的算力。 - 算法层面亮点:依托Colossal-AI AI大模型开发系统,MusaBert在训练过程中展现出了卓越的并行性能与易用性,特别在预处理阶段对DataLoader进行了优化,适应低资源环境高效处理海量数据。同时,通过精细的建模优化、领域内数据增强以及Adan优化器等手段,挖掘和展示了预训练语言模型出色的语义理解潜力。基于MusaBert,摩尔线程自主研发的MusaSim通过对比学习方法微调,结合百万对标注数据,MusaSim在多个任务如语义相似度、意图识别和情绪分析中均表现出色。 - 数据资源丰富:MusaBert除了自家高质量语义相似数据外,还融合了悟道开源200GB数据、CLUE社区80GB数据,以及浪潮公司提供的1TB高质量数据,保证模型即便在较小规模下仍具备良好性能。 当前,MusaBert已成功应用于摩尔线程的智能客服与数字人项目,并广泛服务于语义相似度、情绪识别、阅读理解与声韵识别等领域。为了降低大模型开发和应用难度,MusaBert及其相关高质量模型代码已在Colossal-AI仓库开源,可快速训练优质中文BERT模型。同时,通过摩尔线程与潞晨科技的深度合作,仅需一张多功能GPU单卡便能高效训练MusaBert或更大规模的GPT2模型,显著降低预训练成本,进一步推动双方在低资源大模型训练领域的共享目标。 MusaBert荣登CLUE榜单TOP10,象征着摩尔线程与潞晨科技联合研发团队在中文预训练研究领域的领先地位。展望未来,双方将携手探索更大规模的自然语言模型研究,充分运用上游数据资源,产出更为强大的模型并开源。持续强化在摩尔线程多功能GPU上的大模型训练能力,特别是在消费级显卡等低资源环境下,致力于降低使用大模型训练的门槛与成本,推动人工智能更加普惠。而潞晨科技作为重要合作伙伴,将继续发挥关键作用。
-
探索GrammarGPT:利用监督微调方法的中文语法纠错开源大模型研究