庆云古诗词

庆云古诗词

可直训ChatGPT类模型!华师大、NUS开源HugNLP框架:一键刷榜,全面统一NLP训练

互联资讯 0

淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】

可直机啥意思,什么叫可直可弯,什么是可直可弯

作者:王嘉宁编辑:LRS

近日,华师大HugAILab团队研发了HugNLP框架,这是一个面向研究者和开发者的全面统一的NLP训练框架,可支持包括文本分类、文本匹配、问答、信息抽取、文本生成、小样本学习等多种NLP任务模型搭建和训练。

开源地址:论文:

值得注意的是,HugNLP还集成了大量最新的Prompt技术,例如Prompt-Tuning、In-Context Learning、Instruction-tuning,未来还将引入Chain-of-thought

HugAILab团队还研发了一系列的应用,例如CLUE&GLUE刷榜工具,可支持ChatGPT类模型训练和部署产品HugChat,以及统一信息抽取产品HugIE等。

HugNLP是一个分层式框架,遵循“高内聚低耦合”的开发模式,其核心包括模型层(Models)、处理器层(Processors)、评估器层(E【【微信】】)和应用层(Applications)四部分。

框架图如下所示:

  • 模型层:包含模型部分,主要按照任务类型进行划分;
  • 处理器层:对数据进行加载、缓存、分词等处理,并转换为模型输入的Tensor;
  • 评估器层:根据不同类型的任务(分类或生成),指定不同的评估流程和评价指标;
  • 应用层:对应的应用执行脚本。理论上来说,选定一个模型、一个数据处理器以及一个评估器,即可对应一个应用。

HugNLP完全基于HuggingFace开发,具有易扩展、易部署能力,同时集成了MLFlow训练追踪器,方便使用者及时追踪实验进度,并进行实验分析。

HugNLP框架之所以称为全面,是因为其集成了大量的NLP任务模型,目前已经实现的包括:

  • 预训练:Masked LM、Causal LM、知识增强预训练;
  • Instruction-Tuning:支持自回归生成式、区间抽取式、NLI等统一范式训练;
  • 文本分类/匹配:传统Fine-tuning、Prompt-tuning、In-Context Learning;
  • 序列标注: 支持NER等序列标注任务;
  • 元学习: 基于序列的元学习(SentenceProto)、基于区间的元学习(SpanProto)、基于token的元学习(TokenProto,NNShot);
  • 问答:支持抽取式问答、多项选择式问答、开放生成式问答;
  • 文本生成:支持文本摘要、机器翻译(正在开发中);
  • 代码智能:目前集成了代码克隆检测(Clone)、代码缺陷检测(Defact)等Code任务;

快速部署HugNLP框架,只需要执行代码三行命令即可:

git clone https://github.com/HugAILab/HugNLP.git

下面介绍HugNLP的几个核心能力:

  • Benchmark一键刷榜;
  • 预训练和知识注入;
  • Fine-tuning & Prompt-tuning;
  • Instruction-tuning;
  • In-Context Learning;
  • 半监督Self-training;
  • Code代码智能;

一、Benchmark一键刷榜

HugNLP最先开发了面向一些常用榜单的刷榜工具,例如GLUE、CLUE等。用户只需要配置相应的数据集名称,即可实现一键刷榜。

为了验证框架的有效性,在22年9月提交了CLUE榜单的刷榜结果,选择一系列中文小模型(RoBERTa、MacBERT、P-BERT等)并结合了logits集成方法,至今依然维持在第15名位置,曾一度超越了部分企业。

例如如果训练CLUE榜单的AFQMC数据集,可编辑文件

applications/benchmark/clue/clue_finetune_dev.sh

修改参数:

--【【微信】】="data_name=afqmc"

执行下列命令即可:

bash applications/benchmark/clue/clue_finetune_dev.sh

同样的方法还可以训练一些常用的NLP任务,例如阅读理解、实体识别、以及GLUE英文数据集等。

HugNLP还集成了一系列模型用于刷榜,例如BERT、RoBERTa、DeBERTa、MacBERT、Erlangshen等。

二、预训练与知识注入

传统的一些预训练模型(例如BERT、GPT2等)是在通用语料上训练的,而对领域事实知识可能不敏感,因此需要显式的在预训练阶段注入事实知识。

