paint-brush
Classificação 7b GGUF para notas abrangentes com marcadores com Ollama: Go Home Model Rankings, você está bêbado!por@cognitivetech
1,552 leituras
1,552 leituras

Classificação 7b GGUF para notas abrangentes com marcadores com Ollama: Go Home Model Rankings, você está bêbado!

por CognitiveTech8m2024/02/11
Read on Terminal Reader

Muito longo; Para ler

Procurando por um modelo que realmente supere o Mistral 7b Instruct 0.2. Ao contrário da classificação nas tabelas de classificação, não encontro nenhuma. Revise meus métodos e resultados, prove que estou errado!
featured image - Classificação 7b GGUF para notas abrangentes com marcadores com Ollama: Go Home Model Rankings, você está bêbado!
CognitiveTech HackerNoon profile picture
0-item
1-item
2-item
3-item

Avançar

Deixe-me começar dizendo que não quero ofender os criadores de Large Language Models (LLM), as ferramentas para avaliá-los ou os indivíduos/organizações que os classificam e criam quadros de classificação. Como relativamente novo neste ecossistema, estou em dívida com o seu trabalho e grato por ter sido facilitado o caminho para a realização de tarefas que de outra forma seriam trabalhosas.


Claramente, meu próximo post deve explorar vários métodos de classificação de modelos, para obter um pouco mais de detalhes sobre como funcionam as avaliações.

Introdução

Se você não leu meu artigo anterior PrivateGPT para resumo de livros: testes e classificação de variáveis de configuração, talvez seja benéfico revisá-lo, pois defini os termos e expliquei os meios pelos quais cheguei a várias práticas e crenças.


Se você leu esse artigo, sabe que venho refinando meus processos, há alguns meses, usando Large Language Models (LLM) com o propósito de resumir livros. Medi uma série de parâmetros, incluindo modelos de prompt, prompts do sistema, prompts do usuário, etc.


A partir dessa rodada preliminar de classificações de modelos e coleta de dados sobre o uso de variáveis de configuração, descobri que mistral-7b-instruct-v0.2.Q8_0.gguf produz notas com marcadores da mais alta qualidade e tenho procurado por uma que seja melhor, que cabe no meu 3060 de 12 GB, desde então.

Eu te desafio em dobro!! Mostre-me um Mistral 7b com desempenho superior para esta tarefa.


Para esta classificação, estou usando essa base de conhecimento para avaliar uma variedade de modelos 7b líderes. Desta vez estou usando o Ollama , pois acho mais simples de usar e com bastante desempenho.


Eu escolhi os seguintes modelos porque os encontrei acima do Mistral 7b Instruct 0.2 em vários quadros de classificação, ou foram autoproclamados como os melhores 7b. (modelos de bate-papo testados entre parênteses)


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

  • snorkel-mistral-pairrm-dpo.Q8_0.gguf (Mistral)

  • golfinho-2.6-mistral-7b.Q8_0.gguf (Mistral)

  • 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, Mistral)

  • MBX-7B-v3-DPO.q8_0.gguf (ChatML, Mistral)

  • neuralbeagle14-7b.q8_0.gguf (ChatML, Mistral)

  • omnibeagle-7b-q8_0.gguf (ChatML, Mistral)


Para alguns modelos, onde não estava obtendo os resultados desejados, já que são em sua maioria derivados do Mistral, testei o modelo Mistral mesmo que eles listem o ChatML como sua entrada preferida.

Notas com marcadores com títulos e termos em negrito

Escreva notas abrangentes com marcadores resumindo o texto a seguir, com títulos, termos e conceitos-chave em negrito.\n\nTEXTO:


Embora GPT3.5 não seja minha linha de base pessoal, é uma espécie de padrão da indústria e espero que produza melhores resultados do que a maioria dos 7b Q8 GGUFs.


Um exemplo de resposta do GPT3.5

Embora não existam conceitos-chave de termos em negrito, os títulos estão em negrito e, em geral, são bastante fáceis de ler em comparação com blocos de parágrafos. Além disso, encontrar ou não termos em negrito pode depender do próprio texto de entrada, onde um resumo com marcadores deve sempre incluir títulos em negrito.

