[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-shibing624--textgen":3,"tool-shibing624--textgen":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":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":83,"owner_website":84,"owner_url":85,"languages":86,"stars":91,"forks":92,"last_commit_at":93,"license":94,"difficulty_score":10,"env_os":95,"env_gpu":96,"env_ram":97,"env_deps":98,"category_tags":109,"github_topics":110,"view_count":23,"oss_zip_url":83,"oss_zip_packed_at":83,"status":16,"created_at":121,"updated_at":122,"faqs":123,"releases":159},2062,"shibing624\u002Ftextgen","textgen","TextGen: Implementation of Text Generation models, include LLaMA, BLOOM, GPT2, BART, T5, SongNet and so on. 文本生成模型，实现了包括LLaMA，ChatGLM，BLOOM，GPT2，Seq2Seq，BART，T5，UDA等模型的训练和预测，开箱即用。","TextGen 是一个功能强大的开源文本生成工具库，旨在让大语言模型的训练与应用变得简单高效。它集成了 LLaMA、ChatGLM、BLOOM、GPT2、T5、BART 等多种主流架构，为开发者提供了一套“开箱即用”的解决方案，有效解决了从模型微调（SFT）、LoRA 高效训练到多卡推理部署全流程中的技术门槛高、配置复杂等痛点。\n\n无论是希望快速验证想法的算法研究人员，还是需要将大模型落地到具体业务场景的 AI 工程师，都能通过 TextGen 轻松上手。它不仅支持通用的对话生成、文本摘要和翻译任务，还特色化地实现了诗词歌词生成（SongNet）以及基于 UDA\u002FEDA 的文本数据扩增功能，特别适合需要定制化领域模型或解决数据稀缺问题的用户。\n\n在技术亮点方面，TextGen 紧跟前沿进展，支持 NEFTune 噪声嵌入训练以提升微调效果，并优化了多显卡并行推理能力，显著提升了运行效率。此外，项目还配套发布了多个经过中文语料精细微调的现成模型（如医疗问诊、多轮对话模型），用户可直接调用或作为基座进行二次开发。凭借友好的接口设计和详尽的文档，TextGen 致力于成为连接学术研究与工业应","TextGen 是一个功能强大的开源文本生成工具库，旨在让大语言模型的训练与应用变得简单高效。它集成了 LLaMA、ChatGLM、BLOOM、GPT2、T5、BART 等多种主流架构，为开发者提供了一套“开箱即用”的解决方案，有效解决了从模型微调（SFT）、LoRA 高效训练到多卡推理部署全流程中的技术门槛高、配置复杂等痛点。\n\n无论是希望快速验证想法的算法研究人员，还是需要将大模型落地到具体业务场景的 AI 工程师，都能通过 TextGen 轻松上手。它不仅支持通用的对话生成、文本摘要和翻译任务，还特色化地实现了诗词歌词生成（SongNet）以及基于 UDA\u002FEDA 的文本数据扩增功能，特别适合需要定制化领域模型或解决数据稀缺问题的用户。\n\n在技术亮点方面，TextGen 紧跟前沿进展，支持 NEFTune 噪声嵌入训练以提升微调效果，并优化了多显卡并行推理能力，显著提升了运行效率。此外，项目还配套发布了多个经过中文语料精细微调的现成模型（如医疗问诊、多轮对话模型），用户可直接调用或作为基座进行二次开发。凭借友好的接口设计和详尽的文档，TextGen 致力于成为连接学术研究与工业应用的便捷桥梁。","[**🇨🇳中文**](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002FREADME.md) | [**🌐English**](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002FREADME_EN.md) | [**📖文档\u002FDocs**](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fwiki) | [**🤖模型\u002FModels**](https:\u002F\u002Fhuggingface.co\u002Fshibing624) \n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002Flogo.svg\" alt=\"Logo\">\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n-----------------\n\n# TextGen: Implementation of Text Generation models\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftextgen.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftextgen)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_readme_12d530335a15.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Ftextgen)\n[![Contributions welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontributions-welcome-brightgreen.svg)](CONTRIBUTING.md)\n[![License Apache 2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg)](LICENSE)\n[![python_version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8%2B-green.svg)](requirements.txt)\n[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fshibing624\u002Ftextgen.svg)](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues)\n[![Wechat Group](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fwechat-group-green.svg?logo=wechat)](#Contact)\n\n## 📖 Introduction\n\n**TextGen**实现了多种文本生成模型，包括：LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型，开箱即用。\n\n## 🔥 News\n\n[2023\u002F11\u002F02] v1.1.2版本: GPT模型支持了[NEFTune](https:\u002F\u002Fgithub.com\u002Fneelsjain\u002FNEFTune)给embedding加噪SFT训练方法，SFT中使用 `--neft_alpha` 参数启用 NEFTune，例如 `--neft_alpha 5`。详见[Release-v1.1.2](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.1.2)\n\n[2023\u002F09\u002F05] v1.1.1版本: 支持多卡推理，推理速度加倍，调库textgen做batch推理，多卡推理更方便、快速。详见[Release-v1.1.1](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.1.1)\n\n[2023\u002F08\u002F23] v1.1.0版本: 发布基于ShareGPT4数据集微调的中英文Vicuna-13B模型[shibing624\u002Fvicuna-baichuan-13b-chat](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat)，和对应的LoRA模型[shibing624\u002Fvicuna-baichuan-13b-chat-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat-lora)，支持多轮对话，评测效果有提升，详见[Release-v1.1.0](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.1.0)\n\n[2023\u002F08\u002F02] v1.0.2版本: 新增支持ChatGLM2和LLaMA2模型的SFT微调训练，详见[Release-v1.0.2](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.0.2)\n\n[2023\u002F06\u002F15] v1.0.0版本: 新增ChatGLM\u002FLLaMA\u002FBloom模型的多轮对话微调训练，并发布医疗问诊LoRA模型[shibing624\u002Fziya-llama-13b-medical-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fziya-llama-13b-medical-lora)。详见[Release-v1.0.0](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.0.0)\n\n[2023\u002F06\u002F02] v0.2.7版本: 新增ChatGLM\u002FLLaMA\u002FBloom模型的SFT微调训练，并发布适用于通用对话和中文纠错的LoRA模型。详见[Release-v0.2.7](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F0.2.7)\n\n\n## 😊 Feature\n\n- [GPT](textgen\u002Fgpt)：本项目基于PyTorch实现了 ChatGLM-6B 1,2,3 \u002F Baichuan 1,2 \u002F LLaMA 1,2 \u002F BLOOM \u002F Mistral \u002F QWen 等GPT模型LoRA微调训练和预测，可以用于对话生成任务和领域微调训练\n- [UDA\u002FEDA](textgen\u002Faugment\u002Fword_level_augment.py)：本项目实现了UDA(非核心词替换)、EDA和Back Translation(回译)算法，基于TF-IDF将句子中部分不重要词替换为同义词，随机词插入、删除、替换等方法，产生新的文本，实现了文本扩增\n- [Seq2Seq](textgen\u002Fseq2seq)：本项目基于PyTorch实现了Seq2Seq、ConvSeq2Seq、BART模型的训练和预测，可以用于文本翻译、对话生成、摘要生成等文本生成任务\n- [T5](textgen\u002Ft5)：本项目基于PyTorch实现了T5和CopyT5模型训练和预测，可以用于文本翻译、对话生成、对联生成、文案撰写等文本生成任务\n- [GPT2](textgen\u002Flanguage_modeling)：本项目基于PyTorch实现了GTP2模型训练和预测，可以用于文章生成、对联生成等文本生成任务\n- [SongNet](textgen\u002Flanguage_modeling\u002Fsongnet_model.py)：本项目基于PyTorch实现了SongNet模型训练和预测，可以用于规范格式的诗词、歌词等文本生成任务\n- [TGLS](textgen\u002Funsup_generation)：本项目实现了[TGLS](https:\u002F\u002Fwww.jiqizhixin.com\u002Farticles\u002F2020-08-11-5)无监督相似文本生成模型，是一种“先搜索后学习”的文本生成方法，通过反复迭代学习候选集，最终模型能生成类似候选集的高质量相似文本\n\n### Release Models\n\nrelease基于`textgen`训练的中文模型，模型已经release到HuggingFace models，指定模型名称`textgen`会自动下载模型，可直接使用。\n\n\n| Model                                                                                                     | Arch               | Introduction                                                                                                                                                                  | Train Script                                                                                                                                 | Predict Script                                                                                                        | \n|:----------------------------------------------------------------------------------------------------------|:-------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------|\n| [shibing624\u002Ft5-chinese-couplet](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Ft5-chinese-couplet)                     | T5                 | fine-tuned中文对联后的模型                                                                                                                                                            | [对联生成模型调研](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002F%E5%AF%B9%E8%81%94%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%AF%B9%E6%AF%94.md) | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Ft5\u002Ft5_couplet_demo.py)                      |\n| [shibing624\u002Fsongnet-base-chinese-songci](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fsongnet-base-chinese-songci)   | SongNet            | fine-tuned宋词后的模型                                                                                                                                                              | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py)                              | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Fsongnet_songci_demo.py)             |\n| [shibing624\u002Fsongnet-base-chinese-couplet](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fsongnet-base-chinese-couplet) | SongNet            | fine-tuned对联后的模型                                                                                                                                                              | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py)                              | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Fsongnet_couplet_demo.py)            |\n| [shibing624\u002Fchatglm-6b-csc-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-csc-zh-lora)             | ChatGLM-6B         | 在27万中文拼写纠错数据[shibing624\u002FCSC](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002FCSC)上微调了一版ChatGLM-6B，纠错效果有提升，发布微调后的LoRA权重                                                             | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_csc_demo.py)                             | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Fcsc_demo.py)                        |\n| [shibing624\u002Fchatglm-6b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-belle-zh-lora)         | ChatGLM-6B         | 在100万条中文ChatGPT指令Belle数据集[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)上微调了一版ChatGLM-6B，问答效果有提升，发布微调后的LoRA权重                                | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_hfdataset_demo.py)                       | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_hfdataset_demo.py) |\n| [shibing624\u002Fllama-13b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fllama-13b-belle-zh-lora)           | LLaMA-13B          | 在100万条中文ChatGPT指令Belle数据集[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)上微调了一版Llama-13B，问答效果有提升，发布微调后的LoRA权重                                 | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_hfdataset_demo.py)                           | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_hfdataset_demo.py)     |\n| [shibing624\u002Fchinese-alpaca-plus-7b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-7b-hf)       | LLaMA-7B           | [中文LLaMA-Plus, Alpaca-Plus 7B版本](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Freleases\u002Ftag\u002Fv3.0)，在LLaMA-7B上扩充了中文词表并继续预训练120G文本（通用领域），在4M指令数据集上微调后得到的中文Alpaca-plus模型          | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n| [shibing624\u002Fchinese-alpaca-plus-13b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-13b-hf)     | LLaMA-13B          | [中文LLaMA-Plus, Alpaca-Plus 13B版本](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Freleases\u002Ftag\u002Fv3.1)，在LLaMA-13B上扩充了中文词表并继续预训练120G文本（通用领域），在4.3M指令数据集上微调后得到的中文Alpaca-plus模型      | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n| [shibing624\u002Fziya-llama-13b-medical-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fziya-llama-13b-medical-lora)     | LLaMA-13B          | 在240万条中英文医疗数据集[shibing624\u002Fmedical](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Fmedical)上微调了一版Ziya-LLaMA-13B模型，医疗问答效果有提升，发布微调后的LoRA权重                                           | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n| [shibing624\u002Fvicuna-baichuan-13b-chat](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat)           | Baichuan-13B-Chat  | 在10万条多语言ShareGPT GPT4多轮对话数据集[shibing624\u002Fsharegpt_gpt4](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Fsharegpt_gpt4)上SFT微调了一版baichuan-13b-chat多轮问答模型，日常问答和医疗问答效果有提升，发布微调后的完整模型权重  | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n\n### Evaluation\n\n| Model                                                                                                                                       | Arch       | Introduction                                                                                                                                                                                                                                                                                     | Score    |\n|:--------------------------------------------------------------------------------------------------------------------------------------------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------|\n| [LLaMA-7B-Chinese-Alpaca](https:\u002F\u002Fhuggingface.co\u002Fziqingyang\u002Fchinese-alpaca-lora-7b)                                                         | LLaMA-7B   | 复用[ymcui\u002FChinese-LLaMA-Alpaca](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fblob\u002Fmain\u002Fexamples\u002FREADME.md)的评估case和得分                                                                                                                                                                          | 4.92     |\n| [LLaMA-13B-Chinese-Alpaca](https:\u002F\u002Fhuggingface.co\u002Fziqingyang\u002Fchinese-alpaca-lora-13b)                                                       | LLaMA-13B  | 复用[ymcui\u002FChinese-LLaMA-Alpaca](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fblob\u002Fmain\u002Fexamples\u002FREADME.md)的评估case和得分                                                                                                                                                                          | 7.05     |\n| [ChatGLM-6B](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002Fchatglm-6b)                                                                                       | ChatGLM-6B | 基于原生`THUDM\u002Fchatglm-6b`评估测试集得分                                                                                                                                                                                                                                                                 | 7.16     |\n| [ChatGLM-6B-v1.1](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002Fchatglm-6b)                                                                                  | ChatGLM-6B | 基于原生`THUDM\u002Fchatglm-6b`v1.1英文优化版模型评估测试集得分                                                                                                                                                                                                                                                      | **7.18** |\n| [shibing624\u002Fchatglm-6b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-belle-zh-lora)                                           | ChatGLM-6B | 基于`THUDM\u002Fchatglm-6b`加载`shibing624\u002Fchatglm-6b-belle-zh-lora`LoRA模型后评估测试集得分                                                                                                                                                                                                                     | 7.03     |\n| [facat\u002Falpaca-lora-cn-13b](https:\u002F\u002Fhuggingface.co\u002Ffacat\u002Falpaca-lora-cn-13b)\t                                                                | LLaMA-13B  | 基于`decapoda-research\u002Fllama-13b-hf`加载`facat\u002Falpaca-lora-cn-13b`LoRA模型后评估测试集并标注得分                                                                                                                                                                                                               | 4.13     |  \n| [Chinese-Vicuna\u002FChinese-Vicuna-lora-13b-belle-and-guanaco](https:\u002F\u002Fhuggingface.co\u002FChinese-Vicuna\u002FChinese-Vicuna-lora-13b-belle-and-guanaco) | LLaMA-13B  | 基于`decapoda-research\u002Fllama-13b-hf`加载`Chinese-Vicuna\u002FChinese-Vicuna-lora-13b-belle-and-guanaco`LoRA模型后评估测试集并标注得分                                                                                                                                                                               | 3.98     |\n| [shibing624\u002Fchinese-alpaca-plus-7b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-7b-hf)                                         | LLaMA-7B   | 使用[ymcui\u002FChinese-LLaMA-Alpaca 合并模型方法](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fwiki\u002F%E6%89%8B%E5%8A%A8%E6%A8%A1%E5%9E%8B%E5%90%88%E5%B9%B6%E4%B8%8E%E8%BD%AC%E6%8D%A2#%E5%A4%9Alora%E6%9D%83%E9%87%8D%E5%90%88%E5%B9%B6%E9%80%82%E7%94%A8%E4%BA%8Echinese-alpaca-plus)合并HF权重后，评估测试集并标注得分 | 6.93     |\n| [shibing624\u002Fchinese-alpaca-plus-13b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-13b-hf)                                       | LLaMA-13B  | 使用[ymcui\u002FChinese-LLaMA-Alpaca 合并模型方法](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fwiki\u002F%E6%89%8B%E5%8A%A8%E6%A8%A1%E5%9E%8B%E5%90%88%E5%B9%B6%E4%B8%8E%E8%BD%AC%E6%8D%A2#%E5%A4%9Alora%E6%9D%83%E9%87%8D%E5%90%88%E5%B9%B6%E9%80%82%E7%94%A8%E4%BA%8Echinese-alpaca-plus)合并HF权重后，评估测试集并标注得分 | 7.07     |\n| [TheBloke\u002Fvicuna-13B-1.1-HF](https:\u002F\u002Fhuggingface.co\u002FTheBloke\u002Fvicuna-13B-1.1-HF)                                                             | LLaMA-13B  | 使用原生vicuna-13B-1.1合并后的模型，评估测试集并标注得分                                                                                                                                                                                                                                                           | 5.13     |\n| [IDEA-CCNL\u002FZiya-LLaMA-13B-v1](https:\u002F\u002Fhuggingface.co\u002FIDEA-CCNL\u002FZiya-LLaMA-13B-v1)                                                           | LLaMA-13B  | 使用姜子牙通用大模型V1，评估测试集并标注得分                                                                                                                                                                                                                                                                       | 6.63     |\n\n说明：\n- 评估case，详见在线文档：中文LLM-benchmark多任务评估集(腾讯文档) https:\u002F\u002Fdocs.qq.com\u002Fsheet\u002FDUUpsREtWbFBsUVJE?tab=r7io7g  感谢韩俊明、[杨家铭](https:\u002F\u002Fgithub.com\u002Fyangjiam)等同学的标注\n- 评估任务类型包括：知识问答，开放式问答，数值计算，诗词、音乐、体育，娱乐，写文章，文本翻译，代码编程，伦理、拒答类，多轮问答，Score 评分是前100条（10分制）的平均分数，人工打分，越高越好\n- 评估数量少，任务类型不够全面，评分之间的大小关系有一些参考价值，分数的绝对值没太大参考价值\n- 评估脚本：[tests\u002Ftest_benchmark.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Ftests\u002Ftest_benchmark.py) ，使用fp16预测，无int量化处理，运行脚本可复现评估结果，但生成结果具有随机性，受解码超参、随机种子等因素影响。评测并非绝对严谨，测试结果仅供晾晒参考\n- 结论：ChatGLM-6B、LLaMA-13B的中文衍生模型（包括alpaca-plus, vicuna, ziya）的表现属于第一梯队，原版LLaMA-7B的表现整体稍差些\n- LLaMA-13B-Chinese-Alpaca是在原版LLaMA上扩充了中文词表，并融入了约20G的通用中文语料后的指令微调模型，表明了LLaMA的底座优秀，具有强大的语言迁移能力\n- ChatGLM这种原生的中文预训练模型更理解中文语义，且在中文知识问答、开放式问答得分高\n- LLaMA系列模型数值计算、中英翻译、代码编程类得分高\n- 经过中文预训练和SFT微调后的Chinese-LLaMA模型在中文诗词、娱乐、伦理类得分相较原版LLaMA有提升\n\n## 🚀 Demo\n\nHuggingFace Demo: https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fshibing624\u002Fchinese-couplet-generate\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_readme_e2c114eeb7c8.png)\n\nrun example: [examples\u002FT5\u002Fgradio_demo.py](examples\u002FT5\u002Fgradio_demo.py) to see the demo:\n\n```shell\npython examples\u002FT5\u002Fgradio_demo.py\n```\n\nmodel trained by [examples\u002Ft5\u002FT5_Finetune_Chinese_Couplet.ipynb](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Ft5\u002FT5_Finetune_Chinese_Couplet.ipynb)\n\n## 💾 Install\n\n```shell\npip install -U textgen\n```\n\nor\n\ninstall develop version:\n```shell\npip install torch # conda install pytorch\ngit clone https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen.git\ncd textgen\npython setup.py install\n```\n\n## ▶️ Usage\n\n### ChatGLM-6B 模型\n\n#### 使用 ChatGLM-6B 微调后的模型\n\nexample: [examples\u002Fgpt\u002Finference_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Finference_demo.py)\n\n```python\nfrom textgen import GptModel\n\nmodel = GptModel(\"chatglm\", \"THUDM\u002Fchatglm-6b\", peft_name=\"shibing624\u002Fchatglm-6b-csc-zh-lora\")\nr = model.predict([\"介绍下北京\"])\nprint(r)  # ['北京是中国的首都...']\n```\n\n#### 训练 ChatGLM-6B 微调模型\n\n1. 支持自定义训练数据集和训练参数，数据集格式参考[examples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl)\n2. 支持QLoRA、AdaLoRA、LoRA、P_Tuning、Prefix_Tuning等部分参数微调方法，也支持全参微调\n3. 支持多卡训练，支持混合精度训练\n4. 支持多卡推理\n\nexample: [examples\u002Fgpt\u002Ftraining_chatglm_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_chatglm_demo.py)\n\n单卡训练：\n```shell\ncd examples\u002Fgpt\nCUDA_VISIBLE_DEVICES=0 python training_chatglm_demo.py --do_train --do_predict --num_epochs 1 --output_dir outputs_chatglm_v1\n```\n\n多卡训练：\n```shell\ncd examples\u002Fgpt\nCUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 training_chatglm_demo.py --do_train --do_predict --num_epochs 20 --output_dir outputs_chatglm_v1\n```\n\n多卡推理：\n```shell\ncd examples\u002Fgpt\nCUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 inference_multigpu_demo.py --model_type chatglm --base_model THUDM\u002Fchatglm-6b\n```\n\n\n### LLaMA 模型\n\n#### 使用 LLaMA 微调后的模型\n\nexample: [examples\u002Fgpt\u002Finference_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Finference_demo.py)\n\n\u003Cdetails>\n\u003Csummary>show code example and result\u003C\u002Fsummary>\n\n```python\nimport sys\n\nsys.path.append('..\u002F..')\nfrom textgen import GptModel\n\nmodel = GptModel(\"llama\", \"decapoda-research\u002Fllama-7b-hf\", peft_name=\"ziqingyang\u002Fchinese-alpaca-lora-7b\")\nr = model.predict([\"用一句话描述地球为什么是独一无二的。\"])\nprint(r)  # ['地球是唯一一颗拥有生命的行星。']\n```\n\n\u003C\u002Fdetails>\n\n#### 训练 LLaMA 微调模型\n1. 支持自定义训练数据集和训练参数，数据集格式参考[examples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl)\n2. 支持QLoRA、AdaLoRA、LoRA、P_Tuning、Prefix_Tuning等部分参数微调方法，也支持全参微调\n3. 支持多卡训练，支持混合精度训练，使用方法同上（ChatGLM多卡训练）\n4. 支持多卡推理\n\nexample: [examples\u002Fgpt\u002Ftraining_llama_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)\n\n\n#### 基于微调(LoRA)模型继续训练\n如果需要基于Lora模型继续训练，可以使用下面的脚本合并模型为新的base model，再微调训练即可。\n\n执行以下命令：\n```shell\npython -m textgen\u002Fgpt\u002Fmerge_peft_adapter \\\n    --model_type llama \\\n    --base_model_name_or_path path\u002Fto\u002Fllama\u002Fmodel \\\n    --tokenizer_path path\u002Fto\u002Fllama\u002Ftokenizer \\\n    --peft_model_path path\u002Fto\u002Flora\u002Fmodel \\\n    --output_dir merged\n```\n参数说明：\n```\n--model_type：模型类型，目前支持bloom,llama,baichuan和chatglm\n--base_model_name_or_path：存放HF格式的底座模型权重和配置文件的目录\n--tokenizer_path：存放HF格式的底座模型tokenizer文件的目录\n--peft_model_path：中文LLaMA\u002FAlpaca LoRA解压后文件所在目录，也可使用HF上的Lora模型名称，如`ziqingyang\u002Fchinese-alpaca-lora-7b`会自动下载对应模型\n--output_dir：指定保存全量模型权重的目录，默认为.\u002Fmerged\n```\n\n#### 训练领域模型\nNote: 为了全面的介绍训练医疗大模型的过程，把4阶段训练方法(Pretraining, Supervised Finetuning, Reward Modeling and Reinforcement Learning)单独新建了一个repo：[shibing624\u002FMedicalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)，请移步该repo查看训练方法。\n\n### ConvSeq2Seq 模型\n\n训练并预测ConvSeq2Seq模型：\n\nexample: [examples\u002Fseq2sesq\u002Ftraining_convseq2seq_model_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fseq2seq\u002Ftraining_convseq2seq_model_demo.py)\n\n\u003Cdetails>\n\u003Csummary>show code example and result\u003C\u002Fsummary>\n\n```python\nimport argparse\nfrom loguru import logger\nimport sys\n\nsys.path.append('..\u002F..')\nfrom textgen.seq2seq.conv_seq2seq_model import ConvSeq2SeqModel\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--train_file', default='..\u002Fdata\u002Fzh_dialog.tsv', type=str, help='Training data file')\n    parser.add_argument('--do_train', action='store_true', help='Whether to run training.')\n    parser.add_argument('--do_predict', action='store_true', help='Whether to run predict.')\n    parser.add_argument('--output_dir', default='.\u002Foutputs\u002Fconvseq2seq_zh\u002F', type=str, help='Model output directory')\n    parser.add_argument('--max_seq_length', default=50, type=int, help='Max sequence length')\n    parser.add_argument('--num_epochs', default=200, type=int, help='Number of training epochs')\n    parser.add_argument('--batch_size', default=32, type=int, help='Batch size')\n    args = parser.parse_args()\n    logger.info(args)\n\n    if args.do_train:\n        logger.info('Loading data...')\n        model = ConvSeq2SeqModel(epochs=args.num_epochs, batch_size=args.batch_size,\n                                 model_dir=args.output_dir, max_length=args.max_seq_length)\n        model.train_model(args.train_file)\n        print(model.eval_model(args.train_file))\n\n    if args.do_predict:\n        model = ConvSeq2SeqModel(epochs=args.num_epochs, batch_size=args.batch_size,\n                                 model_dir=args.output_dir, max_length=args.max_seq_length)\n        sentences = [\"什么是ai\", \"你是什么类型的计算机\", \"你知道热力学吗\"]\n        print(\"inputs:\", sentences)\n        print('outputs:', model.predict(sentences))\n\n\nif __name__ == '__main__':\n    main()\n```\n\noutput:\n\n```bash\ninputs: [\"什么是ai\", \"你是什么类型的计算机\", \"你知道热力学吗\"]\noutputs: ['人工智能是工程和科学的分支,致力于构建思维的机器。', '我的程序运行在python,所以我在任何运脑上工作！', '我不能错热是一个疯狂的人工智能\"200年。']\n```\n\n\u003C\u002Fdetails>\n\n### BART 模型\n\n训练并预测BART模型：\n\nexample: [examples\u002Fseq2sesq\u002Ftraining_bartseq2seq_zh_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fseq2seq\u002Ftraining_bartseq2seq_zh_demo.py)\n\noutput:\n\n```shell\ninputs: ['什么是ai', '你是什么类型的计算机', '你知道热力学吗']\noutputs: ['人工智能是工程和科学的分支,致力于构', '我的程序运行在python,所以我在任何电脑上', '什么是热力学吗？']\n```\n\n### T5 模型\n\nexample: [examples\u002Ft5\u002Ftraining_zh_t5_model_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Ft5\u002Ftraining_zh_t5_model_demo.py)\n\n\u003Cdetails>\n\u003Csummary>show code example and result\u003C\u002Fsummary>\n\n```python\nimport argparse\nfrom loguru import logger\nimport pandas as pd\nimport sys\n\nsys.path.append('..\u002F..')\nfrom textgen.t5 import T5Model\n\n\ndef load_data(file_path):\n    data = []\n    with open(file_path, 'r', encoding='utf-8') as f:\n        for line in f:\n            line = line.strip('\\n')\n            terms = line.split('\\t')\n            if len(terms) == 2:\n                data.append(['QA', terms[0], terms[1]])\n            else:\n                logger.warning(f'line error: {line}')\n    return data\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--train_file', default='..\u002Fdata\u002Fzh_dialog.tsv', type=str, help='Training data file')\n    parser.add_argument('--model_type', default='t5', type=str, help='Transformers model type')\n    parser.add_argument('--model_name', default='Langboat\u002Fmengzi-t5-base', type=str, help='Transformers model or path')\n    parser.add_argument('--do_train', action='store_true', help='Whether to run training.')\n    parser.add_argument('--do_predict', action='store_true', help='Whether to run predict.')\n    parser.add_argument('--output_dir', default='.\u002Foutputs\u002Fmengzi_t5_zh\u002F', type=str, help='Model output directory')\n    parser.add_argument('--max_seq_length', default=50, type=int, help='Max sequence length')\n    parser.add_argument('--num_epochs', default=10, type=int, help='Number of training epochs')\n    parser.add_argument('--batch_size', default=32, type=int, help='Batch size')\n    args = parser.parse_args()\n    logger.info(args)\n\n    if args.do_train:\n        logger.info('Loading data...')\n        # train_data: Pandas DataFrame containing the 3 columns - `prefix`, `input_text`, `target_text`.\n        #   - `prefix`: A string indicating the task to perform. (E.g. `\"question\"`, `\"stsb\"`)\n        #   - `input_text`: The input text. `prefix` is prepended to form the full input. (\u003Cprefix>: \u003Cinput_text>)\n        #   - `target_text`: The target sequence\n        train_data = load_data(args.train_file)\n        logger.debug('train_data: {}'.format(train_data[:10]))\n        train_df = pd.DataFrame(train_data, columns=[\"prefix\", \"input_text\", \"target_text\"])\n\n        eval_data = load_data(args.train_file)[:10]\n        eval_df = pd.DataFrame(eval_data, columns=[\"prefix\", \"input_text\", \"target_text\"])\n\n        model_args = {\n            \"reprocess_input_data\": True,\n            \"overwrite_output_dir\": True,\n            \"max_seq_length\": args.max_seq_length,\n            \"train_batch_size\": args.batch_size,\n            \"num_train_epochs\": args.num_epochs,\n            \"save_eval_checkpoints\": False,\n            \"save_model_every_epoch\": False,\n            \"evaluate_generated_text\": True,\n            \"evaluate_during_training\": True,\n            \"evaluate_during_training_verbose\": True,\n            \"use_multiprocessing\": True,\n            \"save_best_model\": True,\n            \"output_dir\": args.output_dir,\n            \"use_early_stopping\": True,\n        }\n        # model_type: t5  model_name: Langboat\u002Fmengzi-t5-base\n        model = T5Model(args.model_type, args.model_name, args=model_args)\n\n        def count_matches(labels, preds):\n            logger.debug(f\"labels: {labels[:10]}\")\n            logger.debug(f\"preds: {preds[:10]}\")\n            match = sum([1 if label == pred else 0 for label, pred in zip(labels, preds)])\n            logger.debug(f\"match: {match}\")\n            return match\n\n        model.train_model(train_df, eval_data=eval_df, matches=count_matches)\n        print(model.eval_model(eval_df, matches=count_matches))\n\n    if args.do_predict:\n        model = T5Model(args.model_type, args.output_dir)\n        sentences = [\"什么是ai\", \"你是什么类型的计算机\", \"你知道热力学吗\"]\n        print(\"inputs:\", sentences)\n        print(\"outputs:\", model.predict(sentences))\n\n\nif __name__ == '__main__':\n    main()\n```\n\noutput:\n\n```shell\ninputs: ['什么是ai', '你是什么类型的计算机', '你知道热力学吗']\noutputs: ['人工智能有两个广义的定义,任何拟人的机械,如在卡雷尔capeks', '我的程序运行在Python,所以我在任何电脑上工作!', '什么是热力学']\n```\n\n\u003C\u002Fdetails>\n\n### GPT2 模型\n\n#### 中文GPT2 - 文章生成\n\n使用中文数据集（段落格式，`\\n`间隔），训练GPT2模型，可以用于诗歌生成、文章生成等任务。\n\nexample: [examples\u002Fgpt2\u002Ftraining_zh_gpt2_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt2\u002Ftraining_zh_gpt2_demo.py)\n\n#### 中文GPT2 - 对联生成\n\n使用中文对联数据集（tsv格式，`\\t`间隔），自定义数据集读取Dataset，训练GPT2模型，可以用于对联生成、对话生成等任务。\n\nexample: [examples\u002Fgpt2\u002Ftraining_couplet_gpt2_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt2\u002Ftraining_couplet_gpt2_demo.py)\n\nGPT2 vs T5：\n\n1. 都是从Transformer改进来的，T5同时有编码器和解码器，GPT2只有解码器\n2. T5的模型优势是处理给定输入，产出对应输出的任务，如翻译、对话、问答等\n3. GPT2的模型优势是自由创作，如写一篇短文\n4. T5的对联生成效果好于GPT2、GPT2的诗词生成效果好于T5\n\n- [对联生成模型调研](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002F%E5%AF%B9%E8%81%94%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%AF%B9%E6%AF%94.md)\n- [古诗生成模型调研](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002F%E5%8F%A4%E8%AF%97%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%AF%B9%E6%AF%94.md)\n\n### SongNet 模型\n\n格式控制的文本生成模型，paper见[SongNet: Rigid Formats Controlled Text Generation](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.08022)，\n适用于强韵律格式要求的诗歌、对联、歌词生成等任务。\n\nexample: [examples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py)\n\n### Keyword Text Augmentation(EDA\u002FUDA)\n\nexample: [examples\u002Ftext_augmentation\u002Ftext_augmentation_demo.py](examples\u002Ftext_augmentation\u002Ftext_augmentation_demo.py)\n\n\u003Cdetails>\n\u003Csummary>show code example and result\u003C\u002Fsummary>\n\n```python\nimport sys\n\nsys.path.append('..')\nfrom textgen.augment import TextAugment\n\nif __name__ == '__main__':\n    docs = ['主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容',\n            '晚上肚子好难受',\n            '你会武功吗，我不会',\n            '组装标题质量受限于广告主自提物料的片段质量，且表达丰富度有限',\n            ]\n    m = TextAugment(sentence_list=docs)\n    a = docs[0]\n    print(a)\n\n    b = m.augment(a, aug_ops='random-0.2')\n    print('random-0.2:', b)\n\n    b = m.augment(a, aug_ops='insert-0.2')\n    print('insert-0.2:', b)\n\n    b = m.augment(a, aug_ops='delete-0.2')\n    print('delete-0.2:', b)\n\n    b = m.augment(a, aug_ops='tfidf-0.2')\n    print('tfidf-0.2:', b)\n\n    b = m.augment(a, aug_ops='mix-0.2')\n    print('mix-0.2:', b)\n```\n\noutput:\n\n```bash\n主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容\nrandom-0.2: ('主要陪陪机器学习、深度学习主要计算机视觉、智能对话系统受限于内容', [('研究', '陪陪', 2, 4), ('、', '主要', 13, 15), ('相关', '受限于', 27, 30)])\ninsert-0.2: ('主要研究机器机器学习学习、深度深度学习、计算机视觉、智能对话系统相关内容', [('机器', '机器机器', 4, 8), ('学习', '学习学习', 8, 12), ('深度', '深度深度', 13, 17)])\ndelete-0.2: ('主要研究机器学习、深度学习、计算机视觉、对话系统相关内容', [('智能', '', 20, 20)])\ntfidf-0.2: ('一是研究机器学习、深度学习、计算机听觉、智能交谈系统密切相关内容', [('主要', '一是', 0, 2), ('视觉', '听觉', 17, 19), ('对话', '交谈', 22, 24), ('相关', '密切相关', 26, 30)])\nmix-0.2: ('主要研究机器学习、深度学、计算机听觉、智能对话软件系统相关内容', [('学习', '学', 11, 12), ('视觉', '听觉', 16, 18), ('系统', '软件系统', 23, 27)])\n```\n\u003C\u002Fdetails>\n\n### TGLS 模型（无监督相似文本生成模型）\n\n无监督的中文电商评论生成：从**电商评论**中提取用户表达观点的短句并进行组合来生成仿真评论。\n\nexample: [examples\u002Funsup_generation\u002Funsup_generation_demo.py](examples\u002Funsup_generation\u002Funsup_generation_demo.py)\n\n\u003Cdetails>\n\u003Csummary>show code example and result\u003C\u002Fsummary>\n\n```python\nimport os\nimport sys\n\nsys.path.append('..')\nfrom textgen.unsup_generation import TglsModel, load_list\n\npwd_path = os.path.abspath(os.path.dirname(__file__))\n\nsamples = load_list(os.path.join(pwd_path, '.\u002Fdata\u002Fecommerce_comments.txt'))\ndocs_text = [\n    [\"挺好的，速度很快，也很实惠，不知效果如何\",\n     \"产品没得说，买了以后就降价，心情不美丽。\",\n     \"刚收到，包装很完整，不错\",\n     \"发货速度很快，物流也不错，同一时间买的两个东东，一个先到一个还在路上。这个水水很喜欢，不过盖子真的开了。盖不牢了现在。\",\n     \"包装的很好，是正品\",\n     \"被种草兰蔻粉水三百元一大瓶囤货，希望是正品好用，收到的时候用保鲜膜包裹得严严实实，只敢买考拉自营的护肤品\",\n     ],\n    ['很温和，清洗的也很干净，不油腻，很不错，会考虑回购，第一次考拉买护肤品，满意',\n     '这款卸妆油我会无限回购的。即使我是油痘皮，也不会闷痘，同时在脸部按摩时，还能解决白头的脂肪粒的问题。用清水洗完脸后，非常的清爽。',\n     '自从用了fancl之后就不用其他卸妆了，卸的舒服又干净',\n     '买贵了，大润发才卖79。9。',\n     ],\n    samples\n]\nm = TglsModel(docs_text)\nr = m.generate(samples[:500])\nprint('size:', len(r))\nfor review in r:\n    print('\\t' + review)\n```\n\noutput:\n\n[美迪惠尔 N.M.F针剂水库保湿面膜](https:\u002F\u002Fgoods.kaola.com\u002Fproduct\u002F2227311.html)有如下的20句评论，其中有10句是真实用户评论，10句是生成的评论，能看出来么?😂\n\n```\n还不错还不错还不错还不错。\n东西到了，不知道好不好用。试用过后再来评价。到时看网评都还可以。\n哺乳期唯一使用的护肤品，每天都是素颜，脸面全靠面膜吊着😄补水💦不粘腻一如既往的支持，喜欢💕\n搞活动时买的面膜，不知道这个面膜是真是假敷在脸上面膜纸都有小水泡鼓起来。\n很不错，非常补水，用过的都知道，性价比之王，好用又不贵，正品，用着放心，物流也很快。\n面膜非常好用哦。面膜薄薄的。好像是蚕丝面膜啊。精华很多呢。敷在脸上很舒服。感觉挺保湿的，味道也挺好闻的。就是里面只有单纯的面膜直接敷脸上有点不好弄，哈哈哈\n还可以保湿效果不错水润润的每天贴一片脸也不干了用完了在买点，不错还会继续回购的。\n快递很快，东西很赞！想要得点考拉豆不容易，还要三十个字。时间宝贵，废话不说！用过了就知道了\n挺好用的，朋友推荐来的\n挺好用的，淡淡的，虽然不是很浓精华的感觉，但是效果也蛮好的。划算\n不得不说美迪惠尔的面膜是我用过的最好的面膜之一😎补水效果非常好，没想到这么便宜的价格竟真的能买到真品。\n保湿效果挺好的，面膜很好用。\n期待好的产品。\n一打开包装里面的精华刚刚好，用了补水补水效果不错，物流非常快。\n皮肤很光滑😇比上去速度快三天就到了。\n前两天皮肤干燥连续敷了两个晚上感觉还不错😂补水效果明显！可想而知精华液又多充足😍敷上以后凉凉的很舒服。\n补水效果一般吧～但是我用的韩国背回来的面膜纸不算薄，希望好用会回购的，敷上脸感觉比较清爽～价格还不便宜。\n希望好用，面膜用过了很好用，皮肤水嫩光滑白皙，补水不错，价格也合适。\n就是精华液太少了，保湿效果不错。\n面膜的补水效果非常好，保湿效果确实很赞，这个面膜相对于胶原蛋白和美白的那两款的面膜纸要厚一些，看着价格合适。\n```\n\n前10句是真实用户评论，后10句是生成的。\n\n\u003C\u002Fdetails>\n\n## 📚 Dataset \n\n#### SFT datasets\n- 50万条中文ChatGPT指令Belle数据集：[BelleGroup\u002Ftrain_0.5M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_0.5M_CN)\n- 100万条中文ChatGPT指令Belle数据集：[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)\n- 5万条英文ChatGPT指令Alpaca数据集：[50k English Stanford Alpaca dataset](https:\u002F\u002Fgithub.com\u002Ftatsu-lab\u002Fstanford_alpaca#data-release)\n- 2万条中文ChatGPT指令Alpaca数据集：[shibing624\u002Falpaca-zh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Falpaca-zh)\n- 69万条中文指令Guanaco数据集(Belle50万条+Guanaco19万条)：[Chinese-Vicuna\u002Fguanaco_belle_merge_v1.0](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FChinese-Vicuna\u002Fguanaco_belle_merge_v1.0)\n- 240万条中文医疗数据集(包括预训练数据和指令微调数据集)：[shibing624\u002Fmedical](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Fmedical)\n- 5万条英文ChatGPT多轮对话数据集：[RyokoAI\u002FShareGPT52K](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FRyokoAI\u002FShareGPT52K)\n- 80万条中文ChatGPT多轮对话数据集：[BelleGroup\u002Fmultiturn_chat_0.8M](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Fmultiturn_chat_0.8M)\n- 116万条中文ChatGPT多轮对话数据集：[fnlp\u002Fmoss-002-sft-data](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffnlp\u002Fmoss-002-sft-data)\n\n#### Reward Model datasets\n- 原版的oasst1数据集：[OpenAssistant\u002Foasst1](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FOpenAssistant\u002Foasst1)\n- 2万条多语言oasst1的reward数据集：[tasksource\u002Foasst1_pairwise_rlhf_reward](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ftasksource\u002Foasst1_pairwise_rlhf_reward)\n- 11万条英文hh-rlhf的reward数据集：[Dahoas\u002Ffull-hh-rlhf](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDahoas\u002Ffull-hh-rlhf)\n- 9万条英文reward数据集(来自Anthropic's Helpful Harmless dataset)：[Dahoas\u002Fstatic-hh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDahoas\u002Fstatic-hh)\n- 7万条英文reward数据集（来源同上）：[Dahoas\u002Frm-static](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDahoas\u002Frm-static)\n- 7万条繁体中文的reward数据集（翻译自rm-static）[liswei\u002Frm-static-m2m100-zh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fliswei\u002Frm-static-m2m100-zh)\n- 7万条英文Reward数据集：[yitingxie\u002Frlhf-reward-datasets](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fyitingxie\u002Frlhf-reward-datasets)\n- 3千条中文知乎问答偏好数据集：[liyucheng\u002Fzhihu_rlhf_3k](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fliyucheng\u002Fzhihu_rlhf_3k)\n\n## ✅ Todo\n\n1. [x] add multiple rounds of dialogue data fine-tuning method\n2. [x] add reward model finetuning, go to [shibing624\u002FMeidcalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)\n3. [x] add rl finetuning, go to [shibing624\u002FMeidcalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)\n4. [x] add medical reward dataset\n5. [x] add llama in4 training, go to [shibing624\u002FMeidcalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)\n6. [ ] add all training and predict demo in colab\n\n## ☎️ Contact\n\n- Issue(建议)\n  ：[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fshibing624\u002Ftextgen.svg)](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues)\n- 邮件我：xuming: xuming624@qq.com\n- 微信我： 加我*微信号：xuming624, 备注：姓名-公司名-NLP* 进NLP交流群。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_readme_3dce032d5680.jpeg\" width=\"200\" \u002F>\n\n## 😇 Citation\n\n如果你在研究中使用了textgen，请按如下格式引用：\n\n```latex\n@misc{textgen,\n  title={textgen: Text Generation Tool},\n  author={Ming Xu},\n  year={2021},\n  howpublished={\\url{https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen}},\n}\n```\n\n## 🤗 License\nThis repository is licensed under [The Apache License 2.0](LICENSE).\n\nPlease follow the [Model Card](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fllama\u002Fblob\u002Fmain\u002FMODEL_CARD.md) to use the LLaMA model.\n\nPlease follow the [RAIL License](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fbigscience\u002Flicense) to use the BLOOM & BLOOMZ model.\n\n## 😍 Contribute\n\n项目代码还很粗糙，如果大家对代码有所改进，欢迎提交回本项目，在提交之前，注意以下两点：\n\n- 在`tests`添加相应的单元测试\n- 使用`python -m pytest`来运行所有单元测试，确保所有单测都是通过的\n\n之后即可提交PR。\n\n## 💕 Acknowledgements \n\n- [PaddlePaddle\u002FERNIE](https:\u002F\u002Fgithub.com\u002FPaddlePaddle\u002FERNIE)\n- [minimaxir\u002Ftextgenrnn](https:\u002F\u002Fgithub.com\u002Fminimaxir\u002Ftextgenrnn)\n- [minimaxir\u002Fgpt-2-simple](https:\u002F\u002Fgithub.com\u002Fminimaxir\u002Fgpt-2-simple)\n- [asyml\u002Ftexar](https:\u002F\u002Fgithub.com\u002Fasyml\u002Ftexar)\n- [yangjianxin1\u002FGPT2-chitchat](https:\u002F\u002Fgithub.com\u002Fyangjianxin1\u002FGPT2-chitchat)\n- [williamSYSU\u002FTextGAN-PyTorch](https:\u002F\u002Fgithub.com\u002FwilliamSYSU\u002FTextGAN-PyTorch)\n- [RUCAIBox\u002FTextBox](https:\u002F\u002Fgithub.com\u002FRUCAIBox\u002FTextBox)\n- [Tiiiger\u002Fbert_score](https:\u002F\u002Fgithub.com\u002FTiiiger\u002Fbert_score)\n- [ThilinaRajapakse\u002Fsimpletransformers](https:\u002F\u002Fgithub.com\u002FThilinaRajapakse\u002Fsimpletransformers)\n- [1YCxZ\u002FFake-review-generation](https:\u002F\u002Fgithub.com\u002F1YCxZ\u002FFake-review-generation)\n- [tloen\u002Falpaca-lora](https:\u002F\u002Fgithub.com\u002Ftloen\u002Falpaca-lora\u002Fblob\u002Fmain\u002Ffinetune.py)\n\nThanks for their great work!\n","[**🇨🇳中文**](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002FREADME.md) | [**🌐English**](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002FREADME_EN.md) | [**📖文档\u002FDocs**](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fwiki) | [**🤖模型\u002FModels**](https:\u002F\u002Fhuggingface.co\u002Fshibing624) \n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002Flogo.svg\" alt=\"Logo\">\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n-----------------\n\n# TextGen: 文本生成模型的实现\n[![PyPI版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftextgen.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Ftextgen)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_readme_12d530335a15.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Ftextgen)\n[![欢迎贡献](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fcontributions-welcome-brightgreen.svg)](CONTRIBUTING.md)\n[![许可证 Apache 2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-blue.svg)](LICENSE)\n[![Python版本](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8%2B-green.svg)](requirements.txt)\n[![GitHub问题](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fshibing624\u002Ftextgen.svg)](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues)\n[![微信交流群](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fwechat-group-green.svg?logo=wechat)](#Contact)\n\n## 📖 简介\n\n**TextGen**实现了多种文本生成模型，包括：LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型，开箱即用。\n\n## 🔥 新闻\n\n[2023\u002F11\u002F02] v1.1.2版本: GPT模型支持了[NEFTune](https:\u002F\u002Fgithub.com\u002Fneelsjain\u002FNEFTune)给embedding加噪SFT训练方法，SFT中使用 `--neft_alpha` 参数启用 NEFTune，例如 `--neft_alpha 5`。详见[Release-v1.1.2](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.1.2)\n\n[2023\u002F09\u002F05] v1.1.1版本: 支持多卡推理，推理速度加倍，调库textgen做batch推理，多卡推理更方便、快速。详见[Release-v1.1.1](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.1.1)\n\n[2023\u002F08\u002F23] v1.1.0版本: 发布基于ShareGPT4数据集微调的中英文Vicuna-13B模型[shibing624\u002Fvicuna-baichuan-13b-chat](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat)，和对应的LoRA模型[shibing624\u002Fvicuna-baichuan-13b-chat-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat-lora)，支持多轮对话，评测效果有提升，详见[Release-v1.1.0](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.1.0)\n\n[2023\u002F08\u002F02] v1.0.2版本: 新增支持ChatGLM2和LLaMA2模型的SFT微调训练，详见[Release-v1.0.2](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.0.2)\n\n[2023\u002F06\u002F15] v1.0.0版本: 新增ChatGLM\u002FLLaMA\u002FBloom模型的多轮对话微调训练，并发布医疗问诊LoRA模型[shibing624\u002Fziya-llama-13b-medical-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fziya-llama-13b-medical-lora)。详见[Release-v1.0.0](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F1.0.0)\n\n[2023\u002F06\u002F02] v0.2.7版本: 新增ChatGLM\u002FLLaMA\u002FBloom模型的SFT微调训练，并发布适用于通用对话和中文纠错的LoRA模型。详见[Release-v0.2.7](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Freleases\u002Ftag\u002F0.2.7)\n\n\n## 😊 特性\n\n- [GPT](textgen\u002Fgpt)：本项目基于PyTorch实现了 ChatGLM-6B 1,2,3 \u002F Baichuan 1,2 \u002F LLaMA 1,2 \u002F BLOOM \u002F Mistral \u002F QWen 等GPT模型LoRA微调训练和预测，可以用于对话生成任务和领域微调训练\n- [UDA\u002FEDA](textgen\u002Faugment\u002Fword_level_augment.py)：本项目实现了UDA(非核心词替换)、EDA和Back Translation(回译)算法，基于TF-IDF将句子中部分不重要词替换为同义词，随机词插入、删除、替换等方法，产生新的文本，实现了文本扩增\n- [Seq2Seq](textgen\u002Fseq2seq)：本项目基于PyTorch实现了Seq2Seq、ConvSeq2Seq、BART模型的训练和预测，可以用于文本翻译、对话生成、摘要生成等文本生成任务\n- [T5](textgen\u002Ft5)：本项目基于PyTorch实现了T5和CopyT5模型训练和预测，可以用于文本翻译、对话生成、对联生成、文案撰写等文本生成任务\n- [GPT2](textgen\u002Flanguage_modeling)：本项目基于PyTorch实现了GTP2模型训练和预测，可以用于文章生成、对联生成等文本生成任务\n- [SongNet](textgen\u002Flanguage_modeling\u002Fsongnet_model.py)：本项目基于PyTorch实现了SongNet模型训练和预测，可以用于规范格式的诗词、歌词等文本生成任务\n- [TGLS](textgen\u002Funsup_generation)：本项目实现了[TGLS](https:\u002F\u002Fwww.jiqizhixin.com\u002Farticles\u002F2020-08-11-5)无监督相似文本生成模型，是一种“先搜索后学习”的文本生成方法，通过反复迭代学习候选集，最终模型能生成类似候选集的高质量相似文本\n\n### 发布模型\n\nrelease基于`textgen`训练的中文模型，模型已经release到HuggingFace models，指定模型名称`textgen`会自动下载模型，可直接使用。\n\n\n| 模型                                                                                                     | 架构               | 简介                                                                                                                                                                  | 训练脚本                                                                                                                                 | 预测脚本                                                                                                        | \n|:----------------------------------------------------------------------------------------------------------|:-------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------|\n| [shibing624\u002Ft5-chinese-couplet](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Ft5-chinese-couplet)                     | T5                 | 经过中文对联数据微调后的模型                                                                                                                                                            | [对联生成模型调研](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002F%E5%AF%B9%E8%81%94%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%AF%B9%E6%AF%94.md) | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Ft5\u002Ft5_couplet_demo.py)                      |\n| [shibing624\u002Fsongnet-base-chinese-songci](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fsongnet-base-chinese-songci)   | SongNet            | 经过宋词数据微调后的模型                                                                                                                                                              | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py)                              | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Fsongnet_songci_demo.py)             |\n| [shibing624\u002Fsongnet-base-chinese-couplet](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fsongnet-base-chinese-couplet) | SongNet            | 经过对联数据微调后的模型                                                                                                                                                              | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py)                              | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Fsongnet_couplet_demo.py)            |\n| [shibing624\u002Fchatglm-6b-csc-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-csc-zh-lora)             | ChatGLM-6B         | 在27万中文拼写纠错数据[shibing624\u002FCSC](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002FCSC)上微调了一版ChatGLM-6B，纠错效果有提升，发布微调后的LoRA权重                                                             | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_csc_demo.py)                             | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Fcsc_demo.py)                        |\n| [shibing624\u002Fchatglm-6b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-belle-zh-lora)         | ChatGLM-6B         | 在100万条中文ChatGPT指令Belle数据集[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)上微调了一版ChatGLM-6B，问答效果有提升，发布微调后的LoRA权重                                | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_hfdataset_demo.py)                       | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_hfdataset_demo.py) |\n| [shibing624\u002Fllama-13b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fllama-13b-belle-zh-lora)           | LLaMA-13B          | 在100万条中文ChatGPT指令Belle数据集[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)上微调了一版Llama-13B，问答效果有提升，发布微调后的LoRA权重                                 | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_hfdataset_demo.py)                           | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_hfdataset_demo.py)     |\n| [shibing624\u002Fchinese-alpaca-plus-7b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-7b-hf)       | LLaMA-7B           | [中文LLaMA-Plus, Alpaca-Plus 7B版本](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Freleases\u002Ftag\u002Fv3.0)，在LLaMA-7B上扩充了中文词表并继续预训练120G文本（通用领域），在4M指令数据集上微调后得到的中文Alpaca-plus模型          | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n| [shibing624\u002Fchinese-alpaca-plus-13b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-13b-hf)     | LLaMA-13B          | [中文LLaMA-Plus, Alpaca-Plus 13B版本](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Freleases\u002Ftag\u002Fv3.1)，在LLaMA-13B上扩充了中文词表并继续预训练120G文本（通用领域），在4.3M指令数据集上微调后得到的中文Alpaca-plus模型      | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n| [shibing624\u002Fziya-llama-13b-medical-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fziya-llama-13b-medical-lora)     | LLaMA-13B          | 在240万条中英文医疗数据集[shibing624\u002Fmedical](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Fmedical)上微调了一版Ziya-LLaMA-13B模型，医疗问答效果有提升，发布微调后的LoRA权重                                           | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n| [shibing624\u002Fvicuna-baichuan-13b-chat](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat)           | Baichuan-13B-Chat  | 在10万条多语言ShareGPT GPT4多轮对话数据集[shibing624\u002Fsharegpt_gpt4](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Fsharegpt_gpt4)上SFT微调了一版baichuan-13b-chat多轮问答模型，日常问答和医疗问答效果有提升，发布微调后的完整模型权重  | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)               |\n\n### 评估\n\n| 模型                                                                                                                                       | 架构       | 简介                                                                                                                                                                                                                                                                                     | 分数    |\n|:--------------------------------------------------------------------------------------------------------------------------------------------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------|\n| [LLaMA-7B-Chinese-Alpaca](https:\u002F\u002Fhuggingface.co\u002Fziqingyang\u002Fchinese-alpaca-lora-7b)                                                         | LLaMA-7B   | 复用[ymcui\u002FChinese-LLaMA-Alpaca](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fblob\u002Fmain\u002Fexamples\u002FREADME.md)的评估case和得分                                                                                                                                                                          | 4.92     |\n| [LLaMA-13B-Chinese-Alpaca](https:\u002F\u002Fhuggingface.co\u002Fziqingyang\u002Fchinese-alpaca-lora-13b)                                                       | LLaMA-13B  | 复用[ymcui\u002FChinese-LLaMA-Alpaca](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fblob\u002Fmain\u002Fexamples\u002FREADME.md)的评估case和得分                                                                                                                                                                          | 7.05     |\n| [ChatGLM-6B](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002Fchatglm-6b)                                                                                       | ChatGLM-6B | 基于原生`THUDM\u002Fchatglm-6b`评估测试集得分                                                                                                                                                                                                                                                                 | 7.16     |\n| [ChatGLM-6B-v1.1](https:\u002F\u002Fhuggingface.co\u002FTHUDM\u002Fchatglm-6b)                                                                                  | ChatGLM-6B | 基于原生`THUDM\u002Fchatglm-6b`v1.1英文优化版模型评估测试集得分                                                                                                                                                                                                                                                      | **7.18** |\n| [shibing624\u002Fchatglm-6b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-belle-zh-lora)                                           | ChatGLM-6B | 基于`THUDM\u002Fchatglm-6b`加载`shibing624\u002Fchatglm-6b-belle-zh-lora`LoRA模型后评估测试集得分                                                                                                                                                                                                                     | 7.03     |\n| [facat\u002Falpaca-lora-cn-13b](https:\u002F\u002Fhuggingface.co\u002Ffacat\u002Falpaca-lora-cn-13b)\t                                                                | LLaMA-13B  | 基于`decapoda-research\u002Fllama-13b-hf`加载`facat\u002Falpaca-lora-cn-13b`LoRA模型后评估测试集并标注得分                                                                                                                                                                                                               | 4.13     |  \n| [Chinese-Vicuna\u002FChinese-Vicuna-lora-13b-belle-and-guanaco](https:\u002F\u002Fhuggingface.co\u002FChinese-Vicuna\u002FChinese-Vicuna-lora-13b-belle-and-guanaco) | LLaMA-13B  | 基于`decapoda-research\u002Fllama-13b-hf`加载`Chinese-Vicuna\u002FChinese-Vicuna-lora-13b-belle-and-guanaco`LoRA模型后评估测试集并标注得分                                                                                                                                                                               | 3.98     |\n| [shibing624\u002Fchinese-alpaca-plus-7b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-7b-hf)                                         | LLaMA-7B   | 使用[ymcui\u002FChinese-LLaMA-Alpaca 合并模型方法](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fwiki\u002F%E6%89%8B%E5%8A%A8%E6%A8%A1%E5%9E%8B%E5%90%88%E5%B9%B6%E4%B8%8E%E8%BD%AC%E6%8D%A2#%E5%A4%9Alora%E6%9D%83%E9%87%8D%E5%90%88%E5%B9%B6%E9%80%82%E7%94%A8%E4%BA%8Echinese-alpaca-plus)合并HF权重后，评估测试集并标注得分 | 6.93     |\n| [shibing624\u002Fchinese-alpaca-plus-13b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-13b-hf)                                       | LLaMA-13B  | 使用[ymcui\u002FChinese-LLaMA-Alpaca 合并模型方法](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Fwiki\u002F%E6%89%8B%E5%8A%A8%E6%A8%A1%E5%9E%8B%E5%90%88%E5%B9%B6%E4%B8%8E%E8%BD%AC%E6%8D%A2#%E5%A4%9Alora%E6%9D%83%E9%87%8D%E5%90%88%E5%B9%B6%E9%80%82%E7%94%A8%E4%BA%8Esichinese-alpaca-plus)合并HF权重后，评估测试集并标注得分 | 7.07     |\n| [TheBloke\u002Fvicuna-13B-1.1-HF](https:\u002F\u002Fhuggingface.co\u002FTheBloke\u002Fvicuna-13B-1.1-HF)                                                             | LLaMA-13B  | 使用原生vicuna-13B-1.1合并后的模型，评估测试集并标注得分                                                                                                                                                                                                                                                           | 5.13     |\n| [IDEA-CCNL\u002FZiya-LLaMA-13B-v1](https:\u002F\u002Fhuggingface.co\u002FIDEA-CCNL\u002FZiya-LLaMA-13B-v1)                                                           | LLaMA-13B  | 使用姜子牙通用大模型V1，评估测试集并标注得分                                                                                                                                                                                                                                                                       | 6.63     |\n\n说明：\n- 评估case，详见在线文档：中文LLM-benchmark多任务评估集(腾讯文档) https:\u002F\u002Fdocs.qq.com\u002Fsheet\u002FDUUpsREtWbFBsUVJE?tab=r7io7g  感谢韩俊明、[杨家铭](https:\u002F\u002Fgithub.com\u002Fyangjiam)等同学的标注\n- 评估任务类型包括：知识问答，开放式问答，数值计算，诗词、音乐、体育，娱乐，写文章，文本翻译，代码编程，伦理、拒答类，多轮问答，Score 评分是前100条（10分制）的平均分数，人工打分，越高越好\n- 评估数量少，任务类型不够全面，评分之间的大小关系有一些参考价值，分数的绝对值没太大参考价值\n- 评估脚本：[tests\u002Ftest_benchmark.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Ftests\u002Ftest_benchmark.py) ，使用fp16预测，无int量化处理，运行脚本可复现评估结果，但生成结果具有随机性，受解码超参、随机种子等因素影响。评测并非绝对严谨，测试结果仅供晾晒参考\n- 结论：ChatGLM-6B、LLaMA-13B的中文衍生模型（包括alpaca-plus, vicuna, ziya）的表现属于第一梯队，原版LLaMA-7B的表现整体稍差些\n- LLaMA-13B-Chinese-Alpaca是在原版LLaMA上扩充了中文词表，并融入了约20G的通用中文语料后的指令微调模型，表明了LLaMA的底座优秀，具有强大的语言迁移能力\n- ChatGLM这种原生的中文预训练模型更理解中文语义，且在中文知识问答、开放式问答得分高\n- LLaMA系列模型数值计算、中英翻译、代码编程类得分高\n- 经过中文预训练和SFT微调后的Chinese-LLaMA模型在中文诗词、娱乐、伦理类得分相较原版LLaMA有提升\n\n## 🚀 演示\n\nHuggingFace 演示：https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fshibing624\u002Fchinese-couplet-generate\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_readme_e2c114eeb7c8.png)\n\n运行示例：[examples\u002FT5\u002Fgradio_demo.py](examples\u002FT5\u002Fgradio_demo.py) 查看演示：\n\n```shell\npython examples\u002FT5\u002Fgradio_demo.py\n```\n\n模型由 [examples\u002Ft5\u002FT5_Finetune_Chinese_Couplet.ipynb](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Ft5\u002FT5_Finetune_Chinese_Couplet.ipynb) 训练得到。\n\n## 💾 安装\n\n```shell\npip install -U textgen\n```\n\n或者\n\n安装开发版本：\n```shell\npip install torch # conda install pytorch\ngit clone https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen.git\ncd textgen\npython setup.py install\n```\n\n## ▶️ 使用\n\n### ChatGLM-6B 模型\n\n#### 使用 ChatGLM-6B 微调后的模型\n\n示例：[examples\u002Fgpt\u002Finference_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Finference_demo.py)\n\n```python\nfrom textgen import GptModel\n\nmodel = GptModel(\"chatglm\", \"THUDM\u002Fchatglm-6b\", peft_name=\"shibing624\u002Fchatglm-6b-csc-zh-lora\")\nr = model.predict([\"介绍下北京\"])\nprint(r)  # ['北京是中国的首都...']\n```\n\n#### 训练 ChatGLM-6B 微调模型\n\n1. 支持自定义训练数据集和训练参数，数据集格式参考[examples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl)\n2. 支持QLoRA、AdaLoRA、LoRA、P_Tuning、Prefix_Tuning等部分参数微调方法，也支持全参微调\n3. 支持多卡训练，支持混合精度训练\n4. 支持多卡推理\n\n示例：[examples\u002Fgpt\u002Ftraining_chatglm_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_chatglm_demo.py)\n\n单卡训练：\n```shell\ncd examples\u002Fgpt\nCUDA_VISIBLE_DEVICES=0 python training_chatglm_demo.py --do_train --do_predict --num_epochs 1 --output_dir outputs_chatglm_v1\n```\n\n多卡训练：\n```shell\ncd examples\u002Fgpt\nCUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 training_chatglm_demo.py --do_train --do_predict --num_epochs 20 --output_dir outputs_chatglm_v1\n```\n\n多卡推理：\n```shell\ncd examples\u002Fgpt\nCUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 inference_multigpu_demo.py --model_type chatglm --base_model THUDM\u002Fchatglm-6b\n```\n\n\n### LLaMA 模型\n\n#### 使用 LLaMA 微调后的模型\n\n示例：[examples\u002Fgpt\u002Finference_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Finference_demo.py)\n\n\u003Cdetails>\n\u003Csummary>显示代码示例和结果\u003C\u002Fsummary>\n\n```python\nimport sys\n\nsys.path.append('..\u002F..')\nfrom textgen import GptModel\n\nmodel = GptModel(\"llama\", \"decapoda-research\u002Fllama-7b-hf\", peft_name=\"ziqingyang\u002Fchinese-alpaca-lora-7b\")\nr = model.predict([\"用一句话描述地球为什么是独一无二的。\"])\nprint(r)  # ['地球是唯一一颗拥有生命的行星。']\n```\n\n\u003C\u002Fdetails>\n\n#### 训练 LLaMA 微调模型\n1. 支持自定义训练数据集和训练参数，数据集格式参考[examples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl)\n2. 支持QLoRA、AdaLoRA、LoRA、P_Tuning、Prefix_Tuning等部分参数微调方法，也支持全参微调\n3. 支持多卡训练，支持混合精度训练，使用方法同上（ChatGLM多卡训练）\n4. 支持多卡推理\n\n示例：[examples\u002Fgpt\u002Ftraining_llama_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py)\n\n\n#### 基于微调(LoRA)模型继续训练\n如果需要基于Lora模型继续训练，可以使用下面的脚本合并模型为新的base model，再微调训练即可。\n\n执行以下命令：\n```shell\npython -m textgen\u002Fgpt\u002Fmerge_peft_adapter \\\n    --model_type llama \\\n    --base_model_name_or_path path\u002Fto\u002Fllama\u002Fmodel \\\n    --tokenizer_path path\u002Fto\u002Fllama\u002Ftokenizer \\\n    --peft_model_path path\u002Fto\u002Flora\u002Fmodel \\\n    --output_dir merged\n```\n参数说明：\n```\n--model_type：模型类型，目前支持bloom,llama,baichuan和chatglm\n--base_model_name_or_path：存放HF格式的底座模型权重和配置文件的目录\n--tokenizer_path：存放HF格式的底座模型tokenizer文件的目录\n--peft_model_path：中文LLaMA\u002FAlpaca LoRA解压后文件所在目录，也可使用HF上的Lora模型名称，如`ziqingyang\u002Fchinese-alpaca-lora-7b`会自动下载对应模型\n--output_dir：指定保存全量模型权重的目录，默认为.\u002Fmerged\n```\n\n#### 训练领域模型\n注意：为了全面地介绍训练医疗大模型的过程，把4阶段训练方法(Pretraining, Supervised Finetuning, Reward Modeling and Reinforcement Learning)单独新建了一个repo：[shibing624\u002FMedicalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)，请移步该repo查看训练方法。\n\n### ConvSeq2Seq 模型\n\n训练并预测ConvSeq2Seq模型：\n\n示例：[examples\u002Fseq2sesq\u002Ftraining_convseq2seq_model_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fseq2seq\u002Ftraining_convseq2seq_model_demo.py)\n\n\u003Cdetails>\n\u003Csummary>显示代码示例和结果\u003C\u002Fsummary>\n\n```python\nimport argparse\nfrom loguru import logger\nimport sys\n\nsys.path.append('..\u002F..')\nfrom textgen.seq2seq.conv_seq2seq_model import ConvSeq2SeqModel\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--train_file', default='..\u002Fdata\u002Fzh_dialog.tsv', type=str, help='Training data file')\n    parser.add_argument('--do_train', action='store_true', help='Whether to run training.')\n    parser.add_argument('--do_predict', action='store_true', help='Whether to run predict.')\n    parser.add_argument('--output_dir', default='.\u002Foutputs\u002Fconvseq2seq_zh\u002F', type=str, help='Model output directory')\n    parser.add_argument('--max_seq_length', default=50, type=int, help='Max sequence length')\n    parser.add_argument('--num_epochs', default=200, type=int, help='Number of training epochs')\n    parser.add_argument('--batch_size', default=32, type=int, help='Batch size')\n    args = parser.parse_args()\n    logger.info(args)\n\n    if args.do_train:\n        logger.info('Loading data...')\n        model = ConvSeq2SeqModel(epochs=args.num_epochs, batch_size=args.batch_size,\n                                 model_dir=args.output_dir, max_length=args.max_seq_length)\n        model.train_model(args.train_file)\n        print(model.eval_model(args.train_file))\n\n    if args.do_predict:\n        model = ConvSeq2SeqModel(epochs=args.num_epochs, batch_size=args.batch_size,\n                                 model_dir=args.output_dir, max_length=args.max_seq_length)\n        sentences = [\"什么是ai\", \"你是什么类型的计算机\", \"你知道热力学吗\"]\n        print(\"inputs:\", sentences)\n        print('outputs:', model.predict(sentences))\n\n\nif __name__ == '__main__':\n    main()\n```\n\n输出：\n\n```bash\ninputs: [\"什么是ai\", \"你是什么类型的计算机\", \"你知道热力学吗\"]\noutputs: ['人工智能是工程和科学的分支,致力于构建思维的机器。', '我的程序运行在python,所以我在任何运脑上工作！', '我不能错热是一个疯狂的人工智能\"200年。']\n```\n\n\u003C\u002Fdetails>\n\n### BART 模型\n\n训练并预测BART模型：\n\n示例：[examples\u002Fseq2sesq\u002Ftraining_bartseq2seq_zh_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fseq2seq\u002Ftraining_bartseq2seq_zh_demo.py)\n\n输出：\n\n```shell\ninputs: ['什么是ai', '你是什么类型的计算机', '你知道热力学吗']\noutputs: ['人工智能是工程和科学的分支,致力于构', '我的程序运行在python,所以我在任何电脑上', '什么是热力学吗？']\n```\n\n### T5 模型\n\n示例：[examples\u002Ft5\u002Ftraining_zh_t5_model_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Ft5\u002Ftraining_zh_t5_model_demo.py)\n\n\u003Cdetails>\n\u003Csummary>显示代码示例和结果\u003C\u002Fsummary>\n\n```python\nimport argparse\nfrom loguru import logger\nimport pandas as pd\nimport sys\n\nsys.path.append('..\u002F..')\nfrom textgen.t5 import T5Model\n\n\ndef load_data(file_path):\n    data = []\n    with open(file_path, 'r', encoding='utf-8') as f:\n        for line in f:\n            line = line.strip('\\n')\n            terms = line.split('\\t')\n            if len(terms) == 2:\n                data.append(['QA', terms[0], terms[1]])\n            else:\n                logger.warning(f'line error: {line}')\n    return data\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n    parser.add_argument('--train_file', default='..\u002Fdata\u002Fzh_dialog.tsv', type=str, help='训练数据文件')\n    parser.add_argument('--model_type', default='t5', type=str, help='Transformers模型类型')\n    parser.add_argument('--model_name', default='Langboat\u002Fmengzi-t5-base', type=str, help='Transformers模型或路径')\n    parser.add_argument('--do_train', action='store_true', help='是否进行训练。')\n    parser.add_argument('--do_predict', action='store_true', help='是否进行预测。')\n    parser.add_argument('--output_dir', default='.\u002Foutputs\u002Fmengzi_t5_zh\u002F', type=str, help='模型输出目录')\n    parser.add_argument('--max_seq_length', default=50, type=int, help='最大序列长度')\n    parser.add_argument('--num_epochs', default=10, type=int, help='训练轮数')\n    parser.add_argument('--batch_size', default=32, type=int, help='批量大小')\n    args = parser.parse_args()\n    logger.info(args)\n\n    if args.do_train:\n        logger.info('加载数据...')\n        # train_data: 包含3列的Pandas DataFrame - `prefix`, `input_text`, `target_text`。\n        #   - `prefix`: 表示要执行的任务的字符串。（例如 `\"question\"`、`\"stsb\"`）\n        #   - `input_text`: 输入文本。`prefix` 会前置以形成完整的输入。（\u003Cprefix>: \u003Cinput_text>)\n        #   - `target_text`: 目标序列\n        train_data = load_data(args.train_file)\n        logger.debug('train_data: {}'.format(train_data[:10]))\n        train_df = pd.DataFrame(train_data, columns=[\"prefix\", \"input_text\", \"target_text\"])\n\n        eval_data = load_data(args.train_file)[:10]\n        eval_df = pd.DataFrame(eval_data, columns=[\"prefix\", \"input_text\", \"target_text\"])\n\n        model_args = {\n            \"reprocess_input_data\": True,\n            \"overwrite_output_dir\": True,\n            \"max_seq_length\": args.max_seq_length,\n            \"train_batch_size\": args.batch_size,\n            \"num_train_epochs\": args.num_epochs,\n            \"save_eval_checkpoints\": False,\n            \"save_model_every_epoch\": False,\n            \"evaluate_generated_text\": True,\n            \"evaluate_during_training\": True,\n            \"evaluate_during_training_verbose\": True,\n            \"use_multiprocessing\": True,\n            \"save_best_model\": True,\n            \"output_dir\": args.output_dir,\n            \"use_early_stopping\": True,\n        }\n        # model_type: t5  model_name: Langboat\u002Fmengzi-t5-base\n        model = T5Model(args.model_type, args.model_name, args=model_args)\n\n        def count_matches(labels, preds):\n            logger.debug(f\"labels: {labels[:10]}\")\n            logger.debug(f\"preds: {preds[:10]}\")\n            match = sum([1 if label == pred else 0 for label, pred in zip(labels, preds)])\n            logger.debug(f\"match: {match}\")\n            return match\n\n        model.train_model(train_df, eval_data=eval_df, matches=count_matches)\n        print(model.eval_model(eval_df, matches=count_matches))\n\n    if args.do_predict:\n        model = T5Model(args.model_type, args.output_dir)\n        sentences = [\"什么是ai\", \"你是什么类型的计算机\", \"你知道热力学吗\"]\n        print(\"inputs:\", sentences)\n        print(\"outputs:\", model.predict(sentences))\n\n\nif __name__ == '__main__':\n    main()\n```\n\n输出：\n\n```shell\ninputs: ['什么是ai', '你是什么类型的计算机', '你知道热力学吗']\noutputs: ['人工智能有两个广义的定义,任何拟人的机械,如在卡雷尔capeks', '我的程序运行在Python,所以我在任何电脑上工作!', '什么是热力学']\n```\n\n\u003C\u002Fdetails>\n\n### GPT2 模型\n\n#### 中文GPT2 - 文章生成\n\n使用中文数据集（段落格式，`\\n`间隔），训练GPT2模型，可以用于诗歌生成、文章生成等任务。\n\n示例：[examples\u002Fgpt2\u002Ftraining_zh_gpt2_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt2\u002Ftraining_zh_gpt2_demo.py)\n\n#### 中文GPT2 - 对联生成\n\n使用中文对联数据集（tsv格式，`\\t`间隔），自定义数据集读取Dataset，训练GPT2模型，可以用于对联生成、对话生成等任务。\n\n示例：[examples\u002Fgpt2\u002Ftraining_couplet_gpt2_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt2\u002Ftraining_couplet_gpt2_demo.py)\n\nGPT2与T5的对比：\n\n1. 两者都是基于Transformer改进而来，T5同时具有编码器和解码器，而GPT2只有解码器。\n2. T5的优势在于处理给定输入并生成对应输出的任务，如翻译、对话、问答等。\n3. GPT2的优势在于自由创作，比如撰写短文。\n4. T5在对联生成方面效果优于GPT2，而GPT2在诗词生成方面效果优于T5。\n\n- [对联生成模型调研](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002F%E5%AF%B9%E8%81%94%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%AF%B9%E6%AF%94.md)\n- [古诗生成模型调研](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fdocs\u002F%E5%8F%A4%E8%AF%97%E7%94%9F%E6%88%90%E6%A8%A1%E5%9E%8B%E5%AF%B9%E6%AF%94.md)\n\n### SongNet 模型\n\n格式控制的文本生成模型，论文见[SongNet: Rigid Formats Controlled Text Generation](https:\u002F\u002Farxiv.org\u002Fabs\u002F2004.08022)，适用于对韵律格式要求较高的诗歌、对联、歌词生成等任务。\n\n示例：[examples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fsongnet\u002Ftraining_zh_songnet_demo.py)\n\n### 关键词文本增强（EDA\u002FUDA）\n\n示例：[examples\u002Ftext_augmentation\u002Ftext_augmentation_demo.py](examples\u002Ftext_augmentation\u002Ftext_augmentation_demo.py)\n\n\u003Cdetails>\n\u003Csummary>显示代码示例和结果\u003C\u002Fsummary>\n\n```python\nimport sys\n\nsys.path.append('..')\nfrom textgen.augment import TextAugment\n\nif __name__ == '__main__':\n    docs = ['主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容',\n            '晚上肚子好难受',\n            '你会武功吗，我不会',\n            '组装标题质量受限于广告主自提物料的片段质量，且表达丰富度有限',\n            ]\n    m = TextAugment(sentence_list=docs)\n    a = docs[0]\n    print(a)\n\n    b = m.augment(a, aug_ops='random-0.2')\n    print('random-0.2:', b)\n\n    b = m.augment(a, aug_ops='insert-0.2')\n    print('insert-0.2:', b)\n\n    b = m.augment(a, aug_ops='delete-0.2')\n    print('delete-0.2:', b)\n\n    b = m.augment(a, aug_ops='tfidf-0.2')\n    print('tfidf-0.2:', b)\n\n    b = m.augment(a, aug_ops='mix-0.2')\n    print('mix-0.2:', b)\n```\n\n输出：\n\n```bash\n主要研究机器学习、深度学习、计算机视觉、智能对话系统相关内容\nrandom-0.2: ('主要陪陪机器学习、深度学习主要计算机视觉、智能对话系统受限于内容', [('研究', '陪陪', 2, 4), ('、', '主要', 13, 15), ('相关', '受限于', 27, 30)])\ninsert-0.2: ('主要研究机器机器学习学习、深度深度学习、计算机视觉、智能对话系统相关内容', [('机器', '机器机器', 4, 8), ('学习', '学习学习', 8, 12), ('深度', '深度深度', 13, 17)])\ndelete-0.2: ('主要研究机器学习、深度学习、计算机视觉、对话系统相关内容', [('智能', '', 20, 20)])\ntfidf-0.2: ('一是研究机器学习、深度学习、计算机听觉、智能交谈系统密切相关内容',([('主要', '一是', 0, 2), ('视觉', '听觉', 17, 19), ('对话', '交谈', 22, 24), ('相关', '密切相关', 26, 30)]))\nmix-0.2: ('主要研究机器学习、深度学、计算机听觉、智能对话软件系统相关内容',([('学习', '学', 11, 12), ('视觉', '听觉', 16, 18), ('系统', '软件系统', 23, 27)]))\n```\n\u003C\u002Fdetails>\n\n### TGLS 模型（无监督相似文本生成模型）\n\n无监督的中文电商评论生成：从**电商评论**中提取用户表达观点的短句并进行组合来生成仿真评论。\n\nexample: [examples\u002Funsup_generation\u002Funsup_generation_demo.py](examples\u002Funsup_generation\u002Funsup_generation_demo.py)\n\n\u003Cdetails>\n\u003Csummary>展示代码示例和结果\u003C\u002Fsummary>\n\n```python\nimport os\nimport sys\n\nsys.path.append('..')\nfrom textgen.unsup_generation import TglsModel, load_list\n\npwd_path = os.path.abspath(os.path.dirname(__file__))\n\nsamples = load_list(os.path.join(pwd_path, '.\u002Fdata\u002Fecommerce_comments.txt'))\ndocs_text = [\n    [\"挺好的，速度很快，也很实惠，不知效果如何\",\n     \"产品没得说，买了以后就降价，心情不美丽。\",\n     \"刚收到，包装很完整，不错\",\n     \"发货速度很快，物流也不错，同一时间买的两个东东，一个先到一个还在路上。这个水水很喜欢，不过盖子真的开了。盖不牢了现在。\",\n     \"包装的很好，是正品\",\n     \"被种草兰蔻粉水三百元一大瓶囤货，希望是正品好用，收到的时候用保鲜膜包裹得严严实实，只敢买考拉自营的护肤品\",\n     ],\n    ['很温和，清洗的也很干净，不油腻，很不错，会考虑回购，第一次考拉买护肤品，满意',\n     '这款卸妆油我会无限回购的。即使我是油痘皮，也不会闷痘，同时在脸部按摩时，还能解决白头的脂肪粒的问题。用清水洗完脸后，非常的清爽。',\n     '自从用了fancl之后就不用其他卸妆了，卸的舒服又干净',\n     '买贵了，大润发才卖79。9。',\n     ],\n    samples\n]\nm = TglsModel(docs_text)\nr = m.generate(samples[:500])\nprint('size:', len(r))\nfor review in r:\n    print('\\t' + review)\n```\n\noutput:\n\n[美迪惠尔 N.M.F针剂水库保湿面膜](https:\u002F\u002Fgoods.kaola.com\u002Fproduct\u002F2227311.html)有如下的20句评论，其中有10句是真实用户评论，10句是生成的评论，能看出来么?😂\n\n```\n还不错还不错还不错还不错。\n东西到了，不知道好不好用。试用过后再来评价。到时看网评都还可以。\n哺乳期唯一使用的护肤品，每天都是素颜，脸面全靠面膜吊着😄补水💦不粘腻一如既往的支持，喜欢💕\n搞活动时买的面膜，不知道这个面膜是真是假敷在脸上面膜纸都有小水泡鼓起来。\n很不错，非常补水，用过的都知道，性价比之王，好用又不贵，正品，用着放心，物流也很快。\n面膜非常好用哦。面膜薄薄的。好像是蚕丝面膜啊。精华很多呢。敷在脸上很舒服。感觉挺保湿的，味道也挺好闻的。就是里面只有单纯的面膜直接敷脸上有点不好弄，哈哈哈\n还可以保湿效果不错水润润的每天贴一片脸也不干了用完了在买点，不错还会继续回购的。\n快递很快，东西很赞！想要得点考拉豆不容易，还要三十个字。时间宝贵，废话不说！用过了就知道了\n挺好用的，朋友推荐来的\n挺好用的，淡淡的，虽然不是很浓精华的感觉，但是效果也蛮好的。划算\n不得不说美迪惠尔的面膜是我用过的最好的面膜之一😎补水效果非常好，没想到这么便宜的价格竟真的能买到真品。\n保湿效果挺好的，面膜很好用。\n期待好的产品。\n一打开包装里面的精华刚刚好，用了补水补水效果不错，物流非常快。\n皮肤很光滑😇比上去速度快三天就到了。\n前两天皮肤干燥连续敷了两个晚上感觉还不错😂补水效果明显！可想而知精华液又多充足😍敷上以后凉凉的很舒服。\n补水效果一般吧～但是我用的韩国背回来的面膜纸不算薄，希望好用会回购的，敷上脸感觉比较清爽～价格还不便宜。\n希望好用，面膜用过了很好用，皮肤水嫩光滑白皙，补水不错，价格也合适。\n就是精华液太少了，保湿效果不错。\n面膜的补水效果非常好，保湿效果确实很赞，这个面膜相对于胶原蛋白和美白的那两款的面膜纸要厚一些，看着价格合适。\n```\n\n前10句是真实用户评论，后10句是生成的。\n\n\u003C\u002Fdetails>\n\n## 📚 数据集 \n\n#### SFT 数据集\n- 50万条中文ChatGPT指令Belle数据集：[BelleGroup\u002Ftrain_0.5M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_0.5M_CN)\n- 100万条中文ChatGPT指令Belle数据集：[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)\n- 5万条英文ChatGPT指令Alpaca数据集：[50k English Stanford Alpaca dataset](https:\u002F\u002Fgithub.com\u002Ftatsu-lab\u002Fstanford_alpaca#data-release)\n- 2万条中文ChatGPT指令Alpaca数据集：[shibing624\u002Falpaca-zh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Falpaca-zh)\n- 69万条中文指令Guanaco数据集(Belle50万条+Guanaco19万条)：[Chinese-Vicuna\u002Fguanaco_belle_merge_v1.0](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FChinese-Vicuna\u002Fguanaco_belle_merge_v1.0)\n- 240万条中文医疗数据集(包括预训练数据和指令微调数据集)：[shibing624\u002Fmedical](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Fmedical)\n- 5万条英文ChatGPT多轮对话数据集：[RyokoAI\u002FShareGPT52K](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FRyokoAI\u002FShareGPT52K)\n- 80万条中文ChatGPT多轮对话数据集：[BelleGroup\u002Fmultiturn_chat_0.8M](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Fmultiturn_chat_0.8M)\n- 116万条中文ChatGPT多轮对话数据集：[fnlp\u002Fmoss-002-sft-data](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ffnlp\u002Fmoss-002-sft-data)\n\n#### 奖励模型数据集\n- 原版的oasst1数据集：[OpenAssistant\u002Foasst1](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FOpenAssistant\u002Foasst1)\n- 2万条多语言oasst1的奖励数据集：[tasksource\u002Foasst1_pairwise_rlhf_reward](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Ftasksource\u002Foasst1_pairwise_rlhf_reward)\n- 11万条英文hh-rlhf的奖励数据集：[Dahoas\u002Ffull-hh-rlhf](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDahoas\u002Ffull-hh-rlhf)\n- 9万条英文奖励数据集（来自Anthropic's Helpful Harmless dataset）：[Dahoas\u002Fstatic-hh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDahoas\u002Fstatic-hh)\n- 7万条英文奖励数据集（来源同上）：[Dahoas\u002Frm-static](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FDahoas\u002Frm-static)\n- 7万条繁体中文的奖励数据集（翻译自rm-static）[liswei\u002Frm-static-m2m100-zh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fliswei\u002Frm-static-m2m100-zh)\n- 7万条英文Reward数据集：[yitingxie\u002Frlhf-reward-datasets](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fyitingxie\u002Frlhf-reward-datasets)\n- 3千条中文知乎问答偏好数据集：[liyucheng\u002Fzhihu_rlhf_3k](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fliyucheng\u002Fzhihu_rlhf_3k)\n\n## ✅ 待办事项\n\n1. [x] 添加多轮对话数据的微调方法\n2. [x] 添加奖励模型的微调，前往 [shibing624\u002FMeidcalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)\n3. [x] 添加强化学习微调，前往 [shibing624\u002FMeidcalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)\n4. [x] 添加医疗奖励数据集\n5. [x] 添加llama in4训练，前往 [shibing624\u002FMeidcalGPT](https:\u002F\u002Fgithub.com\u002Fshibing624\u002FMedicalGPT)\n6. [ ] 在colab中添加所有训练和预测的演示\n\n## ☎️ 联系方式\n\n- 提问（建议）：\n  ：[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fshibing624\u002Ftextgen.svg)](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues)\n- 邮件我：xuming: xuming624@qq.com\n- 微信我： 加我*微信号：xuming624, 备注：姓名-公司名-NLP* 进NLP交流群。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_readme_3dce032d5680.jpeg\" width=\"200\" \u002F>\n\n## 😇 引用\n\n如果你在研究中使用了textgen，请按如下格式引用：\n\n```latex\n@misc{textgen,\n  title={textgen: Text Generation Tool},\n  author={Ming Xu},\n  year={2021},\n  howpublished={\\url{https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen}},\n}\n```\n\n## 🤗 许可证\n本仓库采用 [Apache License 2.0](LICENSE) 许可证。\n\n请遵循 [Model Card](https:\u002F\u002Fgithub.com\u002Ffacebookresearch\u002Fllama\u002Fblob\u002Fmain\u002FMODEL_CARD.md) 使用LLaMA模型。\n\n请遵循 [RAIL License](https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fbigscience\u002Flicense) 使用BLOOM & BLOOMZ模型。\n\n## 😍 贡献\n\n项目代码还很粗糙，如果大家对代码有所改进，欢迎提交回本项目，在提交之前，注意以下两点：\n\n- 在`tests`添加相应的单元测试\n- 使用`python -m pytest`来运行所有单元测试，确保所有单测都是通过的\n\n之后即可提交PR。\n\n## 💕 致谢 \n\n- [PaddlePaddle\u002FERNIE](https:\u002F\u002Fgithub.com\u002FPaddlePaddle\u002FERNIE)\n- [minimaxir\u002Ftextgenrnn](https:\u002F\u002Fgithub.com\u002Fminimaxir\u002Ftextgenrnn)\n- [minimaxir\u002Fgpt-2-simple](https:\u002F\u002Fgithub.com\u002Fminimaxir\u002Fgpt-2-simple)\n- [asyml\u002Ftexar](https:\u002F\u002Fgithub.com\u002Fasyml\u002Ftexar)\n- [yangjianxin1\u002FGPT2-chitchat](https:\u002F\u002Fgithub.com\u002Fyangjianxin1\u002FGPT2-chitchat)\n- [williamSYSU\u002FTextGAN-PyTorch](https:\u002F\u002Fgithub.com\u002FwilliamSYSU\u002FTextGAN-PyTorch)\n- [RUCAIBox\u002FTextBox](https:\u002F\u002Fgithub.com\u002FRUCAIBox\u002FTextBox)\n- [Tiiiger\u002Fbert_score](https:\u002F\u002Fgithub.com\u002FTiiiger\u002Fbert_score)\n- [ThilinaRajapakse\u002Fsimpletransformers](https:\u002F\u002Fgithub.com\u002FThilinaRajapakse\u002Fsimpletransformers)\n- [1YCxZ\u002FFake-review-generation](https:\u002F\u002Fgithub.com\u002F1YCxZ\u002FFake-review-generation)\n- [tloen\u002Falpaca-lora](https:\u002F\u002Fgithub.com\u002Ftloen\u002Falpaca-lora\u002Fblob\u002Fmain\u002Ffinetune.py)\n\n感谢他们的杰出工作！","# TextGen 快速上手指南\n\nTextGen 是一个基于 PyTorch 的文本生成模型工具库，支持 LLaMA、ChatGLM、Baichuan、BART、T5、SongNet 等多种主流模型的微调训练与推理预测，开箱即用。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**：Linux \u002F macOS \u002F Windows\n- **Python 版本**：3.8 及以上\n- **GPU 支持**：推荐配备 NVIDIA GPU 并安装 CUDA（用于加速训练和推理）\n\n### 前置依赖\n确保已安装以下基础依赖：\n- PyTorch (建议 1.10+)\n- Transformers\n- Datasets\n- Accelerate\n\n> 💡 国内开发者建议使用清华或阿里镜像源加速依赖安装。\n\n## 安装步骤\n\n### 方式一：通过 pip 安装（推荐）\n\n```bash\npip install textgen -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 方式二：从源码安装\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen.git\ncd textgen\npip install -e . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n安装完成后，可通过以下命令验证是否成功：\n\n```bash\npython -c \"import textgen; print(textgen.__version__)\"\n```\n\n## 基本使用\n\n### 示例：使用预训练模型进行文本生成（以 T5 对联生成为例）\n\n```python\nfrom textgen import T5Generator\n\n# 加载预训练模型（自动从 HuggingFace 下载）\ngenerator = T5Generator(model_name=\"shibing624\u002Ft5-chinese-couplet\")\n\n# 生成对联\ninput_text = \"春风拂面\"\noutput = generator.generate(input_text)\nprint(output)\n```\n\n### 示例：使用 LoRA 微调后的 ChatGLM 进行中文纠错\n\n```python\nfrom textgen import ChatGLMGenerator\n\n# 加载微调后的 LoRA 模型\ngenerator = ChatGLMGenerator(\n    model_name=\"THUDM\u002Fchatglm-6b\",\n    lora_path=\"shibing624\u002Fchatglm-6b-csc-zh-lora\"\n)\n\n# 执行纠错\ninput_text = \"今天天汽真好\"\noutput = generator.generate(input_text)\nprint(output)  # 输出：今天天气真好\n```\n\n### 示例：启动多卡推理（v1.1.1+ 支持）\n\n```bash\npython examples\u002Fgpt\u002Fpredict_llama_demo.py --model_name shibing624\u002Fvicuna-baichuan-13b-chat --device_map auto\n```\n\n> 💡 更多示例脚本请参考 `examples\u002F` 目录下的对应模型文件夹。\n\n---\n\n现在你已成功安装并使用 TextGen！可前往 [官方文档](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fwiki) 查阅更多高级用法与自定义训练教程。","某电商初创团队急需构建一个能处理售后咨询、支持多轮对话且具备行业知识的智能客服系统，以缓解人工压力。\n\n### 没有 textgen 时\n- **模型适配门槛高**：团队需手动编写复杂的 PyTorch 代码来适配 LLaMA 或 ChatGLM 等大模型，环境配置繁琐，调试周期长达数周。\n- **领域知识缺失**：通用大模型不懂电商术语（如“仅退款”、“运费险”），回答生硬且经常产生幻觉，无法直接用于生产环境。\n- **数据扩充困难**：缺乏高质量的客服对话语料，团队难以通过有效手段（如回译、同义词替换）低成本扩增训练数据，导致模型泛化能力差。\n- **资源利用率低**：推理阶段不支持多卡并行，响应速度慢，难以应对高峰期的并发请求，硬件成本居高不下。\n\n### 使用 textgen 后\n- **开箱即用微调**：利用 textgen 内置的 LoRA 微调脚本，团队仅需几条命令即可基于 ChatGLM2 或 LLaMA2 启动训练，将部署周期从数周缩短至两天。\n- **精准领域定制**：通过加载官方发布的医疗或通用对话 LoRA 模型作为基座，并注入自有客服数据进行 SFT 训练，模型迅速掌握了电商业务逻辑，回答准确自然。\n- **智能数据增强**：调用 textgen 集成的 UDA 和回译算法，自动将少量种子问答扩充为千级高质量训练样本，显著提升了模型对多样化用户提问的理解力。\n- **高效多卡推理**：借助 textgen 新增的多卡推理支持，团队轻松实现批量请求处理，响应速度加倍，在同等硬件下支撑了更高的并发流量。\n\ntextgen 通过提供一站式的大模型微调与推理方案，让中小团队也能低门槛地拥有定制化、高性能的行业专属生成式 AI 能力。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshibing624_textgen_e2c114ee.png","shibing624","Ming Xu (徐明)","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fshibing624_1945cf94.jpg","Algorithm Researcher, Deep Learning Developer","@tencent","Beijing, China","shibing624@126.com",null,"https:\u002F\u002Fblog.csdn.net\u002Fmingzai624","https:\u002F\u002Fgithub.com\u002Fshibing624",[87],{"name":88,"color":89,"percentage":90},"Python","#3572A5",100,981,112,"2026-03-25T02:45:40","Apache-2.0","未说明","训练和运行大模型（如 LLaMA, ChatGLM, Baichuan）通常需要 NVIDIA GPU。具体显存需求取决于模型大小：7B\u002F6B 模型建议 16GB+ 显存，13B 模型建议 24GB+ 显存或使用多卡推理。支持多卡加速。","未说明（建议 16GB 以上以加载大型模型）",{"notes":99,"python":100,"dependencies":101},"该工具支持多种架构（LLaMA, ChatGLM, Baichuan, T5, GPT2 等）的 LoRA 微调和推理。大模型训练或推理对显存要求较高，小显存用户建议使用 LoRA 微调或量化技术。部分功能（如 NEFTune）需特定参数启用。模型文件首次运行时会自动从 HuggingFace 下载。","3.8+",[102,103,104,105,106,107,108],"torch","transformers","accelerate","peft","datasets","sentencepiece","protobuf",[13,26],[111,67,112,113,114,115,116,117,118,119,120],"seq2seq","xlnet","bert","gpt2","text-generation","t5","bart","chatglm","llama","chatgpt","2026-03-27T02:49:30.150509","2026-04-06T07:10:08.001242",[124,129,134,139,144,149,154],{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},9392,"ChatGLM 使用 LoRA 训练后，直接预测结果正常，但重新加载模型和 LoRA 适配器后输出结果差异很大或失效，如何解决？","这通常是因为配置冲突导致模型被加载了两次，使得 LoRA 适配器失效。请检查代码配置，确保不要同时设置 `peft_name` 和 `output_dir`，或者在加载时避免重复加载逻辑。此外，如果训练数据样本较少（如 100 条），建议增加训练轮数（例如设置 `num_train_epochs: 20`）以稳定学习语义特征。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F27",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},9393,"项目中有用于模型评估（evaluation）的代码或方法吗？","可以利用现有的训练接口进行快速评估。具体做法是：准备少量数据（例如 10 条）放入 `eval_data` 中，将 `train_data` 也设为这少量数据（或空），然后调用 `train_model()` 方法并设置极小的训练轮数（如 `num_train_epochs=0.1`）。这样可以在不重新完整训练的情况下，利用评估流程验证模型效果。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F26",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},9394,"使用 LoRA 微调 ChatGLM 时，随着 Epoch 增加显存占用异常升高甚至爆内存，如何处理？","首先尝试在代码中手动清理缓存，添加 `torch.cuda.empty_cache()`。如果问题依旧，可能是安装方式导致的依赖冲突。建议卸载当前版本（`pip uninstall textgen`），改用源码安装方式（`python setup.py install`）而非可编辑模式（`pip install -e .\u002F`），这通常能解决显存泄漏问题。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F29",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},9395,"运行代码时报错 \"No module named 'tensorboardX'\" 缺少依赖包怎么办？","需要手动安装缺失的依赖包。请执行以下命令：`pip3 install tensorboardX crc32c soundfile`。安装完成后即可正常运行代码。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F16",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},9396,"在哪里可以获取项目推荐的训练数据集？","作者已在文档中共享了部分数据集链接。你可以查看项目 docs 目录下的对比文档，例如对联生成模型对比（`docs\u002F对联生成模型对比.md`）和古诗生成模型对比（`docs\u002F古诗生成模型对比.md`），其中包含了相关数据的来源或示例。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F12",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},9397,"使用 LLaMA 模型微调时出现 \"assertion `srcindex \u003C srcselectdimsize` failed\" 错误，是什么原因？","该错误通常是因为使用了不匹配的模型架构。例如，在使用 `chinese-llama-plus` 基座模型时，如果代码逻辑或参数配置默认指向了 `alpaca` 结构，可能会引发断言失败。请确保加载的模型路径（如 `chinese-alpaca-plus-13b-hf`）与代码预期的模型类型一致，或在初始化 `model_args` 时明确指定正确的参数以覆盖默认配置。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F41",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},9398,"如何使用关键词生成相关文章？适合用 GPT-2 吗？数据格式是怎样的？","可以使用基于预训练模型（如 GPT-2）进行微调来实现。数据格式通常为“关键词”对应“文章”的键值对形式。训练过程是基于 Transformers 库加载预训练模型进行微调，而不是从头训练。具体实现需先训练模型生成 vocab 文件，再使用对应的 demo 进行推理。","https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fissues\u002F9",[160,165,170,175,180,185,190,195,200,205,210,215],{"id":161,"version":162,"summary_zh":163,"released_at":164},106782,"1.1.2","### 1.1.2版本\r\n1. GPT模型支持了[NEFTune](https:\u002F\u002Fgithub.com\u002Fneelsjain\u002FNEFTune)给embedding加噪SFT训练方法，SFT中使用 `--neft_alpha` 参数启用 NEFTune，例如 `--neft_alpha 5`，示例代码：https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fgpt\u002Ftraining_llama_demo.py\r\n\r\n2. 兼容了 ChatGLM-6B 1,2,3 \u002F Baichuan 1,2 \u002F LLaMA 1,2 \u002F BLOOM \u002F Mistral \u002F QWen 等GPT模型LoRA微调训练和预测，可以用于多轮对话微调训练\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F1.1.1...1.1.2","2023-11-02T06:42:01",{"id":166,"version":167,"summary_zh":168,"released_at":169},106783,"1.1.1","### 1.1.1版本\r\n1. 支持多卡推理，推理速度加倍，调库textgen做batch推理，多卡推理更方便、快速。\r\n\r\n多卡数据并行，batch推理：\r\n```\r\ncd examples\u002Fgpt\r\nCUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node 2 inference_multigpu_demo.py --model_type chatglm --base_model THUDM\u002Fchatglm-6b\r\n```\r\n\r\n\r\n2. 优化ChatGLM-6B\u002FBaichuan\u002FLLaMA2\u002FBLOOM的多轮对话SFT代码，逻辑合并到textgen\u002Fgpt下，统一处理多模型微调，加入prompt模板支持。\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F1.1.0...1.1.1","2023-09-08T11:19:51",{"id":171,"version":172,"summary_zh":173,"released_at":174},106784,"1.1.0","### 1.1.0版本\r\n1. 发布基于ShareGPT4数据集微调的中英文Vicuna-13B模型[shibing624\u002Fvicuna-baichuan-13b-chat](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat)，和对应的LoRA模型[shibing624\u002Fvicuna-baichuan-13b-chat-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fvicuna-baichuan-13b-chat-lora);\r\n2. 支持多轮对话微调；多轮对话样本格式：[examples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fdata\u002Fsharegpt_zh_100_format.jsonl)\r\n\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F1.0.2...1.1.0","2023-08-23T15:45:44",{"id":176,"version":177,"summary_zh":178,"released_at":179},106785,"1.0.2","### v1.0.2\r\n新增支持ChatGLM2和LLaMA2模型的SFT微调训练\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F1.0.1...1.0.2","2023-08-02T03:44:15",{"id":181,"version":182,"summary_zh":183,"released_at":184},106786,"1.0.0","### v1.0版本\r\n\r\n- 新增ChatGLM\u002FLLaMA\u002FBloom模型的多轮对话微调训练，并发布医疗问诊LoRA模型[shibing624\u002Fziya-llama-13b-medical-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fziya-llama-13b-medical-lora)。\r\n\r\n#### 训练 ChatGLM\u002FLLaMA\u002FBloom 微调模型\r\n\r\n1. 支持自定义训练数据集和训练参数，数据集格式参考[examples\u002Fdata\u002Fzh_csc_test.tsv](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fdata\u002Fzh_csc_test.tsv)或者[shibing624\u002Falpaca-zh](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002Falpaca-zh)\r\n2. 支持AdaLoRA、LoRA、P_Tuning、Prefix_Tuning等部分参数微调方法，也支持全参微调\r\n3. 支持多卡训练，支持混合精度训练\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.2.7...1.0.0","2023-06-15T08:27:00",{"id":186,"version":187,"summary_zh":188,"released_at":189},106787,"0.2.7","### v0.2.7版本\r\n- 新增ChatGLM\u002FLLaMA\u002FBloom模型的SFT微调训练，并发布适用于通用对话和中文纠错的LoRA模型。\r\n\r\n| Model                                                                                                     | Arch       | Introduction                                                                                                                                                                | Train Script                                                                                                                                 | Predict Script                                                                                                        | \r\n|:----------------------------------------------------------------------------------------------------------|:-----------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------|\r\n| [shibing624\u002Fchatglm-6b-csc-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-csc-zh-lora)             | ChatGLM-6B | 在27万中文拼写纠错数据[shibing624\u002FCSC](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002Fshibing624\u002FCSC)上微调了一版ChatGLM-6B，纠错效果有提升，发布微调后的LoRA权重                                                        | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_csc_demo.py)                             | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Fcsc_demo.py)                        |\r\n| [shibing624\u002Fchatglm-6b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchatglm-6b-belle-zh-lora)         | ChatGLM-6B | 在100万条中文ChatGPT指令Belle数据集[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)上微调了一版ChatGLM-6B，问答效果有提升，发布微调后的LoRA权重                           | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_hfdataset_demo.py)                       | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fchatglm\u002Ftraining_chatglm_hfdataset_demo.py) |\r\n| [shibing624\u002Fllama-13b-belle-zh-lora](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fllama-13b-belle-zh-lora)           | LLaMA-13B  | 在100万条中文ChatGPT指令Belle数据集[BelleGroup\u002Ftrain_1M_CN](https:\u002F\u002Fhuggingface.co\u002Fdatasets\u002FBelleGroup\u002Ftrain_1M_CN)上微调了一版Llama-13B，问答效果有提升，发布微调后的LoRA权重                            | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_hfdataset_demo.py)                           | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_hfdataset_demo.py)     |\r\n| [shibing624\u002Fchinese-alpaca-plus-7b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-7b-hf)       | LLaMA-7B   | [中文LLaMA-Plus, Alpaca-Plus 7B版本](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Freleases\u002Ftag\u002Fv3.0)，在LLaMA-7B上扩充了中文词表并继续预训练120G文本（通用领域），在4M指令数据集上微调后得到的中文Alpaca-plus模型     | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_demo.py)               |\r\n| [shibing624\u002Fchinese-alpaca-plus-13b-hf](https:\u002F\u002Fhuggingface.co\u002Fshibing624\u002Fchinese-alpaca-plus-13b-hf)     | LLaMA-13B  | [中文LLaMA-Plus, Alpaca-Plus 13B版本](https:\u002F\u002Fgithub.com\u002Fymcui\u002FChinese-LLaMA-Alpaca\u002Freleases\u002Ftag\u002Fv3.1)，在LLaMA-13B上扩充了中文词表并继续预训练120G文本（通用领域），在4.3M指令数据集上微调后得到的中文Alpaca-plus模型 | [training script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_demo.py)                                     | [predict script](https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fblob\u002Fmain\u002Fexamples\u002Fllama\u002Ftraining_llama_demo.py)               |\r\n\r\n\r\n\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.2.5...0.2.7","2023-06-15T08:21:30",{"id":191,"version":192,"summary_zh":193,"released_at":194},106788,"0.2.5","## What's Changed\r\n* pad labels to max length by @xingener in https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fpull\u002F25\r\n\r\n## New Contributors\r\n* @xingener made their first contribution in https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fpull\u002F25\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.2.0...0.2.5","2023-05-12T05:24:44",{"id":196,"version":197,"summary_zh":198,"released_at":199},106789,"0.1.7","## What's Changed\r\n* del the repeated torch.nn.DataParallel by @wiserxin in https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fpull\u002F7\r\n\r\n## New Contributors\r\n* @wiserxin made their first contribution in https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fpull\u002F7\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.1.5...0.1.7","2022-11-28T04:02:02",{"id":201,"version":202,"summary_zh":203,"released_at":204},106790,"0.1.5","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.1.1...0.1.5","2022-09-10T07:26:15",{"id":206,"version":207,"summary_zh":208,"released_at":209},106791,"0.1.1","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.1.0...0.1.1","2022-06-30T08:26:12",{"id":211,"version":212,"summary_zh":213,"released_at":214},106792,"0.1.0","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.0.5...0.1.0","2022-06-20T06:44:37",{"id":216,"version":217,"summary_zh":218,"released_at":219},106793,"0.0.5","**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fshibing624\u002Ftextgen\u002Fcompare\u002F0.0.3...0.0.5","2022-05-10T13:09:06"]