在HugNLP中,主要实现了几个知识增强预训练,包括DKPLM和KP-PLM。DKPLM是一种可分解的知识注入方法;KP-PLM则是将结构化知识转化为自然语言描述的形式进行注入。这些知识注入的方法是可插拔式的,因此无需修改模型结构,很容易用于下游任务的微调。

执行下面命令即可进行Masked Language Modeling和Causal Language Modeling的预训练:

bash applications/pretraining/run_pretrain_mlm.sh

三、 Fine-tuning & Prompt-Tuning

基于预训练语言模型的NLP,通常遵循Pre-training和Fine-tuning范式。HugNLP也包含Fine-tuning技术。

3.1 参数有效性学习

HugNLP集成了包括Prefix-tuning、Adapter、BitFit、LoRA等参数有效性训练方法,可以加速模型的训练,降低显存占用量。

在训练脚本中,只需要添加一行参数,即可开启参数有效性训练:

--use_freezing

对于参数有效性方法,HugNLP实现了若干类别的分类模型,如下所示:

CLASSIFICATION_MODEL_CLASSES={

只需要指定下面参数即可,例如选择adapter进行分类:

--task_type=head_adapter_cls

3.2 对抗训练:引入对Embedding的扰动,提高模型的鲁棒性

HugNLP框架集成了若干种对抗训练的方法,其中最简单的对抗方法为FGM算法:

  • 首先计算输入样本(通常为word embedding)的损失函数以及在处的梯度:;
  • 计算在输入样本的扰动量:,其中为超参数,默认取1.0;
  • 得到对抗样本:;
  • 根据得到的对抗样本,再次喂入模型中,计算损失,并累积梯度;
  • 恢复原始的word embedding,接着下一个batch。

在训练时,只需要添加一行参数,即可默认调用FGM算法:

--do_adv

3.3 Prompt-tuning:通过模板来复用预训练目标

传统的Fine-tuning在低资源场景下容易出现过拟合问题,因此复用预训练的目标可以拉近Pre-training和Fine-tuning之间的语义差异。

HugNLP集成了PET、P-tuning、Prefix-tuning等Prompt-Tuning算法,并无缝嵌入在NLP分类任务的模型里。

在训练时,只需要指定下面两个参数,即可以开启Prompt-tuning模式,例如选择p-tuning算法:

--task_type=masked_prompt_ptuning_cls

四、Instruction-tuning

在大模型时代,如何将不同类型的NLP任务进行范式统一,是构造通用人工智能的核心要素。HugNLP为此定义了三种统一范式的思想:

  • 万物皆可生成:将所有NLP任务建模为单向自回归生成,例如GPT-3、ChatGPT等;
  • 万物皆可抽取:将所有NLP任务建模为抽取式机器阅读理解;
  • 万物皆可推断:将所有NLP任务建模为自然语言推断;

基于三种不同的范式统一,HugNLP推出两个核心产品,分别是:

  • HugChat:基于生成式Instruction的中小型ChatGPT类模型;
  • HugIE:基于抽取式Instruction的统一信息抽取框架;

4.1 HugChat:基于Causal Language Modeling的生成式对话模型

最近ChatGPT火爆全球,为了让研究者可以训练自己的ChatGPT,HugNLP框架集成了基于生成式Instruction的训练产品――HugChat,其支持各种类型的单向生成式模型的训练,例如GPT-2、GPT-Neo、OPT、GLM、LLaMA等。

在8张V100 32G的条件下,可训练OPT-13B大模型。HugAILab团队开源了约200万条英文、300万条中文对话数据,用于训练模型。例如训练GPT-2(XL),可直接执行脚本:

bash https://zhuanlan.zhihu.com/p/application/instruction_prompting/HugChat/super【【微信】】/run_causal_instruction_gpt2_xl.sh

基于HugNLP,训练的GPT-2(1.3B)模型,即可实现很简单的对话任务。只需要执行如下命令即可玩转HugChat:

python3 applications/instruction_prompting/HugChat/hugchat.py

例如可以写套磁信邮件:

再例如搜索谷歌地球的相关信息:

也可以实现编写简单的代码(1.3B的模型具备此能力已经很惊叹了!):

HugNLP目前正在开发其他类型的Decoder-only大模型,相关信息和开源内容如下表所示:

HugChat后期将推出垂直领域的大模型解决方案,同时将与OpenAI API进行融合,推出大模型服务框架。

4.2 HugIE:基于Global Pointer的统一信息抽取框架

信息抽取(Information Extraction)旨在从非结构化的文本中抽取出结构化信息,是构建知识库的重要步骤之一。通常信息抽取包括两个核心步骤,分别是命名实体识别(Named Entity Recognition)和关系抽取(Relation Extraction)。

我们基于HugNLP研发一款HugIE产品,旨在实现统一信息处理。其主要核心包括如下几个部分:

  • 将实体识别和关系抽取,统一为新的范式――基于抽取式阅读理解的方法。HugIE采用Global Pointer模型实现信息抽取;
  • 定义Instruction Prompt,指导模型生成需要抽取的内容;
  • 采用多任务训练的方法训练;

HugIE目前已经开源了模型: 可以基于HugNLP框架使用HugIE抽取模型,如下图所示:

五、In-Context Learning

In-Context Learning(ICL) 首次由GPT-3提出,其旨在挑选少量的标注样本作为提示(Prompt),从而在形式上促使大模型生成目标答案。ICL的优势在于无需对参数进行更新,即可实现惊艳的效果。

HugNLP框架集成了ICL,主要涉及到样本的挑选和预测结果的校准两个部分:

  • 样本挑选:默认为从训练集中随机挑选样本,后期将会开发一系列样本挑选的算法,例如聚类、K近邻、余弦相似度等;
  • 预测校准:由于所挑选标注样本与待预测样本存在分布差异,需要对预测的概率分布进行校准,这里采用Calibrate Before Use方法,如下图,可以对预测分布进行校准,提高预测效果。

目前ICL已经集成在HugNLP里,只需要指定下面参数即可:

--【【微信】】="data_name=xxx num_incontext_example=4 l=1 use_calibrate=True"

六、半监督Self-training

半监督旨在同时结合标注数据和无标签数据来训练NLP任务。Self-training是一种简单但有效的迭代式训练方法,其通过Teacher模型先获取伪标签,对伪标签进行去噪后,再训练Student模型。传统的Self-training会引入大量噪声,从而降低训练的效果。

为了提高性能,HugNLP引入成熟的Uncertainty-aware Self-training技术。框架图如下所示:

其采用了来自贝叶斯推断中的MC Dropout技术,即对Teacher模型执行 次推理,每次推理开启Dropout开关,从而得到若干与Teacher模型满足独立同分布的模型预测。

基于这些预测结果,可以通过信息熵的变化量得到Teacher模型对无标签数据的不确定性量化指标(即BALD算法),核心公式如下:

进行多次DC Dropout的代码实现如下(详见hugnlp_trainer.py):

y_T=list()

HugNLP使用半监督模式,只需要做两件事:

(1)执行脚本时添加参数:

--【【微信】】

(2)在指定的数据集目录下,存放unlabeled data文件。

七、其他更丰富的应用

目前HugNLP还开发了很多应用如下所示:还有更多丰富的应用正在开发中。HugNLP也欢迎有志之士加入HugAILab参与开源开发工作。

团队介绍

参考资料:


chat gpt能代替教培行业吗 chatgpt发展引起的职业规划反思


ChatGPT 引发的生成式人工智能浪潮,正以惊人的速度席卷各个领域,在线教培行业也不例外。面对来势汹汹的 AI,我们能用它来做些什么?本文作者对此进行了分析,希望对你有帮助。

最近 ChatGPT 成为科技和互联网行业关注的焦点,ChatGPT 作为一种基于深度学习的自然语言处理技术,在在线教培行业和知识付费行业中发挥着越来越重要的作用。关于 ChatGDT 对教培的影响相关讨论也越来越热烈,未来,ChatGPT 作为一种基于深度学习的自然语言处理技术,是否会完全取代老师?他又对在线教培行业带来哪些创业机会?ChatGPT 又有哪些优势和不足?

在回答这些问题之前,我们不妨先在介绍一次 ChatGDT:

ChatGPT 是什么?

这个问题,我觉得可以放上 ChatGPT 的亲自答:

ChatGPT 是基于 GPT-3.5 架构训练的大型语言模型,由 OpenAI 开发。它可以理解自然语言文本,并用自然语言方式回答问题或生成文本。ChatGPT 在多个任务上表现出色,例如自然语言生成、问答、文本分类、摘要等等。它是目前公认的最先进的自然语言处理技术之一。

一、ChatGPT 对该教培行业的影响

ChatGPT 作为一种基于深度学习的自然语言处理技术,在在线教培行业和知识付费行业中发挥着越来越重要的作用。它可以帮助教师和机构实现自动化教学、提供个性化学习体验、解答学生疑惑、提供定制化的教育资源等,进一步提高学生的学习效果和教学效率。同时,ChatGPT 还可以为教培行业带来新的商业模式和发展机遇。

本文将探讨 ChatGPT 在在线教培行业中的影响,以及可应用的场景,涉及以下方面:

1. 讲师提效:提升非决策性以及创意性环节的效率

随着远程教育和在线教育的兴起,ChatGPT 在在线教育中的应用越来越广泛。通过 ChatGPT,学生可以更加方便地与教师进行沟通交流,同时教师也可以更加快速地回答学生的问题,提高在线教学效率。ChatGPT 可以根据学生的提问,实时生成答案并提供解释,帮助学生更好地理解课程内容。此外,ChatGPT 还可以模拟真实的人际交流场景,让学生更好地融入课堂氛围,提高学习效果。

1)生成教学资源:老师可以向 ChatGPT 提供主题或关键词,然后让它生成相关的教学材料,例如练习题、演示文稿、笔记、以及教学大纲等等,提高备课的效率。

