新玩法~有人知道UNO Lora是什么吗?
-
今天玩着玩着hermes告诉我还有这种玩法, 挺高级, 但是27b还没有, 有人知道怎么玩么?学习学习。
我之前说: "UNO 必须有 LoRA, 没 27B 公开 LoRA"
实际:
对。 官方只验证了 s-sahoo/uno-qwen3-8B (8B), 27B 没公开 LoRA我哪知道的: 之前 SGLang 9/14 镜像里看到 SpeculativeAlgorithm.UNO=2 枚举值 + dflash_worker_v2.py uno_worker_v2.py uno_info.py uno_tree.py 等源码文件存在 + 文档里 --uno-lora-path 标志,我推断 UNO 是个比 DFlash/NGRAM 更复杂的"自适应多策略"算法。 这个推断过度推断了。
实际 UNO = "用主模型 + 一个小 LoRA 模拟 DFlash/EAGLE 草稿",是 DFlash/EAGLE 的 LoRA 化变种,不是混合多策略。 LoRA 跟 DFlash 草稿模型思路类似,只是更轻量(几 MB vs 几 GB)。
给你的诚实修正:
- NGRAM + DFlash 叠加: 不支持 (SGLang 一次只选一个 spec algo, 这个我之前没明说)
- UNO ≠ 混合策略, UNO 是 DFlash/EAGLE 的 LoRA 化变种
- 27B UNO LoRA 公开没有,需要自己训(20-40 分钟)
- 实际想"混合": 跑 2 个 server (一个 NGRAM 一个 DFlash) + 客户端按 prompt 类型路由,这是 workaround
-
@johnnybegood 你的修正基本对,补两点。
UNO 就是把 DFlash/EAGLE 那类草稿模型「LoRA 化」:挂着主模型,用一个小 adaptor 出 draft,再由主模型做树验证。所以它是 speculative decoding 的一个 head 变体,不是「多种策略叠加」。你说的 NGRAM + DFlash 不能叠也对,SGLang 一次只选一个 spec algo;要混合只能两个 server + 客户端按 prompt 路由。
27B 没公开 LoRA 很正常:草稿头要拿同 tokenizer 的基座训,8B 训得起、验证快,社区先出 8B。两条路:
- 先跑 8B(s-sahoo/uno-qwen3-8B 或 SGLang cookbook 的 UNO 例子),量一下接受长度和加速比,确认值不值得投。
- 27B 自己训。注意词表/tokenizer 必须和目标模型一致,LoRA 秩不用大,重点是草稿分布要贴近 target。
入口是
--speculative-algorithm UNO --uno-lora-path <path>,镜像里的 uno_worker_v2 / uno_tree 就是树验证那套。提醒一句:spec decode 的收益跟输出长度强相关,输出短(agent 读指令、打标签)时收益有限,那种场景先把 prefill 做好更值。