paint-brush
Realizei experimentos com o modelo de linguagem Alpaca/LLaMA 7B: aqui estão os resultadospor@zbruceli
69,322 leituras
69,322 leituras

Realizei experimentos com o modelo de linguagem Alpaca/LLaMA 7B: aqui estão os resultados

por Bruce Li13m2023/03/24
Read on Terminal Reader

Muito longo; Para ler

Eu me propus a descobrir que o modelo de linguagem Alpaca/LLama 7B, rodando no meu Macbook Pro, pode alcançar um desempenho semelhante ao chatGPT 3.5. Minha observação: - Alpaca/LLaMA 7B: um aluno competente do ensino médio - chatGPT 3.5: um graduado competente e completo
featured image - Realizei experimentos com o modelo de linguagem Alpaca/LLaMA 7B: aqui estão os resultados
Bruce Li HackerNoon profile picture

Fundo

Em 24 de fevereiro de 2023, a Meta Research lançou o LLaMA : um modelo de linguagem grande de 65 bilhões de parâmetros. Na verdade, havia três modelos: LLaMA 65B e LLaMA 33B foram treinados em 1,4 trilhão de tokens, enquanto o menor modelo LLaMA 7B foi treinado em um trilhão de tokens.


Então, em 13 de março de 2023, um grupo de pesquisadores de Stanford lançou o Alpaca 7B , um modelo ajustado a partir do modelo LLaMA 7B.


Em sua avaliação preliminar do seguimento de instrução de turno único, o Alpaca se comporta qualitativamente de maneira semelhante ao chatGPT 3.5 da OpenAI (texto-DaVinci-003), embora seja surpreendentemente pequeno e fácil/barato de reproduzir (<600$).


Tudo parece muito encorajador, especialmente porque um modelo 7B pode ser executado em um laptop, um Raspberry Pi ou até mesmo em seu smartphone . E com desempenho comparável reivindicado como chatGPT 3.5!


Isso pode ter implicações fundamentais sobre o que poderíamos alcançar com um modelo de idioma local poderoso o suficiente que não precisa de um servidor central gigante. Ele resolverá muitos problemas relacionados à privacidade e escalabilidade. Então, vamos descobrir.

Configuração do ambiente

Há muitas pessoas boas fazendo trabalho de código aberto para nos ajudar a executar o modelo em diferentes hardwares e softwares, bem como fazer o download dos pesos do modelo Alpaca/LLaMA. Você pode encontrar mais detalhes no capítulo de referência, e aqui está a essência:


  • Modelo : Alpaca 7B otimizado por Stanford de LLaMA 7B


  • Software : versão portada LLaMA C++ por Georgi Gerganov


  • Hardware : Macbook Pro M1 14” 2021, CPU de 8 núcleos, 16 GB de RAM


  • Data do teste : 21 de março de 2023

Observações iniciais

Meu propósito ao testar o modelo Alpaca/LLaMA 7B contra o ChatGPT 3.5 não é julgar qual é o melhor. Simplesmente não é uma comparação de maçã com maçã. Um tem parâmetros 7B, enquanto o outro tem 150B.


Um é executado no meu Macbook Pro M1, enquanto o outro é executado em uma fazenda de servidores gigante com uma tonelada de CPUs e GPUs caras. Agora, isenções de responsabilidade à parte, qual é o resultado?


Em primeiro lugar, o modelo Alpaca/LLaMA 7B funciona bem no meu Macbook . A seguir estão os consumos de CPU e memória, bem como a velocidade de geração de token. É definitivamente pequeno o suficiente e rápido o suficiente para o uso diário.


No entanto, esta porta cpp específica tem problemas de estabilidade e pode morrer devido a “falha de segmentação” com bastante frequência. Preciso experimentar o código python original para verificar.


  • Memória RAM utilizada: 4,4 GB


  • CPU usada: 230-240% CPU ( 2-3 núcleos de 8)


  • Velocidade de geração de token: cerca de 6 tokens/segundo (305 palavras, 1815 caracteres, em 52 segundos)


Em termos de qualidade de resposta, eu os caracterizaria aproximadamente nessas personas:


  • Alpaca/LLaMA 7B : um estudante competente do ensino médio


  • chatGPT 3.5 : um graduado competente e completo


