
LM-BFF vs GPT-3少样本学习谁更胜一筹ACL 2021论文深度解读【免费下载链接】LM-BFF[ACL 2021] LM-BFF: Better Few-shot Fine-tuning of Language Models https://arxiv.org/abs/2012.15723项目地址: https://gitcode.com/gh_mirrors/lm/LM-BFFLM-BFFBetter Few-shot Fine-tuning of Language Models是ACL 2021年提出的少样本学习框架通过提示工程和优化的微调策略让预训练语言模型在数据稀缺场景下实现高效学习。与依赖海量参数的GPT-3不同LM-BFF聚焦于通过精巧的方法提升小样本性能为资源有限的研究者提供了更实用的解决方案。 少样本学习的核心挑战在自然语言处理任务中标注数据往往稀缺且昂贵。传统微调方法在数据量不足时容易过拟合而GPT-3等模型虽能通过上下文学习实现少样本推理但需要惊人的1750亿参数支撑这对普通研究者而言几乎不可企及。LM-BFF提出了两大创新策略来解决这一困境基于提示的微调将分类任务转化为掩码语言模型MLM任务利用自然语言提示引导模型学习优化的演示集成通过自动模板生成和示例筛选提升上下文学习效率 LM-BFF的技术原理LM-BFF的核心架构如图所示展示了从预训练到微调的完整流程1. 提示工程与模板自动生成传统微调直接将文本输入模型并预测标签而LM-BFF通过精心设计的模板将任务重构为填空问题。例如情感分析任务中原始句子这是一部精彩的电影 LM-BFF模板[CLS] 这是一部[MASK]的电影。[SEP]模型需预测[MASK]位置的词如精彩或糟糕来判断情感极性。项目提供了自动模板生成工具tools/generate_template.py可基于T5模型批量创建高质量模板。2. 标签词映射优化标签与词汇的映射直接影响模型性能。LM-BFF通过tools/generate_labels.py自动搜索最优映射关系例如在情感分析中找到great和terrible作为正负标签的最佳词汇表达。这种映射关系存储在auto_label_mapping目录中支持一键加载。3. 动态演示筛选在少样本场景下示例的质量比数量更重要。LM-BFF通过Sentence-BERT计算文本嵌入筛选与当前输入最相似的示例作为上下文这一过程通过tools/get_sbert_embedding.py实现有效提升了演示样本的利用率。 快速上手LM-BFF环境准备LM-BFF的依赖项清晰列在requirements.txt中主要包括PyTorch 1.6.0Transformers 3.4.0Sentence-transformers 0.4.0Scikit-learn 0.24.0通过以下命令快速安装pip install -r requirements.txt数据准备项目提供了15个常用NLP数据集的自动下载脚本cd data bash download_dataset.sh python tools/generate_k_shot_data.py # 生成少样本数据集生成的数据将存储在data/k-shot目录按数据集名称/K-种子值的结构组织。基础运行示例以SST-2情感分析任务为例使用RoBERTa-large模型的命令如下python run.py \ --task_name SST-2 \ --data_dir data/k-shot/SST-2/16-42 \ --model_name_or_path roberta-large \ --few_shot_type prompt-demo \ --template *cls**sent_0*_It_was*mask*.*sep* \ --mapping {0:terrible,1:great} \ --output_dir result/sst2_demo关键参数--few_shot_type支持三种模式标准微调finetune、提示微调prompt和带演示的提示微调prompt-demo。 LM-BFF vs GPT-3核心差异分析特性LM-BFFGPT-3参数规模基于现有模型如RoBERTa-large约3.5亿参数1750亿参数学习方式微调适配下游任务上下文学习零训练参数数据效率16样本/类即可达到优异性能需要更多上下文示例计算成本普通GPU可运行需超大规模计算集群灵活性支持模板与标签词自定义依赖固定提示格式LM-BFF的创新点在于将提示工程与微调结合既保留了上下文学习的优势又通过参数更新实现了任务深度适配。在16-shot设置下LM-BFF在多个任务上超越了GPT-3的少样本性能证明了方法的有效性。 高级应用技巧自动模板搜索通过T5模型生成高质量模板python tools/generate_template.py \ --output_dir my_templates \ --task_name SST-2 \ --t5_model t5-3b \ --beam 100生成的模板可通过tools/sort_template.py按性能排序选择最优模板用于后续实验。模型集成组合多个模板的预测结果进一步提升性能python tools/ensemble.py \ --condition {tag: my_ensemble, task_name: sst-2} \ --n_models 20这一方法在论文中被证明能稳定提升1-2%的准确率。零样本学习无需训练数据即可进行预测TAGzero-shot TYPEprompt TASKSST-2 MODELroberta-large bash run_experiment.sh --no_train适合快速验证模型在新任务上的迁移能力。 实验效果与适用场景LM-BFF在14个NLP任务上进行了全面评估特别在以下场景表现突出情感分析SST-2、MR16样本下准确率达90%自然语言推断MNLI、RTE显著超越传统微调方法问答任务QNLI通过模板工程实现高效迁移对于资源有限的研究者和中小企业LM-BFF提供了无需巨额算力即可实现强少样本性能的解决方案。其代码架构清晰工具链完善支持快速适配新任务和数据集。 总结与展望LM-BFF通过提示工程优化微调的创新组合在少样本学习领域树立了新标杆。与GPT-3的大力出奇迹不同LM-BFF展示了精巧方法设计的力量——通过理解语言模型的内在机制我们可以用更少的资源实现更高效的学习。项目源码已开源包含完整的实验复现脚本和预生成的模板文件欢迎通过以下命令获取git clone https://gitcode.com/gh_mirrors/lm/LM-BFF随着提示学习研究的深入LM-BFF开创的方法将继续启发更多高效、经济的NLP解决方案推动自然语言处理技术向更普惠的方向发展。【免费下载链接】LM-BFF[ACL 2021] LM-BFF: Better Few-shot Fine-tuning of Language Models https://arxiv.org/abs/2012.15723项目地址: https://gitcode.com/gh_mirrors/lm/LM-BFF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考