这次我们来看一个在 AI 模型压缩领域引发关注的项目:GPT-5.6 Sol 自动压缩登顶 ARC-AGI-3。这个项目的核心不是发布一个新的大语言模型,而是展示了一种名为“Sol”的自动化模型压缩技术,它成功地将一个大型模型(GPT-5.6)压缩到极致,并在权威的 ARC-AGI-3 基准测试中取得了领先成绩。
对于开发者、研究者和关注模型部署落地的工程师来说,这直接指向了几个核心痛点:大模型动辄数百亿参数,部署成本高、推理速度慢、显存占用大。这个项目给出的答案是,通过自动化的压缩流程,可以在保持甚至提升模型在复杂推理任务上能力的同时,大幅降低模型对硬件资源的需求。这意味着,原本需要高端 GPU 集群才能运行的模型,现在有可能在消费级显卡甚至边缘设备上流畅推理。
本文会带你快速了解这个项目的核心价值,并基于公开信息,梳理出一套验证类似模型压缩技术的通用思路。我们会重点关注:这种自动化压缩技术的核心原理是什么?它能将模型压缩到什么程度?在 ARC-AGI-3 这种高难度基准上表现如何?以及,如果你想在自己的环境中尝试类似的压缩流程,需要准备什么、注意什么。
1. 核心能力速览
根据项目标题和相关信息,我们可以提炼出以下关键点。请注意,由于具体技术细节和实现代码未完全公开,下表基于项目宣称的核心成就和通用模型压缩知识进行整理。
| 能力项 | 说明与推断 |
|---|---|
| 项目类型 | 自动化模型压缩技术(非全新训练的基础模型) |
| 核心目标 | 对大型语言模型(如 GPT-5.6)进行自动化压缩,以在资源受限环境下保持高性能 |
| 关键技术 | 推测可能结合了量化(Quantization)、剪枝(Pruning)、知识蒸馏(Knowledge Distillation)等,并以“Sol”自动化流程调度 |
| 验证基准 | ARC-AGI-3:一个旨在评估模型抽象与推理能力的权威基准,难度较高 |
| 核心成果 | 压缩后的模型在 ARC-AGI-3 上“登顶”,表明压缩未损害甚至可能提升了复杂推理能力 |
| 硬件门槛 | 显著降低。原始大模型需要大量显存,压缩后目标是在消费级 GPU(如 8G/12G 显存)或 CPU 上运行。具体需求取决于压缩比率和最终模型大小。 |
| 部署形式 | 推测为压缩后的模型权重文件,支持通过 Hugging Face Transformers、Llama.cpp、vLLM 等主流框架加载推理。 |
| 是否支持 API | 是。压缩后的模型可以封装为本地 API 服务(如 FastAPI + Transformers),供其他应用调用。 |
| 是否支持批量任务 | 是。模型推理本身支持批量处理(batch inference),具体吞吐量取决于压缩后模型效率和硬件。 |
| 适合场景 | 1.边缘部署:将大模型能力带入手机、嵌入式设备。 2.低成本推理:减少云服务 API 调用成本,实现本地私有化部署。 3.研究验证:探索模型压缩的极限与模型能力保全的关系。 |
2. 适用场景与使用边界
2.1 谁适合关注这个技术?
- AI 应用开发者:希望将强大的语言模型集成到桌面应用、移动 App 或企业内部系统中,但受限于服务器成本和响应延迟。
- 模型优化工程师:专注于模型部署阶段的性能优化、蒸馏和量化,寻求自动化、效果可保障的压缩方案。
- 学术研究人员:研究模型缩放律(Scaling Laws)、模型效率以及“小模型能否拥有大智慧”的边界问题。
- 硬件受限的爱好者:只有普通消费级显卡(如 RTX 3060 12G, RTX 4060 Ti 16G),却想体验接近前沿大模型推理能力。
2.2 它能解决什么问题?
- 显存墙突破:将数百 GB 的模型压缩到数十甚至数 GB,使其能够装入单张显卡的显存。
- 推理加速:压缩后的模型计算量减少,推理速度(Tokens per Second)得到提升。
- 能耗降低:更小的模型意味着更少的计算操作和内存访问,从而降低单次推理的能耗。
- 保护核心能力:最关键的一点,该项目宣称在 ARC-AGI-3 上登顶,意味着压缩过程成功保留了模型最宝贵的抽象和推理能力,而非仅仅保留语言建模能力。
2.3 不适合什么场景?
- 追求绝对 SOTA 分数:如果您的唯一目标是刷新某个榜单的最高分,且不计较计算成本,那么直接使用完整的、未经压缩的原始巨模型仍是首选。
- 模型微调(Fine-tuning):高度压缩后的模型(尤其是低比特量化后)可能难以进行有效的参数更新。通常需要在压缩前完成微调,或对压缩后模型进行适配器微调(如 LoRA)。
- 对精度损失零容忍:尽管在 ARC-AGI-3 上表现优异,但压缩不可避免地会在某些任务(尤其是需要大量世界知识的任务)上引入微小精度损失,需根据实际应用评估。
2.4 合规与安全边界
- 模型版权:压缩技术本身是方法,但压缩的对象(如“GPT-5.6”)的权重文件需拥有合法的使用许可。务必确认您要压缩的模型是开源许可的(如 Llama、Qwen、DeepSeek)或您已获得授权。
- 数据隐私:本地部署压缩模型的最大优势之一是数据不出域。确保你的推理服务访问权限得到控制,避免敏感数据通过 API 泄露。
- 用途合规:压缩后的模型能力依然强大,需用于符合法律法规和伦理道德的场景,不得用于生成恶意内容、进行欺诈或侵犯他人权益。
3. 环境准备与前置条件
如果你想复现或测试类似的自动化模型压缩流程,以下是一套通用的环境准备清单。具体到“GPT-5.6 Sol”项目,需要等待其代码和模型权重发布后才能确定精确要求。
3.1 硬件要求
- GPU(推荐):用于加速压缩过程中的评估和微调。显存建议12GB 以上,以便容纳原始大模型的一个副本进行压缩操作。型号支持 NVIDIA RTX 20/30/40/50 系列(需对应 CUDA 版本)。
- CPU:多核 CPU(如 Intel i7/R7 以上)用于数据预处理和一些 CPU 侧的优化步骤。
- 内存:32GB 以上。压缩过程需要加载大型数据集和模型中间状态。
- 磁盘空间:100GB 以上可用空间。用于存放原始模型、多个压缩中间版本、数据集以及最终压缩模型。
3.2 软件与框架
- 操作系统:Ubuntu 20.04/22.04 LTS 或 Windows 10/11(WSL2 推荐)。Linux 环境通常依赖问题更少。
- Python:版本 3.9 或 3.10。建议使用 Conda 或 venv 创建独立的虚拟环境。
- 深度学习框架:
- PyTorch:2.0 及以上版本。需根据 CUDA 版本安装对应 PyTorch。
- Transformers:Hugging Face
transformers库,版本 4.35 以上。 - 其他可能依赖:
accelerate(分布式训练)、peft(参数高效微调)、bitsandbytes(4/8 比特量化)、auto-gptq或gptq-for-llama(GPTQ 量化)、awq(AWQ 量化)。
- CUDA 与 cuDNN:与你的 GPU 驱动和 PyTorch 版本匹配的 CUDA 工具包(如 11.8, 12.1)。
- 模型压缩工具库(通用):
- NNCF:Intel 的开源神经网络压缩框架,支持多种压缩算法。
- Torch.export + TorchAO:PyTorch 官方的模型优化与量化工具链。
- SparseML:Neural Magic 的稀疏化训练与剪枝库。
- 具体项目可能会封装自己的“Sol”自动化流程。
3.3 模型与数据
- 原始模型:你需要一个待压缩的大型语言模型权重文件(如 LLaMA 3 70B, Qwen 2.5 72B 等)。必须确认其许可证允许进行压缩和再分发(如果涉及)。
- 校准数据集:用于量化感知训练(QAT)或后训练量化(PTQ)的小规模、有代表性的数据。通常是从训练数据或通用语料(如 C4, WikiText)中采样。
- 评估基准:ARC-AGI-3数据集。你需要准备其评估脚本和标准流程,以验证压缩后的模型性能。
4. 安装部署与启动方式
由于“GPT-5.6 Sol”的具体代码尚未完全公开,本节提供一个通用的、基于 Hugging Face Transformers 和流行压缩工具的模型压缩与推理部署流程。你可以将此作为模板,在未来项目代码发布后进行适配。
4.1 创建并激活 Python 虚拟环境
# 使用 conda conda create -n model_compression python=3.10 conda activate model_compression # 或使用 venv python -m venv compression_env source compression_env/bin/activate # Linux/Mac # compression_env\Scripts\activate # Windows4.2 安装核心依赖
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 请根据你的CUDA版本调整 pip install transformers accelerate datasets evaluate pip install peft bitsandbytes # 用于低精度量化和高效微调 pip install auto-gptq # 可选,用于GPTQ量化 pip install scikit-learn pandas tqdm # 常用工具库4.3 下载原始模型
假设我们使用一个开源模型meta-llama/Llama-3.1-8B作为压缩示例对象。
from transformers import AutoModelForCausalLM, AutoTokenizer model_name = “meta-llama/Llama-3.1-8B” tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map=“auto”)4.4 实施自动化压缩流程(概念步骤)
一个简化的“Sol”式自动化压缩流程可能包含以下步骤,你需要用具体代码实现或调用相应库:
- 分析阶段:分析模型各层对最终输出的敏感度(敏感度分析)。
- 压缩策略搜索:自动搜索混合精度量化、结构化剪枝、注意力头剪枝等策略的组合。
- 压缩执行:
- 量化:将 FP16 权重转换为 INT8/INT4,可使用
bitsandbytes进行线性量化或auto-gptq进行 GPTQ 量化。
# 示例:使用bitsandbytes进行8比特量化加载 from transformers import BitsAndBytesConfig quantization_config = BitsAndBytesConfig(load_in_8bit=True) model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=quantization_config, device_map=“auto”)- 剪枝:移除不重要的权重或神经元。
- 量化:将 FP16 权重转换为 INT8/INT4,可使用
- 恢复微调:在压缩后,使用校准数据集对模型进行短暂的微调,以恢复精度。
- 评估循环:在 ARC-AGI-3 等验证集上评估压缩后模型性能,根据反馈调整压缩策略。
4.5 启动推理服务
压缩完成后,你可以使用压缩后的模型权重启动一个简单的 API 服务。
# app.py - 一个简单的FastAPI服务示例 from fastapi import FastAPI, HTTPException from pydantic import BaseModel from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline import torch app = FastAPI() model_path = “./compressed_llama” # 你的压缩模型保存路径 # 加载压缩后的模型和分词器 tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path, device_map=“auto”, torch_dtype=torch.float16) generator = pipeline(“text-generation”, model=model, tokenizer=tokenizer) class GenerationRequest(BaseModel): prompt: str max_length: int = 200 temperature: float = 0.7 @app.post(“/generate”) async def generate_text(request: GenerationRequest): try: result = generator(request.prompt, max_length=request.max_length, temperature=request.temperature) return {“generated_text”: result[0][“generated_text”]} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) if __name__ == “__main__”: import uvicorn uvicorn.run(app, host=“0.0.0.0”, port=7860)使用命令启动服务:python app.py。服务将在http://127.0.0.1:7860运行。
5. 功能测试与效果验证
对于模型压缩项目,测试的核心是验证性能-效率权衡。我们设计以下测试流程。
5.1 测试准备
- 基准模型:保存一份原始未压缩的模型副本,作为性能基准(Baseline)。
- 压缩模型:你的“Sol”压缩流程产出的最终模型。
- 测试数据集:
- ARC-AGI-3 官方测试集:用于核心推理能力验证。
- 通用语言理解数据集:如 MMLU(大规模多任务语言理解)、HellaSwag,用于评估通用能力保持情况。
- 自定义任务数据:与你实际应用场景相关的问答或指令遵循数据。
5.2 测试一:ARC-AGI-3 基准复现
目的:验证压缩模型是否真的在核心推理基准上达到宣称的“登顶”或接近原始模型性能。步骤:
- 获取 ARC-AGI-3 官方评估脚本和数据。
- 分别用基准模型和压缩模型在相同环境下运行评估。
- 记录准确率(Accuracy)等关键指标。成功标准:压缩模型的准确率下降不超过 3-5 个百分点(具体阈值取决于原始分数和压缩率),或如项目所言达到领先水平。常见问题:评估脚本依赖项缺失;数据集加载错误;模型输出格式与评估脚本不匹配。
5.3 测试二:推理速度与显存占用对比
目的:量化压缩带来的效率提升。步骤:
- 编写一个统一的推理脚本,固定输入长度(如 128 tokens)和生成长度(如 32 tokens)。
- 分别测量基准模型和压缩模型:
- 首次推理延迟(Time to First Token)
- 生成吞吐量(Tokens per Second)
- 峰值显存占用(使用
torch.cuda.max_memory_allocated())
- 在 CPU 环境下也进行测试,记录推理延迟。输入示例:
test_prompt = “The capital of France is”预期输出:压缩模型应有更低的显存占用和更高的 tokens/sec。例如,原始模型占用 16GB 显存,吞吐量 20 tokens/s;压缩后可能降至 6GB 显存,吞吐量提升到 65 tokens/s。判断成功:显存占用显著降低(例如减少 50%以上),吞吐量有提升。
5.4 测试三:长文本与多轮对话能力
目的:验证压缩是否影响了模型的上下文窗口能力和多轮对话一致性。步骤:
- 构造一个长文档(超过 4000 tokens),让模型进行摘要。
- 进行多轮对话,观察模型是否能够正确引用历史信息。成功标准:压缩模型能正常处理长文本,在多轮对话中未出现明显的性能退化或逻辑混乱。
5.5 测试四:API 服务压力测试
目的:验证封装成服务后的稳定性和并发能力。步骤:
- 使用
locust或wrk工具,模拟并发请求到/generate接口。 - 观察服务在并发数为 5、10、20 时的响应时间、错误率和资源(GPU显存、CPU)使用情况。成功标准:服务在中等并发下稳定运行,无内存泄漏,错误率低于 1%。
6. 接口 API 与批量任务
将压缩模型服务化是发挥其价值的关键。本节扩展第 4.5 节的简单示例。
6.1 增强型 API 服务
一个生产可用的 API 服务需要更多功能:
# enhanced_app.py import asyncio from concurrent.futures import ThreadPoolExecutor from fastapi import FastAPI, BackgroundTasks from pydantic import BaseModel from typing import List import uuid import json # ... 其他导入 ... app = FastAPI() executor = ThreadPoolExecutor(max_workers=2) # 控制并发推理线程数 job_status = {} class BatchGenerationRequest(BaseModel): prompts: List[str] params: dict # 包含max_length, temperature等 @app.post(“/generate_batch”) async def generate_batch(request: BatchGenerationRequest, background_tasks: BackgroundTasks): job_id = str(uuid.uuid4()) job_status[job_id] = {“status”: “processing”, “results”: None} def process_batch(prompts, params, jid): try: outputs = [] for prompt in prompts: result = generator(prompt, **params) outputs.append(result[0][“generated_text”]) job_status[jid] = {“status”: “completed”, “results”: outputs} except Exception as e: job_status[jid] = {“status”: “failed”, “error”: str(e)} background_tasks.add_task(process_batch, request.prompts, request.params, job_id) return {“job_id”: job_id, “status_url”: f”/status/{job_id}”} @app.get(“/status/{job_id}”) async def get_status(job_id: str): return job_status.get(job_id, {“status”: “not_found”})6.2 批量任务处理脚本
对于离线批量处理大量文本的场景,可以编写脚本:
# batch_process.py import json from tqdm import tqdm from transformers import pipeline def load_compressed_model(model_path): # ... 加载模型代码 ... return generator def process_file(input_file, output_file, generator, batch_size=4): with open(input_file, ‘r’, encoding=‘utf-8’) as f: tasks = [line.strip() for line in f if line.strip()] results = [] for i in tqdm(range(0, len(tasks), batch_size)): batch = tasks[i:i+batch_size] try: batch_results = generator(batch, max_length=150, do_sample=True, temperature=0.8) for res in batch_results: results.append(res[0][“generated_text”]) except Exception as e: print(f”Error processing batch starting at line {i}: {e}”) results.extend([“ERROR”] * len(batch)) # 可选:每处理N个batch保存一次,防止中断丢失 if i % 100 == 0: with open(output_file, ‘w’, encoding=‘utf-8’) as f: json.dump(results, f, ensure_ascii=False, indent=2) with open(output_file, ‘w’, encoding=‘utf-8’) as f: json.dump(results, f, ensure_ascii=False, indent=2) print(f”Batch processing complete. Results saved to {output_file}”) if __name__ == “__main__”: model_path = “./compressed_llama” generator = load_compressed_model(model_path) process_file(“input_prompts.txt”, “output_results.json”, generator)7. 资源占用与性能观察
模型压缩的终极目标是优化资源占用。你需要知道如何观察和评估。
7.1 如何观察显存占用?
在 Python 脚本中插入以下代码:
import torch # 在模型加载后、推理前 torch.cuda.reset_peak_memory_stats() # ... 执行推理操作 ... peak_memory = torch.cuda.max_memory_allocated() / 1024**3 # 转换为GB print(f”峰值显存占用: {peak_memory:.2f} GB”)7.2 CPU vs GPU 推理权衡
- GPU 推理:速度快,延迟低,适合在线服务。压缩模型使得更小显存的 GPU 成为可能。
- CPU 推理:利用
llama.cpp,ollama等工具,可将量化到 4-bit 或 5-bit 的模型完全放在内存中运行。速度较慢,但无需 GPU,成本极低,适合离线批量处理或边缘部署。 - 建议:对延迟敏感的服务用 GPU(即使是最低端的消费卡);对成本敏感、任务可异步的用 CPU。
7.3 影响性能的关键参数
- 量化比特数:8-bit > 4-bit > 2-bit。比特数越低,模型越小、越快,但精度损失风险越大。“Sol”这类自动化技术就是在寻找最佳平衡点。
- 上下文长度:处理 2000 tokens 的文本远比处理 200 tokens 消耗更多显存和计算时间。压缩模型时,需确认其对长上下文的支持是否完好。
- 批处理大小(Batch Size):增大 batch size 能提高吞吐量,但会线性增加显存占用。压缩后,你可以在相同显存下使用更大的 batch size。
- 采样参数:
temperature(创造性)、top_p(核采样)等参数影响生成质量,但不影响显存占用和基础速度。
7.4 降低资源占用的实战技巧
- 使用 Flash Attention 2:如果模型和框架支持,启用 Flash Attention 可以大幅减少显存占用并加速。
- 梯度检查点(Gradient Checkpointing):在微调阶段使用,用计算时间换显存。
- 模型分片(Model Sharding):对于仍无法放入单卡的超大模型,可使用
accelerate或deepspeed进行分片,跨多卡甚至 CPU+GPU 加载。 - 动态量化(Dynamic Quantization):PyTorch 支持在模型加载后动态将权重转换为低精度,适合纯推理场景,无需重新训练。
8. 常见问题与排查方法
在尝试模型压缩和部署时,你可能会遇到以下问题。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 导入错误:找不到模块 | 虚拟环境未激活或依赖未安装 | 检查pip list和python -c “import 模块名” | 在正确的虚拟环境中,根据错误信息安装缺失包。 |
| CUDA out of memory | 1. 模型太大 2. Batch size 太大 3. 上下文长度太长 | 1. 检查nvidia-smi确认显存占用。2. 检查代码中的 max_length和batch_size。 | 1. 尝试更激进的量化(如 4-bit)。 2. 减小 batch size 或上下文长度。 3. 启用 device_map=“cpu”或使用 CPU 卸载。 |
| 推理速度极慢 | 1. 模型在 CPU 上运行 2. 使用了未优化的推理路径 3. 量化模型首次运行需编译 | 1. 检查model.device。2. 使用 profiling 工具(如 PyTorch Profiler)。 | 1. 确保模型加载到 GPU (model.to(‘cuda’))。2. 使用 torch.compile编译模型(PyTorch 2.0+)。3. 对量化模型,预热(warm-up)几次推理。 |
| API 服务请求超时 | 1. 单次生成长度max_length设置过大2. 服务并发处理能力不足 3. 请求队列堆积 | 1. 检查客户端和服务端日志。 2. 监控服务端资源使用率。 | 1. 客户端设置合理的超时时间。 2. 服务端使用异步处理或任务队列(如 Celery)。 3. 限制单次请求的 max_length。 |
| 压缩后模型精度暴跌 | 1. 压缩策略过于激进 2. 校准数据集不具代表性 3. 未进行恢复性微调 | 1. 在多种任务(不仅是 ARC)上评估。 2. 检查校准数据分布。 | 1. 调整压缩配置,如提高量化比特数、减少剪枝比例。 2. 使用更大、更相关的校准数据集。 3. 增加恢复微调的步数和学习率。 |
| 评估脚本运行报错 | 1. 评估脚本版本与数据集不匹配 2. 模型输出格式不符合评估脚本预期 | 1. 仔细阅读评估脚本的 README 和 Issue。 2. 打印模型原始输出进行比对。 | 1. 使用官方指定的脚本版本和环境。 2. 编写一个适配层,将模型输出转换为评估脚本需要的格式。 |
9. 最佳实践与使用建议
基于通用模型压缩和部署经验,给出以下建议,这些思路也适用于“GPT-5.6 Sol”这类项目。
- 从一个小模型开始:不要一开始就用 700B 参数模型做实验。选择一个 7B 或 13B 的开源模型作为“试验田”,验证你的压缩流程、评估脚本和部署管道全部跑通,再扩展到更大的模型。
- 建立可复现的基准:在压缩前,务必在目标评估集(如 ARC-AGI-3)上完整运行原始模型,记录下准确的性能指标。这是衡量压缩效果的唯一标尺。
- 压缩与评估自动化:将压缩流程(量化、剪枝)和评估流程(跑多个基准测试)脚本化、管道化。这样你可以快速迭代不同的压缩配置,并生成清晰的实验报告。
- 模型版本管理:对压缩过程中产生的不同配置的模型(如 8-bit、4-bit、剪枝50%),使用明确的命名规则保存,并记录其配置参数和性能指标。推荐使用
dvc(Data Version Control)或wandb(Weights & Biases)进行管理。 - 部署前全面测试:压缩模型上线前,除了标准基准测试,还应进行:
- 压力测试:模拟高并发请求。
- 长尾测试:输入一些生僻、古怪的提示词,看模型是否会崩溃或输出有害内容。
- 一致性测试:相同输入多次请求,输出是否具有一致性(如果
temperature=0)。
- 关注合规与伦理:
- 数据:确保用于校准和评估的数据没有版权和隐私问题。
- 模型:确认原始模型的许可证允许压缩和再分发(如果是开源模型,如 LLaMA、Qwen,通常允许)。
- 输出:部署时考虑添加内容过滤器,防止生成不当内容。
- 性能监控:上线后,监控服务的延迟、显存占用、错误率和 GPU 利用率。设置警报,以便在性能下降或出错时及时介入。
10. 总结与下一步
“GPT-5.6 Sol 自动压缩登顶 ARC-AGI-3”这个项目标题,为我们揭示了一个明确的趋势:大模型的高性能与高效率并非不可兼得。通过自动化的、智能的压缩技术,我们有可能将“巨兽”般的模型,驯化成能在普通硬件上高效运行的“精灵”。
对于想要立即动手的开发者,下一步不是等待该项目的全部细节,而是可以:
- 选择赛道:从 Hugging Face 上选择一个中等规模(如 7B-14B)的、性能优秀的开源模型作为起点。
- 掌握工具:深入学习
bitsandbytes,GPTQ,AWQ等量化工具,以及NNCF,TorchAO等压缩框架的使用。 - 搭建流程:参照本文的通用流程,搭建一个属于自己的“自动化压缩-评估”流水线,在 ARC-AGI 或其他你关心的基准上进行测试。
- 关注动态:密切关注该项目的官方发布(如论文、代码、模型),一旦公开,可以将其中的“Sol”自动化策略与你自己的流程进行对比和融合。
最容易踩的坑莫过于“压缩后模型完全失效”。避免的关键在于精细化评估和渐进式压缩。不要追求一步到位的极限压缩,而是采用由粗到细的策略:先进行温和的 8-bit 量化并评估,没问题后再尝试 4-bit,再结合适度的剪枝,每一步都确保核心能力(如 ARC-AGI 所测的推理能力)的损失在可接受范围内。
模型压缩正在从一门“手艺”走向“工程化”和“自动化”。这个项目是一个强烈的信号,表明通过系统性的方法,我们可以在不牺牲模型核心智能的前提下,极大地拓宽其部署的边界。无论是为了研究、产品还是纯粹的探索,现在都是深入这个领域的好时机。