Pular para o conteúdo

Aula 3 de 6 · 6 min · +100 XP

Como deixar um grande modelo de linguagem pequeno o bastante para um celular?

Dois truques principais encolhem um modelo de linguagem. A quantização guarda cada um dos bilhões de pesos com menos bits, por exemplo 4 em vez de 16, e o arquivo fica várias vezes menor e mais rápido, com pouca perda de qualidade, até o arredondamento passar do ponto. A destilação treina um modelo aluno pequeno para copiar as respostas de um modelo professor grande.

▶ Pratique

Por que isso importa

Os maiores modelos precisam de racks inteiros de chips. Encolhê-los é o que faz a IA rodar num notebook ou num celular, mais barata, mais rápida e até off-line, e explica por que modelos pequenos ainda podem ser bons.

Em 6 minutos você vai conseguir

  • O tamanho de um modelo é basicamente o número de pesos vezes os bits usados para guardar cada um.
  • Até uns 4 bits, a qualidade costuma cair só um pouco; bem abaixo disso, as respostas quebram.
  • Modelos pequenos no aparelho funcionam off-line e mantêm seu texto no seu aparelho.

O que você vai praticar

  1. Por que encolher um modelo?

    Toque em cada cartão.

    📦 Qual o tamanho de um modelo?
    Um modelo são bilhões de números chamados pesos. Com 16 bits cada, um modelo de 7 bilhões de pesos ocupa uns 14 GB.
    📱 Por que rodar no aparelho?
    Funciona off-line, responde sem ir até um servidor, e seu texto pode ficar no seu aparelho.
    ⚡ Por que menor é mais rápido?
    A cada token, o chip precisa ler os pesos da memória. Menos bytes para ler quer dizer mais tokens por segundo.
    💸 Por que os laboratórios ligam para isso?
    Atender milhões de pessoas custa chips e energia. Um modelo menor que responde quase tão bem sai muito mais barato.
  2. Encolha o Vireo para um celular

    Diminua a precisão e observe os pesos, o tamanho e a qualidade. Mande para o celular quando couber e ainda funcionar. Tamanhos, velocidades e notas são ilustrativos.

    Vireo · 7B

    • 32 bits: 28 GB · 2 tok/s · Qualidade 100% · A capital da Austrália é Camberra.
    • 16 bits: 14 GB · 5 tok/s · Qualidade 100% · A capital da Austrália é Camberra.
    • 8 bits: 7 GB · 9 tok/s · Qualidade 99% · A capital da Austrália é Camberra.
    • 4 bits: 3,5 GB · 16 tok/s · Qualidade 96% · A capital australiana é Camberra.
    • 2 bits: 1,75 GB · 21 tok/s · Qualidade 38% · A capital capital da Austrá é é Sydberra berra

    Vireo Mini · 1B

    • 32 bits: 4 GB · 12 tok/s · Qualidade 89% · Camberra é a capital da Austrália.
    • 16 bits: 2 GB · 24 tok/s · Qualidade 89% · Camberra é a capital da Austrália.
    • 8 bits: 1 GB · 44 tok/s · Qualidade 88% · Camberra é a capital da Austrália.
    • 4 bits: 0,5 GB · 70 tok/s · Qualidade 85% · Camberra é a capital australiana.
    • 2 bits: 0,25 GB · 84 tok/s · Qualidade 31% · Camberra a a da capital Aus Aus
    1. Faça o Vireo caber nos 4 GB livres do celular, com qualidade de 90% ou mais.

      ✓ 4 bits por peso: um oitavo do tamanho original e quase tão bom quanto. É por isso que modelos de 4 bits são populares em notebooks e celulares.

    2. Mesmo com 2 bits, o modelo 7B tem 1,75 GB, e está quebrado. Como conseguir um modelo bem menor que ainda responda bem?

      • ✓ Treinar um aluno pequeno para copiar as respostas do modelo grande: Isso é destilação. O aluno aprende com as chances completas do professor para cada palavra, não só certo ou errado, então aprende muito com pouco.
      • ✗ Apagar ao acaso a maioria das camadas do modelo grande: Cortar camadas ao acaso quebra o que o modelo aprendeu. A destilação guarda o conhecimento ensinando um modelo menor de propósito.
      • ✗ Treinar um modelo pequeno do zero com poucos dados: Um modelo pequeno treinado sozinho com poucos dados aprende bem menos. Copiar as respostas de um professor grande dá a ele uma vantagem.

      Um celular mais barato só tem 0,8 GB livres. Mande o aluno com qualidade de 80% ou mais.

      ✓ Destilação e depois quantização: um modelo que começou com 28 GB agora responde bem em meio gigabyte. Os laboratórios combinam os dois truques o tempo todo.

  3. Qual é o truque?

    Isto é quantização, destilação ou deixa o modelo maior?

    • Guardar cada peso com 4 bits em vez de 16 → Quantização
    • Um modelo 1B treinado com as respostas de um modelo 70B → Destilação
    • Arredondar 0,73914 para 0,74 em todos os pesos → Quantização
    • Acrescentar o dobro de camadas → Deixa maior
    • Copiar as chances do professor para cada próxima palavra → Destilação
    • Treinar com dez vezes mais texto e mais pesos → Deixa maior

Lembre-se

A quantização arredonda cada peso para menos bits; a destilação ensina um modelo pequeno a copiar um grande. As duas fazem a IA caber em aparelhos menores.

Arredondar os pesos para menos bits encolhe muito o modelo com pouca perda, até passar do ponto. Um modelo aluno pode aprender com um professor.

Fatos principais

  • A destilação de conhecimento, treinar um modelo pequeno com as saídas suavizadas de um grande, foi popularizada num artigo de 2015. · Fonte: Hinton, Vinyals and Dean, Distilling the Knowledge in a Neural Network, Google, 2015
  • O DistilBERT era 40% menor e 60% mais rápido que o modelo BERT com que aprendeu, mantendo 97% da compreensão de linguagem dele. · Fonte: Sanh et al., DistilBERT, Hugging Face, 2019
  • Guardar os pesos em 8 bits permitiu a pesquisadores rodar modelos de até 175 bilhões de parâmetros sem perda de desempenho. · Fonte: Dettmers et al., LLM.int8(), 2022
  • Com pesos de 4 bits, pesquisadores fizeram o ajuste fino de um modelo de 65 bilhões de parâmetros numa única placa de vídeo de 48 GB. · Fonte: Dettmers et al., QLoRA, 2023
  • Um modelo de 7 bilhões de pesos precisa de uns 14 GB com 16 bits por peso, e de uns 3,5 GB com 4 bits.

Atualizado:

Perguntas frequentes

O que é quantização em LLMs?

A quantização guarda os pesos de um modelo com menos bits, por exemplo 4 em vez de 16. O modelo fica várias vezes menor e mais rápido, em geral com só uma pequena queda de qualidade.

O que é destilação de modelos?

A destilação treina um modelo aluno pequeno para imitar as saídas de um modelo professor grande, inclusive o quanto ele acha provável cada próxima palavra. O aluno fica bem melhor que um modelo pequeno treinado sozinho.

Dá para rodar um LLM no celular?

Sim. Modelos pequenos, com alguns bilhões de pesos ou menos, muitas vezes quantizados para 4 bits, rodam em celulares e notebooks modernos, até sem internet.

A quantização piora o modelo?

Um pouco. Até uns 8 ou 4 bits a perda costuma ser pequena, mas com precisão muito baixa, como 2 bits, os erros de arredondamento se acumulam e as respostas podem quebrar.

Termos relacionados