[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-IST-DASLab--gptq":3,"tool-IST-DASLab--gptq":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 真正成长为懂上",160784,2,"2026-04-19T11:32:54",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":96,"env_os":97,"env_gpu":98,"env_ram":97,"env_deps":99,"category_tags":107,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":108,"updated_at":109,"faqs":110,"releases":151},9673,"IST-DASLab\u002Fgptq","gptq","Code for the ICLR 2023 paper \"GPTQ: Accurate Post-training Quantization of Generative Pretrained Transformers\".","gptq 是一款专为大型生成式预训练变压器（LLM）设计的高效量化压缩工具，源自 ICLR 2023 的学术论文。它的核心使命是解决大模型部署难的问题：在几乎不损失模型精度的前提下，将原本庞大的模型权重压缩至 2、3 或 4 比特，从而大幅降低显存占用并提升推理速度，让百亿甚至千亿参数级的模型能在单张消费级或专业显卡上流畅运行。\n\n这款工具特别适合 AI 研究人员、算法工程师以及希望本地部署大模型的开发者使用。gptq 的独特之处在于其创新的逐层量化算法，能够智能地处理权重中的异常值。它支持多种主流模型架构，包括 OPT、BLOOM 以及广受欢迎的 LLaMA 系列。针对 LLaMA 模型，gptq 引入了“激活值排序”（act-order）和“真序列量化”（true-sequential）等高级技巧，显著修复了小参数量模型在低比特下的精度崩塌问题，实现了接近全精度的性能表现。此外，项目还提供了高度优化的 CUDA 内核，特别是在 A100 等高端显卡上，能带来数倍的生成速度提升。无论是进行学术实验还是构建高效的生产环境，gptq 都是实现大模型轻量化的得力助手。","# GPTQ\n\nThis repository contains the code for the ICLR 2023 paper [GPTQ: Accurate Post-training Compression for Generative Pretrained Transformers](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.17323). \nThe current release includes the following features:\n\n* An efficient implementation of the GPTQ algorithm: `gptq.py`\n* Compressing all models from the OPT and BLOOM families to 2\u002F3\u002F4 bits, including weight grouping: `opt.py`, `bloom.py`, `zeroShot\u002F`\n* Evaluating the perplexity of quantized models on several language generation tasks: `opt.py`, `bloom.py`\n* Evaluating the performance of quantized models on several ZeroShot tasks: `zeroShot\u002F`\n* A 3-bit quantized matrix full-precision vector product CUDA kernel: `quant_cuda_kernel.cu`, `quant_cuda.cpp`, `setup_cuda.py`\n* Benchmarking code for individual matrix-vector products and for language generation with quantized models: `test_kernel.py`, `opt.py`\n\n## New Features\n\nUpdate July 2023:\n\n* Added `--static-groups` options which determines all group-grids in advance rather than dynamically during quantization, which has the effect that `--act-order` does not require any inference changes (that may cause slowdown) when used together with this option.\n\nTogether with the camera ready version of the paper we have added several updates to this repository:\n\n* Slightly adjusted preprocessing of C4 and PTB for more realistic evaluations (used in our updated results); can be activated via the flag `--new-eval`.\n* Optimized 3bit kernels, which are considerably faster especially on the A100, e.g. 1.9x -> 3.25x generation speedup for OPT-175B; can be activated via `--faster-kernel`.\n* A minimal LlaMa integration (for more complete features see the [GPTQ-for-LLaMA](https:\u002F\u002Fgithub.com\u002Fqwopqwop200\u002FGPTQ-for-LLaMa) repository), which demonstrates two new tricks:`--act-order` (quantizing columns in order of decreasing activation size) and `--true-sequential` (performing sequential quantization even within a single Transformer block). Those fix GPTQ's strangely bad performance on the 7B model (from 7.15 to 6.09 Wiki2 PPL) and lead to slight improvements on most models\u002Fsettings in general.\n\nHere is a summary of LLaMa results:\n\n| Wiki2 PPL | FP16 | 4bit-RTN | 4bit-GPTQ | 3bit-RTN | 3bit-GPTQ | 3g128-GPTQ |\n|:---------:|:----:|:--------:|:---------:|:--------:|:---------:|:----------:|\n| LLaMa-7B  | 5.68 | 6.29     | **6.09**  | 25.54    | **8.07**  | 6.61       |\n| LLaMa-13B | 5.09 | 5.53     | **5.36**  | 11.40    | **6.63**  | 5.62       |\n| LLaMa-30B | 4.10 | 4.54     | **4.45**  | 14.89    | **5.69**  | 4.80       |\n| LLaMa-65B | 3.53 | 3.92     | **3.84**  | 10.59    | **5.04**  | 4.17       |\n\nHere is a sample command:\n\n```\npython llama.py LLAMA_HF_FOLDER c4 --wbits 4 --true-sequential --act-order --new-eval\n```\n\nThe `--act-order` heuristic also dramatically improves accuracy on the OPT-66B outlier model: 9.55 to 9.34 and 14.16 to 9.95 PPL on Wiki2 for 4bit and 3bit, respectively.\n\n## Dependencies\n\n* `torch`: tested on v1.10.1+cu111\n* `transformers`: tested on v4.21.2 (the LLaMa integration currently requires a main install from source and `sentencepiece`)\n* `datasets`: tested on v1.17.0\n* (to run 3-bit kernels: setup for compiling PyTorch CUDA extensions, see also https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fadvanced\u002Fcpp_extension.html, tested on CUDA 11.4)\n\nAll experiments were run on a single 80GB NVIDIA A100. However, most experiments will work on a GPU with a lot less memory as well.\n\n## Language Generation\n\n### OPT\n\n```\n# Compute full precision (FP16) results\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4\n# Run RTN baseline and compute results\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4 --wbits 4 --nearest\n# Run GPTQ and compute results\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4 --wbits 4 [--groupsize 1024]\n````\n\nTo run other OPT models replace `opt-125m` with one of: `opt-350m`, `opt-1.3b`, `opt-2.7b`, `opt-6.7b`, `opt-13b`, `opt-66b`.\nFor the 175B-parameter mode, you have to request access from Meta and then convert it to a local HuggingFace checkpoint using their scripts in `metaseq`.\nOnce you have such a checkpoint, simply pass its path instead of `facebook\u002Fopt-125m`. \n\n### BLOOM\n\n```\n# Compute full precision (FP16) results\nCUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4\n# Run RTN baseline and compute results\nCUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4 --wbits 4 --nearest\n# Run GPTQ and compute results\nCUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4 --wbits 4 [--groupsize 1024]\n````\n\nTo run other BLOOM models replace `bloom-560m` with one of: `bloom-1b1`, `bloom-1b7`, `bloom-3b`, `bloom-7b1`, `bloom`.\n\n## ZeroShot\n\nSee `zeroShot\u002F` folder.\n\n## 3-bit CUDA Kernels \n\n```\n# Install kernels\npython setup_cuda.py install\n\n# Benchmark performance for FC2 layer of OPT-175B\nCUDA_VISIBLE_DEVICES=0 python test_kernel.py\n\n# Benchmark language generation with 3-bit OPT-175B:\n# OPT175B denotes the name of the folder with the HuggingFace OPT-175b checkpoint (see above)\n\n# Save compressed model\nCUDA_VISIBLE_DEVICES=0 python opt.py OPT175B c4 --wbits 3 --save opt175-3bit.pt\n# Benchmark generating a 128 token sequence with the saved model\nCUDA_VISIBLE_DEVICES=0 python opt.py OPT175B c4 --load opt175b-3bit.pt --benchmark 128\n# Benchmark FP16 baseline, note that the model will be split across all listed GPUs\nCUDA_VISIBLE_DEVICES=0,1,2,3,4 python opt.py OPT175B c4 --benchmark 128\n```\n\nPlease note that our 3-bit kernels are currently only optimized for OPT-175B running on 1xA100 or 2xA6000 and may thus yield suboptimal performance on smaller models or on other GPUs.\n\n## Cite\n\nIf you found this work useful, please consider citing:\n\n```\n@article{frantar-gptq,\n  title={{GPTQ}: Accurate Post-training Compression for Generative Pretrained Transformers}, \n  author={Elias Frantar and Saleh Ashkboos and Torsten Hoefler and Dan Alistarh},\n  year={2022},\n  journal={arXiv preprint arXiv:2210.17323}\n}\n```\n","# GPTQ\n\n本仓库包含 ICLR 2023 论文 [GPTQ: 针对生成式预训练 Transformer 的高精度后训练压缩](https:\u002F\u002Farxiv.org\u002Fabs\u002F2210.17323) 的代码实现。当前版本包括以下功能：\n\n* GPTQ 算法的高效实现：`gptq.py`\n* 将 OPT 和 BLOOM 系列的所有模型压缩至 2\u002F3\u002F4 位，支持权重分组：`opt.py`、`bloom.py`、`zeroShot\u002F`\n* 在多个语言生成任务上评估量化模型的困惑度：`opt.py`、`bloom.py`\n* 在多个零样本任务上评估量化模型的性能：`zeroShot\u002F`\n* 一种 3 位量化矩阵与全精度向量乘积的 CUDA 内核：`quant_cuda_kernel.cu`、`quant_cuda.cpp`、`setup_cuda.py`\n* 用于单个矩阵-向量乘积以及使用量化模型进行语言生成的基准测试代码：`test_kernel.py`、`opt.py`\n\n## 新特性\n\n2023 年 7 月更新：\n\n* 添加了 `--static-groups` 选项，该选项会在量化之前预先确定所有分组网格，而不是在量化过程中动态确定。这样一来，当与该选项一起使用时，`--act-order` 不再需要任何可能造成速度下降的推理改动。\n\n随着论文的最终定稿版发布，我们还对该仓库进行了多项更新：\n\n* 对 C4 和 PTB 数据集的预处理进行了微调，以获得更贴近实际的评估结果（用于我们的更新结果）；可通过 `--new-eval` 标志启用。\n* 优化了 3 位内核，使其速度显著提升，尤其是在 A100 上，例如对于 OPT-175B 模型，生成速度从 1.9 倍提升至 3.25 倍；可通过 `--faster-kernel` 启用。\n* 提供了一个最小化的 LLaMa 集成（如需更完整的功能，请参阅 [GPTQ-for-LLaMa](https:\u002F\u002Fgithub.com\u002Fqwopqwop200\u002FGPTQ-for-LLaMa) 仓库），展示了两个新技巧：`--act-order`（按激活值大小降序量化列）和 `--true-sequential`（即使在单个 Transformer 块内也执行顺序量化）。这些改进修复了 GPTQ 在 7B 模型上的异常糟糕表现（从 7.15 降至 6.09 的 Wiki2 PPL），并普遍提升了大多数模型和设置下的性能。\n\n以下是 LLaMa 模型的评估结果汇总：\n\n| Wiki2 PPL | FP16 | 4bit-RTN | 4bit-GPTQ | 3bit-RTN | 3bit-GPTQ | 3g128-GPTQ |\n|:---------:|:----:|:--------:|:---------:|:--------:|:---------:|:----------:|\n| LLaMa-7B  | 5.68 | 6.29     | **6.09**  | 25.54    | **8.07**  | 6.61       |\n| LLaMa-13B | 5.09 | 5.53     | **5.36**  | 11.40    | **6.63**  | 5.62       |\n| LLaMa-30B | 4.10 | 4.54     | **4.45**  | 14.89    | **5.69**  | 4.80       |\n| LLaMa-65B | 3.53 | 3.92     | **3.84**  | 10.59    | **5.04**  | 4.17       |\n\n以下是一个示例命令：\n\n```\npython llama.py LLAMA_HF_FOLDER c4 --wbits 4 --true-sequential --act-order --new-eval\n```\n\n此外，`--act-order` 启发式方法还显著提升了 OPT-66B 这一异常模型的准确性：4 位和 3 位分别将 Wiki2 上的 PPL 从 9.55 降至 9.34 和从 14.16 降至 9.95。\n\n## 依赖项\n\n* `torch`：已在 v1.10.1+cu111 上测试通过\n* `transformers`：已在 v4.21.2 上测试通过（目前 LLaMa 集成需要从源码安装主库，并且需要 `sentencepiece`）\n* `datasets`：已在 v1.17.0 上测试通过\n* （要运行 3 位内核：需配置 PyTorch CUDA 扩展的编译环境，详情请参阅 https:\u002F\u002Fpytorch.org\u002Ftutorials\u002Fadvanced\u002Fcpp_extension.html，已在 CUDA 11.4 上测试通过）\n\n所有实验均在一台配备 80GB 显存的 NVIDIA A100 上运行。不过，大多数实验也可以在显存较少的 GPU 上顺利进行。\n\n## 语言生成\n\n### OPT\n\n```\n# 计算全精度（FP16）结果\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4\n# 运行 RTN 基线并计算结果\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4 --wbits 4 --nearest\n# 运行 GPTQ 并计算结果\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4 --wbits 4 [--groupsize 1024]\n```\n\n若要运行其他 OPT 模型，可将 `opt-125m` 替换为：`opt-350m`、`opt-1.3b`、`opt-2.7b`、`opt-6.7b`、`opt-13b`、`opt-66b`。对于 175B 参数的模型，您需要向 Meta 申请访问权限，然后使用其提供的脚本将其转换为本地 HuggingFace 检查点，路径为 `metaseq`。获得检查点后，只需将其路径替换为 `facebook\u002Fopt-125m` 即可。\n\n### BLOOM\n\n```\n# 计算全精度（FP16）结果\nCUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4\n# 运行 RTN 基线并计算结果\nCUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4 --wbits 4 --nearest\n# 运行 GPTQ 并计算结果\nCUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4 --wbits 4 [--groupsize 1024]\n```\n\n若要运行其他 BLOOM 模型，可将 `bloom-560m` 替换为：`bloom-1b1`、`bloom-1b7`、`bloom-3b`、`bloom-7b1`、`bloom`。\n\n## 零样本\n\n请参阅 `zeroShot\u002F` 文件夹。\n\n## 3 位 CUDA 内核\n\n```\n# 安装内核\npython setup_cuda.py install\n\n# 对 OPT-175B 的 FC2 层进行性能基准测试\nCUDA_VISIBLE_DEVICES=0 python test_kernel.py\n\n# 使用 3 位 OPT-175B 进行语言生成的基准测试：\n# OPT175B 是指包含 HuggingFace OPT-175B 检查点的文件夹名称（见上文）\n\n# 保存压缩后的模型\nCUDA_VISIBLE_DEVICES=0 python opt.py OPT175B c4 --wbits 3 --save opt175-3bit.pt\n# 使用保存的模型生成 128 个标记的序列并进行基准测试\nCUDA_VISIBLE_DEVICES=0 python opt.py OPT175B c4 --load opt175b-3bit.pt --benchmark 128\n# 基准测试 FP16 基线，注意模型会跨列出的所有 GPU 分布\nCUDA_VISIBLE_DEVICES=0,1,2,3,4 python opt.py OPT175B c4 --benchmark 128\n```\n\n请注意，我们的 3 位内核目前仅针对运行在 1xA100 或 2xA6000 上的 OPT-175B 进行了优化，因此在较小的模型或其他 GPU 上可能会表现出次优性能。\n\n## 引用\n\n如果您觉得这项工作有所帮助，请考虑引用以下文献：\n\n```\n@article{frantar-gptq,\n  title={{GPTQ}: Accurate Post-training Compression for Generative Pretrained Transformers}, \n  author={Elias Frantar and Saleh Ashkboos and Torsten Hoefler and Dan Alistarh},\n  year={2022},\n  journal={arXiv preprint arXiv:2210.17323}\n}\n```","# GPTQ 快速上手指南\n\nGPTQ 是一种用于生成式预训练 Transformer 模型的高精度后训练量化算法。本指南将帮助您快速配置环境并运行 OPT、BLOOM 及 LLaMa 模型的量化任务。\n\n## 环境准备\n\n### 系统要求\n*   **GPU**: 推荐 NVIDIA A100 (80GB)，但大多数实验可在显存较小的 GPU 上运行。\n*   **CUDA**: 若需使用优化的 3-bit CUDA 内核，需安装 CUDA 11.4 及以上版本，并配置好 PyTorch CUDA 扩展编译环境。\n\n### 前置依赖\n请确保已安装以下 Python 库（版本参考）：\n*   `torch`: v1.10.1+cu111 或更高\n*   `transformers`: v4.21.2 或更高\n    *   *注意*: 运行 LLaMa 模型需要从源码安装最新版 `transformers` 并安装 `sentencepiece`。\n*   `datasets`: v1.17.0 或更高\n\n> **国内加速建议**：建议使用清华或阿里镜像源安装依赖，以提升下载速度。\n> ```bash\n> pip install torch transformers datasets sentencepiece -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n## 安装步骤\n\n克隆仓库后，若需使用高性能的 3-bit CUDA 内核，请先编译安装扩展：\n\n```bash\npython setup_cuda.py install\n```\n\n*注：如果不使用 3-bit 内核特性，可跳过此步，直接使用 Python 脚本运行量化逻辑。*\n\n## 基本使用\n\n以下示例展示如何对 **OPT** 系列模型进行 4-bit GPTQ 量化并评估困惑度（Perplexity）。\n\n### 1. 运行基准测试 (FP16)\n首先获取全精度模型的性能基准：\n```bash\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4\n```\n\n### 2. 运行 RTN 基线 (可选)\n对比最近舍入（Round-to-Nearest）量化效果：\n```bash\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4 --wbits 4 --nearest\n```\n\n### 3. 运行 GPTQ 量化\n执行 GPTQ 算法进行 4-bit 量化（支持可选的分组大小 `--groupsize`）：\n```bash\nCUDA_VISIBLE_DEVICES=0 python opt.py facebook\u002Fopt-125m c4 --wbits 4 [--groupsize 1024]\n```\n\n### 其他模型说明\n*   **OPT 系列**: 将命令中的 `opt-125m` 替换为 `opt-350m`, `opt-1.3b`, `opt-6.7b`, `opt-13b`, `opt-66b` 等。\n*   **BLOOM 系列**: 使用 `bloom.py` 脚本，将模型名替换为 `bigscience\u002Fbloom-560m`, `bloom-1b7`, `bloom-7b1` 等。\n    ```bash\n    CUDA_VISIBLE_DEVICES=0 python bloom.py bigscience\u002Fbloom-560m c4 --wbits 4\n    ```\n*   **LLaMa 系列**: 使用 `llama.py` 脚本，推荐结合 `--act-order` 和 `--true-sequential` 参数以获得最佳精度：\n    ```bash\n    python llama.py LLAMA_HF_FOLDER c4 --wbits 4 --true-sequential --act-order --new-eval\n    ```","某初创团队试图在单张消费级显卡上部署 LLaMa-30B 大模型以构建本地智能客服，但受限于显存容量和推理速度，项目一度陷入停滞。\n\n### 没有 gptq 时\n- **显存爆满无法加载**：30B 参数的 FP16 模型需占用约 60GB 显存，远超普通 RTX 4090（24GB）的承载极限，导致程序直接报错退出。\n- **推理延迟过高**：即便租用昂贵的多卡服务器，全精度矩阵运算导致生成每个 token 耗时过长，用户等待时间超过 3 秒，体验极差。\n- **带宽瓶颈严重**：巨大的模型权重数据在传输过程中占满了 PCIe 带宽，计算单元经常处于“等数据”的空转状态。\n- **部署成本高昂**：为了运行模型，必须采购或租赁高性能 A100 集群，每月基础设施成本高达数万元，初创公司难以负担。\n\n### 使用 gptq 后\n- **显存占用骤降**：利用 gptq 将模型权重量化至 4bit，显存需求从 60GB 压缩至约 18GB，成功在单张消费级显卡上流畅运行。\n- **生成速度倍增**：结合 gptq 优化的 CUDA 内核，减少了数据搬运量，在 A100 上推理速度提升近 2 倍，响应延迟降至毫秒级。\n- **精度几乎无损**：通过 `--act-order` 和 `--true-sequential` 策略，量化后的 Wiki2 困惑度仅微幅上升（如 30B 模型从 4.10 升至 4.45），对话质量依然自然流畅。\n- **落地门槛降低**：无需昂贵集群，开发者可直接在本地工作站完成调试与部署，硬件成本降低 80% 以上。\n\ngptq 通过高精度的后训练量化技术，打破了大模型对高端硬件的依赖，让百亿参数模型真正实现了低成本、高效率的终端落地。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FIST-DASLab_gptq_c4a5603e.png","IST-DASLab","IST Austria Distributed Algorithms and Systems Lab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FIST-DASLab_6d4d2549.png","",null,"https:\u002F\u002Fista.ac.at\u002Fen\u002Fresearch\u002Falistarh-group\u002F","https:\u002F\u002Fgithub.com\u002FIST-DASLab",[80,84,88],{"name":81,"color":82,"percentage":83},"Python","#3572A5",95.7,{"name":85,"color":86,"percentage":87},"Cuda","#3A4E3A",3.8,{"name":89,"color":90,"percentage":91},"C++","#f34b7d",0.5,2292,195,"2026-04-15T09:21:03","Apache-2.0",4,"未说明","必需 NVIDIA GPU。实验在单卡 80GB NVIDIA A100 上运行，但大多数实验可在显存较小的 GPU 上运行。3-bit CUDA 内核目前仅针对 1xA100 或 2xA6000 优化。需要支持编译 PyTorch CUDA 扩展的环境，测试基于 CUDA 11.4（torch 测试版本为 cu111）。",{"notes":100,"python":97,"dependencies":101},"1. 若要运行 3-bit 量化内核，必须配置好编译 PyTorch CUDA 扩展的环境。2. LLaMa 模型集成需要额外安装 'sentencepiece' 并从源码安装 'transformers' 的主分支版本。3. 对于 OPT-175B 超大模型，需先向 Meta 申请访问权限并使用其脚本转换为本地 HuggingFace 格式。4. 3-bit 内核在除 A100\u002FA6000 以外的显卡或小模型上性能可能不佳。",[102,103,104,105,106],"torch (测试版本 v1.10.1+cu111)","transformers (测试版本 v4.21.2，LLaMa 集成需从源码安装主分支)","datasets (测试版本 v1.17.0)","sentencepiece (LLaMa 集成必需)","CUDA 编译工具链 (用于编译 3-bit 内核)",[35,14],"2026-03-27T02:49:30.150509","2026-04-20T04:04:29.472452",[111,116,121,126,131,136,141,146],{"id":112,"question_zh":113,"answer_zh":114,"source_url":115},43441,"使用 --save 选项时，为什么生成的模型中 qweight 是空的？如何正确保存量化模型？","如果您只需要用于评估的（伪）量化 4bit 权重，无需经过任何打包代码，只需在主脚本末尾添加 `model.save_pretrained('checkpoint.pt')` 调用即可。如果您确实想以压缩的 4bit 形式（即打包形式）保存模型，由于该仓库目前仅支持 3bit 的打包，您需要自行适配相应的 3bit 代码（如 `Quant4Linear` 及相关函数）。最近的更新已修复了相关问题，现在要求维度必须是 32 的倍数。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F2",{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},43442,"在 GPTQ 量化过程中，为什么代码里没有看到 Hinv (H^{-1}) 的更新步骤？","这不是 Bug。根据论文中的\"Step 3: Cholesky Reformulation\"，Hinv 的更新是通过乔列斯基分解（Cholesky decomposition）预先计算好的。行移除操作本质上对应于对对称矩阵 H^{-1} 进行乔列斯基分解，因此不需要在量化循环中显式地逐步更新 Hinv。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F21",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},43443,"如何将 3\u002F4-bit 量化应用于计算机视觉模型（如 CNN 或 ViT）？","目前的 CUDA 内核是为大语言模型的单 token 线性层设计的，不直接支持卷积层。对于视觉模型，最简单的方案是在执行卷积前即时完全解压缩权重，这能节省内存但不会带来速度提升（因为视觉模型通常不受内存带宽限制）。若要实施量化，需选取数据集子集（如 1024 张图片），以类似 OPT\u002FLLaMa 的方式传播激活值；对于 ResNet 等模型，需要用 GPTQ 类包装卷积层并运行量化。注意：3\u002F4 bit 量化可能会显著降低视觉模型的性能，除非是像 ViT-22B 这样的超大模型，否则通常没有必要。也可参考 OBC 项目进行更准确的视觉模型压缩。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F14",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},43444,"GPTQ 量化后的模型可以用于微调（Fine-tuning）吗？","可以，但取决于微调方式。如果量化模型保持静态（例如在 QLoRA 中），仅微调偏置、缩放因子或适配器（adapters），则完全可以使用 GPTQ 进行量化（参考 llmtune 项目）。但如果您需要在每一步都重新量化整个模型（如全量化感知训练），GPTQ 的速度可能太慢，无法满足需求。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F33",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},43445,"如果我将 block size 设置为 1，GPTQ 会退化为 OBQ 吗？","不会。Block size 不影响 GPTQ 算法的功能，它仅通过批处理更新来提高 GPU 执行效率。GPTQ 与 OBQ 的核心区别在于量化顺序：GPTQ 对所有矩阵行采用固定的顺序进行量化，而 OBQ 是根据动态确定的量化难度逐行单独量化。这种固定顺序使得 GPTQ 比 OBQ 效率高得多，从而能够扩展到超大规模模型。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F25",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},43446,"运行基准测试时报错 \"ValueError: not enough values to unpack (expected 2, got 1)\" 如何解决？","这是一个已知问题，已在提交记录 8eca10660e9e48e71333c1f79129a818e7926b70 中修复。请确保您的代码库已更新到包含此修复的最新版本，该修改解决了输入形状解包时的维度不匹配问题。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F18",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},43447,"为什么针对 A100 GPU 的特定优化能显著提升速度？原理是什么？","A100 拥有极高的内存带宽，但非 Tensor Core 的计算能力相对较弱（矩阵 - 向量乘法主要依赖于此）。早期的简单内核在 A100 上提升有限。新的优化内核利用存储在快速共享内存中的查找表，同时解码两个量化权重并融合为 2xFP16 值。为了避免读取时的存储体冲突（bank conflicts），查找表会被复制。这种设计更好地利用了 A100 的高带宽特性，从而实现了显著加速。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F13",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},43448,"CUDA 代码中构造 3-bit 数时，\"tmp2 >> 30\" 是否应该是 \"tmp2 >> 31\"？","不需要修改。`tmp2` 在该表达式之前的代码行中已经被左移了一位，因此在这个特定的位移表达式中，它实际上只贡献了 1 个比特，配合 `tmp1` 贡献的 2 个比特，正好构成 3-bit 数值。","https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq\u002Fissues\u002F43",[]]