[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-THUDM--P-tuning-v2":3,"tool-THUDM--P-tuning-v2":65},[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},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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[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},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"status":16},8553,"spec-kit","github\u002Fspec-kit","Spec Kit 是一款专为提升软件开发效率而设计的开源工具包，旨在帮助团队快速落地“规格驱动开发”（Spec-Driven Development）模式。传统开发中，需求文档往往与代码实现脱节，导致沟通成本高且结果不可控；而 Spec Kit 通过将规格说明书转化为可执行的指令，让 AI 直接依据明确的业务场景生成高质量代码，从而减少从零开始的随意编码，确保产出结果的可预测性。\n\n该工具特别适合希望利用 AI 辅助编程的开发者、技术负责人及初创团队。无论是启动全新项目还是在现有工程中引入规范化流程，用户只需通过简单的命令行操作，即可初始化项目并集成主流的 AI 编程助手。其核心技术亮点在于“规格即代码”的理念，支持社区扩展与预设模板，允许用户根据特定技术栈定制开发流程。此外，Spec Kit 强调官方维护的安全性，提供稳定的版本管理，帮助开发者在享受 AI 红利的同时，依然牢牢掌握架构设计的主动权，真正实现从“凭感觉写代码”到“按规格建系统”的转变。",88749,"2026-04-17T09:48:14",[15,26,14,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"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,15],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":10,"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 将是理想的起点。",85267,"2026-04-18T11:00:28",[26,51,52,53,14,54,15,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":62,"last_commit_at":63,"category_tags":64,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,51,54],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"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":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":94,"forks":95,"last_commit_at":96,"license":97,"difficulty_score":23,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":109,"github_topics":110,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":116,"updated_at":117,"faqs":118,"releases":153},9655,"THUDM\u002FP-tuning-v2","P-tuning-v2","An optimized deep prompt tuning strategy comparable to fine-tuning across scales and tasks","P-tuning-v2 是一种优化的深度提示微调策略，旨在让预训练语言模型在各类任务和不同规模下，达到与传统全量微调相当的性能表现。它主要解决了传统提示学习（Prompt Tuning）在小中型模型或复杂任务（如序列标注）中效果不佳、难以媲美全量微调的痛点。\n\n该工具的核心技术亮点在于“深度提示微调”：不同于仅在输入层添加提示，P-tuning-v2 将连续提示向量应用到预训练 Transformer 的每一层输入中。这种设计显著增加了提示的表达能力，有效缩小了参数高效微调与全量微调之间的性能差距，同时保持了主干模型参数冻结的优势，大幅降低了计算资源消耗。\n\nP-tuning-v2 特别适合 AI 研究人员和开发者使用，尤其是那些希望在有限算力条件下（如单卡或多卡消费级 GPU），对 BERT、RoBERTa 等中小规模模型进行高效适配，或从事命名实体识别、关系抽取等序列标注任务的团队。相比需要更新全部模型参数的传统微调，它提供了一种更轻量、更通用的替代方案，且代码开源，支持在常见深度学习环境中复现论文结果，是探索大模型高效应用的重要工具。","# P-tuning v2\n\n\nSource codes and data for\n* [ACL 2022] [P-Tuning v2: Prompt Tuning Can Be Comparable to Finetuning Universally Across Scales and Tasks](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.07602) \n* [Findings of EMNLP 2023] [Parameter-Efficient Prompt Tuning Makes Generalized and Calibrated Neural Text Retrievers](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2207.07087.pdf)  [[Code]](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Ftree\u002Fmain\u002FPT-Retrieval)\n\nAn optimized prompt tuning strategy achieving comparable performance to fine-tuning on small\u002Fmedium-sized models and sequence tagging challenges. \n\nFind our previous version [P-tuning v1](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning) for knowledge probing and few-shot SuperGLUE. Your kindly starring our repo can greatly encourage us to work harder :)\n\nYou may be also interested in our recent work [GLM-130B: An Open Bilingual Pre-trained Model (2022-10-06)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.02414). It is an open-sourced LLM outperforming GPT-3 175B over various benchmarks. Get model weights, do inference and P-Tuning v2 with only **4 * RTX 3090 or 8 * RTX 2080 Ti** [FOR FREE](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FGLM-130B)!\n\nP-tuning v2 leverages **deep prompt tuning**, which is to apply continuous prompts for every layer input of the pretrained transformer. \nDeep prompt tuning increases the capacity of continuous prompts and closes the gap to fine-tuning across various settings, especially for small models and hard tasks.\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTHUDM_P-tuning-v2_readme_8211c7c85861.png)\n\nThanks [@rainatam](https:\u002F\u002Fgithub.com\u002Frainatam)'s joint effort in re-organizing codes for publishing!\n\n## Commonly Asked Question\n1. Some readers notice a **'mismatch'** in SuperGLUE between P-tuning (v1) and P-tuning v2: This is because in P-tuning's SuperGLUE experiment, for fair comparison to PET, we follow its experimental setting where backbone pre-trained model parameters are jointly tuned with continuous prompt embeddings; while in P-tuning v2, we follow Prefix tuning and Lester et al.'s parameter-efficient setting where backbone pre-trained model parameters are frozen.\n\n## Reproduce Tips\nSince experiments reported in our paper are all conducted on NVIDIA DGX-A100 servers (which might be difficult to acquire), \nwe reimplement P-tuning v2's results on BERT-large\u002FRoBERTa-large with:\n\n* Ubuntu servers with NVIDIA GeForce RTX 3090 (24G) GPUs\n* cuda 11.1\n* packages with certain versions (provided below)\n\nWe notice that the best hyper-parameters can be sensitive to your server environment and package version. \nIf you do not have the exact same environment, we highly recommend you to run hyper-parameter search in your environment\nbased on our example hyper-parameter search script in [search_script](search_script) and result collection scripts [search.py](search.py).\n\n### Setup\nWe conduct our experiment with Anaconda3. If you have installed Anaconda3, then create the environment for P-tuning v2:\n\n```shell\nconda create -n pt2 python=3.8.5\nconda activate pt2\n```\n\nAfter we setup basic conda environment, install pytorch related packages via:\n\n```shell\nconda install -n pt2 pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch\n```\n\nFinally, install other python packages we need:\n\n```shell\npip install -r requirements.txt\n```\n\n### Data\nFor SuperGLUE and SQuAD datasets, we download them from the Huggingface Datasets APIs (embedded in our codes).\n\nFor sequence tagging (NER, SRL) datasets, we prepare a non-official packup [here](https:\u002F\u002Fzenodo.org\u002Frecord\u002F6318701\u002Ffiles\u002FP-tuning-v2_data.tar.gz?download=1). \nAfter downloading, unzip the packup to the project root.\nPlease use at your own risk.\n\n### Training\nRun training scripts in [run_script](run_script) (e.g., RoBERTa for RTE):\n\n```shell\nbash run_script\u002Frun_rte_roberta.sh\n```\n\n### Implemented Results\nCurrently we have released our reimplementation on following tasks and datasets. More implementation will be released soon.\n\nReleased results on BERT-large\n\n|              | BoolQ | COPA | RTE  | WiC  | WSC  | CoNLL04 | OntoNotes 5.0 | CoNLL12 |\n|--------------|-------|------|------|------|------|---------|---------------|---------|\n| Result       | 74.3  | 77.0 | 80.1 | 75.1 | 68.3 | 84.5    | 86.4          | 85.3    |\n| Total Epochs | 100   | 80   | 60   | 80   | 80   | 40      | 30            | 45      |\n| Best Epoch   | 58    | 12   | 30   | 56   | 17   | 33      | 24            | 43      |\n\nReleased results on RoBERTa-large\n\n|              | BoolQ | COPA | RTE  | WiC  | WSC  | CoNLL03 | CoNLL04 | OntoNotes 5.0 | CoNLL12 | CoNLL05 WSJ | CoNLL05 Brown | SQuAD 1.1 | SQuAD 2.0 |\n|--------------|-------|------|------|------|------|---------|---------|---------------|---------|-------------|---------------|-----------|-----------|\n| Results      | 84.0  | 92.0 | 86.6 | 73.7 | 64.4 | 91.8    | 88.4    | 90.1          | 84.7    | 89.4        | 83.9          | 88.1\u002F94.2 | 81.3\u002F84.7 |\n| Total Epochs | 100   | 120  | 100  | 50   | 10   | 30      | 80      | 60            | 45      | 15          | -             | 30        | 10        |\n| Best Epoch   | 86    | 78   | 65   | 31   | 3    | 28      | 45      | 59            | 37      | 13          | -             | 24        | 9         |\n\nFor other hyper-parameters, please refer to the training scripts. \nIf you can not achieve the reported results at the best epoch, there is probably an environmental mismatch and hyper-parameter search is needed.\n\n## Citation\n\nIf you find our work useful, please kindly cite our paper:\n\n```\n@article{DBLP:journals\u002Fcorr\u002Fabs-2110-07602,\n  author    = {Xiao Liu and\n               Kaixuan Ji and\n               Yicheng Fu and\n               Zhengxiao Du and\n               Zhilin Yang and\n               Jie Tang},\n  title     = {P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally\n               Across Scales and Tasks},\n  journal   = {CoRR},\n  volume    = {abs\u002F2110.07602},\n  year      = {2021},\n  url       = {https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.07602},\n  eprinttype = {arXiv},\n  eprint    = {2110.07602},\n  timestamp = {Fri, 22 Oct 2021 13:33:09 +0200},\n  biburl    = {https:\u002F\u002Fdblp.org\u002Frec\u002Fjournals\u002Fcorr\u002Fabs-2110-07602.bib},\n  bibsource = {dblp computer science bibliography, https:\u002F\u002Fdblp.org}\n}\n```\n","# P-tuning v2\n\n\n源代码和数据，用于：\n* [ACL 2022] [P-Tuning v2：提示调优在不同规模和任务上均可与微调相媲美](https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.07602)\n* [EMNLP 2023 论文集] [参数高效的提示调优使神经文本检索器具备泛化能力和校准性](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2207.07087.pdf) [[代码]](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Ftree\u002Fmain\u002FPT-Retrieval)\n\n一种优化的提示调优策略，在小型\u002F中型模型以及序列标注任务上实现了与微调相当的性能。\n\n请参阅我们之前的版本 [P-tuning v1](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning)，适用于知识探测和少样本 SuperGLUE 任务。如果您能为我们仓库点赞，将极大地激励我们继续努力 :)\n\n您可能也会对我们最近的工作感兴趣：[GLM-130B：一个开源的双语预训练模型（2022年10月6日）](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.02414)。这是一款开源的大规模语言模型，在多个基准测试中表现超越 GPT-3 175B。只需 **4 张 RTX 3090 或 8 张 RTX 2080 Ti** 卡，即可免费获取模型权重、进行推理以及使用 P-Tuning v2！[免费获取](https:\u002F\u002Fgithub.com\u002FTHUDM\u002FGLM-130B)\n\nP-tuning v2 采用了 **深度提示调优** 方法，即为预训练 Transformer 的每一层输入应用连续提示。深度提示调优提升了连续提示的表达能力，并缩小了其与微调之间的差距，尤其是在小型模型和复杂任务上。\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTHUDM_P-tuning-v2_readme_8211c7c85861.png)\n\n感谢 [@rainatam](https:\u002F\u002Fgithub.com\u002Frainatam) 在整理代码以供发布方面所做的共同努力！\n\n## 常见问题\n1. 一些读者注意到 SuperGLUE 中 P-tuning (v1) 和 P-tuning v2 之间存在 **“不匹配”**：这是因为 P-tuning 的 SuperGLUE 实验为了与 PET 进行公平比较，遵循了 PET 的实验设置，即骨干预训练模型参数与连续提示嵌入共同调优；而 P-tuning v2 则遵循 Prefix tuning 和 Lester 等人的参数高效设置，即冻结骨干预训练模型参数。\n\n## 复现提示\n由于我们在论文中报告的实验均是在 NVIDIA DGX-A100 服务器上进行的（这类设备可能难以获得），因此我们使用以下配置在 BERT-large\u002FRoBERTa-large 上重新实现了 P-tuning v2 的结果：\n\n* 配备 NVIDIA GeForce RTX 3090 (24G) 显卡的 Ubuntu 服务器\n* CUDA 11.1\n* 特定版本的软件包（如下所示）\n\n我们注意到，最佳超参数可能会受到服务器环境和软件包版本的影响。如果您没有完全相同的环境，我们强烈建议您基于我们提供的示例超参数搜索脚本 [search_script](search_script) 和结果收集脚本 [search.py](search.py)，在您的环境中进行超参数搜索。\n\n### 环境搭建\n我们的实验是在 Anaconda3 环境下进行的。如果您已安装 Anaconda3，请创建 P-tuning v2 的环境：\n\n```shell\nconda create -n pt2 python=3.8.5\nconda activate pt2\n```\n\n完成基础 Conda 环境的搭建后，通过以下命令安装 PyTorch 相关包：\n\n```shell\nconda install -n pt2 pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch\n```\n\n最后，安装其他所需的 Python 包：\n\n```shell\npip install -r requirements.txt\n```\n\n### 数据\n对于 SuperGLUE 和 SQuAD 数据集，我们直接从 Huggingface Datasets API 下载（已嵌入到我们的代码中）。\n\n对于序列标注（NER、SRL）数据集，我们准备了一个非官方的数据包 [这里](https:\u002F\u002Fzenodo.org\u002Frecord\u002F6318701\u002Ffiles\u002FP-tuning-v2_data.tar.gz?download=1)。下载后，请将其解压到项目根目录。请自行承担使用风险。\n\n### 训练\n运行 [run_script](run_script) 中的训练脚本（例如 RoBERTa 对于 RTE）：\n\n```shell\nbash run_script\u002Frun_rte_roberta.sh\n```\n\n### 已实现的结果\n目前我们已在以下任务和数据集上发布了重新实现的结果。更多实现内容将很快推出。\n\nBERT-large 的已发布结果\n\n|              | BoolQ | COPA | RTE  | WiC  | WSC  | CoNLL04 | OntoNotes 5.0 | CoNLL12 |\n|--------------|-------|------|------|------|------|---------|---------------|---------|\n| 结果         | 74.3  | 77.0 | 80.1 | 75.1 | 68.3 | 84.5    | 86.4          | 85.3    |\n| 总 epoch 数   | 100   | 80   | 60   | 80   | 80   | 40      | 30            | 45      |\n| 最佳 epoch 数 | 58    | 12   | 30   | 56   | 17   | 33      | 24            | 43      |\n\nRoBERTa-large 的已发布结果\n\n|              | BoolQ | COPA | RTE  | WiC  | WSC  | CoNLL03 | CoNLL04 | OntoNotes 5.0 | CoNLL12 | CoNLL05 WSJ | CoNLL05 Brown | SQuAD 1.1 | SQuAD 2.0 |\n|--------------|-------|------|------|------|------|---------|---------|---------------|---------|-------------|---------------|-----------|-----------|\n| 结果         | 84.0  | 92.0 | 86.6 | 73.7 | 64.4 | 91.8    | 88.4    | 90.1          | 84.7    | 89.4        | 83.9          | 88.1\u002F94.2 | 81.3\u002F84.7 |\n| 总 epoch 数   | 100   | 120  | 100  | 50   | 10   | 30      | 80      | 60            | 45      | 15          | -             | 30        | 10        |\n| 最佳 epoch 数 | 86    | 78   | 65   | 31   | 3    | 28      | 45      | 59            | 37      | 13          | -             | 24        | 9         |\n\n有关其他超参数，请参考训练脚本。如果您无法在最佳 epoch 达到报告的结果，很可能是环境不匹配所致，此时需要进行超参数搜索。\n\n## 引用\n如果您认为我们的工作有所帮助，请引用我们的论文：\n\n```\n@article{DBLP:journals\u002Fcorr\u002Fabs-2110-07602,\n  author    = {Xiao Liu and\n               Kaixuan Ji and\n               Yicheng Fu and\n               Zhengxiao Du and\n               Zhilin Yang and\n               Jie Tang},\n  title     = {P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks},\n  journal   = {CoRR},\n  volume    = {abs\u002F2110.07602},\n  year      = {2021},\n  url       = {https:\u002F\u002Farxiv.org\u002Fabs\u002F2110.07602},\n  eprinttype = {arXiv},\n  eprint    = {2110.07602},\n  timestamp = {Fri, 22 Oct 2021 13:33:09 +0200},\n  biburl    = {https:\u002F\u002Fdblp.org\u002Frec\u002Fjournals\u002Fcorr\u002Fabs-2110-07602.bib},\n  bibsource = {dblp computer science bibliography, https:\u002F\u002Fdblp.org}\n}\n```","# P-tuning-v2 快速上手指南\n\nP-tuning v2 是一种优化的提示微调（Prompt Tuning）策略，通过在所有 Transformer 层输入中应用连续提示（Deep Prompt Tuning），使模型在中小规模及序列标注任务上的表现可与全量微调（Fine-tuning）相媲美。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **GPU**: NVIDIA GPU (显存建议 24GB+, 如 RTX 3090)，需支持 CUDA 11.0\u002F11.1\n*   **包管理器**: Anaconda3\n*   **Python 版本**: 3.8.5\n\n## 安装步骤\n\n### 1. 创建并激活 Conda 环境\n```shell\nconda create -n pt2 python=3.8.5\nconda activate pt2\n```\n\n### 2. 安装 PyTorch 及相关组件\n根据官方复现环境，安装指定版本的 PyTorch 和 CUDA 工具包：\n```shell\nconda install -n pt2 pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch\n```\n> **国内加速建议**：若下载速度慢，可添加清华源 `-c https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fcloud\u002Fpytorch\u002F` 或使用 `pip` 配合国内镜像安装对应 wheel 包。\n\n### 3. 安装其他依赖\n克隆项目代码后，进入目录安装 Python 依赖：\n```shell\npip install -r requirements.txt\n```\n> **国内加速建议**：使用 pip 国内镜像加速安装：\n> ```shell\n> pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n### 4. 数据准备\n*   **SuperGLUE \u002F SQuAD**: 代码内置了 Huggingface Datasets API，首次运行时会自动下载。\n*   **序列标注任务 (NER, SRL)**: 需手动下载非官方数据包。\n    *   下载地址：[P-tuning-v2_data.tar.gz](https:\u002F\u002Fzenodo.org\u002Frecord\u002F6318701\u002Ffiles\u002FP-tuning-v2_data.tar.gz?download=1)\n    *   操作：下载后解压至项目根目录。\n\n## 基本使用\n\n以下以在 **RoBERTa-large** 模型上运行 **RTE** 任务为例：\n\n1.  确保已准备好数据集。\n2.  执行官方提供的训练脚本：\n\n```shell\nbash run_script\u002Frun_rte_roberta.sh\n```\n\n**注意**：\n*   最佳超参数可能对服务器环境和包版本敏感。如果无法复现论文结果，建议参考 `search_script` 目录下的脚本在你的环境中进行超参数搜索。\n*   更多任务的运行脚本请查看 `run_script` 目录。","某医疗科技公司的算法团队需要在资源有限的服务器上，将预训练语言模型快速适配到“电子病历实体识别（NER）”任务中，以提取疾病和药品名称。\n\n### 没有 P-tuning-v2 时\n- **算力门槛高**：传统全量微调（Fine-tuning）需要更新模型所有参数，导致显存占用巨大，团队现有的单张 RTX 3090 显卡无法加载大模型进行训练。\n- **小样本效果差**：在医疗标注数据稀缺（少样本）的场景下，直接微调容易导致模型过拟合，泛化能力严重不足，识别准确率波动大。\n- **迭代周期长**：每次尝试新任务或调整超参数都需重新保存和加载完整的模型权重，存储成本高且实验迭代效率极低。\n- **任务适配难**：对于序列标注这类复杂任务，简单的提示工程（Prompt Engineering）往往无法捕捉深层语义，性能远不及微调模型。\n\n### 使用 P-tuning-v2 后\n- **显存大幅降低**：P-tuning-v2 采用深度提示调优策略，仅训练每层输入的连续提示向量而冻结主干参数，使单卡训练大模型成为可能。\n- **少样本性能跃升**：该方法在小规模医疗数据集上实现了与全量微调相当甚至更优的准确率，有效解决了数据稀缺导致的过拟合问题。\n- **参数高效迭代**：只需存储极小的提示向量参数（而非整个模型），使得多任务切换和超参数搜索的速度提升了数倍，显著加快研发节奏。\n- **复杂任务胜任**：通过在所有 Transformer 层注入可学习提示，P-tuning-v2 成功捕捉了病历文本中的深层依赖关系，在 NER 任务上达到了生产级精度。\n\nP-tuning-v2 的核心价值在于它以极低的计算成本，让小模型在数据稀缺的垂直领域任务中也能获得媲美全量微调的卓越性能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FTHUDM_P-tuning-v2_b0c948ab.png","THUDM","THUKEG","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FTHUDM_698cabbc.png","ChatGLM, GLM-4, CogVLM, CodeGeeX, CogView, ImageReward, CogVideoX | CogDL, GraphMAE, AMiner | Zhipu.ai (Z.ai) & Knowledge Engineering Group (KEG)",null,"keg.cs.tsinghua@gmail.com","thukeg","https:\u002F\u002Fhuggingface.co\u002FTHUDM","https:\u002F\u002Fgithub.com\u002FTHUDM",[86,90],{"name":87,"color":88,"percentage":89},"Python","#3572A5",96.7,{"name":91,"color":92,"percentage":93},"Shell","#89e051",3.3,2076,208,"2026-04-14T06:19:07","Apache-2.0","Linux","必需 NVIDIA GPU。官方复现实验使用 NVIDIA GeForce RTX 3090 (24GB)，需安装 CUDA 11.0 或 11.1。","未说明",{"notes":102,"python":103,"dependencies":104},"1. 官方实验基于 Ubuntu 服务器进行，Windows 和 macOS 未明确提及支持。2. 最佳超参数对服务器环境和包版本敏感，若环境不一致，强烈建议运行超参数搜索脚本。3. 序列标注（NER, SRL）数据集需从非官方链接单独下载并解压至项目根目录。4. 其他依赖库需通过 'pip install -r requirements.txt' 安装，具体列表未在 README 文本中直接列出。","3.8.5",[105,106,107,108],"pytorch==1.7.1","torchvision==0.8.2","torchaudio==0.7.2","cudatoolkit=11.0",[15],[111,112,113,114,115],"natural-language-processing","prompt-tuning","pretrained-language-model","p-tuning","parameter-efficient-learning","2026-03-27T02:49:30.150509","2026-04-20T04:06:05.457956",[119,124,129,134,139,144,149],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},43374,"P-tuning v2 中的多任务学习（Multi-task Learning）是如何进行的？是否需要对 prompt 进行预训练？","在论文的多任务设置中，仅针对序列标注（sequence tagging）任务使用了多任务学习（见表格中 MPT-2 列的结果）。具体做法是将三个数据集的训练集合并用于预训练，为每个数据集使用不同的线性分类器，但共享连续的 prompt。对于其他所有 PT-2 列展示的结果，并没有对 prompt 进行额外的预训练步骤，而是直接进行微调。","https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Fissues\u002F22",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},43375,"如何获取或查看 P-tuning v2 中每一层的实际 prompt 权重向量？","P-tuning v2 为了优化考虑，从一开始就将 key 和 value 分离，而不是像 v1 那样通过注意力头的线性投影矩阵从 prompt embedding 推导出来。因此，现有的实现不直接提供类似 v1 的 [prefix_len, hidden_size] 形式的 prompt embedding 向量。如果需要获取，需要修改 Hugging Face Transformers 的源代码（例如 Roberta 的实现），将 `past_key_values` 的形状调整为只传递 [1, batch_size, n_head, prefix_len, n_embd]，然后手动将其投影并拼接为对应的 keys 和 values。","https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Fissues\u002F41",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},43376,"为什么在 DeBERTa 模型上使用 P-tuning v2 进行评估或训练的速度非常慢？","这是因为在实验 P-tuning v2 时，DeBERTa 尚未被官方集成到 Hugging Face Transformers 库中，因此项目作者自行实现了 `past_key_values` 函数。这种自定义实现的效率低于 Hugging Face 官方后续提供的实现，导致在 DeBERTa 上运行速度显著变慢（甚至比 P-tuning v1 慢很多倍）。","https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Fissues\u002F36",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},43377,"运行代码时遇到 `ConnectionError: Couldn't reach ... huggingface\u002Fdatasets ...` 错误怎么办？","该错误通常是由于网络问题导致无法从 GitHub raw 地址下载 datasets 库所需的评估脚本（如 super_glue.py）。这并非代码逻辑错误，而是网络连接超时或被拒绝。建议检查网络连接，尝试配置代理，或者手动下载对应的 `.py` 评估文件到本地缓存目录，以绕过自动下载过程。","https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Fissues\u002F24",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},43378,"代码中关于 `pooled_output` 的修改逻辑是什么？为什么看起来没有使用 [CLS] token？","用户观察到的代码修改位于 `BertPromptForSequenceClassification` 类中，这是针对 P-tuning v1 的实现，而非 v2。在 v1 的实现中，由于未使用 `past_key_values` 机制，输入的第一个 token 可能是 [PAD]，因此代码显式提取了 sequence output 的第一个有效位置并进行池化操作。请注意区分：P-tuning v2 的实现位于 `BertPrefixForSequenceClassification` 类中，其逻辑不同且保留了标准的 [CLS] token 处理方式，未做此类特殊修改。","https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Fissues\u002F18",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},43379,"P-tuning v2 在 NER 任务上表现正常，但在文本分类任务（如 RTE）上不收敛怎么办？","根据维护者反馈，完整版的 P-tuning v2 代码发布后，已有其他用户成功复现了 RTE 等分类任务的结果。如果遇到不收敛（loss 不下降，预测偏向多数类）的情况，可能原因包括：1. 使用的代码版本过旧或不完整；2. 超参数设置不当（P-tuning v2 对超参数较敏感）；3. 数据预处理或标签映射存在差异。建议确保使用的是仓库中最新的完整代码，并仔细核对与论文一致的超参数配置。","https:\u002F\u002Fgithub.com\u002FTHUDM\u002FP-tuning-v2\u002Fissues\u002F5",{"id":150,"question_zh":151,"answer_zh":152,"source_url":123},43380,"不同版本的 PyTorch 和 CUDA 工具包会影响 P-tuning v2 的运行结果吗？","是的，不同版本的 torch 和 cudatoolkit 确实会造成影响，可能导致结果复现不一致或报错。维护者建议严格按照 README.md 中的说明，使用 conda 重新配置环境，以确保依赖版本与开发环境一致，从而排除因环境差异导致的问题。",[]]