Skip to content

⭐️ NLP Algorithms with transformers lib. Supporting Text-Classification, Text-Generation, Information-Extraction, Text-Matching, RLHF etc.

Notifications You must be signed in to change notification settings

sifuhr/transformers_tasks

 
 

Repository files navigation

Author OS Based

Status Stars Fork Python

Typing SVG


该项目集成了基于 transformers 库实现的多种 NLP 任务。

huggingface transformers 是一个非常棒的开源框架,支持非常方便的加载/训练 transformer 模型,你可以在这里看到该库的安装方法和入门级调用,该库也能支持用户非常便捷的微调一个属于自己的模型

在该项目中我们集成了一些主流的NLP任务,你可以找到对应的任务,将代码中的训练数据集更换成你自己任务下的数据集从而训练一个符合你自己任务下的模型。


目前已经实现的NLP任务如下(更新中):

1. 文本匹配(Text Matching)

计算文本间的相似度,多用于:搜索召回文本检索蕴含识别 等任务。

模型 传送门
【监督】概览 [这里]
【监督】PointWise(单塔) [这里]
【监督】DSSM(双塔) [这里]
【监督】Sentence Bert(双塔) [这里]
【无监督】SimCSE [这里]

2. 信息抽取(Information Extraction)

在给定的文本段落中抽取目标信息,多用于:命名实体识别(NER)实体关系抽取(RE) 等任务。

模型 传送门
通用信息抽取(Universe Information Extraction, UIE) [这里]

3. Prompt任务(Prompt Tasks)

通过设计提示(prompt)模板,实现使用更少量的数据在预训练模型(Pretrained Model)上得到更好的效果,多用于:Few-ShotZero-Shot 等任务。

模型 传送门
PET(基于人工定义 prompt pattern 的方法) [这里]
p-tuning(机器自动学习 prompt pattern 的方法) [这里]

4. 文本分类(Text Classification)

对给定文本进行分类,多用于:情感识别文章分类识别 等任务。

模型 传送门
BERT-CLS(基于 BERT 的分类器) [这里]

5. 强化学习 & 语言模型(Reinforcement Learning & Language Model)

RLHF(Reinforcement Learning from Human Feedback)通过人类的反馈,将强化学习(RL)用于更新语言生成模型(LM),从而达到更好的生成效果(代表例子:ChatGPT);通常包括:奖励模型(Reward Model) 训练和 强化学习(Reinforcement Learning) 训练两个阶段。

模型 传送门
RLHF(Reward Model 训练,PPO 更新 GPT2) [这里]

6. 文本生成(Text Generation)

文本生成(NLG),通常用于:小说续写智能问答对话机器人 等任务。

模型 传送门
中文问答模型(T5-Based) [这里]
Filling 模型(T5-Based) [这里]

7. 大模型应用(LLM Application)

尝试构建大模型(LLM)zero-shot 解决多种任务所需的 prompt pattern(s)。

模型 传送门
文本分类(chatglm-6b-Based) [这里]
文本匹配(chatglm-6b-Based) [这里]
信息抽取(chatglm-6b-Based) [这里]

8. 大模型微调(LLM Finetune)

对大模型在多个指定任务上进行微调。

模型 传送门
ChatGLM-6B [这里]

About

⭐️ NLP Algorithms with transformers lib. Supporting Text-Classification, Text-Generation, Information-Extraction, Text-Matching, RLHF etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 79.0%
  • Python 20.9%
  • Other 0.1%