[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-920232796--bert_seq2seq":3,"tool-920232796--bert_seq2seq":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":78,"owner_email":78,"owner_twitter":78,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":23,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":99,"github_topics":100,"view_count":23,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":112,"updated_at":113,"faqs":114,"releases":150},3116,"920232796\u002Fbert_seq2seq","bert_seq2seq","pytorch实现 Bert 做seq2seq任务，使用unilm方案,现在也可以做自动摘要，文本分类，情感分析，NER，词性标注等任务,支持t5模型，支持GPT2进行文章续写。","bert_seq2seq 是一个基于 PyTorch 构建的轻量级 NLP 开发框架，旨在简化使用 BERT 及其变体模型解决各类自然语言处理任务的流程。它核心解决了开发者在适配不同预训练模型（如 BERT、RoBERTa、T5、GPT-2、NeZha 等）到具体应用场景时，需要重复编写底层代码的痛点。\n\n该工具支持广泛的下游任务，涵盖序列生成（如自动摘要、写诗、对联）、文本分类、情感分析、命名实体识别（NER）、关系抽取及语义匹配等。其独特的技术亮点在于采用了 UniLM 方案处理 Seq2Seq 任务，并内置了分布式训练功能；用户仅需修改参数即可直接启动多 GPU 训练，无需额外命令或代码改动，极大提升了实验效率。此外，它还支持结合 CRF 损失函数以优化序列标注效果。\n\nbert_seq2seq 非常适合 NLP 领域的研究人员、算法工程师及高校学生使用。无论是希望快速验证新想法的研究者，还是需要高效落地中文文本处理项目的开发者，都能通过其丰富的示例代码和灵活的配置接口，轻松完成从数据加载、模型训练到推理的全流程工作。","# bert_seq2seq\n一个轻量级的小框架，如果喜欢的话欢迎star～ 谢谢谢谢。如果遇到问题也可以提issue，保证会回复。\n\n目前重构了一版分布式训练的版本，**改下参数即可直接进行多GPU的训练**，而**不需要额外的命令，不需要添加额外的代码**！欢迎前往https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq_DDP 详细了解\n\n## 欢迎加入交流群～ 可以提问题，提建议，互相交流 QQ群: 975907202\n\n### 本框架目前可以做各种NLP任务，支持的模型有：\n1. bert\n2. roberta \n3. roberta-large \n4. gpt2\n5. t5\n6. 华为nezha模型\n7. bart-中文\n\n### 支持的任务有：\n1. seq2seq 比如写诗，对联，自动标题，自动摘要等。\n2. cls_classifier 通过提取句首的cls向量去做分类，比如情感分析，文本分类，语义匹配等。\n3. sequence_labeling 序列标注任务，比如命名实体识别，词性标注，中文分词等。\n4. sequence_labeling_crf 加入CRF Loss的序列标注任务，效果更好。\n4. relation_extract 关系抽取，比如三元组抽取任务。(复现苏剑林老师的例子，不完全一样。)\n5. simbert SimBert模型，生成相似句子，并且给相似句子进行相似度判断。\n6. multi_label_cls 多标签分类。\n\n加载不同模型通过设置“model_name”参数实现，不同任务通过设置“model_class”参数实现，具体可以去看examples里面的各种例子。\n### 预训练模型下载地址汇总：\n1. roberta模型，模型和字典文件需要去 https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iNeYFhCBJWeUsIlnW_2K6SMwXkM4gLb_\u002Fview 这里下载。 具体可以参考这个github仓库～ https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-BERT-wwm ，roberta-large模型也是在里面进行下载即可。\n2. bert模型(目前不支持large)，下载bert中文预训练权重 \"bert-base-chinese\": \"https:\u002F\u002Fs3.amazonaws.com\u002Fmodels.huggingface.co\u002Fbert\u002Fbert-base-chinese-pytorch_model.bin\", 下载bert中文字典 \"bert-base-chinese\": \"https:\u002F\u002Fs3.amazonaws.com\u002Fmodels.huggingface.co\u002Fbert\u002Fbert-base-chinese-vocab.txt\".\n3. nezha模型，字典权重位置（目前只支持base）：nezha-base模型下载：链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1Z0SJbISsKzAgs0lT9hFyZQ 提取码: 4awe\n4. gpt2模型，可以查看test文件中的gpt_test文件进行文本续写测试，gpt2中文通用模型和字典下载地址：https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1vTYc8fJUmlQrre5p0JRelw  密码: f5un\n5. gpt2英文模型，具体参考了https:\u002F\u002Fhuggingface.co\u002Fpranavpsv\u002Fgpt2-genre-story-generator 这个预训练的model，具体的训练代码可以看example中的gpt2_english_story_train.py\n6. 支持t5模型，英文中文都支持，直接使用transformers包进行加载，具体可以看examples文件夹中的相关例子。 预训练参数下载：https:\u002F\u002Fgithub.com\u002Frenmada\u002Ft5-pegasus-pytorch\n7. SimBert模型，支持相似句的生成，预训练模型使用bert、roberta、nezha均可。\n8. bart中文模型下载地址：https:\u002F\u002Fhuggingface.co\u002Ffnlp\u002Fbart-base-chinese\n\n部分代码参考了 https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002F 和 https:\u002F\u002Fgithub.com\u002Fbojone\u002Fbert4keras 非常感谢！！！\n\n### 一些小例子的效果截图\n\n#### gpt2生成\n##### 输入：\n今天天气好\n##### 输出：\n，就 和 宝 贝 们 一 起 去 那 里 看 电 影 了 ，真 的 好 好 哦 ！环 境 什 么 的 都 是 没 得 说 的 ，电 影 很 精 致 ，音 效 也 很 不 错 ，不 知 道 这 家 店 还 开 着 没 有 ，希 望 有 空 的 话 可 以 经 常 去 看 看\n#### 写诗\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002Facb592f918894ca6b62435d2464d3cb0.png)\n#### bert+crf ner\n输入：\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_48d24a0063ef.png)\n输出：\n![iamge.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_738e12283ed1.png)\n#### 新闻摘要文本分类（14分类）\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002F724f93b03c19404fba4f684eac4695bc.png)\n输出：\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002F4175b02f928f43fc84e9c866aba3ee2d.png)\n\n#### 医学ner \n##### 输入： \n如与其他药物同时使用可能会发生药物相互作用，详情请咨询医师或药师。  开水冲服，一次14克，一日3次。  养血，调经，止痛。用于月经量少、后错，经期腹痛  健民集团叶开泰国药(随州)有限公司  1，忌食生冷食物。2，患有其他疾病者，应在医师指导下服用。3，平素月经正常，突然出现月经过少，或经期错后，应去医院就诊。4，治疗痛经，宜在经前3～5天开始服药，连服一周，如有生育要求应在医师指导下服用。5，服药后痛经不减轻，或重度痛经者，应到医院诊治。6，服药2周症状无缓解，应去医院就诊。7，对本品过敏者禁用，过敏体质者慎用。8，本品性状发生改变时禁止使用。9，请将本品放在儿童不能接触的地方。10，如正在使用其他药品，使用本品前请咨询医师或药师。  本品为妇科月经不调类非处方药药品。  养血，调经，止痛。用于月经量少、后错，经期腹痛。 养血，调经，止痛。用于月经量少、后错，经期腹痛 14g*5袋  非处方药物（乙类）,国家医保目录（乙类）  孕妇禁用。糖尿病者禁服。\n\n##### 输出：\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_e07f731e768e.jpg)\n#### 对联\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002F42eec322d6cc419da0efdc45c02d9f25.png)\n\n#### 语义匹配\n![image.png](https:\u002F\u002Fblog-image-xzh.oss-cn-beijing.aliyuncs.com\u002Fc83d27eb-3c2d-4a5c-9496-cd635a0094be.jpg)\n\n#### 分词\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_7ea217934041.png)\n\n### 安装 \n1. 安装本框架 ```pip install bert-seq2seq```\n2. 安装pytorch \n3. 安装tqdm 可以用来显示进度条 ```pip install tqdm```\n4. 准备好自己的数据，只需要修改example代码中的read_data函数，构造好输入输出，便可开始训练。\n5. 去example文件夹下面运行对应的*_train.py文件，针对不同任务，运行不同train.py文件，需要修改输入输出数据的结构，然后进行训练。具体可以看examples里面的各种例子～\n\n### 一些函数解释\n#### def load_bert(word2ix, model_name=\"roberta\", model_class=\"seq2seq\")\n加载bert模型，model_name参数指定了用哪种bert，目前支持bert、roberta、nezha；model_class指定了使用bert做哪种任务，seq2seq表示生成任务，cls表示文本分类任务......\n#### model.load_pretrain_params(pretrain_model_path)\n加载bert模型参数，注意，只是加载编码器的参数，也就是从网上下载好的预训练模型的参数；例如seq2seq模型包括了bert模型的参数+全连接层，此函数只是加载第一部分参数。\n#### def model.load_all_params(recent_model_path)\n加载全部模型参数，当你训练了部分时间，保存了模型以后，通过此函数便可以加载上次模型训练结果，继续训练或者进行测试。\n\n想看各种文章，可以去我网站～ http:\u002F\u002Fwww.blog.zhxing.online\u002F#\u002F  搜索写诗或者对联或者NER或者新闻摘要文本分类即可找到对应文章。\n多谢支持。\n\n### 更新记录\n\n2021.11.12: 优化代码，支持了roberta-large模型。\n\n2021.10.12: 优化了ner的解码方法，以前粗粒度的解码方式存在bug。\n\n2021.08.18: 优化了大量代码，目前框架代码看起来更加清晰了，删除了大量冗余的代码。\n\n2021.08.17: 支持了华为的nezha模型，很简单，改一下model_name参数即可，欢迎测试效果。\n\n2021.08.15: 添加了分词的例子，tokenizer中添加了rematch代码。\n\n2021.07.29： 优化部分代码，更简洁了。\n\n2021.07.20: 复现了SimBert模型，可以进行相似句的输出，不过由于数据量太少，还有待测试。\n\n2021.03.19: 支持模型扩展，可以不仅仅使用框架自带的模型了，可以直接加载hugging face上面的模型进行训练 预测。\n\n2021.03.12: 添加了gpt2中文训练的例子，周公解梦。\n\n2021.03.11: 添加了gpt2例子，可以进行文章的续写。\n\n2021.03.11: 添加了一个随机生成的解码方式，生成更加多样了。\n\n2021.03.08: beam search 返回n个结果，随机取某个作为输出。\n\n2021.02.25: 添加了一个语义匹配的例子。\n\n2021.02.06: 调整了device的设置方式，现在更加的方便了。\n\n2021.1.27: 调整了框架的代码结构，改动较多，如果有bug，欢迎提issue。\n\n2021.1.21: 添加了一个新的例子，人物关系提取分类。\n\n2020.12.02: 调整了一些代码，并且添加了几个测试的文件，可以很方便的加载已经训练好的模型，进行对应任务的测试。\n\n2020.11.20: 添加了一个例子，三元组抽取f1目前能到0.7。添加了新闻摘要文本分类的测试代码。\n\n2020.11.04: 跑了跑bert-crf做普通ner任务的例子，效果不错。\n\n2020.10.24: 调整了大量代码，添加了THUCNews数据集的自动摘要例子～现在的话，训练应该效果很好了，以前可能出现预训练参数加载不上的情况，效果有时会很差。\n\n2020.10.23: 调整了一些代码结构，把每个例子里面的一些变量写为全局变量了，改了下beam-search的代码，更精简了。不过暂时不支持写诗里面的押韵了。以后补上。\n\n2020.09.29: 新增了天池医学ner比赛的训练例子（医学ner_train.py），详情可见比赛界面：https:\u002F\u002Ftianchi.aliyun.com\u002Fcompetition\u002Fentrance\u002F531824\u002Finformation\n\n2020.08.16: 新增了诗词对联联合训练的例子(诗词对联_train.py)，可以同时写诗写词作对联了；另外新增了诗词的测试代码，模型训练好了可以进行测试。\n\n2020.08.08: 本次更新的内容较多，1. 添加了自动摘要的例子(auto_title.py) 2. 添加了精简词表的代码，原本3W个字缩减为1W多（因为某些字永远不会出现） 3. 修改了部分beam-search代码，效果更好了。4. 细粒度ner暂时不能使用了，数据有点问题，因此暂时放入test文件夹，如果找到合适的数据，可以使用 5. 新增test文件夹，训练好的模型可以在里面进行测试，看看效果。\n\n2020.06.22: 补充了Conditional Layer Norm 的一篇文章。解释了部分代码。http:\u002F\u002Fwww.blog.zhxing.online\u002F#\u002FreadBlog?blogId=347\n\n2020.06.21: 更新了很多代码，复现了一个三元组抽取的例子(三元组抽取_train.py)～\n\n2020.06.02: 最近一直在忙毕业的事情，还有个比赛，暂时不更新了，以后会一直更新哒。\n\n2020.04.18: 训练了bert+crf模型，crf层学习率好像不够高，还需要改善(现在已经可以单独设置crf层学习率了，一般设为0.01)。\n\n2020.04.13: 添加了NER任务 + CRF层Loss，跑通了训练例子，但是还没有添加维特比算法。\n\n2020.04.11: 计划给NER任务添加一个CRF层。\n\n2020.04.07: 添加了一个ner的example。\n\n2020.04.07: 更新了pypi，并且加入了ner等序列标注任务的模型。\n\n2020.04.04: 更新了pypi上面的代码，目前最新版本 0.0.6，请用最新版本，bug会比较少。\n\n2020.04.04: 修复了部分bug，添加了新闻标题文本分类的例子\n\n2020.04.02: 修改了beam-search中对于写诗的重复字和押韵惩罚程度，可能效果会更好。\n\n2020.04.02: 添加了周公解梦的task\n\n2020.04.02: 添加了对对联的task\n\n2020.04.01: 添加了写诗的task\n\n2020.04.01: 重构了代码，开始训练一个新的任务花费时间更少。\n\npython setup.py sdist\ntwine upload dist\u002Fbert_seq2seq-2.3.5.tar.gz\n","# bert_seq2seq\n一个轻量级的小框架，如果喜欢的话欢迎star～ 谢谢谢谢。如果遇到问题也可以提issue，保证会回复。\n\n目前重构了一版分布式训练的版本，**改下参数即可直接进行多GPU的训练**，而**不需要额外的命令，不需要添加额外的代码**！欢迎前往https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq_DDP 详细了解\n\n## 欢迎加入交流群～ 可以提问题，提建议，互相交流 QQ群: 975907202\n\n### 本框架目前可以做各种NLP任务，支持的模型有：\n1. bert\n2. roberta \n3. roberta-large \n4. gpt2\n5. t5\n6. 华为nezha模型\n7. bart-中文\n\n### 支持的任务有：\n1. seq2seq 比如写诗，对联，自动标题，自动摘要等。\n2. cls_classifier 通过提取句首的cls向量去做分类，比如情感分析，文本分类，语义匹配等。\n3. sequence_labeling 序列标注任务，比如命名实体识别，词性标注，中文分词等。\n4. sequence_labeling_crf 加入CRF Loss的序列标注任务，效果更好。\n4. relation_extract 关系抽取，比如三元组抽取任务。(复现苏剑林老师的例子，不完全一样。)\n5. simbert SimBert模型，生成相似句子，并且给相似句子进行相似度判断。\n6. multi_label_cls 多标签分类。\n\n加载不同模型通过设置“model_name”参数实现，不同任务通过设置“model_class”参数实现，具体可以去看examples里面的各种例子。\n### 预训练模型下载地址汇总：\n1. roberta模型，模型和字典文件需要去 https:\u002F\u002Fdrive.google.com\u002Ffile\u002Fd\u002F1iNeYFhCBJWeUsIlnW_2K6SMwXkM4gLb_\u002Fview 这里下载。 具体可以参考这个github仓库～ https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-BERT-wwm ，roberta-large模型也是在里面进行下载即可。\n2. bert模型(目前不支持large)，下载bert中文预训练权重 \"bert-base-chinese\": \"https:\u002F\u002Fs3.amazonaws.com\u002Fmodels.huggingface.co\u002Fbert\u002Fbert-base-chinese-pytorch_model.bin\", 下载bert中文字典 \"bert-base-chinese\": \"https:\u002F\u002Fs3.amazonaws.com\u002Fmodels.huggingface.co\u002Fbert\u002Fbert-base-chinese-vocab.txt\".\n3. nezha模型，字典权重位置（目前只支持base）：nezha-base模型下载：链接: https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1Z0SJbISsKzAgs0lT9hFyZQ 提取码: 4awe\n4. gpt2模型，可以查看test文件中的gpt_test文件进行文本续写测试，gpt2中文通用模型和字典下载地址：https:\u002F\u002Fpan.baidu.com\u002Fs\u002F1vTYc8fJUmlQrre5p0JRelw  密码: f5un\n5. gpt2英文模型，具体参考了https:\u002F\u002Fhuggingface.co\u002Fpranavpsv\u002Fgpt2-genre-story-generator 这个预训练的model，具体的训练代码可以看example中的gpt2_english_story_train.py\n6. 支持t5模型，英文中文都支持，直接使用transformers包进行加载，具体可以看examples文件夹中的相关例子。 预训练参数下载：https:\u002F\u002Fgithub.com\u002Frenmada\u002Ft5-pegasus-pytorch\n7. SimBert模型，支持相似句的生成，预训练模型使用bert、roberta、nezha均可。\n8. bart中文模型下载地址：https:\u002F\u002Fhuggingface.co\u002Ffnlp\u002Fbart-base-chinese\n\n部分代码参考了 https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002F 和 https:\u002F\u002Fgithub.com\u002Fbojone\u002Fbert4keras 非常感谢！！！\n\n### 一些小例子的效果截图\n\n#### gpt2生成\n##### 输入：\n今天天气好\n##### 输出：\n，就 和 宝 贝 们 一 起 去 那 里 看 电 影 了 ，真 的 好 好 哦 ！环 境 什 么 的 都 是 没 得 说 的 ，电 影 很 精 致 ，音 效 也 很 不 错 ，不 知 道 这 家 店 还 开 着 没 有 ，希 望 有 空 的 话 可 以 经 常 去 看 看\n#### 写诗\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002Facb592f918894ca6b62435d2464d3cb0.png)\n#### bert+crf ner\n输入：\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_48d24a0063ef.png)\n输出：\n![iamge.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_738e12283ed1.png)\n#### 新闻摘要文本分类（14分类）\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002F724f93b03c19404fba4f684eac4695bc.png)\n输出：\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002F4175b02f928f43fc84e9c866aba3ee2d.png)\n\n#### 医学ner \n##### 输入： \n如与其他药物同时使用可能会发生药物相互作用，详情请咨询医师或药师。  开水冲服，一次14克，一日3次。  养血，调经，止痛。用于月经量少、后错，经期腹痛  健民集团叶开泰国药(随州)有限公司  1，忌食生冷食物。2，患有其他疾病者，应在医师指导下服用。3，平素月经正常，突然出现月经过少，或经期错后，应去医院就诊。4，治疗痛经，宜在经前3～5天开始服药，连服一周，如有生育要求应在医师指导下服用。5，服药后痛经不减轻，或重度痛经者，应到医院诊治。6，服药2周症状无缓解，应去医院就诊。7，对本品过敏者禁用，过敏体质者慎用。8，本品性状发生改变时禁止使用。9，请将本品放在儿童不能接触的地方。10，如正在使用其他药品，使用本品前请咨询医师或药师。  本品为妇科月经不调类非处方药药品。  养血，调经，止痛。用于月经量少、后错，经期腹痛。 养血，调经，止痛。用于月经量少、后错，经期腹痛 14g*5袋  非处方药物（乙类）,国家医保目录（乙类）  孕妇禁用。糖尿病者禁服。\n\n##### 输出：\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_e07f731e768e.jpg)\n#### 对联\n![image.png](http:\u002F\u002Fwww.zhxing.online\u002Fimage\u002F42eec322d6cc419da0efdc45c02d9f25.png)\n\n#### 语义匹配\n![image.png](https:\u002F\u002Fblog-image-xzh.oss-cn-beijing.aliyuncs.com\u002Fc83d27eb-3c2d-4a5c-9496-cd635a0094be.jpg)\n\n#### 分词\n![image.png](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_readme_7ea217934041.png)\n\n### 安装 \n1. 安装本框架 ```pip install bert-seq2seq```\n2. 安装pytorch \n3. 安装tqdm 可以用来显示进度条 ```pip install tqdm```\n4. 准备好自己的数据，只需要修改example代码中的read_data函数，构造好输入输出，便可开始训练。\n5. 去example文件夹下面运行对应的*_train.py文件，针对不同任务，运行不同train.py文件，需要修改输入输出数据的结构，然后进行训练。具体可以看examples里面的各种例子～\n\n### 一些函数解释\n#### def load_bert(word2ix, model_name=\"roberta\", model_class=\"seq2seq\")\n加载bert模型，model_name参数指定了用哪种bert，目前支持bert、roberta、nezha；model_class指定了使用bert做哪种任务，seq2seq表示生成任务，cls表示文本分类任务......\n#### model.load_pretrain_params(pretrain_model_path)\n加载bert模型参数，注意，只是加载编码器的参数，也就是从网上下载好的预训练模型的参数；例如seq2seq模型包括了bert模型的参数+全连接层，此函数只是加载第一部分参数。\n#### def model.load_all_params(recent_model_path)\n加载全部模型参数，当你训练了部分时间，保存了模型以后，通过此函数便可以加载上次模型训练结果，继续训练或者进行测试。\n\n想看各种文章，可以去我网站～ http:\u002F\u002Fwww.blog.zhxing.online\u002F#\u002F  搜索写诗或者对联或者NER或者新闻摘要文本分类即可找到对应文章。\n多谢支持。\n\n### 更新记录\n\n2021.11.12: 优化代码，支持了roberta-large模型。\n\n2021.10.12: 优化了ner的解码方法，以前粗粒度的解码方式存在bug。\n\n2021.08.18: 优化了大量代码，目前框架代码看起来更加清晰了，删除了大量冗余的代码。\n\n2021.08.17: 支持了华为的nezha模型，很简单，改一下model_name参数即可，欢迎测试效果。\n\n2021.08.15: 添加了分词的例子，tokenizer中添加了rematch代码。\n\n2021.07.29： 优化部分代码，更简洁了。\n\n2021.07.20: 复现了SimBert模型，可以进行相似句的输出，不过由于数据量太少，还有待测试。\n\n2021.03.19: 支持模型扩展，可以不仅仅使用框架自带的模型了，可以直接加载hugging face上面的模型进行训练 预测。\n\n2021.03.12: 添加了gpt2中文训练的例子，周公解梦。\n\n2021.03.11: 添加了gpt2例子，可以进行文章的续写。\n\n2021.03.11: 添加了一个随机生成的解码方式，生成更加多样了。\n\n2021.03.08: beam search 返回n个结果，随机取某个作为输出。\n\n2021.02.25: 添加了一个语义匹配的例子。\n\n2021.02.06: 调整了device的设置方式，现在更加的方便了。\n\n2021.1.27: 调整了框架的代码结构，改动较多，如果有bug，欢迎提issue。\n\n2021.1.21: 添加了一个新的例子，人物关系提取分类。\n\n2020.12.02: 调整了一些代码，并且添加了几个测试的文件，可以很方便的加载已经训练好的模型，进行对应任务的测试。\n\n2020.11.20: 添加了一个例子，三元组抽取f1目前能到0.7。添加了新闻摘要文本分类的测试代码。\n\n2020.11.04: 跑了跑bert-crf做普通ner任务的例子，效果不错。\n\n2020.10.24: 调整了大量代码，添加了THUCNews数据集的自动摘要例子～现在的话，训练应该效果很好了，以前可能出现预训练参数加载不上的情况，效果有时会很差。\n\n2020.10.23: 调整了一些代码结构，把每个例子里面的一些变量写为全局变量了，改了下beam-search的代码，更精简了。不过暂时不支持写诗里面的押韵了。以后补上。\n\n2020.09.29: 新增了天池医学ner比赛的训练例子（医学ner_train.py），详情可见比赛界面：https:\u002F\u002Ftianchi.aliyun.com\u002Fcompetition\u002Fentrance\u002F531824\u002Finformation\n\n2020.08.16: 新增了诗词对联联合训练的例子(诗词对联_train.py)，可以同时写诗写词作对联了；另外新增了诗词的测试代码，模型训练好了可以进行测试。\n\n2020.08.08: 本次更新的内容较多，1. 添加了自动摘要的例子(auto_title.py) 2. 添加了精简词表的代码，原本3W个字缩减为1W多（因为某些字永远不会出现） 3. 修改了部分beam-search代码，效果更好了。4. 细粒度ner暂时不能使用了，数据有点问题，因此暂时放入test文件夹，如果找到合适的数据，可以使用 5. 新增test文件夹，训练好的模型可以在里面进行测试，看看效果。\n\n2020.06.22: 补充了Conditional Layer Norm 的一篇文章。解释了部分代码。http:\u002F\u002Fwww.blog.zhxing.online\u002F#\u002FreadBlog?blogId=347\n\n2020.06.21: 更新了很多代码，复现了一个三元组抽取的例子(三元组抽取_train.py)～\n\n2020.06.02: 最近一直在忙毕业的事情，还有个比赛，暂时不更新了，以后会一直更新哒。\n\n2020.04.18: 训练了bert+crf模型，crf层学习率好像不够高，还需要改善(现在已经可以单独设置crf层学习率了，一般设为0.01)。\n\n2020.04.13: 添加了NER任务 + CRF层Loss，跑通了训练例子，但是还没有添加维特比算法。\n\n2020.04.11: 计划给NER任务添加一个CRF层。\n\n2020.04.07: 添加了一个ner的example。\n\n2020.04.07: 更新了pypi，并且加入了ner等序列标注任务的模型。\n\n2020.04.04: 更新了pypi上面的代码，目前最新版本 0.0.6，请用最新版本，bug会比较少。\n\n2020.04.02: 修改了beam-search中对于写诗的重复字和押韵惩罚程度，可能效果会更好。\n\n2020.04.02: 添加了周公解梦的task\n\n2020.04.02: 添加了对对联的task\n\n2020.04.01: 添加了写诗的task\n\n2020.04.01: 重构了代码，开始训练一个新的任务花费时间更少。\n\npython setup.py sdist\ntwine upload dist\u002Fbert_seq2seq-2.3.5.tar.gz","# bert_seq2seq 快速上手指南\n\n`bert_seq2seq` 是一个轻量级的 NLP 框架，支持 BERT、RoBERTa、GPT2、T5、NeZha（华为）及 Bart 等多种预训练模型。它无需额外代码即可通过参数配置实现多 GPU 分布式训练，涵盖文本生成、分类、序列标注、关系抽取及语义匹配等主流任务。\n\n## 环境准备\n\n在开始之前，请确保您的开发环境满足以下要求：\n\n*   **操作系统**：Linux \u002F Windows \u002F macOS\n*   **Python 版本**：建议 Python 3.6+\n*   **核心依赖**：\n    *   PyTorch (需预先安装)\n    *   tqdm (用于显示训练进度条)\n*   **硬件建议**：若进行多 GPU 训练或大模型微调，建议使用支持 CUDA 的 NVIDIA 显卡。\n\n## 安装步骤\n\n### 1. 安装 PyTorch\n请访问 [PyTorch 官网](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F) 根据您的环境获取安装命令。例如：\n```bash\npip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118\n```\n\n### 2. 安装 bert_seq2seq 框架\n推荐使用国内镜像源加速安装：\n```bash\npip install bert-seq2seq -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 安装辅助工具\n安装进度条显示工具：\n```bash\npip install tqdm -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n## 基本使用\n\n本框架的核心逻辑是：**修改数据读取函数 + 配置模型参数 + 运行训练脚本**。\n\n### 第一步：准备数据\n在您的项目中创建一个 Python 文件（例如 `my_train.py`），参考 `examples` 文件夹中的示例，定义 `read_data` 函数来加载您的数据集。该函数需返回输入序列和对应的标签\u002F目标序列。\n\n### 第二步：加载模型与配置\n通过 `load_bert` 函数指定预训练模型名称 (`model_name`) 和任务类型 (`model_class`)。\n\n*   **支持的模型 (`model_name`)**: `bert`, `roberta`, `roberta-large`, `gpt2`, `t5`, `nezha`, `bart-chinese`\n*   **支持的任务 (`model_class`)**:\n    *   `seq2seq`: 写诗、摘要、对联、自动标题\n    *   `cls_classifier`: 情感分析、文本分类\n    *   `sequence_labeling`: NER、分词、词性标注\n    *   `sequence_labeling_crf`: 带 CRF 的序列标注（效果更优）\n    *   `relation_extract`: 关系抽取\n    *   `simbert`: 相似句生成与匹配\n    *   `multi_label_cls`: 多标签分类\n\n### 第三步：运行示例代码\n以下是一个最简单的文本分类任务启动示例：\n\n```python\nfrom bert_seq2seq import load_bert\n\n# 1. 定义数据读取函数 (需根据实际数据修改)\ndef read_data():\n    # 此处构造 inputs 和 labels\n    # return train_data, dev_data\n    pass\n\n# 2. 加载模型\n# model_name: 选择预训练模型，如 \"roberta\"\n# model_class: 选择任务类型，如 \"cls_classifier\"\nword2ix = {} # 通常由 tokenizer 自动处理或从预训练模型加载\nmodel = load_bert(word2ix, model_name=\"roberta\", model_class=\"cls_classifier\")\n\n# 3. 加载预训练权重 (可选，若模型名对应自动加载则跳过)\n# model.load_pretrain_params(\"path\u002Fto\u002Fpytorch_model.bin\")\n\n# 4. 准备数据\ntrain_data, dev_data = read_data()\n\n# 5. 开始训练\n# 框架内部已封装好训练循环，支持多 GPU 自动识别\nmodel.train_model(\n    train_data=train_data,\n    dev_data=dev_data,\n    epochs=5,\n    batch_size=32,\n    lr=2e-5\n)\n```\n\n### 第四步：多 GPU 分布式训练\n框架已重构支持 DDP（Distributed Data Parallel）。**无需修改代码或添加额外命令**，只需在运行脚本时设置环境变量或直接运行（视具体 PyTorch 版本配置），框架会自动检测可用 GPU 数量并进行分布式训练。\n\n> **提示**：更多详细用例（如写诗、NER、关系抽取等）请直接查看项目仓库中的 `examples` 文件夹，里面包含了针对不同任务的完整 `_train.py` 脚本。","某医疗科技公司的算法团队正在构建一个智能药品说明书分析系统，需要从海量非结构化文本中快速提取实体信息并生成患者易懂的摘要。\n\n### 没有 bert_seq2seq 时\n- **开发门槛高**：团队需分别搭建 NER（命名实体识别）和文本摘要两套独立框架，重复编写数据加载、模型定义及训练循环代码，耗时数周。\n- **多任务协同难**：处理“序列标注”与\"Seq2Seq 生成”任务时，无法统一接口，切换模型（如从 BERT 换到 RoBERTa）需大幅重构代码。\n- **资源利用率低**：缺乏内置的分布式训练支持，利用多 GPU 加速需手动修改底层逻辑，导致大模型训练效率低下且易出错。\n- **效果调优复杂**：针对医学实体识别，难以快速集成 CRF 层优化边界识别，导致“禁忌症”、“用法用量”等关键信息抽取准确率不稳定。\n\n### 使用 bert_seq2seq 后\n- **一站式开发**：通过简单配置 `model_class` 参数，同一套代码即可无缝切换进行医学 NER 抽取和说明书自动摘要，开发周期缩短至几天。\n- **灵活模型切换**：仅需修改 `model_name` 参数即可在 BERT、RoBERTa 或 Nezha 等预训练模型间自由切换，快速验证不同基座对医疗术语的理解能力。\n- **开箱即用的加速**：直接调整参数即可启动多 GPU 分布式训练，无需额外命令或代码改动，显著提升了大规模医疗语料的训练速度。\n- **高精度实体识别**：利用内置的 `sequence_labeling_crf` 任务模式，轻松加入 CRF 损失函数，大幅提升了对药品剂量、频次等复杂实体的标注精度。\n\nbert_seq2seq 通过统一的轻量级架构，将复杂的 NLP 多任务开发简化为参数配置过程，让团队能专注于医疗业务逻辑而非底层工程实现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002F920232796_bert_seq2seq_5e0b7ba2.png","920232796","zhaohu xing","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002F920232796_c7e82c9d.jpg",null,"天津大学","www.blog.zhxing.online","https:\u002F\u002Fgithub.com\u002F920232796",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,1307,209,"2026-04-03T15:23:44","Apache-2.0","未说明","非必需（支持 CPU），分布式训练版本支持多 GPU，具体型号、显存及 CUDA 版本未说明",{"notes":94,"python":91,"dependencies":95},"该框架为轻量级工具，安装命令为'pip install bert-seq2seq'。支持多种 NLP 任务（如 seq2seq、分类、序列标注等）及多种模型（BERT, RoBERTa, GPT2, T5, NeZha, BART 等）。预训练模型权重需单独下载（来源包括 Google Drive, 百度网盘, Hugging Face 等）。重构版支持通过修改参数直接进行多 GPU 分布式训练，无需额外代码或命令。",[96,97,98],"torch (pytorch)","tqdm","transformers (参考引用)",[13,52,26,14,55],[101,102,103,104,105,106,107,108,109,110,111],"bert","seq2seq","ner","crf","text-classification","unilm","pytorch","roberta","autotitle","gpt2","t5-model","2026-03-27T02:49:30.150509","2026-04-06T05:18:06.074097",[115,120,125,130,135,140,145],{"id":116,"question_zh":117,"answer_zh":118,"source_url":119},14361,"UNILM\u002FBERT Seq2Seq 模型中，生成任务的 Attention Mask 和 Segment 应该如何正确设置？","对于生成任务（如复制序列），输入格式通常为 [CLS] + 句子 A + [SEP] + 句子 B + [PAD]。Attention Mask 的设置规则如下：\n1. Segment 0（句子 A 部分）：所有位置的 Mask 均为 1，表示可以关注到前面的所有内容。\n2. Segment 1（句子 B\u002F生成部分）：采用因果掩码（Causal Mask）。第一个生成 token 只能看到 Segment 0 和 [SEP]；第二个生成 token 可以看到 Segment 0、[SEP] 和前一个生成 token，以此类推（下三角矩阵形式）。\n3. PAD 部分：对应的行和列全部设为 0，表示不参与计算。\n如果生成效果不好（如全重复或全 PAD），请检查是否错误地在第二个句子后添加了额外的 [SEP]，或者 Mask 矩阵的对角线及右侧未正确遮蔽。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F2",{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},14362,"使用 NEZHA 模型时，输入长度超过 512 报错怎么办？","NEZHA 模型使用了相对位置编码，其计算逻辑依赖于预设的最大长度（默认通常为 512）。当输入长度超过此限制时会报错。\n解决方案：需要修改代码中关于相对位置编码的配置，调整允许的最大长度参数以匹配你的输入数据长度。具体需检查模型初始化或配置文件中涉及相对位置编码大小的设置。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F44",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},14363,"在 Seq2Seq 任务的 collate_fn 动态 Padding 中，token_type_ids 应该用 0 还是 1 进行填充？","使用 0 或 1 进行填充均可，不会影响模型训练结果。\n原因：在计算 Loss 时，Padding 部分的 token 会被忽略；同时在计算 Attention Mask 时，Padding 位置也会被屏蔽掉，因此 token_type_ids 中填充的具体数值不会对梯度更新产生实质影响。保持代码默认（通常为 0）即可。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F62",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},14364,"如何在 bert_seq2seq 项目中实现多 GPU（分布式）训练？","若在使用 DistributedDataParallel 进行多卡训练时遇到 'RuntimeError: grad can be implicitly created only for scalar outputs' 错误，通常是因为 Loss 聚合方式不当。\n解决方法：将代码中累加 Loss 的部分从 `total_loss += loss.item()` 修改为 `total_loss += loss.mean()`。确保传入 backward() 的是标量或通过 mean() 处理后的张量，以便正确计算梯度。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F15",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},14365,"运行训练脚本时报错 'AttributeError: Tokenizer object has no attribute _token_unk_id' 如何解决？","该错误通常发生在自定义词表（如日语等非中文分词场景）缺少特殊 token 定义时。\n解决步骤：\n1. 检查 `tokenizer.py` 文件（约 176 行附近）。\n2. 确认词表字典 `token_dict` 中是否包含 'pad', 'cls', 'sep', 'unk', 'mask' 这些关键键值。\n3. 如果词表中缺失这些 token，需要在构建词表时手动添加，或者在初始化 Tokenizer 时确保这些特殊字符被正确映射到 ID，避免 `getattr(self, \"_token_\"+str(token))` 获取失败。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F14",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},14366,"Seq2Seq 模型中 target_ids 为什么要去掉首字符（CLS），且包含标题和 SEP？这样会影响生成吗？","不会负面影响生成效果。\n解释：在 Seq2Seq 训练中，target_ids 通常是 input_ids 向右移动一位（即去掉开头的 CLS，末尾补 PAD 或截断）。模型预测时，是从前一个 token 预测当前 token。即使 target_ids 包含了“标题 + SEP + 正文”，只要解码阶段以 [SEP] 作为终止符号，模型就会学习从 [SEP] 之后开始生成有效内容，直到遇到下一个 [SEP] 停止。输入中包含的额外上下文（如标题）实际上有助于模型理解生成任务的条件。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F16",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},14367,"这套代码可以用于训练小语种的 NLG 聊天机器人模型吗？有什么注意事项？","可以用于训练聊天任务模型，但需注意以下几点：\n1. 语料要求：如果是从头训练（Pre-training 或大幅微调），需要非常丰富的高质量语料，否则很难收敛。\n2. 资源需求：训练聊天模型通常需要较大的显存和算力（如多张 1080Ti 或更高配置）。\n3. 建议：如果小语种语料不足，建议先使用通用的多语言预训练模型进行微调，而不是从头训练。","https:\u002F\u002Fgithub.com\u002F920232796\u002Fbert_seq2seq\u002Fissues\u002F12",[]]