2)课程选题指导:依靠教学目标,ChatGPT 可以依靠大数据分析,给予讲师具体的选题指导,已到达更好的教学效果

3)生成营销文案:抓取课程高光时刻,自动转录成相关文字,用于社交媒体的宣发。同时,也可依靠课程内容,帮助讲师生成对应平台(小红书、微博、朋友圈等)对应的营销文案。

4)智能评估教学效果:老师可以利用 ChatGPT 批量对学生提交的作业进行评估,对学生的效果进行分析

5)智能化在线考试:ChatGPT 能够识别自然语言的语义和语境,可以帮助在线考试更加准确地评估学生的语言表达能力和思维逻辑。同时,ChatGPT 可以根据学生的答题情况,实时生成针对性的题目和解析,帮助学生更好地掌握知识。通过 ChatGPT 的自动评分功能,教师可以更加准确地评估学生的考试成绩,提高评估效率。

2. 教学模式创新:智能课堂、AI 分身

1)ChatGPT 充当 智能课程助理,打造教学督学智能化训练营

在线教育的一个重要挑战是如何提高互动性。ChatGPT 可以模拟人类对话,提高在线教学的互动性和趣味性。除此之外,ChatGPT 还可以进行情感分析和语音合成,使得在线教学更加贴近学生的需求和情感。学生可以通过和 ChatGPT 的对话,更好地理解课程内容,获得更好的学习体验。

