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 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. PrivateGPT para resumo de livros: testes e classificação de variáveis de configuração, 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 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. que mistral-7b-instruct-v0.2.Q8_0.gguf Para esta classificação, estou usando essa base de conhecimento para avaliar uma variedade de modelos 7b líderes. Desta vez estou usando , pois acho mais simples de usar e com bastante desempenho. o Ollama Eu escolhi os seguintes modelos porque os encontrei acima em vários quadros de classificação, ou foram autoproclamados como os melhores 7b. do Mistral 7b Instruct 0.2 (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. Embora não existam conceitos-chave de termos em negrito, os títulos 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 incluir títulos em negrito. estão sempre 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 com o texto semanticamente fragmentado, à mão, em partes abaixo de 2,5 mil tokens, cada). Mistral 7b Instruct 0.2 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, tem o 7b para vencer. Mistral Arquivo de modelo 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. Ollama tem um recurso 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. OpenChat 3.5 0106 Q8 GGUF Fiquei agradavelmente surpreso com . Aqui está um modelo que afirma ter o melhor modelo 7b e pelo menos é competitivo com o Mistral 7b. o 0106 do OpenChat 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. 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. Golfinho 2.6 Mistral 7B Q8 GGUF Aqui está que é bem vista. outra derivada do mistral 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 é 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. quase OpenHermes 2.5 Mistral-7B Q8 GGUF é 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 é. Este modelo 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. OpenHermes 2.5 Bate-papo Neural 7b v3.1 7B Q8 GGUF Também tentei alguns de alto nível do OpenHermes 2.5 Mistral para ver se conseguia melhores resultados. Infelizmente, não foi esse o caso. derivados 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. OpenHermes 2.5 Neural-Chat v3.3 Slerp Q8 GGUF Independentemente do que tenham feito, esses não melhoraram o original. derivados 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! 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. Menções Honrosas (ChatML) - Este está produzindo um formato decente, mas sem texto em negrito. omnibeagle-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. neuralbeagle14-7b (ChatML) – Já vi coisas piores WestLake-7B-v2 (ChatML) – Sem consistência no formato. MBX-7B-v3-DPO Conclusão Eu gostaria de ter notícias melhores para compartilhar. Meu título ideal é que Infelizmente, este não é o caso. há uma abundância de modelos líderes que produzem resultados de qualidade ao criar e é muito difícil para mim escolher entre eles. resumos abrangentes de notas com marcadores, 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.