Procuro Modelos que Produzam Notas:

  • mais rápido
  • com mais detalhes, menos preenchimento
  • com detalhes comparáveis com contexto mais longo (atualmente ampliando esses recursos em torno de 2,5k de contexto)


Vejo isso como uma tarefa fundamental para qualquer modelo do Instruct. Idealmente, os desenvolvedores treinarão seus modelos para gerar esses tipos de notas com marcadores ideais. Tenho muitos dados, com alguns livros já treinados, mas é relativamente simples gerar essas notas para um livro (usando Mistral 7b Instruct 0.2 com o texto semanticamente fragmentado, à mão, em partes abaixo de 2,5 mil tokens, cada).


Se for um livro de 300 a 600 páginas, geralmente isso pode ser feito em um único dia, incluindo pré e pós-processamento.


Eventualmente, eu poderia experimentar alguns ajustes finos na tentativa de melhorar eu mesmo suas capacidades.

As classificações

Anteriormente, tentei dar uma pontuação a cada classificação. É muito difícil dar uma pontuação numérica. No futuro, acho que tentarei conseguir um LLM para classificar os resumos. Desta vez, deixarei apenas um comentário sobre onde fica aquém e o que gosto, sem dar uma pontuação numérica para cada modelo.


Testei cada um dos modelos a seguir em um único capítulo de livro, dividido em 6 partes de 1.900 a 3.000 tokens cada. Compartilharei um exemplo representativo de cada um, e os dados completos estarão disponíveis no GitHub, como sempre.

Instrução Mistral 7b 0,2 Q8 GGUF

Tenho certeza que você já percebeu que, na minha opinião, Mistral tem o 7b para vencer.

Arquivo de modelo

Ollama tem um recurso onde você insere a localização do modelo, o modelo e os parâmetros em um arquivo de modelo, que ele usa para salvar uma cópia do seu LLM usando a configuração especificada. Isso facilita a demonstração de vários modelos sem a necessidade de estar sempre se preocupando com os parâmetros.


Mantive os parâmetros iguais para todos os modelos, exceto o modelo de chat, mas compartilharei com vocês o modelo que estou usando para cada um, para que vocês possam ver precisamente como utilizo o modelo. Você pode me informar se eu obteria melhores resultados com os modelos a seguir usando um Modelfile configurado de forma diferente.

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

Resultado do Mistral 7b Instruct v0.2

Não direi que Mistral faz isso perfeitamente todas as vezes, mas na maioria das vezes, esse é o meu resultado. E se você olhar para a resposta do GPT3.5, poderá concordar que isso é melhor.

7b CABRA?

OpenChat 3.5 0106 Q8 GGUF

Fiquei agradavelmente surpreso com o 0106 do OpenChat . Aqui está um modelo que afirma ter o melhor modelo 7b e pelo menos é competitivo com o Mistral 7b.

Arquivo de modelo

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

Resultado do OpenChat 3.5 0106

Nesta pequena amostra, deu títulos em negrito 4/6 vezes. Posteriormente, irei revisá-lo junto com quaisquer outros concorrentes principais, usando uma análise mais detalhada.

Gosto do que vejo, mas precisa de um exame mais profundo

Snorkel Mistral Pairrm DPO Q8 GGUF

Obviamente, sou tendencioso aqui, já que Snorkel foi treinado no Mistral 7b Instruct 0.2. Independentemente disso, estou cautelosamente otimista e ansioso por mais lançamentos do Snorkel.ai .

Arquivo de modelo

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

Resultado do Snorkel Mistral Pairrm DPO

4/6 desses resumos estão corretos, mas outros contêm irregularidades, como listas superlongas de termos-chave e títulos, em vez de apenas colocá-los em negrito como parte do resumo.

O azarão desta corrida.

Golfinho 2.6 Mistral 7B Q8 GGUF

Aqui está outra derivada do mistral que é bem vista.

Arquivo de modelo

 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

Resultado do Dolphin 2.6 Mistral 7B

