paint-brush
Ollama 综合项目符号注释排名 7b GGUF:回家模型排名,你醉了!by@cognitivetech
1,946
1,946

Ollama 综合项目符号注释排名 7b GGUF:回家模型排名,你醉了!

CognitiveTech8m2024/02/11
Read on Terminal Reader

寻找真正击败 Mistral 7b Instruct 0.2 的模型。与排行榜上的排名相反,我发现没有。回顾我的方法和结果,证明我错了!
featured image - Ollama 综合项目符号注释排名 7b GGUF:回家模型排名,你醉了!
CognitiveTech HackerNoon profile picture
0-item
1-item
2-item
3-item

向前

首先我想说的是,我无意冒犯大型语言模型(LLM)的创建者、评估它们的工具,或者对它们进行排名和创建排行榜的个人\组织。作为这个生态系统的一个相对较新的人,我感谢你们的工作,并感谢你们让我可以轻松地完成原本很费力的任务。


显然,我的下一篇文章必须探索各种模型排名方法,以更详细地了解评估的工作原理。

介绍

如果您还没有阅读我之前的文章《PrivateGPT for Book Summarization:测试和排名配置变量》 ,那么您可能会发现回顾一下很有帮助,因为我已经定义了术语并解释了我得出各种实践和信念的方法。


如果您确实读过那篇文章,那么您会意识到几个月来我一直在改进我的流程,使用大型语言模型 (LLM) 来总结书籍。我测量了一系列参数,包括提示模板、系统提示、用户提示等。


从第一轮模型排名和收集有关配置变量使用的数据中,我发现mistral-7b-instruct-v0.2.Q8_0.gguf可以生成最高质量的项目符号注释,并且一直在寻找最好的一个,从那时起,它就适合我的 12GB 3060。

我量你不敢!!向我展示一个 7b 优于 Mistral 的任务。


对于此排名,我使用该知识库来评估各种领先的 7b 模型。这次我使用Ollama ,因为我发现它使用起来更简单并且性能相当好。


我选择以下型号是因为我发现它们在各种排行榜上的排名高于Mistral 7b Instruct 0.2 ,或者自称为最佳 7b。 (括号中测试的聊天模板)


  • openchat-3.5-0106.Q8_0.gguf(OpenChat)

  • 呼吸管-米斯特拉尔-pairrm-dpo.Q8_0.gguf(米斯特拉尔)

  • dolphin-2.6-mistral-7b.Q8_0.gguf(米斯特拉尔)

  • supermario-v2.Q8_0.gguf (ChatML)

  • openhermes-2.5-mistral-7b.Q8_0.gguf (ChatML)

  • openhermes-2.5-neural-chat-7b-v3-1-7b.Q8_0.gguf (ChatML)

  • openhermes-2.5-neural-chat-v3-3-slerp.Q8_0.gguf (ChatML)

  • WestLake-7B-v2-Q8_0.gguf(ChatML,米斯特拉尔)

  • MBX-7B-v3-DPO.q8_0.gguf(ChatML,米斯特拉尔)

  • neuralbeagle14-7b.q8_0.gguf(ChatML,米斯特拉尔)

  • omnibeagle-7b-q8_0.gguf(ChatML,米斯特拉尔)


对于某些模型,我没有得到所需的结果,因为它们主要是 Mistral 派生的,我测试了 Mistral 模板,即使它们将 ChatML 列为首选输入。

标题和术语以粗体显示的要点注释

编写全面的项目符号注释,总结以下文本,其中标题、术语和关键概念以粗体显示。\n\n文本:


虽然 GPT3.5 不是我个人的基准,但它是一个行业标准,我希望它能产生比大多数 7b Q8 GGUF 更好的结果。


GPT3.5 的响应示例

虽然没有粗体的术语的关键概念,但标题粗体的,总的来说,与段落块相比,这很容易阅读。此外,我们是否找到粗体术语可能取决于输入文本本身,其中要点摘要应始终包含粗体标题。

我正在寻找可以生成笔记的模型:

  • 快点
  • 更多细节,更少填充
  • 具有更长上下文的可比细节(目前将这些功能扩展到 2.5k 上下文左右)


我认为这是任何 Instruct 模型的一项基本任务。理想情况下,开发人员将训练他们的模型以生成这些类型的理想项目符号注释。我有大量的数据,一些书籍已经接受过训练,但为一本书生成这些注释相对简单(使用Mistral 7b Instruct 0.2 ,将文本手动语义分块,每个部分低于 2.5k 个标记)。


如果是300-600页的书,那么通常一天就可以完成,包括预处理和后处理。


最终,我可能会尝试进行一些微调,以尝试提高自己的能力。

排行榜

之前,我尝试给每个排名打分。确实很难给出一个数字分数。将来,我想我会尝试获得法学硕士来对摘要进行排名。这次,我只是对它的不足之处以及我喜欢的地方发表评论,而不会为每个模型给出数字分数。


我在书中的一个章节中测试了以下每个模型,分为 6 个块,每个块有 1900-3000 个令牌。我将分享每个示例的代表性示例输出,完整数据将一如既往地在 GitHub 上提供。

米斯特拉尔 7b 指令 0.2 Q8 GGUF

我相信您现在已经意识到,在我看来,米斯特拉尔 (Mistral)拥有 7b 的实力。

模型文件

Ollama 具有一项功能,您可以将模型位置、模板和参数输入到模型文件中,该文件用于使用您指定的配置保存 LLM 的副本。这使得演示各种模型变得很容易,而不必总是为参数而烦恼。


