1 of 18

Olá para lhama

montando seu próprio chatgpt localmente

2 of 18

3 of 18

Não!

4 of 18

LLM e Tokenization

  • Large language model
  • Arquitetura transformer de deep learning para GERAR textos humanos
  • Geralmente uma token é representada por uma palavra, mas subpalavras ou pontuações também podem ser tokens
  • Basicamente a LLM PREDIZ o próximo token baseado nos tokens anteriores
  • Token é o produto gerado, sendo os benchmarks baseados no numero de tokens por espaço de tempo (x tokens por segundo)

5 of 18

Por que não o chatgpt?

  • Chatgpt é um produto fechado e está sujeito às regras da empresa
  • Pode conter biase e impactar negativamente no resultado
  • Você precisa enviar e entregar os dados para a plataforma
  • Pode te bloquear/reportar o uso "indevido"
  • O será feito com os resultados e dados das suas interações? Quem leu os termos de uso?

6 of 18

Opções online

Existem demais alternativas além do chatgpt

  • Perplexity AI
  • Microsoft copilot/github copilot
  • Google gemini
  • Claude
  • ..

Cada uma com sua especialidade, mas todas com os mesmos problemas anteriormente citados…

GPT é uma variante LLM, assim como T5, Bert e outros…

7 of 18

Opções offline

  • LocalGPT;
  • TGI;
  • HuggingFaces;
  • DeepSpeed;
  • AutoGPTQ;
  • LM Studio;
  • FastChat;
  • KoboldCPP;
  • vLLM;
  • msty;
  • Ollama…

8 of 18

9 of 18

O que é LLaMA?

  • Familia de modelos LLM "open source" da Meta;
  • Para interagir com modelos LLM, a meta criou o Ollama, um CLI e também um http server(API);
  • Com o Ollama você consegue "baixar" os modelos e demais hospedados em ollama.com/library;
  • Também possui comandos para executar um modelo via terminal;
  • Facilita treinar novos modelos, reutilizar, ou converter;
  • "Open-webui" é uma ótima interface para interagir com o ollama;
  • "Continue" é uma ótima extensão para o vs code com o mesmo propósito;

10 of 18

O que você precisa?

  • Um ótimo host com uma boa GPU (MÍNIMO 8GB VRAM)
  • Docker + Docker Compose
  • VS code insiders - para testar sem comprometer o teu vs code (caso você utilize)
  • Extensão "continue" (continue.dev)
  • Clone o repositório github.com/fabiosammy/hello_llama
  • Carregue o code-insiders com `code-insiders .`
  • Suba o llama com `docker compose up`
  • Dentro do code-insiders, simplesmente acesse a extensão "continue" e faça os testes com o modelo "llama"
  • Mais detalhes no arquivo README.md

11 of 18

Demonstração…

12 of 18

Dicas

Para selecionar os modelos, você tem que buscar algumas características:

  • Parametros: Geralmente quanto maior o número de parâmetros do modelo, melhor será o resultado, mas também será necessário mais VRAM e consumirá mais recursos, e possivelmente será mais lento;
  • Quantização: Caso você tenha recursos limitados, e queira testar modelos com número de parâmetros maiores, você pode optar por diminuir a precisão dos valores da rede (precisão completa são números que ocupam 32 bits). Então um modelo com 4-bit de precisão ocupará 8x menos espaço, e pode que possua um menor tempo de resposta.

13 of 18

Dicas

  • Se a sua aplicação requer comunicação em tempo real (chat), opte por modelos menores na quantidade de parâmetros;
  • Se você pode rodar processos em background (gerar resultados assíncronos), modelos maiores podem ter resultados mais consistentes/proveitosos;
  • Técnicas de fine-tuning podem ser aplicadas, isso é, reutilizar o modelo e re-treinar com dados próprios;
  • Recomendo ler o paper do modelo starcoder2 para mais detalhes de como um modelo assim funciona

14 of 18

Dicas

  • Estudem um pouco de python, pytorch e tensorflow;
  • Se quer estudar essa área mas não tem um hardware potente, quantization é um excelente forma de conseguir testar algo
  • CPUs normais são inviáveis para executar essas tarefas, nem perca o seu tempo com isso
  • Explore a open-webui e seu repositório no github
  • Tudo é através de ajustes, não desista na primeira resposta frustrante

15 of 18

Dicas

Deep learning, transformers e llms não são novidades, pesquisem pelos autores principais:

  • Geoffrey Hinton
  • Yann Lecun

16 of 18

E lembrem-se…

17 of 18

IA não pensa!

18 of 18

Ainda Dúvidas?

E-mail us!

fabio.leandro@codeminer42.com