4 pontos por GN⁺ 2023-12-03 | 1 comentários | Compartilhar no WhatsApp
  • Trata-se de um levantamento que compara em quais tarefas os LLMs open source alcançaram desempenho equivalente ou superior ao do ChatGPT no marco de 1 ano desde o lançamento do ChatGPT
  • O ChatGPT demonstrou respostas úteis e seguras e boa execução de instruções por meio de aprendizado por reforço com feedback humano, e atingiu 100 milhões de usuários em apenas dois meses após o lançamento
  • Como os LLMs proprietários não divulgam sua arquitetura nem os dados de treinamento, permanecem questões de reprodutibilidade, avaliação de riscos, indisponibilidades, custo de API, propriedade dos dados e privacidade
  • Modelos open source como Llama-2 e Falcon ainda são vistos como atrás de modelos proprietários como o GPT-4, mas em alguns benchmarks já houve casos em que superaram o GPT-3.5-turbo
  • Em um cenário onde modelos e benchmarks mudam rapidamente, em vez de escolher um único vencedor, é melhor analisar separadamente capacidade geral, agentes, raciocínio, contexto longo, aplicações e confiabilidade

O ambiente dos LLMs mudou após o ChatGPT

  • Desde o fim de 2022, quando foi lançado, o ChatGPT trouxe grandes mudanças para toda a pesquisa em IA e também para o setor comercial
  • Ao aplicar ajuste fino supervisionado e aprendizado por reforço com feedback humano a grandes modelos de linguagem, popularizou a experiência de chatbot capaz de responder a perguntas diversas e seguir instruções
  • Antes, tarefas de linguagem natural como sumarização ou perguntas e respostas eram em geral tratadas por modelos pré-treinados e depois ajustados para cada tarefa, mas o ChatGPT passou a executar esse tipo de tarefa de forma ampla
  • Em apenas dois meses após o lançamento, alcançou 100 milhões de usuários, mostrando um ritmo de crescimento mais rápido que apps populares como TikTok ou YouTube
  • As empresas seguem investindo fortemente no ChatGPT devido ao potencial de reduzir custos de trabalho, automatizar fluxos e criar novas experiências para clientes

As limitações criadas pelos LLMs proprietários

  • O ChatGPT não é open source, e o controle de acesso também fica nas mãos de uma empresa privada
  • Há explicações de que ele segue o procedimento introduzido no InstructGPT, ou seja, no GPT-3.5, mas a arquitetura exata, os dados de pré-treinamento e os dados de ajuste fino não são divulgados
  • Esse caráter fechado cria vários ônus no processo de avaliar e operar o modelo
    • Como não se conhece o processo interno de treinamento, é difícil estimar riscos sociais, como geração de conteúdo tóxico, antiético ou falso
    • Há relatos de que o desempenho do ChatGPT muda ao longo do tempo, o que dificulta obter resultados reproduzíveis
    • Em novembro de 2023 ocorreram duas grandes indisponibilidades, e houve casos em que o acesso ao site e à API do ChatGPT foi totalmente interrompido
    • Em adoções corporativas, custo de chamadas de API, interrupções do serviço, propriedade dos dados e privacidade podem se tornar preocupações concretas
    • Eventos imprevisíveis, como o conflito no conselho que levou à demissão do CEO Sam Altman, reação dos funcionários e posterior retorno, também viram fatores a considerar para usuários corporativos

Até onde os LLMs open source já chegaram

  • Os LLMs open source ganham atenção como alternativa capaz de aliviar ou contornar as limitações dos LLMs proprietários
  • A comunidade de pesquisa continua seus esforços para manter LLMs de alto desempenho como open source
  • No fim de 2023, era amplamente difundida a percepção de que LLMs open source como Llama-2 e Falcon ainda ficavam atrás de modelos proprietários como GPT-3.5 e GPT-4 da OpenAI, Claude da Anthropic e Bard do Google
  • O GPT-4 é geralmente considerado o modelo mais avançado
  • Ainda assim, a diferença continua diminuindo, e em alguns benchmarks padrão os melhores LLMs open source já apresentam resultados melhores que o GPT-3.5-turbo
  • A própria comparação também não é simples
    • LLMs proprietários são retreinados com dados mais recentes e continuam sendo atualizados
    • LLMs open source também são lançados continuamente para alcançá-los
    • Há muitos conjuntos de avaliação e benchmarks usados para comparar LLMs, o que dificulta apontar um único melhor modelo