ChatGPT 可用于【实时回答问题】,使其成为需要快速获取信息的学生的有用工具。

ChatGPT 可以【生成学习材料】,如摘要、要点汇总,帮助学生复习和学习课程材料,无需爬楼。

ChatGPT 可以通过回答问题和提供个性化的反馈,为学生提供【个性化的辅导】

ChatGPT 可用于【语言学习】,提供与虚拟语言导师的对话练习――英语教学

ChatGPT 可以生成评估,如小测验和考试,帮助教师评估学生的理解。教师可以要求 ChatGPT 生成一个关于特定主题的测验,并收到一套用于测试的多项选择题。同时也适合刷题的场景。

ChatGPT 可以组建【虚拟学习小组】,为学生提供讨论课程材料和项目合作的机会。例如,学生可以使用 ChatGPT 来促进历史课程的虚拟学习小组,他们可以讨论关键事件,分享想法和观点。

2)AI 智能版 " 在行 ",知识从业者打造自己的数字化分身,轻咨询模式自动化

创作者用自己所有生产过的内容,结合 ChatGPT 来训练一个机器人分身,当用户向咨询机器人提问时,咨询机器人结合用户的背景,重新调用、组合创作者生产过的内容,来给用户定制化的回答。

用户付费订阅或者买断某个讲师专属咨询机器人的使用权。整个过程相当于将轻咨询这种服务模式自动化