Este é outro modelo decente que é quase tão bom quanto o Mistral 7b Instruct 0.2. Três dos seis resumos apresentavam formato adequado e títulos em negrito, outro tinha um formato bom, sem negrito, mas 2/6 eram de má qualidade.

Má forma

OpenHermes 2.5 Mistral-7B Q8 GGUF

Este modelo é bastante popular, tanto nas tabelas de classificação quanto entre “o povo” em chats de discórdia não associados. Quero que seja líder neste ranking, mas não é.

Arquivo de modelo

 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

Resultado Mistral do OpenHermes 2.5

Os resultados 3/6 produzem estrutura adequada, mas nenhum texto em negrito. Um deles possui estrutura e texto em negrito. Os outros dois tinham mais blocos grandes de texto e estrutura pobre.

Só não "lá", para mim.

OpenHermes 2.5 Bate-papo Neural 7b v3.1 7B Q8 GGUF

Também tentei alguns derivados de alto nível do OpenHermes 2.5 Mistral para ver se conseguia melhores resultados. Infelizmente, não foi esse o caso.

Arquivo de modelo

 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

Resultado do OpenHermes 2.5 Neural Chat 7b v3.1

Nenhum desses resultados era desejável.

Se eu te pagar $ 20, você fará isso?

OpenHermes 2.5 Neural-Chat v3.3 Slerp Q8 GGUF

Independentemente do que tenham feito, esses derivados não melhoraram o original.

Arquivo de modelo

 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

Resultado do OpenHermes 2.5 neural-chat v3.3 Slerp

Está piorando a cada nova versão!

Sou um avaliador muito triste dos principais modelos de linguagem.

Super Mário V2 Q8

Eu não esperava muito de Mario, mas é promissor. Enquanto isso, V3 e V4 estão disponíveis, mas ainda não encontrei o GGUF para eles.

Arquivo de modelo

 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

Resultado do Super Mário V2

Seu primeiro resultado foi enganosamente bom. No entanto, cada um dos resumos seguintes desviou-se do padrão desejado. Estarei atento ao GGUF dos lançamentos mais recentes. Você pode ver aqui que temos blocos de parágrafos com um título inicial em negrito. Não é realmente o que eu pedi.

Exemplo do que não quero.

Menções Honrosas

  • omnibeagle-7b (ChatML) - Este está produzindo um formato decente, mas sem texto em negrito.


  • neuralbeagle14-7b (ChatML, Mistral) – Funciona melhor com o modelo mistral. Resultados “OK”, mas muita confusão em torno dos modelos de prompt para o meu gosto.



Conclusão

Eu gostaria de ter notícias melhores para compartilhar. Meu título ideal é que há uma abundância de modelos líderes que produzem resultados de qualidade ao criar resumos abrangentes de notas com marcadores, e é muito difícil para mim escolher entre eles. Infelizmente, este não é o caso.


Talvez eles superem o Mistral 0.2 em sua forma completa, mas só estejam atrás no formato GGUF? Acho que é bastante provável que nenhuma de nossas avaliações existentes vise esse tipo de resultado, mas eu certamente argumentaria que é uma tarefa que qualquer modelo 7b gguf líder deveria ser capaz de gerenciar.


Outra coisa a considerar é que o Mistral 7b Instruct v0.2 foi lançado logo após o Mixtral, em meio a muito alarde. Acho que esse lançamento passou despercebido. Na verdade, muitos dos modelos “líderes” que observei são baseados no 0.1 Mistral.


Talvez as coisas mudem e o mundo perceba que seus melhores modelos ainda não conseguem superar Mistral? Então, novamente, talvez todos esses modelos sejam realmente bons em todas as outras tarefas que não estou solicitando.

Estou disposto a ajudar e estou disposto a provar que estou errado

Tenho dados, tenho um pipeline e tenho uma necessidade infinita de criar resumos de notas com marcadores. Se você quiser trabalhar comigo, entre em contato.


Você também pode conferir meu GitHub, verificar os dados e experimentar sua própria versão deste experimento. Estou feliz por ter sido provado que estou errado.