尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Bonsai-demo上下文长度调优:BONSAI_CTX自动RAM分层机制解析

Bonsai-demo上下文长度调优:BONSAI_CTX自动RAM分层机制解析 Bonsai-demo上下文长度调优BONSAI_CTX自动RAM分层机制解析【免费下载链接】Bonsai-demoBonsai Demo项目地址: https://gitcode.com/GitHub_Trending/bo/Bonsai-demoBonsai-demo 让你在本地运行 Bonsai / Ternary-Bonsai 系列小模型最高 27B支持 262K 上下文它的启动脚本通过BONSAI_CTX环境变量自动按你的内存大小分层选择上下文长度无需手动配置即可保持内存占用可预测。本文带你拆解这套自动 RAM 分层机制的工作原理、分层档位表以及如何手动调优上下文长度。为什么上下文长度需要“自动分层”上下文越长KV 缓存占用的内存越大。以 27B 模型为例27B 支持最高262,144 tokens的训练上下文混合注意力架构FP16 KV 缓存每 token 约64 KiB100K 上下文就需要约6.3 GiB老的 8B 模型是全注意力结构每 token 约 140 KiB同样档位的内存代价最高约为 27B 的 2.2 倍旧版本脚本曾直接传 llama.cpp 的-c 0意为“使用模型完整训练上下文”完全不感知内存在配置有限的机器上会直接 OOM。现在的脚本改为按系统 RAM 自动分层既安全又实用。自动 RAM 分层的 5 档上下文表核心逻辑在 scripts/common.sh 的bonsai_ctx_default()函数中启动脚本 scripts/start_llama_server.sh 与 Windows 版 scripts/start_llama_server.ps1 都遵循同一套档位系统内存自动分配的上下文KV 缓存占用27B FP16≤ 11 GB8,192 tokens约 0.5 GiB≤ 23 GB16,384 tokens约 1 GiB≤ 35 GB32,768 tokens约 2 GiB≤ 71 GB65,536 tokens约 4 GiB 71 GB仅 27B131,072 tokens约 8 GiB 71 GB8B 等旧型号65,536 tokens上限档位设计要点每个档位都经过最坏情况验证——例如 8B 在 65,536 上下文时总内存约 10.5 GB仍安全落在 36 GB 机器之内131,072 是27B 专属顶档旧型号文档上限为 65,536内存检测跨平台macOS 用sysctl hw.memsizeLinux 读/proc/meminfoWindows 用 WMI 查询物理内存BONSAI_CTX 的三种取值含义完整变量说明见 environment_variables.md核心速记如下不设置 或BONSAI_CTX0→ 自动模式解析为上表对应的 RAM 分层值注意0不会被当作-c 0传给 llama.cppBONSAI_CTXNN ≤ 262144→ 强制指定该上下文长度BONSAI_CTX262144→ 强制启用 27B 的完整训练上下文仅推荐给内存充裕的机器日常使用的三个典型命令# 默认自动分层什么都不用改 ./scripts/start_llama_server.sh # 内存紧张时手动钉住一个小上下文 BONSAI_CTX8192 ./scripts/start_llama_server.sh # 一次性覆盖参数直接透传给 llama.cpp ./scripts/run_llama.sh -c 8192 -p 你的问题 一个容易忽略的细节开启投机解码BONSAI_SPECULATIVE1仅 27B时由于 dspark 会重复预填充自动模式会把上下文下限提到16,384但显式的非零BONSAI_CTX仍然优先——详见 scripts/start_llama_server.ps1 中的注释。极限长上下文262144 与 4-bit KV 缓存如果你确实需要跑满 27B 的 256K 训练上下文脚本不会擅自替你这么做。推荐组合BONSAI_CTX262144强制全量上下文BONSAI_KV41启用 4-bit KV 缓存每 token 从 64 KiB 降到约 18 KiB100K 上下文从 6.3 GiB 降到约 1.8 GiB约 3.5 倍节省可选运行 scripts/make_kv_bias.sh 生成均值校准偏置文件找回 4-bit 量化损失的精度27B 的完整内存账本权重 KV 缓存 开销和 KV4 的详细背景分别见 README.md 与 KV-CACHE.md。遇到问题怎么办启动时机器卡死 / 内存爆满钉住更小的上下文如BONSAI_CTX8192 ./scripts/start_llama_server.shREADME.md FAQ 收录了这一修复显存不够又要长上下文BONSAI_MMPROJ_CPU1把视觉投影器移到系统内存释放约 0.9 GiB 显存给 KV 缓存AI 代理协作调参AGENTS.md 中记录了BONSAI_CTX的设计约定供 AI 编程助手参考总结场景推荐设置普通使用不想折腾不设置自动 RAM 分层低内存机器报内存不足BONSAI_CTX8192或16384大内存机器想跑满BONSAI_CTX262144BONSAI_KV41单次快速测试./scripts/run_llama.sh -c 8192 -p ...自动 RAM 分层机制让 Bonsai-demo 在不同硬件上都能给出可预测的内存占用小内存机器不会被默认设置拖垮大内存机器又能自动解锁更长的上下文——这正是它相对裸跑 llama.cpp-c 0的关键改进。【免费下载链接】Bonsai-demoBonsai Demo项目地址: https://gitcode.com/GitHub_Trending/bo/Bonsai-demo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表