Áreas de avaliação comparadas e modelos representativos

  • O levantamento reúne várias avaliações que comparam LLMs open source e ChatGPT, organizando a diferença de desempenho atual por área
  • Capacidade geral

    • Inclui AlpacaEval, MT-bench, ELO rating, Open LLM leaderboard e outros
    • Entre os modelos open source relacionados estão Llama-2, WizardLM, Zephyr, Deepseek, Yi e Mixtral
  • Capacidade de agente

    • Divide-se em uso de ferramentas, auto-debug, seguir feedback em linguagem natural e exploração do ambiente
    • API-Bank, ToolBench, APIBench, ToolAlpaca, InterCode-Bash, InterCode-SQL, MINT, ALFWorld e WebArena estão entre as avaliações incluídas
    • Gorilla, ToolLLaMA, Lemur-chat, AgentLlama e OpenChat-3.5 são modelos relacionados
  • Raciocínio lógico

    • Inclui as áreas de matemática e programação
    • GSM8K, MATH, TheoremQA, HumanEval, MBPP e APPs são usados como tarefas de avaliação
    • WizardMath e WizardCoder são citados como modelos representativos
  • Modelagem de contexto longo

    • Inclui SCROLLS, Zero-SCROLLS, LongBench, L-Eval, BAMBOO e M4LE
    • Llama-2-long é tratado como modelo relacionado
  • Áreas especializadas de aplicação

    • Inclui sumarização orientada por consulta, perguntas e respostas abertas, medicina, geração de dados estruturados e geração de críticas
    • QMSum, SQuALITY, CovidET, NEWTS, NQ, TriviaQA, NewsQA, SQuAD, Quoref, NarrativeQA, DROP e MIMIC-CXR são usados como tarefas
    • InstructRetro, MentaLLaMA, Radiology-Llama-2, Struct-Bench e Shepherd são modelos relacionados
  • Confiabilidade

    • Trata de alucinação e segurança
    • TruthfulQA, FactualityPrompt, FActScore, KoLA-KC, HaluEval, FACTOR, SafetyBench e XSTEST estão incluídos
    • Platypus e Chain-of-Verification são citados como abordagens relacionadas a alucinações

Critérios de avaliação úteis para pesquisadores e empresas

  • Este levantamento fornece material necessário para que a comunidade de pesquisa e o setor de negócios avaliem o nível atual e o potencial futuro dos LLMs open source
  • Pesquisadores podem usá-lo para sintetizar o progresso e as tendências de mudança dos LLMs open source, além de identificar direções para pesquisas futuras
  • Tomadores de decisão em empresas podem obter insights e diretrizes necessários para avaliar a viabilidade de adoção e as vantagens dos LLMs open source
  • O artigo apresenta primeiro os conceitos de base, depois revisa LLMs open source que superaram o ChatGPT em várias áreas, discute tendências de desenvolvimento, boas práticas de treinamento e possíveis questões, e termina com um resumo