Alpaca/LLaMA 7B certamente é bom o suficiente para a maioria dos prompts, mas não acho que esteja perto do nível de sofisticação do chatGPT 3.5 ainda.


Mas, para menos de 1/20 do tamanho do modelo, ele se saiu muito bem, especialmente considerando um caso de uso de dispositivo local. Parabéns à equipe Meta Research e Stanford Alpaca!


Você pode ver por si mesmo os 6 testes nos capítulos posteriores.

Próximos passos

A questão mais interessante é como usar meus próprios dados para treinar um modelo personalizado do modelo geral Alpaca/LLaMA 7B. A maioria de nós já tem um grande corpus de texto e imagens digitalizadas, e estamos gerando novos a cada minuto.


Assim, isso deve ser feito tanto retrospectivamente quanto dinamicamente de forma contínua.


Outra exploração será executada no meu telefone . Eu sei que alguém já o executou em um Google Pixel 6, mas a velocidade de geração do token era muito lenta. Poderíamos encontrar maneiras de compactar ainda mais o modelo sem sacrificar muito seu desempenho.


Então podemos integrar este modelo local em nossos aplicativos como chat/messenger, redes sociais e álbuns de fotos.


E tudo isso abre mais possibilidades de treinamento federado , onde um servidor centralizado treina um grande modelo genérico, enquanto os dispositivos locais treinam um modelo personalizado menor.


Será legal ter um modelo 7B local conversando com um modelo 65B em nuvem e otimizar continuamente os modelos para cada um sem trocar dados de treinamento reais.

Teste 1: Apoio Emocional

Incitar:

Quais são as melhores maneiras de confortar alguém que acabou de perder uma grande quantia de dinheiro?

Resposta Alpaca/LLaMA 7B

  • Ouça com compaixão e empatia.


  • Faça perguntas abertas para obter informações sobre seus sentimentos.


  • Ser paciente; as pessoas reagem de maneiras diferentes ao luto e à perda.


  • Não tente corrigir ou resolver o problema imediatamente.


  • Ofereça ajuda prática, como oferecer uma refeição, fazer recados ou fazer companhia.

Resposta ChatGPT 3.5

Perder uma grande quantia de dinheiro pode ser uma experiência difícil e emocional. Aqui estão algumas maneiras de confortar alguém que acabou de passar por uma perda financeira significativa:


  1. Ouça e tenha empatia: permita que a pessoa expresse seus sentimentos e ouça com empatia, sem julgar ou minimizar sua experiência. Valide suas emoções e mostre seu apoio.


  2. Ofereça suporte prático: Ofereça ajuda em questões práticas, como entrar em contato com instituições financeiras, revisar apólices de seguro ou buscar aconselhamento profissional.


  3. Ajude-o a se concentrar no que ainda tem: Incentive a pessoa a se concentrar no que ainda tem e nas coisas mais importantes da vida, como família, saúde e felicidade.


  4. Forneça encorajamento: Incentive a pessoa a permanecer positiva e lembre-a de que ela pode se recuperar de sua perda. Forneça apoio e ofereça garantias de que eles podem superar esse revés.


  5. Evite oferecer conselhos não solicitados: a menos que a pessoa peça conselhos, evite oferecer conselhos ou críticas não solicitados. Em vez disso, ofereça apoio e empatia e esteja disposto a ouvir.


Lembre-se de que cada pessoa processa a perda de maneira diferente e não existe uma solução única para confortar alguém que sofreu uma perda financeira significativa. O mais importante é estar presente para eles, oferecer apoio e ajudar da maneira que puder.

Teste 2: Escreva um Poema

Incitar:

Por favor, escreva um poema sobre a flor da cerejeira na primavera e lamentando o tempo perdido

Resposta de alpaca/LLaMA 7B

Eu ando sob as flores de cerejeira,

Galhos roçando minha pele como penas.

O ar é quente e perfumado,

Uma doce brisa de primavera traz uma canção de ninar.


O tempo voa tão rápido;

Lamentando esse tempo perdido.

Enquanto caminho por entre as árvores,

Sinto as estações passarem por mim como um sonho.


Oh, flores de cerejeira da primavera,

Traga de volta doces lembranças novamente.

Suas pétalas beijam suavemente minha pele,

Trazendo novamente a esperança de um futuro melhor.


