- task_chatglm_ptuning_v2.py: chatglm-6b的ptuning_v2微调。
- task_chatglm_lora.py: chatglm-6b的lora微调(基于peft)。
- task_chatglm2_ptuning_v2.py: chatglm2-6b的ptuning_v2微调。
- task_chatglm2_lora.py: chatglm2-6b的lora微调(基于peft)。
- task_llama-2_lora.py: llama-2的lora微调(基于peft)。
- task_chatglm_deepspeed.py: chatglm的lora微调(peft+deepspeed)。
- task_llama_deepspeed.py: llama-2的lora微调(peft+deepspeed)。
- task_chatglm_nbce.py: 测试chatglm-6b模型, 使用朴素贝叶斯增加LLM的Context处理长度。
- instruct_gpt: instruct_gpt的复现
- task_sentence_similarity_lcqmc.py:句子对分类任务。
- task_sentiment_classification.py:情感分类任务,bert做简单文本分类
- task_sentiment_classification_albert.py:情感分类任务,加载ALBERT模型。
- task_sentiment_classification_xlnet.py:情感分类任务,加载XLNET模型。
- task_sentiment_classification_hierarchical_position.py:情感分类任务,层次分解位置编码做长文本的初始化
- task_sentiment_classification_nezha.py:情感分类任务,加载nezha模型
- task_sentiment_classification_roformer.py:情感分类任务,加载roformer权重
- task_sentiment_classification_roformer_v2.py:情感分类任务,加载roformer_v2权重
- task_sentiment_classification_electra.py:情感分类任务,加载electra权重
- task_sentiment_classification_GAU_alpha.py:情感分类任务,加载GAU-alpha权重
- task_sentiment_classification_deberta_v2.py:情感分类任务,加载deberta_v2权重
- task_sentiment_classification_wobert.py:情感分类任务,加载wobert权重
- task_sentiment_classification_PET.py:情感分类项目,Pattern-Exploiting-Training, bert4keras示例
- task_sentiment_classification_P_tuning.py:情感分类项目,P-tuning, bert4keras示例
- Sohu_2022_ABSA:搜狐2022实体情感分类Top1方案复现和自己的baseline
- Tianchi_News_Classification:天池零基础入门NLP-新闻分类Top1方案复现
- task_sequence_labeling_ner_efficient_global_pointer.py:ner例子,efficient_global_pointer的pytorch实现
- task_sequence_labeling_ner_global_pointer.py:ner例子,global_pointer的pytorch实现
- task_sequence_labeling_ner_crf.py:ner例子,bert+crf
- task_sequence_labeling_ner_crf_freeze.py:ner例子,bert+crf, 一种是用数据集来生成crf权重,第二种是来初始化
- task_sequence_labeling_ner_cascade_crf.py:ner例子,bert+crf+级联
- task_sequence_labeling_ner_crf_add_posseg.py:ner例子,bert+crf,词性作为输入
- task_sequence_labeling_ner_tplinker_plus.py:ner例子,改造了关系抽取TPLinker
- task_sequence_labeling_ner_mrc.py:ner例子,mrc方案,用阅读理解的方式来做
- task_sequence_labeling_ner_span.py:ner例子,span方案,用半指针-半标注方式来做
- uie:ner例子,uie方案,prompt+mrc模型结构
- task_sequence_labeling_ner_W2NER.py:ner例子,W2NER
- task_sequence_labeling_ner_CNN_Nested_NER.py:ner例子,CNN_Nested_NER
- task_sequence_labeling_ner_lear.py:ner例子,LEAR
- task_sequence_labeling_cws_crf.py:crf分词例子
- task_sentence_embedding_unsup_bert_whitening.py:参考bert_whitening
- task_sentence_embedding_unsup_CT.py:参考SentenceTransformer
- task_sentence_embedding_unsup_CT_In-Batch_Negatives.py:参考SentenceTransformer
- task_sentence_embedding_unsup_SimCSE.py:参考SentenceTransformer和科学空间版中文测试
- task_sentence_embedding_unsup_ESimCSE.py:参考ESimCSE论文、官方实现和第三方实现
- task_sentence_embedding_unsup_TSDAE.py:参考SentenceTransformer
- task_sentence_embedding_unsup_PromptBert.py:PromptBert方式
- task_sentence_embedding_unsup_DiffCSE.py:DiffCSE
- task_sentence_embedding_sup_ContrastiveLoss.py:参考SentenceTransformer
- task_sentence_embedding_sup_CosineMSELoss.py:参考SentenceTransformer
- task_sentence_embedding_sup_concat_CrossEntropyLoss.py:参考SentenceTransformer
- task_sentence_embedding_sup_MultiNegtiveRankingLoss.py:参考SentenceTransformer
- task_sentence_embedding_sup_CoSENT.py:参考CoSENT
- task_sentence_embedding_DimensionalityReduction.py:参考SentenceTransformer
- task_sentence_embedding_model_distillation.py:参考SentenceTransformer
- FinanceFAQ:金融领域FAQ两阶段(召回+排序)pipline
- task_relation_extraction_CasRel.py:结合BERT以及自行设计的“半指针-半标注”结构来做关系抽取。
- task_relation_extraction_gplinker.py:结合GlobalPointer做关系抽取GPLinker。
- task_relation_extraction_tplinker.py:tplinker关系抽取TPLinker。
- task_relation_extraction_tplinker_plus.py:tplinker关系抽取TPLinkerPlus。
- task_relation_extraction_SPN4RE.py:SPN4RE来做关系提取。
- task_relation_extraction_PRGC.py:PRGC来做关系提取。
- task_seq2seq_autotitle_csl_unilm.py:通过UniLM式的Seq2Seq模型来做新闻标题生成。
- task_seq2seq_autotitle_csl_bart.py:通过BART来做新闻标题生成
- task_seq2seq_autotitle_csl_uer_t5.py:通过T5来做新闻标题生成,用的uer-t5-small
- task_seq2seq_autotitle_csl.py:通过UniLM式的Seq2Seq模型来做论文标题生成。
- task_seq2seq_autotitle_csl_mt5.py:通过google_mt的Seq2Seq模型来做论文标题生成。
- task_question_answer_generation_by_seq2seq.py:通过UniLM式的Seq2Seq模型来做问答对自动构建,属于自回归文本生成。
- task_reading_comprehension_by_mlm.py:通过MLM模型来做阅读理解问答,属于简单的非自回归文本生成。
- task_reading_comprehension_by_seq2seq.py:通过UniLM式的Seq2Seq模型来做阅读理解问答,属于自回归文本生成。
- task_seq2seq_simbert.py:相似问生成,数据增广,参考SimBERT
- task_seq2seq_ape210k_math_word_problem.py:bert+unilm硬刚小学数学题,参考博客
- task_kgclue_seq2seq.py:seq2seq+前缀树,参考博客
- task_dialogpt_finetune.py:基于dialogpt的微调,同时提供微调数据格式, 参考博客
- task_promptclue_finetune.py:基于promptclue-base-v1.5的微调
- task_sentiment_adapters.py:基于adapter的插拔式训练
- task_sentiment_adversarial_training.py:通过对抗训练,虚拟对抗训练,梯度惩罚等措施来提升分类效果。
- task_sentiment_virtual_adversarial_training.py:通过半监督的虚拟对抗训练等措施来提升分类效果。
- task_sentiment_UDA.py:通过UDA半监督学习提升分类效果,在原来Losss上加一致性损失。
- task_sentiment_mixup.py:通过Mixup提升模型泛化性能。
- task_sentiment_exponential_moving_average.py:EMA指数滑动平均
- task_sentiment_exponential_moving_average_warmup.py:EMA指数滑动平均+warmup两种策略
- task_sentiment_TemporalEnsembling.py:通过TemporalEnsembling官方项目和pytorch第三方实现提升模型泛化性能。
- task_sentiment_R-Drop.py:通过R-Drop提升分类效果,可以视为用dropout加噪下的UDA。
- task_amp.py:Pytorch的amp混合精度训练
- task_data_parallel.py:DataParallel模式的多GPU训练方式
- task_distributed_data_parallel.py:DistributedDataParallel模式的多GPU训练方式
- accelerate:配合accelerate包使用
- roberta_pretrain:roberta的mlm预训练,数据生成代码和训练代码
- roformer-sim_pretrain:即simbert_v2, 相似问生成,数据增广,三个步骤:1-弱监督,2-蒸馏,3-有监督,参考SimBERT-V2
- gpt_lm_pretrain:gpt的lm预训练
- basic_simple_web_serving_simbert.py: 测试自带的WebServing(将模型转化为Web接口)。
- task_bert_cls_onnx.py:ONNX转换bert权重
- task_bert_cls_onnx_tensorrt.md:ONNX+Tensorrt部署
- sanic_server:sanic+onnx部署
- elasticsearch:elasticsearch部署
- triton:triton部署
- task_conditional_language_model.py:结合BERT+ConditionalLayerNormalization做条件语言模型。
- task_language_model.py:加载BERT的预训练权重做无条件语言模型,效果上等价于GPT。
- task_iflytek_bert_of_theseus.py:通过BERT-of-Theseus来进行模型压缩。
- task_language_model_chinese_chess.py:用GPT的方式下中国象棋,过程请参考博客。
- task_nl2sql_baseline.py:追一科技2019年NL2SQL挑战赛的一个Baseline
- task_event_extraction_gplinker.py:gplinker来做事件提取
- task_nlu_intent_entity.py:用多阶段模型实现对话NLU中的意图分类、实体抽取训练任务
- Tutorials:教程说明文档。
- tutorials_custom_fit_progress.py:教程,自定义训练过程fit函数(集成了训练进度条展示),可用于满足如半精度,梯度裁剪等高阶需求。
- tutorials_load_transformers_model.py:教程,加载transformer包中模型,可以使用bert4torch中继承的对抗训练等trick。
- tutorials_small_tips.py:教程,常见的一些tips集合。