3. 学员体验:智能客服、学习推荐

ChatGPT 可以为在线教育和知识付费平台提供更加智能化和个性化的服务。例如,ChatGPT 可以根据学生的学习兴趣和需求,为学生推荐最适合的课程和学习资源,进一步提高学习效果。日常社群答疑可

1)微信群智能助理,个人微信化身 ChatGPT 机器人

提问增加上下文联系,持续对话

机器人群聊 @回复

机器人私聊回复

好友添加自动通过

群聊天记录自动提炼汇总重点

2)智能学习推荐官

在以前,大家的解决方案是做「学习地图」,来帮助用户体系化地学习不同的课程,比如『产品经理学习地图』,「瑜伽学习地图」等。

在有了这样的 " 智能学习推荐官 " 之后,结合 ChatGDT 新的交互方式,感觉可以更大程度上帮助用户找到适合自己的课程产品和服务。

除此之外,也可以针对某一个课程,与智能学习官展开讨论和追问,完成学习。

3)语言类教学口语练习

ChatGPT 可以用于创建语言交流平台,在安全和舒适的环境中与母语为某种语言的人练习口语。这种方式可以提高学习者的语言能力和交流能力。

虽然 ChatGPT 能够生成自然语言文本,但它并不能像人类老师一样具备丰富的专业知识、教学经验、情感理解、灵活性和创造力等特质。此外,ChatGPT 只是一种工具,它没有自己的目的、价值观和道德标准,因此需要人类老师来为它设置正确的目标和指导方向,以确保它生成的文本符合教学要求和学生需求。

虽然 ChatGPT 不能完全取代老师,但它可以作为一种辅助工具,帮助老师更好地备课、解答学生问题、生成教学资源等等。这样,老师可以更加高效和便捷地完成教学任务,并为学生提供更好的教育服务。

二、ChatGPT 的优势和挑战

高效性:模型推理速度快,ChatGPT 可以处理大量的自然语言文本,使得它在教学场景下可以实现自动化和高效化。例如,它可以自动回答学生的问题,帮助老师检查学生的作业等。

灵活性:多轮对话能力强,ChatGPT 可以针对不同的教学场景进行个性化的配置和定制化的设计。例如,可以为不同的学生提供不同的学习体验,满足他们的不同需求。

可靠性:ChatGPT 在处理自然语言时可以保持高质量的准确性和可靠性,避免了传统教学中由于人工处理自然语言所引起的误差。符合人类表达习惯,给出的内容体验佳。

可扩展性:ChatGPT 可以通过不断的训练和优化来不断提高其性能,并且可以在不同的教学场景下进行扩展和应用。支持的下游应用丰富,包含对话、代码等等多种场景

然而,ChatGPT 也存在以下挑战:

数据隐私:在使用 ChatGPT 时,需要收集和处理大量的学生数据,涉及到学生的隐私问题,需要采取一系列安全措施来保护学生的隐私。

算法不可解释性:由于 ChatGPT 是一种黑盒模型,它的决策过程难以解释。这可能会对一些教学场景带来挑战,例如,对于一些需要解释性模型的场景,如涉及到重要决策的场景,这可能会导致问题。

语言理解能力限制:ChatGPT 在理解复杂的语言结构和语义的时候,可能存在一些限制,例如,在处理非标准的语言、口语和方言时,它可能会存在一定的困难。

ChatGPT 作为一种新兴的人工智能技术,已经在在线教培行业中发挥了重要的作用。它可以帮助教师和机构实现自动化教学、提供个性化学习体验、解答学生疑惑、提供定制化的教育资源等,进一步提高学生的学习效果和教学效率。同时,ChatGPT 还可以为教培行业带来新的商业模式和发展机遇。

虽然 ChatGPT 在教学场景下具有很多优势,但仍然存在一些挑战,如数据隐私、算法不可解释性和语言理解能力限制等。因此,在使用 ChatGPT 时,我们需要认真考虑这些挑战,并采取相应的措施来保护学生的隐私和确保教学的质量。相信在不断的优化和完善中,ChatGPT 将会在在线教培行业中发挥越来越重要的作用,帮助学生更好地学习和成长,同时也推动整个教培行业的发展。

本文由 @运营老白 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议。