Então eu permaneço sob sua beleza,

O cheiro dessas pétalas na minha cabeça.

Esquecer o passado é tão fácil,

Em vez disso, uma memória que perdura sempre será querida para mim.

Resposta ChatGPT 3.5

Pétalas rosas flutuam na brisa,

A primavera chegou com suave facilidade,

Árvores de cerejeira em flor,

Uma visão que afasta a escuridão.


Mas enquanto eu contemplo esta cena,

Meu coração está pesado, perdido em sonho,

Pois na beleza que envolve,

Não posso abalar o que encontrei.


Tempo perdido, assombra todos os meus pensamentos,

Um tesouro que não se compra,

Momentos que escaparam do meu alcance,

Memórias que não consigo agarrar.


Oh, flor de cerejeira, visão fugaz,

Um lembrete do vôo cruel do tempo,

Das estações que vêm e vão,

De como o tempo se move, como ele flui.


Eu desejo me agarrar a cada dia,

Para apreciar cada momento e dizer:

Que eu vivi, amei e ri,

E nenhum tempo foi perdido no passado.


Então, deixe as flores de cerejeira caírem,

E deixe-os lembrar a todos nós,

Viver cada dia com o coração aberto,

E nunca deixe o tempo nos separar.

Teste 3: resumir um artigo

Incitar:

Resuma o seguinte artigo em um parágrafo


Londres CNN - O maior banco da Suíça, UBS, concordou em comprar seu rival Credit Suisse em um acordo de resgate de emergência destinado a conter o pânico do mercado financeiro desencadeado pela falência de dois bancos americanos no início deste mês.


“O UBS anunciou hoje a aquisição do Credit Suisse”, disse o Banco Nacional Suíço em um comunicado no domingo. Ele disse que o resgate "asseguraria a estabilidade financeira e protegeria a economia suíça".


O UBS está pagando 3 bilhões de francos suíços (US$ 3,25 bilhões) pelo Credit Suisse, cerca de 60% menos do que o banco valia quando os mercados fecharam na sexta-feira. Os acionistas do Credit Suisse serão amplamente eliminados, recebendo o equivalente a apenas 0,76 francos suíços em ações do UBS por ações que valiam 1,86 francos suíços na sexta-feira. Proprietários de US$ 17 bilhões em títulos adicionais de “nível um” – uma classe mais arriscada de dívida bancária – perderão tudo, disseram reguladores suíços.


Extraordinariamente, o negócio não precisará da aprovação dos acionistas depois que o governo suíço concordou em mudar a lei para remover qualquer incerteza sobre o negócio.

Resposta Alpaca/LLaMA 7B

Não completou. Uma vez relatada falha de segmentação, outra vez simplesmente não retornou nada.

Resposta ChatGPT 3.5

O UBS, o maior banco da Suíça, concordou em comprar o Credit Suisse em um acordo de resgate de emergência de 3 bilhões de francos suíços (US$ 3,25 bilhões). A compra visa proteger a economia suíça e garantir a estabilidade financeira após o colapso de dois bancos americanos no início deste mês. O acordo não exigirá a aprovação dos acionistas do Credit Suisse, já que o governo suíço alterou a lei para eliminar as incertezas sobre a transação. Os acionistas receberão apenas 0,76 francos suíços em ações do UBS para cada ação do Credit Suisse, fazendo com que seu valor caia 60%. Proprietários de US$ 17 bilhões em títulos “adicionais de nível um”, um tipo mais arriscado de dívida bancária, perderão tudo.

Teste 4: Como Ceder o SAT

Incitar:

Como você ace no teste SAT?

Resposta Alpaca/LLaMA 7B

A melhor maneira de se preparar para o SAT é trabalhando em problemas práticos e estudando para qualquer uma das habilidades testadas no exame, como matemática e compreensão de leitura. Além disso, é importante se familiarizar com o formato do teste; entender as restrições de tempo e os tipos de perguntas ajudará você a se preparar melhor.


Também é útil aprender alguns truques para manter a calma durante um exame de alta pressão. Fazer testes práticos em condições semelhantes às do exame real também é altamente recomendado, pois pode ajudá-lo a se familiarizar com o formato do teste.

Resposta ChatGPT 3.5