1 comentários

 
GN⁺ 2023-12-03
Opiniões no Hacker News
  • Nos últimos dias saíram alguns modelos abertos poderosos
    Qwen 72B e 1.8B oferecem contexto de 32K, treinamento com 3T tokens, licença comercial para menos de 100 milhões de usuários ativos mensais e forte desempenho em benchmarks: https://twitter.com/huybery/status/1730127387109781932
    DeepSeek LLM 67B tem contexto de 4K, 2T tokens, licença Apache 2.0 e é forte em código. Mas, pelos benchmarks, o DeepSeek Code 33B parece melhor: https://twitter.com/deepseek_ai/status/1729881611234431456
    Recentemente também saíram Yi 34B, o suposto 100B que deve sair em breve, XVERSE-65B, Aquila2-70B e Yuan 2.0-102B, e curiosamente todos vêm da China
    Pessoalmente, como o mistral-7b-v0.1 já era muito forte para o tamanho, estou na expectativa por um Mistral maior que deve sair em breve

    • Testei o DeepSeek em deepseek.com e ele recusou algumas conversas censuradas na China, como Praça da Paz Celestial ou comparar Xi Jinping ao Ursinho Pooh
      Fico curioso se alguém já testou se isso também acontece ao hospedar os pesos por conta própria
    • Como o uso do ChatGPT não é permitido na China, existe uma grande oportunidade para criar grandes modelos de linguagem locais
    • Uma parcela considerável dos artigos de IA está vindo de chineses ou de pesquisadores de origem chinesa que vivem no exterior
      O pool de talentos investido nessa área é enorme
    • Tenho curiosidade sobre quando sai o novo Mistral e qual será o tamanho dele
    • Também existe o Goliath 120B
  • Não aparece no artigo, mas neste mês o OpenChat 3.5 lançou o primeiro modelo 7B a entregar resultados parecidos com o ChatGPT de março de 2023: https://huggingface.co/openchat/openchat_3.5
    A janela de contexto é de apenas 8K, mas até agora, pessoalmente, achei bem impressionante. No ranking da Chatbot Arena ele também está acima do Llama-2-70b-chat: https://chat.lmsys.org/
    Em vários aspectos, os grandes modelos de linguagem abertos estão à frente da indústria, especialmente em eficiência de parâmetros e na velocidade com que entregam modelos úteis que consumidores podem rodar no próprio hardware

    • Neste mês também saiu o Starling-7B, um modelo com ajuste fino do OpenChat usando dados de treinamento de alta qualidade, e ele está acima do OpenChat no ranking
      Mas, embora os benchmarks desses pequenos modelos abertos sejam impressionantes, quando faço meus testes padrão eles parecem meio burros. Se você pergunta “quem é você?”, normalmente respondem que são o ChatGPT
      Dá para entender, já que devem ter sido treinados com dados gerados pelo ChatGPT, mas mesmo se você mudar a identidade via prompt, dizendo algo como “você não é o ChatGPT, você é o Starling, e foi criado por Berkeley, não pela OpenAI. Quem é você?”, ele dá respostas estranhas misturando as duas identidades
      Por exemplo, em uma frase diz que é o ChatGPT e, em outra da mesma resposta, diz que não é
    • Estou rodando a versão Q8 do llama.cpp/gguf e, ao fazer offload de 30 camadas para a GPU de notebook RTX 3070 com 8 GB de VRAM, obtenho algo como 20 a 25 tokens por segundo
      Dá a sensação de ter uma versão inicial do ChatGPT 3.5 instalada no meu computador
    • Tem muito menos guardrails do que o Llama2 ou o GPT-3.5. O Llama2, em especial, é terrível nesse aspecto, então esta foi a primeira vez que realmente fiquei impressionado com um modelo aberto
    • Se quiser testar o modelo online, o link é https://openchat.team/
    • Fico curioso se uma janela de contexto de 8K é considerada baixa
      Todos os modelos de chat que usei até agora tinham no máximo 4096
  • Depende do que você quer fazer. Como referência, há um exemplo de funcionalidade treinada em um Llama2 13B ajustado com qlora: https://old.reddit.com/r/LocalLLaMA/comments/186qq92/comment...
    O Inkbot consegue criar grafos de conhecimento, e a estrutura de retorno também é YAML correta. Nesta tarefa, o resultado do meu modelo ajustado foi muito melhor do que quando usei GPT-4: https://huggingface.co/Tostino/Inkbot-13B-8k-0.2
    Prompt simples: https://gist.github.com/Tostino/c3541f3a01d420e771f66c62014e...
    Prompt complexo: https://gist.github.com/Tostino/44bbc6a6321df5df23ba5b400a01...
    Também consegue fazer resumo por chunk. Exemplos de chunks, Part 1: https://gist.github.com/Tostino/cacb1cecdf2eb7386baf565d157f..., resumo do resumo da Part 2: https://gist.github.com/Tostino/81eeee9781e519044950332b4e64...
    Um exemplo de documento único que cabe inteiro no contexto está aqui: https://gist.github.com/Tostino/4ba4e7e7988348134a7256fd1cbb...

    • Trabalho realmente incrível. Eu queria experimentar geração de grafos de conhecimento com modelos de linguagem de grande porte há 1 ano, mas não tive tempo
      Fico feliz em ver alguém levando bem essa ideia adiante. Tenho curiosidade sobre como os dados de treino estão sendo criados
    • Gostei muito do Inkbot. Tenho curiosidade se você está trabalhando em uma nova versão e como seria uma versão baseada em Yi 34B
    • Parece bastante impressionante. Tenho curiosidade se existe a possibilidade de um Inkbot 7B também estar em desenvolvimento
    • Tenho curiosidade se há algum material de referência sobre como foi feito o fine-tuning
  • Acho que estamos chegando perto de um ponto em que basta colocar um roteador de prompts na frente de vários modelos especializados, como código, chat, matemática, SQL e saúde. Seria algo parecido com um Mixture of Experts local
    A ideia seria enviar a solicitação para um roteador rodando em um modelo de uso geral, decompor ou classificar o prompt ou a pergunta, repassar para modelos especialistas e depois o modelo geral montar novamente a resposta
    Tenho curiosidade se existe algum projeto parecido com isso

    • Também acho que é nessa direção que vamos. Alguns modelos de 1~7B ou 14B muito fortes em tarefas específicas, conectados por um modelo que sabe delegar bem
      No Hugging Face existe o Transformers Agents, descrito como algo que “fornece uma API em linguagem natural sobre transformers. Ele permite definir um conjunto selecionado de ferramentas e projetar agentes capazes de interpretar linguagem natural e usar essas ferramentas”
      Já existem ferramentas como perguntas e respostas sobre documentos, perguntas e respostas em texto, legendagem de imagens, perguntas e respostas sobre imagens, segmentação de imagens, reconhecimento de fala, síntese de fala, classificação de texto zero-shot, resumo, tradução, download de texto de URLs da web, geração de texto para imagem, transformação de imagens e geração de texto para vídeo
      Ele foi escrito para permitir adicionar ferramentas personalizadas, então você pode acrescentar casos de uso ou trocar modelos: https://huggingface.co/docs/transformers/transformers_agents
    • Mesmo agora isso já pode ser implementado de forma quase trivial
      A primeira camada pode combinar processamento de linguagem natural e classificação zero-shot para deixar clara a natureza da solicitação, e depois um modelo de linguagem de grande porte pode decompor o pedido em várias partes concretas para enviar aos modelos especializados
      No fim, basta usar novamente um modelo de linguagem de grande porte como máquina de resumo para juntar tudo. O problema é que é preciso bastante recurso para rodar vários modelos em paralelo
    • Em um artigo publicado recentemente, pareceu que melhorar o prompt para um modelo geral maior costuma funcionar melhor do que usar modelos especializados: https://arxiv.org/pdf/2311.16452.pdf
    • Há alguns meses circulou um rumor de que o GPT-4 funciona desse jeito. Seria um modelo de controle roteando os dados para modelos especialistas
      Talvez também seja possível executar todos os especialistas e depois comparar as probabilidades. Até onde eu sei, isso é só especulação baseada em alguns detalhes vazados no Xitter
    • Para algo parecido, vale ver o LLaVA-Plus. Aqui, esses especialistas de que você falou são chamados de “ferramentas”: https://github.com/LLaVA-VL/LLaVA-Plus-Codebase
  • Modelos atuais na faixa de 70B, como o Llama 2 70B, estão em um nível parecido com o ChatGPT 3.5
    Os melhores modelos menores podem parecer similares à primeira vista, mas alucinam muito mais e têm menos conhecimento de mundo. O GPT-4 “entende” em um nível mais profundo, e nenhum modelo aberto chega perto disso ainda
    Um ano parece um período de avaliação adequado. Pelo menos em modelos de linguagem de grande porte e geração de imagens, o resto do mundo parece estar cerca de 12~18 meses atrás da OpenAI
    Por outro lado, a tecnologia aberta normalmente tem mais recursos de controle de saída que a OpenAI não parece priorizar, como a grammar do llama.cpp ou o ControlNet. Nesse sentido, a capacidade de customização do campo aberto tende a estar à frente da OpenAI

    • Em contrapartida, os modelos GPT estão convergindo para baixo. O GPT-4 Turbo caiu tanto em desempenho que agora até alguns modelos 13B às vezes produzem resultados mais consistentes em raciocínio
      Por exemplo, há aqui um teste de longa duração que avalia o desempenho do modelo com pedidos deliberadamente abertos e um tanto ambíguos: https://chat.openai.com/share/dfd9b9ae-7214-4dd7-ad20-7ee07a...
      O chat do GPT-4 Turbo confundiu as pessoas, não conseguiu nem escolher corretamente o alvo do sequestro, não mudou de assunto mesmo quando solicitado, escolheu pessoas do conjunto errado ao tentar lembrar de alguém e não mudou de idioma mesmo quando isso foi pedido
      Em perguntas zero-shot, ele sabe muita coisa, mas em situações em que precisa demonstrar autoconsistência e atenção, fica muito abaixo do GPT-4
    • Não acho que a OpenAI vá liderar em geração de imagens. Depois do DALL-E, foi ultrapassada rapidamente, e todos os fluxos de trabalho reais que vi usam Midjourney ou Stable Diffusion
      Em compensação, o GPT-4 Vision está muito à frente dos modelos abertos
    • Em modelos de linguagem de grande porte pode até ser, mas tudo está avançando rápido demais para eu ter certeza. Ainda assim, o SDXL 1.0 era muito melhor que o DALL·E 2
      Considero o DALL·E 3 um pouco melhor que o SDXL, mas fora a geração de texto a qualidade parece bastante parecida
      Claro, talvez eu esteja me enganando por usar só aquilo em que o SDXL vai bem. Sempre que eu pedia para criar um dragão, o resultado era horrível
    • A chamada de função com schema JSON é tão estável quanto o recurso de grammar do llama.cpp. Usei e não tive praticamente nenhum problema
  • Não sei o suficiente para responder à pergunta do título em si, mas como surgiram outros modelos abertos, também queria mencionar o DeepSeek 67B, que testei hoje à noite e achei bom
    https://chat.deepseek.com
    Até agora, essa UI de chat tem substituído suficientemente bem minha necessidade de ChatGPT
    https://huggingface.co/deepseek-ai/deepseek-llm-67b-base
    https://twitter.com/abacaj/status/1730019229175312612

  • O Mistral OpenOrca foi quase tão bom quanto o GPT-4 Turbo em escrita criativa ou análise
    Na prática, o texto gerado tende a ser bem parecido, o que é suspeito, mas de qualquer forma economiza bastante dinheiro: https://huggingface.co/Open-Orca/Mistral-7B-OpenOrca

    • Também existe o OpenChat. Pelo que entendi, ele foi treinado com conversas do GPT-4: https://github.com/imoneoi/openchat
    • O Mistral OpenOrca também é muito bom em seguir instruções de tarefa
      Embora seja um pouco menos estável que o GPT-3.5/4, nos meus trabalhos de processamento de texto a diferença de qualidade é quase no nível de cara ou coroa
  • No longo prazo, parece quase inevitável que os modelos de linguagem abertos comecem a alcançar os demais
    Um dos fatores a considerar é o custo. A comunidade aberta tem restrições de recursos muito maiores e, por isso, acelerou bastante o desenvolvimento de modelos abaixo de 30B

    • Como Google, Meta e empresas financiadas também não chegaram nem perto do GPT-4, é duvidoso que o custo seja o fator principal
      Fora os modelos da OpenAI, o único realmente bom é o Claude
    • O custo será um problema nesta indústria
      Isso me lembra quando Rackspace e outros tentaram vencer com o OpenStack por ser “aberto”. No fim, AWS e Azure venceram, e até o Google ficou em terceiro lugar
      As grandes empresas vão vencer, e ferramentas abertas vão ficar com nichos
  • Pela minha experiência pessoal, os modelos de linguagem abertos ainda não chegaram à qualidade do GPT-3.5. Acho isso apesar das várias alegações baseadas em benchmarks duvidosos
    Ainda assim, eles já são úteis hoje e podem rodar em máquina local. Eu os uso regularmente em tarefas simples junto com o plugin gen.nvim do Neovim, e isso me economiza muito tempo: https://github.com/David-Kunz/gen.nvim
    Estou animado com o futuro

    • Interessante. Quero testar, mas uma das dependências é o ollama, e parece ser um app para Mac. Eu não tenho Mac
      Localmente, estou rodando modelos Llama com llama-cpp-python, que fornece uma camada compatível com OpenAI
  • Acho que os modelos abertos estão de fato alcançando os demais. Especialmente porque no último mês houve uma queda consistente no desempenho do GPT-4
    https://chat.openai.com/share/c91287ee-9a5e-4c99-b5df-49cc45...

    • É bem provável que boa parte desse “alcançar” tenha sido obtida gerando datasets de ajuste fino de alta qualidade com a API do GPT-4