ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Bonsai-demo图像token计费原理:32x32像素块如何变成4096视觉token

Bonsai-demo图像token计费原理:32x32像素块如何变成4096视觉token Bonsai-demo图像token计费原理32x32像素块如何变成4096视觉token【免费下载链接】Bonsai-demoBonsai Demo项目地址: https://gitcode.com/GitHub_Trending/bo/Bonsai-demoBonsai-demo 是 PrismML 开源的本地视觉语言模型演示项目让你在自己的 Mac、Linux 或 Windows 上运行 Bonsai 27B 多模态模型。它的图像理解能力有一套清晰的计费规则每 32x32 的像素块折算成 1 个视觉 token单张图最多约 4096 个视觉 token。搞懂这套图像 token 计费原理你才能控制首字响应速度、显存占用以及在回答快和细节准之间做出正确取舍。一张图 多少个视觉 tokenBonsai 27B 是视觉语言模型VLM除了文字它还能接收照片、截图和 PDF。核心规则非常简单——图像被切成32x32 像素的方块patch每个方块对应1 个视觉 token模型最多接受约4096 个视觉 token对应约4.2 MP420 万像素的图像换算一下就很直观一张 12 MP 的照片理论上会产生约 4000 个视觉 token接近上限而一张 1024x1024 的截图只有 1024 个方块恰好落在默认上限内。注同一张图在文中只出现一次上方效率图已用于说明模型定位此处不再重复。为什么视觉 token 是prefill成本视觉 token 和文字 token 不同它们全部在回答第一个字之前就处理完了。也就是说大图的账单集中体现在首字延迟上——一张大照片可能在回答开始前就追加几千个 token 的 prefill 工作它不占上下文长度里你写的对话轮数但会真实消耗时间两个机制让实际体验远比数字看起来好提示词缓存Prompt cache图像只编码一次。之后针对同一张图的追问在 llama.cpp 后端上几乎是瞬时的MLX 后端没有跨请求缓存会重新处理图像 token 上限下面的--image-max-tokens机制会在编码前自动缩小超大图像图像 token 上限各后端默认值一览启动脚本会向 llama-server 传入--image-max-tokens参数把超大图像在编码前降采样后端默认上限原因Metal / Vulkan / CPU1024 tokens消费级硬件上大图回答快很多且质量损失很小CUDA / ROCm不限制数据中心级 GPU prefill 很快相关逻辑在 scripts/common.sh 的bonsai_image_max_tokens()函数中实现并由 scripts/start_llama_server.sh 拼装成--image-max-tokens参数传给服务器。你可以用环境变量BONSAI_IMAGE_MAX_TOKENS自由覆盖# 完全取消上限适合 CUDA 机器或 OCR 任务 BONSAI_IMAGE_MAX_TOKENS0 ./scripts/start_llama_server.sh # 自定义上限 BONSAI_IMAGE_MAX_TOKENS2048 ./scripts/start_llama_server.sh1024 够不够用质量与速度的最佳平衡点官方测试给出的质量结论详见 VISION.md1024 是日常照片和截图的甜点布局、物体、颜色、正常大小的文字都能保留细细节在上限收紧时会受损小字号、序列号、密集文档的识别准确率随上限降低而下降已经在上限内的图像不受任何影响针对 OCR 类任务的实操建议把上限设为0或 2048 以上让图像保留全部细节或者裁剪出你关心的区域再发送比整图发送更省 token、更精准视觉投影器mmproj图像 token 的收费站图像进入语言模型之前要先经过一个多模态投影器multimodal projector也就是*mmproj*.gguf文件setup.sh会自动把它下载到 27B 权重旁边models/gguf/27B/目录启动脚本自动加载无需手动配置需要预留约0.9 GiB内存给投影器显存紧张可以用BONSAI_MMPROJ_CPU1把投影器留在系统内存里对应--no-mmproj-offload参数见 scripts/common.sh腾出约 0.9 GiB 显存给 KV 缓存/上下文。代价是图像 prefill 变慢每图多几十毫秒到几秒文字对话不受影响。MLX 后端的差异Apple Silicon 上走 MLX 后端时三值 27B 通过mlx-vlm提供图像输入setup.sh会装进.venv-vlm。两点提醒1-bit 二进制 27B 在 MLX 上暂只支持文本MLX 没有跨请求的提示词缓存同一张图的追问会重新处理详见 VISION.md。一张图看懂图像 token 计费全流程整个计费链路可以浓缩成四步切片图像切成 32x32 像素块每块 1 个视觉 token编码视觉投影器mmproj把方块编码为向量上限约 4096 token≈4.2 MP限流按后端的--image-max-tokens上限默认 1024 或不限制在编码前降采样prefill视觉 token 在首字前全部处理完llama.cpp 的提示词缓存让同一张图的追问近乎瞬时关键数字含义32x32每个视觉 token 覆盖的像素面积~4096单图视觉 token 上限~4.2 MP上限对应的图像分辨率1024Metal/Vulkan/CPU 默认限流值0.9 GiB视觉投影器的内存开销理解这套 Bonsai-demo 图像 token 计费原理后你就能在快速回答与精细 OCR之间自如切换日常问答用默认 1024 上限即可处理密集文档时再打开BONSAI_IMAGE_MAX_TOKENS0。更多细节、质量对比与 OCR 技巧请查阅 VISION.md 与 README.md。【免费下载链接】Bonsai-demoBonsai Demo项目地址: https://gitcode.com/GitHub_Trending/bo/Bonsai-demo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表