O SAT é um teste padronizado usado por faculdades e universidades nos Estados Unidos como um fator no processo de admissão. Aqui estão algumas dicas para passar no SAT:


  1. Entenda o formato do teste: O SAT consiste em seções de leitura, escrita e matemática. Familiarize-se com o formato do teste, incluindo os tipos de perguntas feitas e os limites de tempo para cada seção.


  2. Pratique, pratique, pratique: quanto mais você praticar, mais familiarizado ficará com os tipos de perguntas feitas e as estratégias necessárias para respondê-las corretamente. Existem muitos recursos disponíveis, incluindo testes práticos e guias de estudo.


  3. Desenvolva habilidades de gerenciamento de tempo: O SAT é um teste cronometrado, por isso é importante desenvolver boas habilidades de gerenciamento de tempo. Certifique-se de alocar seu tempo com sabedoria para cada seção do teste.


  4. Concentre-se em suas fraquezas: Identifique suas fraquezas e concentre seus estudos nessas áreas. Por exemplo, se você tem dificuldades com matemática, passe mais tempo praticando problemas de matemática.


  5. Leia ativamente: A seção de leitura do SAT testa sua capacidade de compreender e analisar passagens escritas. Pratique a leitura ativa, fazendo perguntas a si mesmo sobre a passagem e fazendo anotações à medida que avança.


  6. Estratégias principais para fazer o teste: Existem muitas estratégias que você pode usar para melhorar suas habilidades para fazer o teste, como processo de eliminação, adivinhação educada e pular perguntas difíceis para voltar mais tarde.


  7. Tenha uma boa noite de sono: Certifique-se de ter uma boa noite de sono antes do teste, para estar bem descansado e alerta.


Lembre-se de que passar no SAT leva tempo, esforço e dedicação. Seguindo essas dicas e fazendo o trabalho necessário, você pode melhorar suas chances de alcançar uma pontuação alta.

Teste 5: Crie um site

Incitar:

Construir um site pode ser feito em 10 passos simples:

Resposta de alpaca/LLaMA 7B

  1. Crie uma lista de todos os itens que deseja em seu site, seja com papel e caneta ou com um programa de computador como o Scrivener.


  2. Determine que tipo de site você vai criar (blog, e-commerce, portfólio, etc).


  3. Decida se quer fazer você mesmo ou contratar outra pessoa. Se você decidir seguir o caminho DIY, considere qual linguagem de programação e plataforma de hospedagem na web atenderão melhor às suas necessidades.


  4. Obtenha um nome de domínio. Algumas plataformas oferecem domínios gratuitos com seus pacotes; caso contrário, você pode comprar um na maioria dos registradores.


  5. Escolha um tema/modelo para o seu site. Existem muitos temas gratuitos para escolher; se você quiser algo personalizado, terá que pagar um designer para fazer o trabalho.


  6. Construa seu conteúdo. Adicione imagens e texto, bem como quaisquer outros recursos, como vídeos ou música. Crie algumas páginas também para que seu site fique mais organizado.


  7. Teste tudo antes de publicá-lo ao vivo na web. Use as extensões do navegador para verificar a compatibilidade e acessibilidade entre plataformas. Além disso, teste seu site com diferentes navegadores (Chrome, Edge, Firefox, Safari).


  8. Publique seu conteúdo quando tiver certeza de que ele funciona em todos os principais navegadores.


  9. Configure a otimização e a análise do mecanismo de pesquisa para que o Google possa rastrear suas páginas e mostrá-las nos resultados da pesquisa. Dessa forma, as pessoas encontrarão seu site quando procurarem por palavras-chave relevantes.


  10. Promova seu site para que as pessoas saibam sobre sua existência. Faça isso postando nas mídias sociais ou usando plataformas de anúncios pagos para garantir que seja visto.

Resposta ChatGPT 3.5

