[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-uber-research--PPLM":3,"tool-uber-research--PPLM":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",148568,2,"2026-04-09T23:34:24",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":10,"env_os":96,"env_gpu":97,"env_ram":96,"env_deps":98,"category_tags":102,"github_topics":103,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":110,"updated_at":111,"faqs":112,"releases":142},6125,"uber-research\u002FPPLM","PPLM","Plug and Play Language Model implementation. Allows to steer topic and attributes of GPT-2 models.","PPLM（Plug and Play Language Model）是一款创新的开源项目，旨在实现对大型语言模型生成内容的灵活控制。它允许用户在不重新训练或微调原有模型的前提下，通过“即插即用”的方式，将代表特定主题、情感或属性的小型控制模型接入到如 GPT-2 这样的大规模无条件语言模型中，从而引导文本生成的方向。\n\n这一工具主要解决了传统方法中难以动态控制预训练大模型输出风格与内容的痛点。以往若要改变模型的行为，往往需要昂贵的算力进行全量微调，而 PPLM 打破了这一限制，让研究人员能够直接利用现有的最先进语言模型，低成本地探索可控文本生成。\n\nPPLM 特别适合自然语言处理领域的研究人员、开发者以及希望探索大模型可控性的技术爱好者使用。其核心技术亮点在于“无需训练”：它保持主语言模型参数冻结，仅在推理阶段通过优化算法融合属性模型的梯度信号。无论是通过词袋模型控制话题（如军事、科学），还是利用判别器调整情感倾向（如正面、负面），PPLM 都能提供高效的解决方案，并已被集成到流行的 Hugging Face Transformers 库中，方便社区快速上手实验。","# PPLM\n\nThis repository contains code to run the Plug and Play Language Model (PPLM), as described in this **[blog post](https:\u002F\u002Feng.uber.com\u002Fpplm)** and **[arXiv paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.02164)**. A **[demo](https:\u002F\u002Ftransformer.huggingface.co\u002Fmodel\u002Fpplm)** and **[Colab notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Ux0Z4-ruiVtJ6jUk98uk6FqfvGHCOYL3)** are also available.\n\n\nNote: If you are planning on using PPLM as a baseline, and would like to use the parameters listed in the paper's Appendix, please use the LM and the discriminator from this **[folder](https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Ftree\u002Fmaster\u002Fpaper_code)**.\nAlternatively, tune the hyperparamters on your own if you are using the code\u002Fmodels in the main directory and\u002For the **[🤗\u002FTransformers](https:\u002F\u002Ftransformer.huggingface.co\u002Fmodel\u002Fpplm)** for a fair comparison (the optimal parameters for these models\u002Fdiscriminators are roughly off by a factor of 5 from those used in the paper).\n\nPPLM is also integrated into the **[🤗\u002FTransformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\u002Fpplm)** repository.\n\n![header image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber-research_PPLM_readme_2753387ada47.png)\n\n## Plug and Play Language Models: a Simple Approach to Controlled Text Generation\nAuthors: [Sumanth Dathathri](https:\u002F\u002Fdathath.github.io\u002F), [Andrea Madotto](https:\u002F\u002Fandreamad8.github.io\u002F), Janice Lan, Jane Hung, Eric Frank, [Piero Molino](https:\u002F\u002Fw4nderlu.st\u002F), [Jason Yosinski](http:\u002F\u002Fyosinski.com\u002F), and [Rosanne Liu](http:\u002F\u002Fwww.rosanneliu.com\u002F)\n\nPPLM allows a user to flexibly plug in one or more tiny attribute models representing the desired steering objective into a large, unconditional language model (LM). The method has the key property that it uses the LM _as is_—no training or fine-tuning is required—which enables researchers to leverage best-in-class LMs even if they do not have the extensive hardware required to train them.\n\nSee also our [arXiv paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.02164), [blog post](https:\u002F\u002Feng.uber.com\u002Fpplm), and try it out for yourself with no setup using the [Colab notebook](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Ux0Z4-ruiVtJ6jUk98uk6FqfvGHCOYL3).\n\n## Setup\n\n```bash\npip install -r requirements.txt\n```\n\n## Citation\n```\n@inproceedings{\nDathathri2020Plug,\ntitle={Plug and Play Language Models: A Simple Approach to Controlled Text Generation},\nauthor={Sumanth Dathathri and Andrea Madotto and Janice Lan and Jane Hung and Eric Frank and Piero Molino and Jason Yosinski and Rosanne Liu},\nbooktitle={International Conference on Learning Representations},\nyear={2020},\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=H1edEyBKDS}\n}\n```\n\n## PPLM-BoW \n\n### Example command for bag-of-words control\n\n```bash\npython run_pplm.py -B military --cond_text \"The potato\" --length 50 --gamma 1.5 --num_iterations 3 --num_samples 10 --stepsize 0.03 --window_length 5 --kl_scale 0.01 --gm_scale 0.99 --colorama --sample\n```\n\n### Tuning hyperparameters for bag-of-words control\n\n1. Increase `--stepsize` to intensify topic control, and decrease its value to soften the control. `--stepsize 0` recovers the original uncontrolled GPT-2 model. \n\n2. If the language being generated is repetitive (For e.g. \"science science experiment experiment\"), there are several options to consider: \u003C\u002Fbr>\n\ta) Reduce the `--stepsize` \u003C\u002Fbr>\n\tb) Increase `--kl_scale` (the KL-loss coefficient) or decrease `--gm_scale` (the gm-scaling term) \u003C\u002Fbr>\n\tc) Add `--grad-length xx` where xx is an (integer \u003C= length, e.g. `--grad-length 30`).\u003C\u002Fbr>\n\n\n## PPLM-Discrim\n\n### Example command for discriminator based sentiment control\n\n```bash\npython run_pplm.py -D sentiment --class_label 2 --cond_text \"My dog died\" --length 50 --gamma 1.0 --num_iterations 10 --num_samples 10 --stepsize 0.04 --kl_scale 0.01 --gm_scale 0.95 --sample\n```\n\n### Tuning hyperparameters for discriminator control\n\n1. Increase `--stepsize` to intensify topic control, and decrease its value to soften the control. `--stepsize 0` recovers the original uncontrolled GPT-2 model. \n\n2. Use `--class_label 3` for negative, and `--class_label 2` for positive\n\n\nThe discriminator and the GPT-2 model in the root directory are different from those used for the analysis in the paper. Code and models corresponding to the paper can be found [here](https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Ftree\u002Fmaster\u002Fpaper_code).\n","# PPLM\n\n本仓库包含运行即插即用语言模型（PPLM）的代码，相关介绍请参见这篇**[博客文章](https:\u002F\u002Feng.uber.com\u002Fpplm)**和**[arXiv论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.02164)**。此外，还提供了**[演示](https:\u002F\u002Ftransformer.huggingface.co\u002Fmodel\u002Fpplm)**和**[Colab 笔记本](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Ux0Z4-ruiVtJ6jUk98uk6FqfvGHCOYL3)**。\n\n注意：如果您计划将 PPLM 用作基准，并希望使用论文附录中列出的参数，请使用此**[文件夹](https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Ftree\u002Fmaster\u002Fpaper_code)**中的语言模型和判别器。或者，如果您使用主目录中的代码\u002F模型和\u002F或**[🤗\u002FTransformers](https:\u002F\u002Ftransformer.huggingface.co\u002Fmodel\u002Fpplm)**进行公平比较，则可自行调整超参数（这些模型\u002F判别器的最佳参数与论文中使用的参数大致相差 5 倍）。\n\nPPLM 也已集成到**[🤗\u002FTransformers](https:\u002F\u002Fgithub.com\u002Fhuggingface\u002Ftransformers\u002Ftree\u002Fmaster\u002Fexamples\u002Fpplm)**仓库中。\n\n![标题图片](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber-research_PPLM_readme_2753387ada47.png)\n\n## 即插即用语言模型：一种简单的可控文本生成方法\n作者：[Sumanth Dathathri](https:\u002F\u002Fdathath.github.io\u002F)、[Andrea Madotto](https:\u002F\u002Fandreamad8.github.io\u002F)、Janice Lan、Jane Hung、Eric Frank、[Piero Molino](https:\u002F\u002Fw4nderlu.st\u002F)、[Jason Yosinski](http:\u002F\u002Fyosinski.com\u002F) 和 [Rosanne Liu](http:\u002F\u002Fwww.rosanneliu.com\u002F)\n\nPPLM 允许用户灵活地将一个或多个小型属性模型（代表期望的控制目标）插入到大型无条件语言模型（LM）中。该方法的关键特性是它直接使用原始语言模型——无需训练或微调——这使得研究人员即使不具备训练这些模型所需的大量硬件资源，也能充分利用业界领先的语言模型。\n\n更多信息请参阅我们的 **[arXiv 论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1912.02164)**、**[博客文章](https:\u002F\u002Feng.uber.com\u002Fpplm)**，并使用 **[Colab 笔记本](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1Ux0Z4-ruiVtJ6jUk98uk6FqfvGHCOYL3)** 无需任何设置即可亲自体验。\n\n## 设置\n\n```bash\npip install -r requirements.txt\n```\n\n## 引用\n```\n@inproceedings{\nDathathri2020Plug,\ntitle={Plug and Play Language Models: A Simple Approach to Controlled Text Generation},\nauthor={Sumanth Dathathri and Andrea Madotto and Janice Lan and Jane Hung and Eric Frank and Piero Molino and Jason Yosinski and Rosanne Liu},\nbooktitle={International Conference on Learning Representations},\nyear={2020},\nurl={https:\u002F\u002Fopenreview.net\u002Fforum?id=H1edEyBKDS}\n}\n```\n\n## PPLM-BoW \n\n### 词袋控制示例命令\n\n```bash\npython run_pplm.py -B military --cond_text \"The potato\" --length 50 --gamma 1.5 --num_iterations 3 --num_samples 10 --stepsize 0.03 --window_length 5 --kl_scale 0.01 --gm_scale 0.99 --colorama --sample\n```\n\n### 调整词袋控制的超参数\n\n1. 增大 `--stepsize` 可以加强主题控制，减小则会减弱控制效果。`--stepsize 0` 将恢复为原始的未受控制的 GPT-2 模型。\n\n2. 如果生成的语言出现重复现象（例如“science science experiment experiment”），可以考虑以下几种方法：\u003C\u002Fbr>\n   a) 减小 `--stepsize` \u003C\u002Fbr>\n   b) 增大 `--kl_scale`（KL 散度系数）或减小 `--gm_scale`（gm 缩放项）\u003C\u002Fbr>\n   c) 添加 `--grad-length xx`，其中 xx 是一个小于等于长度的整数（例如 `--grad-length 30`）。 \u003C\u002Fbr>\n\n\n## PPLM-Discrim\n\n### 基于判别器的情感控制示例命令\n\n```bash\npython run_pplm.py -D sentiment --class_label 2 --cond_text \"My dog died\" --length 50 --gamma 1.0 --num_iterations 10 --num_samples 10 --stepsize 0.04 --kl_scale 0.01 --gm_scale 0.95 --sample\n```\n\n### 调整判别器控制的超参数\n\n1. 增大 `--stepsize` 可以加强主题控制，减小则会减弱控制效果。`--stepsize 0` 将恢复为原始的未受控制的 GPT-2 模型。\n\n2. 使用 `--class_label 3` 表示负面情感，`--class_label 2` 表示正面情感。\n\n\n根目录下的判别器和 GPT-2 模型与论文中用于分析的模型不同。与论文对应的代码和模型可在[此处](https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Ftree\u002Fmaster\u002Fpaper_code)找到。","# PPLM 快速上手指南\n\nPPLM (Plug and Play Language Model) 是一种无需训练或微调即可控制文本生成的方法。它允许用户将小型属性模型（如主题词包或情感判别器）“即插即用”地连接到大型无条件语言模型（如 GPT-2）上，从而灵活地引导生成内容的主题或情感倾向。\n\n## 环境准备\n\n*   **系统要求**：Linux \u002F macOS \u002F Windows (需支持 Python 环境)\n*   **前置依赖**：\n    *   Python 3.6+\n    *   PyTorch\n    *   Transformers (Hugging Face)\n    *   其他依赖库（见 `requirements.txt`）\n*   **硬件建议**：推荐使用 NVIDIA GPU 以加速生成过程；若仅进行小规模测试，CPU 亦可运行但速度较慢。\n\n> **提示**：国内开发者建议使用清华源或阿里源加速 pip 安装。\n\n## 安装步骤\n\n1.  克隆仓库并进入目录：\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM.git\n    cd PPLM\n    ```\n\n2.  安装依赖包（推荐使用国内镜像源）：\n    ```bash\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n## 基本使用\n\nPPLM 支持两种主要的控制方式：**基于词包 (Bag-of-Words)** 的主题控制和 **基于判别器 (Discriminator)** 的情感控制。\n\n### 1. 基于词包的主题控制 (PPLM-BoW)\n\n以下命令将引导模型围绕 \"military\"（军事）主题，以 \"The potato\" 为开头生成文本：\n\n```bash\npython run_pplm.py -B military --cond_text \"The potato\" --length 50 --gamma 1.5 --num_iterations 3 --num_samples 10 --stepsize 0.03 --window_length 5 --kl_scale 0.01 --gm_scale 0.99 --colorama --sample\n```\n\n**参数调优提示：**\n*   增强主题控制强度：增大 `--stepsize`。\n*   减少重复生成：减小 `--stepsize`，或增大 `--kl_scale`，或添加 `--grad-length` 限制梯度传播长度。\n*   设为 `--stepsize 0` 可恢复为原始未控制的 GPT-2 模型。\n\n### 2. 基于判别器的情感控制 (PPLM-Discrim)\n\n以下命令将引导模型生成正面情感（`--class_label 2`）的文本，以 \"My dog died\" 为开头（尝试扭转悲伤语境）：\n\n```bash\npython run_pplm.py -D sentiment --class_label 2 --cond_text \"My dog died\" --length 50 --gamma 1.0 --num_iterations 10 --num_samples 10 --stepsize 0.04 --kl_scale 0.01 --gm_scale 0.95 --sample\n```\n\n**参数说明：**\n*   `--class_label 2`：代表正面情感 (Positive)。\n*   `--class_label 3`：代表负面情感 (Negative)。\n*   增强情感控制强度：增大 `--stepsize`。\n\n> **注意**：根目录下的默认模型与论文中使用的模型参数有所不同。若需复现论文结果或作为基准对比，请使用 `paper_code` 文件夹中的代码和模型，或自行调整超参数（默认模型的 optimal parameters 约为论文参数的 5 倍差异）。","某电商公司的客服团队需要基于用户投诉内容（如“物流太慢”），自动生成既符合事实又语气积极安抚的回复草稿，以提升服务效率。\n\n### 没有 PPLM 时\n- **语气不可控**：直接调用通用 GPT-2 模型生成的回复往往语气平淡，甚至可能顺着用户的负面情绪继续抱怨，无法体现“安抚”意图。\n- **微调成本高昂**：若要训练一个专门生成“积极语气”的模型，需要收集大量标注数据并消耗昂贵的算力进行微调，中小团队难以承担。\n- **灵活性差**：一旦业务需求从“积极语气”变为“正式公文风格”，就必须重新训练整个模型，响应速度慢。\n- **内容偏离主题**：模型容易在生成过程中发散，忘记围绕“物流延误”这一核心事实进行解释，导致回复答非所问。\n\n### 使用 PPLM 后\n- **精准 steer 语气**：通过挂载轻量级的情感判别器（Discriminator），PPLM 能强制模型在保持原意的基础上，输出带有“积极\u002F安抚”属性的文本，无需修改主模型。\n- **零训练即时部署**：利用 PPLM“即插即用”的特性，直接复用现有的 GPT-2 大模型，仅需加载小型属性模型即可实现控制，节省了全部训练成本与时间。\n- **动态切换风格**：只需更换不同的属性模型（如从情感分类器换为风格分类器），即可在同一套系统中灵活切换“亲切安抚”或“严谨致歉”等多种回复风格。\n- **主题与属性解耦**：结合条件文本（`--cond_text`）引导，PPLM 确保生成内容紧扣“物流”话题，同时满足语气要求，有效避免了重复啰嗦或跑题现象。\n\nPPLM 的核心价值在于让开发者无需重新训练庞大的语言模型，仅通过挂载小型控制器即可低成本、高灵活地实现对话语风格和主题的精准操控。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fuber-research_PPLM_bd71ce4c.png","uber-research","Uber Research","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fuber-research_3a532a8c.png","Uber's research projects. Projects in this organization are not built for production usage. Limited maintenance and support available for the repos in this org.",null,"https:\u002F\u002Fuber.github.io","https:\u002F\u002Fgithub.com\u002Fuber-research",[80,84,88],{"name":81,"color":82,"percentage":83},"Python","#3572A5",77.7,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",22.2,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0,1154,204,"2026-04-02T08:39:37","Apache-2.0","未说明","未说明（文中提到该方法无需训练大型模型，可利用现有最佳 LM，暗示对硬件要求相对灵活，但具体显存和 CUDA 版本未提及）",{"notes":99,"python":96,"dependencies":100},"1. 该工具主要依赖 GPT-2 模型和判别器，若使用主目录代码而非论文专用代码，超参数需重新调整（最优参数与论文中相差约 5 倍）。2. 提供 Google Colab 笔记本可直接运行无需本地环境配置。3. 支持基于词袋（BoW）的主题控制和基于判别器的情感控制。4. 可通过 Hugging Face Transformers 仓库集成使用。",[101],"requirements.txt 中列出的库（具体列表未在 README 文本中显示）",[14,35],[104,105,106,107,108,109],"language-modeling","natural-language-generation","machine-learning","deep-learning","natural-language-processing","nlp","2026-03-27T02:49:30.150509","2026-04-10T15:52:53.726897",[113,118,123,128,133,138],{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},27725,"为什么运行毒性（toxicity）判别器时报错 KeyError: 'toxicity'？","这是因为当前代码库中未直接包含预训练的毒性判别器权重。解决方法有两种：\n1. 自行训练：从 Kaggle 的 Jigsaw Toxic Comment Classification Challenge 下载数据集，将其整理为二分类问题（所有“有毒”文本为一类，正常文本为另一类），然后使用 GPU 训练判别器（约需 10-15 分钟）。\n2. 使用论文原始代码中的预训练模型：原始论文代码中包含预训练的 `toxicity_classifierhead.pt`，但由于 Hugging Face 仓库版本更新导致接口变化，直接运行可能需要调整旧版 GPT-2 的实现代码。","https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Fissues\u002F12",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},27726,"如何让 PPLM 生成的文本具有随机性，而不是每次输出相同的结果？","默认情况下 `sample` 参数设置为 False，导致始终使用 topk=1（贪婪解码），从而产生确定性结果。解决方法如下：\n1. 添加 `--sample` 标志启用采样模式。\n2. 使用 `--num-samples` 标志生成多个样本，每个样本会自动使用不同的随机种子。\n3. 如果需要手动控制，可以通过 `--seed \u003C整数>` 指定随机种子，但需注意相同种子仍会产生相同结果，若要不同结果需每次更改种子值。","https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Fissues\u002F9",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},27727,"在扰动（perturbation）过程中，获取未来 token 表示时为何不使用 t-1 时刻生成的 token？","这是有意为之的设计。主要直觉是：判别器是在未扰动（unperturbed）的表示上训练的，因此为了获得更稳定的梯度，计算未来 token 表示时应仅使用未扰动的表示（`unperturb_past`），而不是包含扰动信息的过去状态或显式追加生成的 token。代码中使用 `[0, t]` 的未扰动潜变量来获取未来表示，以避免扰动带来的噪声影响梯度计算。","https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Fissues\u002F24",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},27728,"如何理解论文公式 (4) 中的属性模型及修改后的历史状态（modified history）？","1. 关于概率计算：给定已生成的文本 `text_so_far`，对于词袋（BoW）中的每个词 w，目标是计算 `Prob(text_so_far + w | modified model)`。这通过在使用修改后的模型进行标准前向传播（如 `model.predict`）来实现，用于迭代计算扰动量 `\\Delta H`。\n2. 关于模型修改：实际上并不是直接修改模型权重（如 `set_weights`），而是在生成下一个词之前，根据损失函数（包括 BoW 损失、判别器损失、KL 散度等）计算梯度，并通过 `perturb_past` 函数对过去的隐藏状态进行扰动更新。建议仔细阅读 `run_pplm.py` 中的 `perturb_past` 函数以了解具体实现。","https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Fissues\u002F5",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},27729,"如何使用 paper_code 文件夹中的脚本复现情感分析和去毒（detoxification）的结果？","目前主仓库可能缺少直接运行的 bash 脚本或详细的预处理步骤。建议参考原始论文代码仓库中的具体配置。通常需要：\n1. 确保拥有对应的预训练检查点（ckpt）。\n2. 按照论文中的超参数设置运行 `run_pplm.py`，例如针对情感分析需指定相应的 `--discrim` 和 `--class_label`。\n3. 如果缺少训练脚本，需依据论文描述自行构建训练流程，或使用维护者在 Issue 中可能提供的额外指导（注：此 Issue 具体解决方案被截断，建议查看完整线程或联系维护者获取具体的 bash 脚本）。","https:\u002F\u002Fgithub.com\u002Fuber-research\u002FPPLM\u002Fissues\u002F25",{"id":139,"question_zh":140,"answer_zh":141,"source_url":117},27730,"在没有 NVIDIA GPU 的情况下（例如使用 2017 iMac Pro），是否可以训练毒性判别器？","训练判别器通常建议使用 GPU 以加快进程（约 10-15 分钟）。如果在本地没有 NVIDIA 显卡，可以考虑使用云端 GPU 实例（如 Google Colab, AWS 等）进行半小时左右的训练。如果无法使用 GPU，纯 CPU 训练可能会非常慢甚至不可行，此时最好寻求维护者是否提供预训练好的判别器模型共享。",[]]