原贴链接

我一直在测试不同的 Nemo 微调模型,用于长上下文的小说风格延续,包括一个快速的本地模型,我得出了一个有趣的结论…

使用基础模型。

对于一般使用基础模型的人来说,这可能很明显,但对我来说不是。它在超大上下文中比我所尝试的任何微调模型都要连贯得多。即使是 Mistral 自己的指令模型相比之下也非常糟糕

在 256K 时似乎也更连贯,但我现在正在测试。 在 256K 时它还可以,但明显比 128K 笨。

至于指令… 谁需要指令?如果你有 128K 的文本,它应该从已有的内容中获取所有需要的风格。

测试笔记:使用 exllama 与 8bpw Mistral Nemo 模型,Q8 缓存(或在 256K 时使用 Q4),在 24G GPU 上,但我认为你可以在 12G 和更紧密的量化中做到这一点。我已经抛弃了所有的指令格式,只是将小说放入上下文中,让它从上下文中学习。这是量化链接:https://huggingface.co/turboderp/Mistral-Nemo-Base-12B-exl2/tree/8.0bpw

编辑:

我正在这里测试 Q6K,在 kobold.cpp 中使用 q8_0/q8_0 K/V 缓存。它的 DRY 采样似乎有所帮助:https://huggingface.co/ZeroWw/Mistral-Nemo-Base-2407-GGUF/tree/main

编辑2:

还在测试“新”(现在 5 个月大)的 Yi 200K 基础权重,量化到 3.2 bpw,这让我在 24GB 中获得了 134650 的上下文。这实际上比 Nemo 的 126K 要少,因为 Nemo 有一个更好的分词器,而且我必须使用 exllama,因为它的 Q4 缓存是必不可少的:https://huggingface.co/01-ai/Yi-34B-200K/tree/main

Yi 200K 感觉比 Mistral Nemo “更聪明”。它理解并引用更多的上下文,但也更不优雅(取决于采样器设置)。

讨论总结

本次讨论主要聚焦于在长上下文环境中使用基础模型与指令模型的比较,以及相关的技术细节。参与者分享了各自的测试经验,讨论了基础模型在长上下文中的连贯性优势,以及如何通过量化和采样参数优化模型性能。此外,还涉及了文本摘要的方法和提示风格的使用。

主要观点

  1. 👍 基础模型在长上下文中比微调模型更为连贯
    • 支持理由:基础模型在原生上下文中预训练,更适合长上下文风格延续。
    • 反对声音:指令调优模型在训练时未使用128k长的指令示例,导致长上下文能力退化。
  2. 🔥 基础模型不需要复杂的指令格式,直接从上下文中学习
    • 正方观点:基础模型通过长提示和示例模拟对话或文本延续。
    • 反方观点:指令模型需要明确的指令来执行特定任务。
  3. 💡 使用exllama和不同缓存技术(Q8、Q4、Q6)对模型性能有影响
    • 解释:不同的量化方法和缓存设置可以优化模型在长上下文中的表现。

金句与有趣评论

  1. “😂 Is there a source that would plainly explain the difference in prompting a) base models b) instruct models?”
    • 亮点:提出了一个关于基础模型和指令模型提示方式差异的清晰解释需求。
  2. “🤔 Base Yi 200K! The new one from 5 months ago.”
    • 亮点:讨论了新旧模型(Yi 200K)的性能比较。
  3. “👀 Without an instructions model, how would you do a summary of a text?”
    • 亮点:探讨了在没有指令模型的情况下如何进行文本摘要。

情感分析

讨论的总体情感倾向偏向技术性和探索性,参与者积极分享测试经验和观点。主要分歧点在于基础模型与指令模型在长上下文中的应用效果,以及如何通过技术手段优化模型性能。

趋势与预测

  • 新兴话题:长上下文模型在不同应用场景中的优化方法。
  • 潜在影响:对AI模型在文本处理和生成领域的进一步发展有积极推动作用。