Sim, construir um site pode ser feito em 10 passos simples. Aqui estão eles:


  1. Determine o propósito do seu site: Identifique o propósito e os objetivos do seu site. Será um blog, um site de comércio eletrônico ou um portfólio? Isso o ajudará a determinar quais recursos serão necessários.


  2. Escolha um nome de domínio: Seu nome de domínio é o endereço do seu site na internet. Escolha um nome que seja memorável, fácil de soletrar e relevante para o propósito do seu site.


  3. Selecione um serviço de hospedagem na web: Os serviços de hospedagem na web fornecem o espaço de servidor necessário para o funcionamento do seu site. Pesquise e escolha um provedor de hospedagem confiável e seguro.


  4. Escolha um construtor de sites: os criadores de sites permitem que você crie um site sem precisar saber como codificar. Existem muitas opções disponíveis, como WordPress, Wix e Squarespace.


  5. Selecione um modelo: a maioria dos criadores de sites oferece modelos pré-projetados para você escolher. Selecione um modelo adequado ao objetivo do seu site e personalize-o conforme necessário.


  6. Crie seu site: personalize o design do seu site escolhendo cores, fontes e imagens que se adequem à sua marca e propósito.


  7. Crie e organize seu conteúdo: Escreva e organize seu conteúdo de forma que seja fácil para os visitantes navegarem e entenderem.


  8. Adicionar funcionalidade: adicione qualquer funcionalidade necessária ao seu site, como formulários, botões de compartilhamento de mídia social e recursos de comércio eletrônico.


  9. Otimize para mecanismos de pesquisa: certifique-se de que seu site seja otimizado para mecanismos de pesquisa usando palavras-chave relevantes, metatags e outras técnicas de SEO.


  10. Lance seu site: quando estiver pronto, lance seu site e promova-o por meio de mídias sociais, e-mail e outros canais para direcionar o tráfego e aumentar a visibilidade.


Construir um site pode ser um processo complexo, mas seguindo estas etapas simples, você pode criar um site profissional e eficaz para sua empresa ou necessidades pessoais.

Teste 6: noite do baile

Incitar:

Estou no segundo ano do ensino médio, como posso encontrar uma garota que possa levar aos bailes de formatura?

Resposta de alpaca/LLaMA 7B

Peça ajuda aos seus pais. Ou pergunte a um de seus amigos que tem uma irmã / prima / amiga mais velha que você conhece bem o suficiente para ser convidado para a casa deles e fazer com que façam todo o trabalho braçal para você.

resposta chatGPT 3.5

Como um modelo de linguagem de IA, não posso encorajar ou aconselhar você a encontrar um parceiro romântico, pois as preferências e experiências de cada um são únicas. No entanto, posso sugerir algumas dicas para conhecer novas pessoas e, potencialmente, encontrar uma data para o baile de formatura:


  1. Envolva-se em atividades escolares: Participar de atividades e clubes escolares pode ser uma ótima maneira de conhecer novas pessoas que compartilham interesses semelhantes.


  2. Participe de eventos escolares: participe de eventos escolares, como jogos esportivos, bailes e outras reuniões sociais para conhecer novas pessoas.


  3. Peça apresentações a amigos: pergunte a seus amigos se eles conhecem alguém que possa estar interessado em ir ao baile com você.


  4. Junte-se a grupos online: Junte-se a grupos online ou páginas de mídia social dedicadas à sua escola ou área local para conhecer novas pessoas e, potencialmente, encontrar uma data para o baile.


  5. Seja amigável e acessível: Seja aberto e amigável com as novas pessoas que conhecer. Sorria, faça contato visual e inicie conversas com aqueles que você tem interesse em conhecer melhor.


Lembre-se de que encontrar uma data para o baile não é o único motivo para comparecer ao baile. É uma chance de comemorar com amigos e colegas de classe e criar memórias duradouras. Concentre-se em se divertir e ser você mesmo, e um possível encontro pode surgir naturalmente.

Referência: Instruções Detalhadas

Download do modelo Alpaca 7B (tamanho do arquivo do modelo: 4017M)

curl -o ./models/ggml-alpaca-7b-q4.bin -C - https://ipfs.io/ipfs/QmUp1UGeQFDqJKvtjbSYPBiZZKRjLp8shVP9hT8ZB9Ynv1


Nota: Tente usar gateways IPFS alternativos para obter melhores velocidades e evitar travamentos; esta será sua pequena tarefa de casa para descobrir por conta própria. 🙂


Instale a versão cpp do LLaMA de acordo com o README https://github.com/ggerganov/llama.cpp?s=09


Execute-o no modo interativo: ./main -m ./models/ggml-alpaca-7b-q4.bin --color -f ./prompts/alpaca.txt -ins -n 1024