Tópicos populares
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Na noite passada, ensinei ao nanochat d32 como contar 'r' em morango (ou variações semelhantes). Achei que este seria um bom/exemplo divertido de como adicionar capacidades ao nanochat e escrevi um guia completo aqui:
Isto é feito através de uma nova tarefa sintética `SpellingBee` que gera exemplos de um usuário pedindo esse tipo de problema, e uma solução ideal de um assistente. Em seguida, fazemos um midtrain/SFT finetune sobre esses exemplos para dotar o LLM da capacidade, ou treinamos mais com RL para torná-lo mais robusto. Há muitos detalhes a acertar, especialmente em tamanhos de modelo menores, e o guia passa por eles. Como uma breve visão geral:
- Você deve garantir diversidade nos prompts/consultas dos usuários
- Para modelos pequenos como o nanochat, especialmente, você deve ter muito cuidado com os detalhes de tokenização para facilitar a tarefa para um LLM. Em particular, você deve ter cuidado com os espaços em branco, e então deve espalhar o cálculo do raciocínio por muitos tokens de solução parcial: primeiro padronizamos a palavra entre aspas, depois a soletramos (para quebrar os tokens), depois iteramos e mantemos um contador explícito, etc.
- Estou incentivando o modelo a resolver a tarefa de duas maneiras separadas: uma maneira manual (aritmética mental na sua cabeça) e também através do uso da ferramenta do interpretador Python ao qual o nanochat tem acesso. Isso é um pouco "ilusão de ótica" porque toda solução atualmente é "limpa", sem erros. Poder-se-ia ajustar a tarefa para simular erros e demonstrar recuperações por exemplo, ou rodar RL. Muito provavelmente, uma combinação de ambos funciona melhor, onde o primeiro atua como o anterior para o RL e fornece coisas para trabalhar.
Se o nanochat fosse um modelo muito maior, você esperaria ou esperaria que essa capacidade "aparecesse" mais facilmente em algum momento. Mas como o "cérebro" do nanochat d32 é do tamanho de uma ~abelha, se quisermos que ele conte os 'r's em morango, temos que fazer isso super-representando-o nos dados, para incentivar o modelo a aprendê-lo mais cedo. Mas funciona! :)

Top
Classificação
Favoritos

