[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-OpenGVLab--OmniQuant":3,"tool-OpenGVLab--OmniQuant":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 真正成长为懂上",158594,2,"2026-04-16T23:34:05",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[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":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":78,"owner_website":76,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":97,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":111,"github_topics":112,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":116,"updated_at":117,"faqs":118,"releases":154},8082,"OpenGVLab\u002FOmniQuant","OmniQuant","[ICLR2024 spotlight] OmniQuant is a simple and powerful quantization technique for LLMs. ","OmniQuant 是一款专为大型语言模型（LLM）设计的高效量化技术，曾荣获 ICLR 2024 Spotlight 殊荣。它的核心使命是在几乎不损失模型性能的前提下，大幅压缩大模型的体积与显存占用，让庞大的 AI 模型能够在资源受限的设备上流畅运行。\n\n面对大模型部署中显存需求过高、推理成本昂贵的痛点，OmniQuant 通过其独特的“全向校准”算法，实现了高精度的低比特量化。它不仅支持仅权重量化（如 W2A16、W3A16），也能处理权重与激活值的同时量化（如 W4A4）。该技术亮点在于能轻松将原本需要数十甚至上百 GB 显存的模型（如 Falcon-180B 或 Mixtral-8x7B）压缩至单张消费级显卡即可运行的规模，同时保持接近原始模型的准确度。\n\nOmniQuant 非常适合 AI 研究人员、开发者以及希望降低部署成本的企业团队使用。无论是需要在本地 GPU 上进行实验的研究者，还是致力于将大模型落地到移动端的应用开发者，都能利用其提供的预训练模型库和开箱即用的工具链，快速实现模型压缩与高效推理。借助对 MLC-LLM 等框架的支持，用户甚至可以在手机等边缘设备上体验","OmniQuant 是一款专为大型语言模型（LLM）设计的高效量化技术，曾荣获 ICLR 2024 Spotlight 殊荣。它的核心使命是在几乎不损失模型性能的前提下，大幅压缩大模型的体积与显存占用，让庞大的 AI 模型能够在资源受限的设备上流畅运行。\n\n面对大模型部署中显存需求过高、推理成本昂贵的痛点，OmniQuant 通过其独特的“全向校准”算法，实现了高精度的低比特量化。它不仅支持仅权重量化（如 W2A16、W3A16），也能处理权重与激活值的同时量化（如 W4A4）。该技术亮点在于能轻松将原本需要数十甚至上百 GB 显存的模型（如 Falcon-180B 或 Mixtral-8x7B）压缩至单张消费级显卡即可运行的规模，同时保持接近原始模型的准确度。\n\nOmniQuant 非常适合 AI 研究人员、开发者以及希望降低部署成本的企业团队使用。无论是需要在本地 GPU 上进行实验的研究者，还是致力于将大模型落地到移动端的应用开发者，都能利用其提供的预训练模型库和开箱即用的工具链，快速实现模型压缩与高效推理。借助对 MLC-LLM 等框架的支持，用户甚至可以在手机等边缘设备上体验高性能的大语言模型服务。","# OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models\n\n\u003Ch5 align=\"center\">\n\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOmniQuant-2308.13137-b31b1b.svg?logo=arXiv)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2308.13137)\n[![jiqizhixin](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F机器之心%20-black)](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002Fza2ptWT1_li99-YmjcXQAg)\n[![zhihu](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F知乎-0084FF)](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F685805699)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCode%20License-MIT-yellow)](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fblob\u002Fmain\u002FLICENCE)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FOpenGVLab\u002FOmniQuant.svg?style=social&label=Star&maxAge=60)](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant)🔥🔥🔥\n \u003Cbr>\n\n\u003C\u002Fh5>\n\n  \n\n![omniquant](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_290a6d4765ac.png)\n\nOmniQuant is a simple and powerful quantization technique for LLMs. The current release supports:\n- OmniQuant algorithm for accurate weight-only quantization (`W4A16`\u002F`W3A16`\u002F`W2A16`) and weight-activation quantization (`W6A6`, `W4A4`)\n- Pre-trained Omniquant model zoo for LLMs (`LLaMA-1&2`, `LLaMA-2-Chat`, `OPT`, `Falcon`, `Mixtral-7Bx8`; load to generate quantized weights).\n- A out-of-the-box case that leverages MLC-LLM to run LLaMa-2-Chat (7B\u002F13B) with W3A16g128 quantization on GPUs and mobile phones.\n\n\n## News\n- [2025\u002F11] 🔥 **We open-source [INT vs. FP](https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FINT_vs_FP), a framework to compare low-bit integer and float-point formats, including MXFP8\u002FMXFP6\u002FMXFP4\u002FNVFP4 and MXINT8\u002FMXINT6\u002FMXINT4\u002FNVINT4.**\n- [2025\u002F05] 🔥 We explore the [Scaling Law for Quantization-Aware Training](https:\u002F\u002Fexport.arxiv.org\u002Fabs\u002F2505.14302), which offers insights and instruction for LLMs QAT.\n- [2024\u002F10] 🔥 We release a new weight-activation quantization algorithm, [PrefixQuant](https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FPrefixQuant), which proposed an efficient method to isolate sink token (token-wise outlier).\n- [2024\u002F7] 🔥 We release a new quantization algorithm, [EfficientQAT](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FEfficientQAT), which realizes quantization-aware training in a time-efficient and memory-efficient manner. Additionally, EfficientQAT is the current SoTA of uniform quantization.\n- [2024\u002F1] 🌟 Our OmniQuant paper has been accepted for a Spotlight presentation at ICLR 2024 (only top 5% out of over 7200 submissions)! 🎉 Cheers!\n- [2023\u002F12] 🔥 We provide support for Mixtral-8x7B. OmniQuant is capable of achieving near-lossless 4-bit quantization with Mixtral-8x7B-v0.1, which reduces the memory requirement from 87GB to 23GB.\n- [2023\u002F09] 🔥 We have expanded support for Falcon. OmniQuant efficiently compresses Falcon-180b from 335G to 65G, with minimal performance loss. Furthermore, this compression allows for Falcon-180b inference on a single A100 80GB GPU. For details, refer to [runing_falcon180b_on_single_a100_80g](.\u002Fruning_falcon180b_on_single_a100_80g.ipynb).\n![falcon-180b](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_5a475aaa81aa.png)\n\n\n## Contents\n- [Install](#install)\n- [Omniquant Model Zoo](#omniquant-model-zoo)\n- [Usage](#usage)\n- [Inference with MLC-LLM](#runing-quantized-models-with-mlc-llm)\n- [Results](#results)\n- [Citation](#citation)\n\n## Install\n```\nconda create -n omniquant python=3.10 -y\nconda activate omniquant\ngit clone https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant.git\ncd OmniQuant\npip install --upgrade pip \npip install -e .\n```\n\nWe also leverage the kernel from [AutoGPTQ](https:\u002F\u002Fgithub.com\u002FPanQiWei\u002FAutoGPTQ) to achieve real quantization. So you should also install the bug-fixed AutoGPTQ as follows::\n```\ngit clone https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FAutoGPTQ-bugfix\npip install -v .\n```\n\n\n## OmniQuant Model Zoo\nWe provide pre-trained Omniquant model zoo for multiple model families, including LLaMa-1&2, LLaMa-2-Chat, OPT.\n\nYou can download the pre-trained OmniQuant parameters you need at [Huggingface](https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002FOmniQuant\u002Ftree\u002Fmain).\n\nThe detailed support list:\n| Models  | Sizes                           | W2A16 | W2A16g128 | W2A16g64 | W3A16 |\n| ------- | ------------------------------- | ----- | --------- | -------- | ----- |\n| LLaMA   | 7B\u002F13B\u002F30B\u002F65B                  | ✅     | ✅         | ✅        | ✅     |\n| LLaMA-2 | 7B\u002F13B\u002F70B                      | ✅     | ✅         | ✅        | ✅     |\n| OPT     | 125m\u002F1.3B\u002F2.7B\u002F6.7B\u002F13B\u002F30B\u002F66B | ✅     | ✅         | ✅        | ✅     |\n\n| Models       | Sizes                           | W3A16g128 | W4A16 | W4A16g128 | W6A6 | W4A4 |\n| ------------ | ------------------------------- | --------- | ----- | --------- | ---- | ---- |\n| LLaMA        | 7B\u002F13B\u002F30B\u002F65B                  | ✅         | ✅     | ✅         | ✅    | ✅    |\n| LLaMA-2      | 7B\u002F13B\u002F70B                      | ✅         | ✅     | ✅         | ✅    | ✅    |\n| OPT          | 125m\u002F1.3B\u002F2.7B\u002F6.7B\u002F13B\u002F30B\u002F66B | ✅         | ✅     | ✅         | ✅    | ✅    |\n| LLaMA-2-Chat | 7B\u002F13B                          | ✅         |       |           |      |      |\n\n\n## Usage\n**We provide full script to run OmniQuant in `.\u002Fscripts\u002F`**. We use LLaMa-7B as an example here:\n1. Obtain the channel-wise scales and shifts required for initialization:\n```\nconda install git git-lfs\ngit lfs install\ngit clone https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002Fact_shifts\ngit clone https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002Fact_scales\n```\n\nOptional, we also offer the script that you can generate channel-wise scales and shifts by yourself:\n```\npython generate_act_scale_shift.py --model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b\n```\n\n2. Weight-only quantization\n```\n# W3A16\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 --output_dir .\u002Flog\u002Fllama-7b-w3a16 \\\n--eval_ppl --wbits 3 --abits 16 --lwc\n\n# W3A16g128\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 --output_dir .\u002Flog\u002Fllama-7b-w3a16g128 \\\n--eval_ppl --wbits 3 --abits 16 --group_size 128 --lwc\n```\n\n3. weight-activation quantization\n```\n# W4A4\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 --output_dir .\u002Flog\u002Fllama-7b-w4a4 \\\n--eval_ppl --wbits 4 --abits 4 --lwc --let \\\n--tasks piqa,arc_easy,arc_challenge,boolq,hellaswag,winogrande\n```\n\n4. reproduce evaluation results of our paper\n\n   1\\) download the pretrained OmniQuant parameters you want through [Huggingface](https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002FOmniQuant\u002Ftree\u002Fmain).\n\n   2\\) set epoch as 0 and inference with resume, take LLaMa-7B with W3A16g128 quantization as an example:\n```\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 0 --output_dir .\u002Flog\u002Ftest \\\n--eval_ppl --wbits 3 --abits 16 --group_size 128 --lwc \\\n--resume \u002FPATH\u002FTO\u002FPretrained\u002FParameters \n```\n\nMore detailed and optional arguments:\n- `--model`: the local model path or huggingface format.\n- `--wbits`: weight quantization bits.\n- `--abits`: activation quantization bits.\n- `--group_size`: group size of weight quantization. If no set, use per-channel quantization for weight as default.\n- `--lwc`: activate the Learnable Weight Clipping (LWC).\n- `--let`: activate the Learnable Equivalent Transformation (LET).\n- `--lwc_lr`: learning rate of LWC parameters, 1e-2 as default.\n- `--let_lr`: learning rate of LET parameters, 5e-3 as default.\n- `--epochs`: training epochs. You can set it as 0 to evaluate pre-trained OmniQuant checkpoints.\n- `--nsamples`: number of calibration samples, 128 as default.\n- `--eval_ppl`: evaluating the perplexity of quantized models.\n- `--tasks`: evaluating zero-shot tasks.\n- `--resume`: loading pre-trained OmniQuant parameters.\n- `--multigpu`: to inference larger network on multiple GPUs\n- `--real_quant`: real quantization, which can see memory reduce. Note that due to the limitations of AutoGPTQ kernels, the real quantization of weight-only quantization can only lead memory reduction, but with slower inference speed.\n- `--save_dir`: saving the quantization model for further exploration.\n\n\n\n## Runing Quantized Models with MLC-LLM\n[MLC-LLM](https:\u002F\u002Fgithub.com\u002Fmlc-ai\u002Fmlc-llm) offers a universal deployment solution suitable for various language models across\na wide range of hardware backends, encompassing iPhones, Android phones, and GPUs from NVIDIA, AMD, and Intel. \n\nWe compile the OmniQuant's quantization models through MLC-LLM and offer an out-of-the-box case here. You can see smaller gpu memory usage and inference speedup. Detailed instructions can be found in in [runing_quantized_models_with_mlc_llm.ipynb](.\u002Fruning_quantized_models_with_mlc_llm.ipynb).\n\n\nSpecially, we also deploy the aforementioned two quantized models into mobile phones through MLC-LLM. You can download the Android app by simply clicking the button below:\n\n[\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_f3a68b3f0761.png\" width=\"150\"\u002F>](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Freleases\u002Fdownload\u002Fv0.0.1\u002Fomniquant-mlc-llm.apk)\n\nThis app includes three models, `LLaMa-2-7B-Chat-Omniquant-W3A16g128asym`, `LLaMa-2-13B-Chat-Omniquant-W3A16g128asym`, and `LLaMa-2-13B-Chat-Omniquant-W2A16g128asym`. They require at least 4.5G, 7.5G, and 6.0G free RAM, respectively. Note that 2bit quantization has worse performance compared to 3bit quantization as shown in our paper. The inclusion of 2-bit quantization is just an extreme exploration about deploy LLM in mobile phones. Currently, this app is in its demo phase and may experience slower response times, so wait patiently for the generation of response. We have tested this app on Redmi Note 12 Turbo (Snapdragon 7+ Gen 2 and 16G RAM), some examples are provided below:\n- LLaMa-2-7B-Chat-Omniquant-W3A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_abb366f025e2.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n- LLaMa-2-13B-Chat-Omniquant-W3A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_a99ae9ea95d3.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n- LLaMa-2-13B-Chat-Omniquant-W2A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_9bf9e19af60c.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\nWe also have tested this app on iPhone 14 Pro (A16 Bionic and 6G RAM), some examples are provided below:\n- LLaMa-2-7B-Chat-Omniquant-W3A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_226237c39242.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n## Results\n- OmniQuant achieve SoTA performance in weight-only quantization\n![weight_only](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_c2e9b7501cf2.png)\n- OmniQuant achieve SoTA performance in weight-activation quantization\n![weight_activation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_d3f76aad476a.png)\n- OmniQuant is generalize, also obatins excellent performance in instruction-tuned models with GPT-4 evaluation\n![gpt_4_evaluation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_dfcee3235410.png)\n- MLC-LLM can obtain really speedup and memory saving for W4A16\u002FW3A16\u002FW2A16 quantization\n![mlc_llm](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_e8571c4ec93d.png)\n\n## Related Project\n[SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fsmoothquant)\n\n[AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fllm-awq)\n\n[GPTQ: Accurate Post-training Compression for Generative Pretrained Transformers](https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq)\n\n[RPTQ: Reorder-Based Post-Training Quantization for Large Language Models](https:\u002F\u002Fgithub.com\u002Fhahnyuan\u002FRPTQ4LLM)\n\n[MLC LLM](https:\u002F\u002Fgithub.com\u002Fmlc-ai\u002Fmlc-llm)\n\n[AutoGPTQ](https:\u002F\u002Fgithub.com\u002FPanQiWei\u002FAutoGPTQ)\n\n## Citation\nIf you use our OmniQuant approach in your research, please cite our paper:\n```\n@article{OmniQuant,\n  title={OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models},\n  author={Shao, Wenqi and Chen,Mengzhao and  Zhang, Zhaoyang and Xu, Peng and Zhao, Lirui and Li, Zhiqian and Zhang, Kaipeng Zhang, and Gao, Peng, and Qiao, Yu, and Luo, Ping},\n  journal={arXiv preprint arXiv:2308.13137},\n  year={2023}\n}\n```\n","# OmniQuant：面向大型语言模型的全方位校准量化\n\n\u003Ch5 align=\"center\">\n\n[![arXiv](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOmniQuant-2308.13137-b31b1b.svg?logo=arXiv)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2308.13137)\n[![jiqizhixin](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F机器之心%20-black)](https:\u002F\u002Fmp.weixin.qq.com\u002Fs\u002Fza2ptWT1_li99-YmjcXQAg)\n[![zhihu](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F知乎-0084FF)](https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F685805699)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCode%20License-MIT-yellow)](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fblob\u002Fmain\u002FLICENCE)\n[![GitHub Stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FOpenGVLab\u002FOmniQuant.svg?style=social&label=Star&maxAge=60)](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant)🔥🔥🔥\n \u003Cbr>\n\n\u003C\u002Fh5>\n\n  \n\n![omniquant](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_290a6d4765ac.png)\n\nOmniQuant 是一种简单而强大的 LLM 量化技术。当前版本支持：\n- OmniQuant 算法，用于精确的仅权重量化（`W4A16`\u002F`W3A16`\u002F`W2A16`）和权重-激活量化（`W6A6`、`W4A4`）\n- 针对 LLM 的预训练 Omniquant 模型库（`LLaMA-1&2`、`LLaMA-2-Chat`、`OPT`、`Falcon`、`Mixtral-7Bx8`；可加载生成量化权重）\n- 开箱即用的案例：利用 MLC-LLM 在 GPU 和手机上以 W3A16g128 量化运行 LLaMa-2-Chat（7B\u002F13B）\n\n\n## 新闻\n- [2025\u002F11] 🔥 **我们开源了 [INT vs. FP](https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FINT_vs_FP)，这是一个用于比较低比特整数和浮点格式的框架，包括 MXFP8\u002FMXFP6\u002FMXFP4\u002FNVFP4 以及 MXINT8\u002FMXINT6\u002FMXINT4\u002FNVINT4。**\n- [2025\u002F05] 🔥 我们探索了 [量化感知训练的缩放定律](https:\u002F\u002Fexport.arxiv.org\u002Fabs\u002F2505.14302)，为 LLM 的 QAT 提供了见解和指导。\n- [2024\u002F10] 🔥 我们发布了一种新的权重-激活量化算法，[PrefixQuant](https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FPrefixQuant)，该算法提出了一种高效的方法来隔离异常词元（token-wise outlier）。\n- [2024\u002F7] 🔥 我们发布了一种新的量化算法，[EfficientQAT](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FEfficientQAT)，它以高效的时间和内存利用率实现了量化感知训练。此外，EfficientQAT 是目前均匀量化的最先进方法。\n- [2024\u002F1] 🌟 我们的 OmniQuant 论文已被 ICLR 2024 接受并安排进行 Spotlight 报告（在超过 7200 篇投稿中仅排名前 5%）！🎉 恭喜！\n- [2023\u002F12] 🔥 我们新增对 Mixtral-8x7B 的支持。OmniQuant 能够在 Mixtral-8x7B-v0.1 上实现近乎无损的 4 位量化，将显存需求从 87GB 降至 23GB。\n- [2023\u002F09] 🔥 我们扩展了对 Falcon 的支持。OmniQuant 可以将 Falcon-180b 从 335G 高效压缩至 65G，且性能损失极小。此外，这种压缩使得 Falcon-180b 能够在单张 A100 80GB GPU 上进行推理。详情请参阅 [runing_falcon180b_on_single_a100_80g](.\u002Fruning_falcon180b_on_single_a100_80g.ipynb)。\n![falcon-180b](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_5a475aaa81aa.png)\n\n\n## 目录\n- [安装](#install)\n- [Omniquant 模型库](#omniquant-model-zoo)\n- [使用方法](#usage)\n- [使用 MLC-LLM 进行推理](#runing-quantized-models-with-mlc-llm)\n- [结果](#results)\n- [引用](#citation)\n\n## 安装\n```\nconda create -n omniquant python=3.10 -y\nconda activate omniquant\ngit clone https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant.git\ncd OmniQuant\npip install --upgrade pip \npip install -e .\n```\n\n我们还借助 [AutoGPTQ](https:\u002F\u002Fgithub.com\u002FPanQiWei\u002FAutoGPTQ) 的内核来实现真正的量化。因此，您还需要按照以下步骤安装修复后的 AutoGPTQ：\n```\ngit clone https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FAutoGPTQ-bugfix\npip install -v .\n```\n\n\n## OmniQuant 模型库\n我们为多个模型家族提供了预训练的 Omniquant 模型库，包括 LLaMa-1&2、LLaMa-2-Chat、OPT。\n\n您可以在 [Huggingface](https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002FOmniQuant\u002Ftree\u002Fmain) 下载所需的预训练 OmniQuant 参数。\n\n详细支持列表如下：\n| 模型  | 尺寸                           | W2A16 | W2A16g128 | W2A16g64 | W3A16 |\n| ------- | ------------------------------- | ----- | --------- | -------- | ----- |\n| LLaMA   | 7B\u002F13B\u002F30B\u002F65B                  | ✅     | ✅         | ✅        | ✅     |\n| LLaMA-2 | 7B\u002F13B\u002F70B                      | ✅     | ✅         | ✅        | ✅     |\n| OPT     | 125m\u002F1.3B\u002F2.7B\u002F6.7B\u002F13B\u002F30B\u002F66B | ✅     | ✅         | ✅        | ✅     |\n\n| 模型       | 尺寸                           | W3A16g128 | W4A16 | W4A16g128 | W6A6 | W4A4 |\n| ------------ | ------------------------------- | --------- | ----- | --------- | ---- | ---- |\n| LLaMA        | 7B\u002F13B\u002F30B\u002F65B                  | ✅         | ✅     | ✅         | ✅    | ✅    |\n| LLaMA-2      | 7B\u002F13B\u002F70B                      | ✅         | ✅     | ✅         | ✅    | ✅    |\n| OPT          | 125m\u002F1.3B\u002F2.7B\u002F6.7B\u002F13B\u002F30B\u002F66B | ✅         | ✅     | ✅         | ✅    | ✅    |\n| LLaMA-2-Chat | 7B\u002F13B                          | ✅         |       |           |      |      |\n\n\n## 使用方法\n**我们在 `.\u002Fscripts\u002F` 中提供了运行 OmniQuant 的完整脚本**。这里以 LLaMa-7B 为例：\n1. 获取初始化所需的通道级缩放和偏移量：\n```\nconda install git git-lfs\ngit lfs install\ngit clone https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002Fact_shifts\ngit clone https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002Fact_scales\n```\n\n可选地，我们也提供了一个可以自行生成通道级缩放和偏移量的脚本：\n```\npython generate_act_scale_shift.py --model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b\n```\n\n2. 仅权重量化\n```\n# W3A16\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 --output_dir .\u002Flog\u002Fllama-7b-w3a16 \\\n--eval_ppl --wbits 3 --abits 16 --lwc\n\n# W3A16g128\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 --output_dir .\u002Flog\u002Fllama-7b-w3a16g128 \\\n--eval_ppl --wbits 3 --abits 16 --group_size 128 --lwc\n```\n\n3. 权重-激活量化\n```\n\n# W4A4\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 --output_dir .\u002Flog\u002Fllama-7b-w4a4 \\\n--eval_ppl --wbits 4 --abits 4 --lwc --let \\\n--tasks piqa,arc_easy,arc_challenge,boolq,hellaswag,winogrande\n```\n\n4. 复现我们论文中的评估结果\n\n   1\\) 通过 [Huggingface](https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002FOmniQuant\u002Ftree\u002Fmain) 下载您想要的预训练 OmniQuant 参数。\n\n   2\\) 将 epoch 设置为 0，并启用恢复推理。以 LLaMa-7B 的 W3A16g128 量化为例：\n```\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 0 --output_dir .\u002Flog\u002Ftest \\\n--eval_ppl --wbits 3 --abits 16 --group_size 128 --lwc \\\n--resume \u002FPATH\u002FTO\u002FPretrained\u002FParameters \n```\n\n更多详细及可选参数：\n- `--model`: 模型的本地路径或 Hugging Face 格式的模型名称。\n- `--wbits`: 权重量化位数。\n- `--abits`: 激活值量化位数。\n- `--group_size`: 权重量化时的分组大小。若未设置，则默认采用逐通道量化。\n- `--lwc`: 启用可学习权重裁剪（LWC）。\n- `--let`: 启用可学习等效变换（LET）。\n- `--lwc_lr`: LWC 参数的学习率，默认为 1e-2。\n- `--let_lr`: LET 参数的学习率，默认为 5e-3。\n- `--epochs`: 训练轮数。可将其设置为 0，以评估预训练的 OmniQuant 检查点。\n- `--nsamples`: 校准样本数量，默认为 128。\n- `--eval_ppl`: 评估量化模型的困惑度。\n- `--tasks`: 进行零样本任务评估。\n- `--resume`: 加载预训练的 OmniQuant 参数。\n- `--multigpu`: 在多 GPU 上运行更大规模的网络推理。\n- `--real_quant`: 真实量化，可以观察到显存占用的减少。需要注意的是，由于 AutoGPTQ 内核的限制，仅权重量化的真实量化只能减少显存占用，但推理速度会变慢。\n- `--save_dir`: 保存量化模型以便进一步研究。\n\n\n\n## 使用 MLC-LLM 运行量化模型\n[MLC-LLM](https:\u002F\u002Fgithub.com\u002Fmlc-ai\u002Fmlc-llm) 提供了一种通用的部署方案，适用于多种语言模型，并且可在广泛的硬件平台上运行，包括 iPhone、Android 手机以及 NVIDIA、AMD 和 Intel 的 GPU。\n\n我们通过 MLC-LLM 编译了 OmniQuant 的量化模型，并在此提供了一个开箱即用的示例。您可以看到更小的显存占用和更快的推理速度。详细的使用说明请参阅 [runing_quantized_models_with_mlc_llm.ipynb](.\u002Fruning_quantized_models_with_mlc_llm.ipynb)。\n\n\n特别地，我们还通过 MLC-LLM 将上述两种量化模型部署到了手机上。您只需点击下方按钮即可下载 Android 应用：\n\n[\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_f3a68b3f0761.png\" width=\"150\"\u002F>](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Freleases\u002Fdownload\u002Fv0.0.1\u002Fomniquant-mlc-llm.apk)\n\n该应用包含三个模型：`LLaMa-2-7B-Chat-Omniquant-W3A16g128asym`、`LLaMa-2-13B-Chat-Omniquant-W3A16g128asym` 和 `LLaMa-2-13B-Chat-Omniquant-W2A16g128asym`。它们分别需要至少 4.5G、7.5G 和 6.0G 的可用内存。请注意，根据我们的论文结果，2 位量化的效果不如 3 位量化。之所以包含 2 位量化，只是对在手机上部署大语言模型的一种极端探索。目前，该应用仍处于演示阶段，响应可能会稍慢，请耐心等待回复。我们已在 Redmi Note 12 Turbo（骁龙 7+ Gen 2，16G RAM）上测试过该应用，部分示例如下：\n- LLaMa-2-7B-Chat-Omniquant-W3A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_abb366f025e2.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n- LLaMa-2-13B-Chat-Omniquant-W3A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_a99ae9ea95d3.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n- LLaMa-2-13B-Chat-Omniquant-W2A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_9bf9e19af60c.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n我们也在 iPhone 14 Pro（A16 仿生芯片，6G RAM）上测试了该应用，部分示例如下：\n- LLaMa-2-7B-Chat-Omniquant-W3A16g128asym\n\u003Cdiv style=\"text-align: center;\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_226237c39242.png\" width=\"500\" \u002F>\n\u003C\u002Fdiv>\n\n## 结果\n- OmniQuant 在仅权重量化方面达到了 SOTA 水平\n![weight_only](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_c2e9b7501cf2.png)\n- OmniQuant 在权重-激活量化方面达到了 SOTA 水平\n![weight_activation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_d3f76aad476a.png)\n- OmniQuant 具有良好的泛化能力，在经过指令微调的模型上，使用 GPT-4 进行评估时也表现出色\n![gpt_4_evaluation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_dfcee3235410.png)\n- MLC-LLM 可以为 W4A16、W3A16 和 W2A16 量化带来显著的速度提升和显存节省\n![mlc_llm](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_readme_e8571c4ec93d.png)\n\n## 相关项目\n[SmoothQuant: 高精度且高效的大型语言模型后训练量化](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fsmoothquant)\n\n[AWQ: 针对 LLM 压缩与加速的激活感知权重量化](https:\u002F\u002Fgithub.com\u002Fmit-han-lab\u002Fllm-awq)\n\n[GPTQ: 针对生成式预训练 Transformer 的高精度后训练压缩](https:\u002F\u002Fgithub.com\u002FIST-DASLab\u002Fgptq)\n\n[RPTQ: 基于重新排序的大型语言模型后训练量化](https:\u002F\u002Fgithub.com\u002Fhahnyuan\u002FRPTQ4LLM)\n\n[MLC LLM](https:\u002F\u002Fgithub.com\u002Fmlc-ai\u002Fmlc-llm)\n\n[AutoGPTQ](https:\u002F\u002Fgithub.com\u002FPanQiWei\u002FAutoGPTQ)\n\n## 引用\n如果您在研究中使用了我们的 OmniQuant 方法，请引用我们的论文：\n```\n@article{OmniQuant,\n  title={OmniQuant: Omnidirectionally Calibrated Quantization for Large Language Models},\n  author={Shao, Wenqi and Chen,Mengzhao and  Zhang, Zhaoyang and Xu, Peng and Zhao, Lirui and Li, Zhiqian and Zhang, Kaipeng Zhang, and Gao, Peng, and Qiao, Yu, and Luo, Ping},\n  journal={arXiv preprint arXiv:2308.13137},\n  year={2023}\n}\n```","# OmniQuant 快速上手指南\n\nOmniQuant 是一种针对大语言模型（LLM）的全方位校准量化技术，支持高精度的仅权重量化（如 W2A16, W3A16）和权值 - 激活值联合量化（如 W4A4, W6A6）。本指南将帮助您快速搭建环境并运行示例。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu 20.04+)\n*   **Python 版本**: 3.10\n*   **硬件要求**: NVIDIA GPU (需安装对应的 CUDA 驱动)\n*   **前置依赖**:\n    *   Conda (用于管理虚拟环境)\n    *   Git & Git-LFS (用于下载模型参数)\n\n## 安装步骤\n\n### 1. 创建并激活虚拟环境\n```bash\nconda create -n omniquant python=3.10 -y\nconda activate omniquant\n```\n\n### 2. 克隆项目并安装核心依赖\n建议配置 pip 国内镜像源以加速下载。\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant.git\ncd OmniQuant\npip install --upgrade pip \n# 使用清华源加速安装\npip install -e . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 3. 安装修复版的 AutoGPTQ (必需)\nOmniQuant 依赖 AutoGPTQ 的内核来实现真正的量化推理，需安装官方提供的修复版本。\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FChenMnZ\u002FAutoGPTQ-bugfix\ncd AutoGPTQ-bugfix\npip install -v . -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\ncd ..\n```\n\n### 4. 下载初始化参数\n下载量化所需的通道级缩放因子（scales）和偏移量（shifts）。\n```bash\nconda install git git-lfs -y\ngit lfs install\ngit clone https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002Fact_shifts\ngit clone https:\u002F\u002Fhuggingface.co\u002FChenMnZ\u002Fact_scales\n```\n> **提示**: 如果访问 HuggingFace 困难，可尝试使用国内镜像站或手动下载后放入对应目录。\n\n## 基本使用\n\n以下以 **LLaMA-7B** 模型进行 **W3A16** (3-bit 权重量化) 为例。请确保已将原始模型下载至本地路径（例如 `\u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b`）。\n\n### 执行量化脚本\n```bash\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 20 \\\n--output_dir .\u002Flog\u002Fllama-7b-w3a16 \\\n--eval_ppl \\\n--wbits 3 \\\n--abits 16 \\\n--lwc\n```\n\n### 参数说明\n*   `--model`: 原始模型路径或 HuggingFace 模型 ID。\n*   `--wbits`: 权重量化位数 (如 2, 3, 4)。\n*   `--abits`: 激活值量化位数 (如 16 表示不量化激活值)。\n*   `--group_size`: 量化组大小 (如 128)，若不设置则默认为每通道量化。\n*   `--lwc`: 启用可学习权重裁剪 (Learnable Weight Clipping)，提升精度。\n*   `--let`: 启用可学习等效变换 (Learnable Equivalent Transformation)，用于权值 - 激活值联合量化时。\n*   `--epochs`: 训练轮数。若设为 `0` 并配合 `--resume` 参数，可直接加载预训练好的 OmniQuant 权重进行评测。\n\n### 加载预训练模型进行评测\n如果您想直接使用官方提供的预训练量化权重（从 HuggingFace 下载），可将 `epochs` 设为 0 并指定权重路径：\n```bash\nCUDA_VISIBLE_DEVICES=0 python main.py \\\n--model \u002FPATH\u002FTO\u002FLLaMA\u002Fllama-7b  \\\n--epochs 0 \\\n--output_dir .\u002Flog\u002Ftest \\\n--eval_ppl \\\n--wbits 3 \\\n--abits 16 \\\n--group_size 128 \\\n--lwc \\\n--resume \u002FPATH\u002FTO\u002FPretrained\u002FParameters \n```\n\n### 移动端部署 (可选)\n项目提供了基于 MLC-LLM 编译的 Android APK，支持在手机上运行量化后的 LLaMA-2-Chat 模型。\n*   **下载地址**: [omniquant-mlc-llm.apk](https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Freleases\u002Fdownload\u002Fv0.0.1\u002Fomniquant-mlc-llm.apk)\n*   **支持模型**: LLaMA-2-7B\u002F13B (W3A16\u002FW2A16)\n*   **内存需求**: 7B 模型约需 4.5GB RAM，13B 模型约需 6.0GB-7.5GB RAM。","某初创团队希望将强大的 Falcon-180B 大模型部署到单张消费级或入门企业级 GPU 上，以构建低成本的法律咨询助手。\n\n### 没有 OmniQuant 时\n- **硬件门槛极高**：Falcon-180B 全精度推理需约 335GB 显存，必须租用昂贵的多卡集群，单次推理成本高昂。\n- **部署复杂度大**：需要编写复杂的并行策略代码来分割模型，调试困难且容易出错。\n- **精度损失担忧**：尝试传统量化方法往往导致模型“变傻”，在法律条文引用等关键任务上准确率大幅下降。\n- **响应延迟高**：庞大的参数量导致首字生成时间长，无法满足实时对话的流畅性要求。\n\n### 使用 OmniQuant 后\n- **单卡即可运行**：利用 OmniQuant 的高效压缩算法，将模型从 335GB 压缩至 65GB，直接在单张 A100 80GB GPU 上流畅运行。\n- **近乎无损的性能**：采用全方位校准技术，在极低比特量化下仍保持与全精度模型几乎一致的法律问答准确率。\n- **开箱即用体验**：直接加载官方提供的预训练量化权重，无需重新训练或复杂调参，大幅缩短上线周期。\n- **推理速度提升**：显存占用降低减少了数据搬运开销，显著提升了令牌生成速度，带来更自然的交互体验。\n\nOmniQuant 通过极致的压缩效率与精度保持能力，让超大参数模型在有限硬件资源上的落地变得简单且经济。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOpenGVLab_OmniQuant_290a6d47.png","OpenGVLab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FOpenGVLab_4422f20f.jpg","General Vision Team of Shanghai AI Laboratory",null,"opengvlab@gmail.com","opengvlab","https:\u002F\u002Fgithub.com\u002FOpenGVLab",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",91.8,{"name":86,"color":87,"percentage":88},"Jupyter Notebook","#DA5B0B",5.3,{"name":90,"color":91,"percentage":92},"Shell","#89e051",2.9,892,78,"2026-04-09T06:52:24","MIT",4,"Linux","需要 NVIDIA GPU (基于 CUDA_VISIBLE_DEVICES 设置和 AutoGPTQ 内核依赖)。显存需求取决于模型大小和量化精度：运行 Falcon-180B (W4) 需单卡 80GB (A100)；移动端运行 LLaMA-2-7B (W3) 需约 4.5GB RAM，13B (W3) 需约 7.5GB RAM。","未说明 (移动端示例显示至少需要 6GB-16GB RAM，服务器端建议根据模型规模配置大内存)",{"notes":102,"python":103,"dependencies":104},"1. 必须安装特定修复版的 AutoGPTQ (ChenMnZ\u002FAutoGPTQ-bugfix) 以实现真正的量化和显存节省。\n2. 使用前需从 HuggingFace 下载预训练的通道级缩放和平移参数 (act_scales, act_shifts)。\n3. 支持多种量化格式 (W2A16, W3A16, W4A4 等)，其中仅权重量化在真实量化模式下可能推理速度变慢但显存占用降低。\n4. 提供安卓 APK 演示应用，可在骁龙 7+ Gen 2 或 A16 Bionic 等设备上运行量化后的 LLaMA-2 模型。","3.10",[105,106,107,108,109,110],"torch","transformers","AutoGPTQ (bug-fixed version from ChenMnZ\u002FAutoGPTQ-bugfix)","MLC-LLM (用于移动端\u002FGPU 推理)","git","git-lfs",[35,14],[113,114,115],"large-language-models","llm","quantization","2026-03-27T02:49:30.150509","2026-04-17T08:23:25.852183",[119,124,129,134,139,144,149],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},36343,"使用 W8A8 或 W4A8 配置量化 OPT-1.3B 或 LLaMA-7B 时，为什么损失值（loss）会变成 NaN？","这通常是由于版本不兼容或混合精度训练导致的。建议首先检查是否使用了推荐版本的依赖包。如果问题依旧，可以尝试添加 `--deactive_amp` 参数禁用自动混合精度。若禁用后出现数据类型不匹配错误（如 Float 和 Half 不一致），可能需要手动调整代码中的数据类型转换。此外，维护者推荐使用新的算法 PrefixQuant，该算法更强大且不会出现 NaN 问题。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F8",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},36344,"OmniQuant 脚本中的 `aug_loss` 选项具体有什么作用？","`aug_loss` 用于增强训练稳定性。在论文中，结合了 LWC（学习权重裁剪）和 LET（学习等效变换）。LET 会改变权重的连续性幅度，导致直接学习步长或裁剪阈值不稳定。LWC 通过将 LET 后的最大值和最小值作为代理来学习裁剪阈值，从而受益於训练稳定性。对于 LLaMA 模型的量化，通常只使用 `--lwc` 而不需要 `--let`，以获得正确的结果。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F25",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},36345,"如何复现论文中的 PPL（困惑度）评估结果？为什么我得到的结果与论文有差异？","结果差异可能源于 Hugging Face 上提供的预训练参数存在已知问题（已在相关 PR 中修复），导致直接加载无法复现结果。为了准确复现，建议使用仓库中 `scripts` 目录下的脚本从头开始训练模型。例如，复现 LLaMA-7B W4A4 应使用 `scripts\u002Fllama\u002Fllama-7b\u002Fw4a4.sh`。注意：对于 LLaMA 量化，命令中不应包含 `--let` 参数，仅使用 `--lwc` 才能获得正确结果。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F60",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},36346,"项目支持在 MMLU 数据集上进行评估吗？如何使用？","虽然代码库中包含 `categories.py`，但没有直接的 API 调用。用户可以通过替换 `evaluator.py` 并修改 `simple_evaluate` 函数以适配 OmniQuant 的代码结构来实现 MMLU 评估。如果发现准确率与原始代码有差异，可能是由于 `evaluator.py` 的更新所致。此外，模型默认以 `float16` 加载，如果需要，可以尝试将其改为 `bfloat16` 以观察效果变化。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F30",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},36347,"如何将 OmniQuant 量化后的模型集成到 llama.cpp 中进行推理？","截至目前，该项目尚未官方支持直接导出到 llama.cpp 格式，也没有现成的集成方案。维护者表示这是一个很好的建议，未来可能会尝试探索，但目前用户需要自行研究转换方法或等待后续更新。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F3",{"id":145,"question_zh":146,"answer_zh":147,"source_url":148},36348,"应该使用原始的 AutoGPTQ 还是维护者提供的 AutoGPTQ-bugfix 版本？","早期 README 中链接的是修复版（AutoGPTQ-bugfix），主要修复了 qlinear triton 中关于 `zeros` 处理的 bug（移除了 `zeros -= 1` 等操作）。目前 README 已指向原始 AutoGPTQ 仓库，这意味着原始版本可能已经合并了相关修复或不再强依赖该补丁。但在遇到量化推理异常时，如果怀疑是底层 kernels 问题，仍可参考之前的修复逻辑或确认当前安装的 AutoGPTQ 版本是否包含这些修正。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F57",{"id":150,"question_zh":151,"answer_zh":152,"source_url":153},36349,"在量化过程中，为什么代码中将 qlayer 设置为 float32？如果设为 fp16 会影响精度吗？","将 qlayer 设置为 float32 主要是为了在混合精度训练中保证可训练参数的稳定性。虽然输入和权重可能处于 fp16，但可学习的量化参数（如缩放因子、裁剪阈值等）通常需要更高的精度（float32）以避免梯度消失或数值不稳定，从而确保最终量化的准确性。如果强制改为 fp16，可能会导致训练不稳定或精度下降。","https:\u002F\u002Fgithub.com\u002FOpenGVLab\u002FOmniQuant\u002Fissues\u002F12",[155],{"id":156,"version":157,"summary_zh":76,"released_at":158},289143,"v0.0.1","2023-08-25T08:46:30"]