除聊天模板外,我对所有模型都保持相同的参数,但我将与您分享我为每个模型使用的模板,以便您可以准确地看到我如何使用该模板。如果我使用不同配置的模型文件从以下模型中获得更好的结果,您可以告诉我。

 TEMPLATE """ <s></s>[INST] {{ .Prompt }} [/INST] """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

Mistral 7b 指令 v0.2 结果

我不会说米斯特拉尔每次都做得很完美,但更多时候,这就是我的结果。如果您回顾一下 GPT3.5 的回应,您可能会同意这更好。

7b 山羊?

OpenChat 3.5 0106 Q8 GGUF

OpenChat 的 0106让我感到惊喜。这是一个号称拥有最好的7b型号的型号,至少可以与Mistral 7b竞争。

模型文件

TEMPLATE """ GPT4 Correct User: {{ .Prompt }}<|end_of_turn|>GPT4 Correct Assistant: """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenChat 3.5 0106 结果

在这个小样本中,它给出了 4/6 次的粗体标题。稍后,我将使用更详细的分析来回顾它以及任何其他顶级竞争者。

我喜欢我所看到的,但需要更深入的检查

通气管 Mistral Pairrm DPO Q8 GGUF

显然,我在这里有偏见,因为 Snorkel 是在 Mistral 7b Instruct 0.2 上接受训练的。无论如何,我持谨慎乐观的态度,并期待Snorkel.ai发布更多内容。

模型文件

TEMPLATE """ <s></s>[INST] {{ .Prompt }} [/INST] """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

通气管米斯特拉尔 Pairrm DPO 结果

其中 4/6 的摘要是正确的,但其他摘要包含不规则之处,例如关键术语和标题的超长列表,而不是仅将它们内嵌加粗作为摘要的一部分。

本次比赛的黑马。

海豚 2.6 米斯特拉尔 7B Q8 GGUF

这是另一个广受好评的密斯特拉尔衍生物

模型文件

TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

海豚 2.6 米斯特拉尔 7B 结果

这是另一个不错的模型,几乎与 Mistral 7b Instruct 0.2 一样好。六分之三的摘要给出了正确的格式和粗体标题,另一个摘要的格式良好但没有粗体,但 2/6 的格式都很糟糕。

糟糕的形式

OpenHermes 2.5 Mistral-7B Q8 GGUF

这种模式非常流行,无论是在排行榜上还是在不相关的不和谐聊天中的“人们”中。我希望它成为这个排名中的领导者,但事实并非如此。

模型文件

TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenHermes 2.5 米斯特拉尔结果

3/6 结果产生正确的结构,但没有粗体文本。其中之一既有结构又有粗体文本。另外两个有更大的文本块和较差的结构。

对我来说,只是不“在那里”。

OpenHermes 2.5 神经聊天 7b v3.1 7B Q8 GGUF

我还尝试了 OpenHermes 2.5 Mistral 的一些高级衍生品,看看是否可以获得更好的结果。不幸的是,事实并非如此。

模型文件

TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenHermes 2.5 神经聊天 7b v3.1 结果

这些结果都不理想。

如果我付你 20 美元你会这么做吗?

OpenHermes 2.5 Neural-Chat v3.3 Slerp Q8 GGUF

无论他们做什么,这些衍生品都没有对原始版本进行改进。

模型文件

TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

OpenHermes 2.5 神经聊天 v3.3 Slerp 结果

每个新版本的情况都变得更糟!

我是一个对领先语言模型非常悲伤的评价者。

超级马里奥V2 Q8

我对马里奥并没有抱太大期望,但它显示出了一些希望。同时,V3 和 V4 可用,但我还没有找到适合这些的 GGUF。

模型文件

TEMPLATE """ <|im_start|>system You are a helpful AI writing assistant.<|im_end|> <|im_start|>user {{ .Prompt }} <|im_end|> <|im_start|>assistant {{ .Response }}<|im_end|> """ PARAMETER num_ctx 8000 PARAMETER num_gpu -1 PARAMETER num_predict 4000

超级马里奥 V2 结果

它的第一个结果是看似良好的。然而,以下每个摘要都偏离了所需的模式。我会留意新版本的 GGUF。您可以在这里看到我们得到了带有粗体标题的段落块。并不是我真正要求的。

我不想要的例子。

荣誉奖

  • omnibeagle-7b (ChatML) - 这实际上产生了一种不错的格式,但没有粗体文本。


  • neuralbeagle14-7b (ChatML,Mistral) - 与 Mistral 模板配合使用效果更好。结果“不错”,但根据我的喜好,提示模板有太多混乱。



结论

我希望有更好的消息可以分享。我理想的标题是,在创建全面的项目符号摘要时,有大量领先的模型可以产生高质量的输出,但我很难在其中进行选择。不幸的是,事实并非如此。


也许它们在完整形式上优于 Mistral 0.2,但仅以 GGUF 格式落后?我认为我们现有的评估很可能没有一个针对这种类型的输出,但我当然认为这是任何领先的 7b gguf 模型都应该能够管理的任务。


另一件需要考虑的事情是,Mistral 7b Instruct v0.2 在 Mixtral 之后不久就在一片大张旗鼓中发布了。我认为这次发布没有引起人们的关注。事实上,我见过的许多“领先”型号都是基于 0.1 Mistral 的。


也许事情会发生变化,世界会意识到他们最好的模型仍然无法超越米斯特拉尔?话又说回来,也许所有这些模型都非常擅长完成我不要求的所有其他任务。

我愿意提供帮助,也愿意被证明是错的

我有数据,有管道,而且我有无尽的需要来创建项目符号摘要。如果您想与我合作,请联系我。


也欢迎您查看我的 GitHub,检查数据,并尝试您自己的这个实验版本。我很高兴被证明是错误的。