图片 Token:像素也要交税
文字 BPE 是「合并字符」,图片编码是「切割像素」。你以为传的是原图,其实模型按缩放对齐后的分辨率计费——这里面藏着和文字 32k 红线一模一样的跳档陷阱。
视觉模型把图片切成固定大小的像素块,每块对应一个 Token。以通义千问 VL 为例,核心公式是:
| 变量 | 含义 | 说明 |
|---|---|---|
| h̄ / w̄ | 缩放后的高与宽 | 会被强制对齐到 32(或 28)的整数倍 |
| token_pixels | 每个 Token 对应的像素数 | Qwen3-VL 是 32×32=1,024;QVQ / Qwen2.5-VL 是 28×28=784 |
| +2 | 固定开销 | 视觉起止标记 <vision_bos> 和 <vision_eos> |
GPT-4o 和 Gemini 用的是图块(Tile)机制:GPT-4o 每个 512×512 图块约 170 Token,Gemini 1.5 Pro 每个 768×768 图块约 258 Token。类比理解:文字的词表大小决定压缩率,图片的像素块大小决定压缩率——32×32 比 28×28 更省。
选一个常见分辨率,或者自己拖宽高。注意 1000×1000 和 1025×1025 这对「孪生陷阱」。计费假设:Qwen3-VL,token_pixels = 1,024,输入价 1 元/M(32k 内标准档)。
传 4K 图是不是比 1080p 效果更好?不一定,而且大概率不值。
| 分辨率 | 缩放后(32 对齐) | Token 数 | 相对成本 |
|---|---|---|---|
| 512 × 512 | 512 × 512 | 258 | 1x |
| 1080p (1920×1080) | 1920 × 1088 | 2,042 | 7.9x |
| 2K (2560×1440) | 2560 × 1440 | 3,602 | 14x |
| 4K (3840×2160) | 3840 × 2176 | 8,162 | 31.6x |
| 8K (7680×4320) | 触发缩放上限 | ~16,384 | 63.5x |
从 512 到 1080p,Token 涨 8 倍,识别精度有明显提升;从 2K 到 4K,Token 再涨一倍,精度提升可能肉眼不可见。你以为在为「更清晰」付费,实际上在为「更多像素块」付费——而这些多出来的像素块,对模型理解内容的帮助是递减的。研究表明 VLM 的视觉 Token 冗余高达 85%。
| 任务类型 | Token 预算 | 对应分辨率 | 理由 |
|---|---|---|---|
| 粗粒度分类(猫还是狗) | < 300 | 512 × 512 | 不需要细节 |
| 场景理解(图里在干什么) | < 1,000 | ~1000 × 1000 | 够用 |
| OCR / 图表分析 | < 4,000 | ~2000 × 2000 | 需要识别文字 |
| 高精度检测(医疗影像) | < 16,384 | 4K+ | 按需开启 vl_high_resolution_images |
落地动作有三个:前端预压缩(上传前把图片压到目标 Token 数以内,卡住分辨率红线)、任务分级(按上表匹配,别拿 4K 做分类)、多图预算池(批量图片累计 Token 接近 32k 就截断,逻辑和上一节的 RAG 预算截断完全一致)。
| 红线 | 阈值 | 后果 | 应对 |
|---|---|---|---|
| 32 像素对齐 | 尺寸跨过 32 的整数倍 | Token 数跳变 | 前端预处理,主动对齐 |
| 32k 输入档位 | 多图累计 > 32k Token | 全量按高价区结算 | 类似 RAG 的预算截断 |
| 高清滥用 | 4K+ 原图无脑传 | 成本涨 30 倍,精度提升有限 | 按任务分级,匹配分辨率 |
图片按缩放对齐后的分辨率计费,不是按你传的原图。公式:(h̄×w̄)/token_pixels + 2。
高分辨率的收益递减:4K 比 1080p 贵 4 倍,理解能力未必更好。按任务分级匹配分辨率。
多图场景做预算池:累计接近 32k 就截断或压缩,别让第 5 张图把整单拖进高价区。
内容来源:整理自作者团队内部分享《AI Token 降本增效策略分享》「图片 Token 的计费机制」。官方规则见阿里云百炼视觉理解文档;「分辨率诅咒」的学术来源见 CARES 论文。