Já faz um bom tempo que não temos notícias da @character_ai, mas hoje de repente vi que eles lançaram um novo modelo, "Kaiju". A Kaiju não busca modelos de propósito geral que atendam a padrões acadêmicos; em vez disso, concentra-se no desempenho do diálogo e na eficiência de implantação em ambientes de produção reais. Esta postagem no blog compartilha todo o processo, desde o design da arquitetura e a otimização do treinamento até a estratégia de dados e o alinhamento de segurança, e vale a pena ler. Visão geral do modelo A série Kaiju inclui três tamanhos: pequeno (13 bilhões de parâmetros), médio (34 bilhões de parâmetros) e grande (110 bilhões de parâmetros). Esses modelos são baseados em uma arquitetura Transformer densa, empregam uma abordagem generativa autorregressiva e são otimizados para cenários de diálogo. Ao contrário de modelos que buscam altas pontuações em benchmarks, o Kaiju prioriza a eficiência da inferência e a qualidade da interação do usuário, como respostas rápidas e diálogos dinâmicos. Isso reflete a visão da equipe de que o desempenho em produção é mais importante do que as métricas acadêmicas. O cerne deste artigo sobre inovação arquitetônica reside em múltiplas técnicas de otimização de eficiência para garantir que o modelo mantenha alto desempenho durante a implantação em larga escala: • Atenção a múltiplas consultas (MQA): Reduz o tamanho do cache de chave-valor (KV) e melhora a eficiência da inferência de diálogos. Embora haja uma ligeira perda de qualidade em alguns benchmarks, o impacto nas tarefas de diálogo é mínimo. • Atenção por janela deslizante: Limita o período de atenção a 1024 tokens e alterna entre camadas globais (proporção de 6:1). Isso reduz significativamente o custo computacional de contextos longos sem sacrificar a precisão da recuperação, evitando a complexidade de métodos tradicionais, como os coletores de atenção. • Compartilhamento KV entre camadas: Um cache KV é compartilhado a cada 2-3 camadas, comprimindo ainda mais a memória sem diminuição significativa da precisão. • Quantização Int8: Os pesos e as multiplicações de matrizes são armazenados e calculados usando inteiros de 8 bits, o que é 20 a 30% mais rápido do que números de ponto flutuante de 16 bits. O treinamento com reconhecimento de quantização (QAT) garante precisão quase nativa. Outras otimizações: A normalização da pré-camada (RMSNorm) e o bloqueio dinâmico melhoram a estabilidade e evitam problemas numéricos durante o treinamento. O treinamento do modelo foi realizado em um cluster de GPUs H100 do Google Cloud, empregando uma estratégia de paralelismo de modelo (paralelismo de tensores e sequências intra-nó e paralelismo de dados de shard completo entre nós). As principais técnicas de eficiência incluíram: • Computação de baixa precisão: Int8 é usado para pesos e pares chave-valor, BF16 é usado para ativação direta e gradientes locais, e FP32 é usado para acumulação de gradiente e pesos. • Compressão de gradiente: O algoritmo Squinch é introduzido para comprimir gradientes para 6 bits (modelagem em bloco, log-uniforme), reduzindo a sobrecarga de comunicação. • Estabilidade aprimorada: Para modelos pequenos, escalares virtuais do Bungee são usados para evitar estouro de Int8; atualizações de peso ternário (1,6 bits por parâmetro) também foram testadas para comprimir ainda mais o armazenamento. A estratégia de dados e a combinação de dados são fundamentais para o sucesso de Kaiju. Os autores dividem os dados em duas categorias: • MMLU Max: Baseado no benchmark AGI, inclui texto em escala de rede, código e dados sintéticos, e usa embeddings T5 para calcular a similaridade. Production Max: Foca-se na interação com o usuário e enfatiza o cumprimento de instruções. Nas fases finais do treinamento, foi empregada uma estratégia de recozimento para aumentar gradualmente os dados de instrução e o conteúdo relacionado ao MMLU, equilibrando o desempenho em benchmarks com aplicações do mundo real. Isso evitou a otimização excessiva de uma única métrica e garantiu que o modelo se comportasse de forma mais natural no diálogo. Segurança e alinhamento são os principais focos do artigo, que emprega uma abordagem em várias etapas: • Ajuste fino monitorado: Ajustar o comportamento do modelo usando dados de alta qualidade. • Aprendizagem por reforço: Melhorar a qualidade da interação modificando a otimização direta de preferências online (DPO) com base no feedback do usuário (como "deslizes" ou preferências). • Treinamento do classificador: Integra cabeças de classificação opcionais, fornecendo métricas de segurança em nível de rótulo. • Controle em tempo de inferência: Utiliza busca de pacotes guiada por classificador para garantir que o conteúdo gerado seja seguro e confiável. O artigo sobre desafios e soluções discute objetivamente as compensações envolvidas: por exemplo, embora o MQA seja eficiente, ele pode afetar as pontuações de benchmarks, o que os autores mitigam focando em tarefas que não envolvem Inteligência Artificial Geral (como diálogos); o cálculo de contextos longos é custoso, então janelas deslizantes e compartilhamento de chave-valor são usados para lidar com isso; o treinamento de baixa precisão é propenso à instabilidade, então inovações como QAT e Bungee são introduzidas. No geral, essas soluções demonstram que a otimização da eficiência não necessariamente sacrifica a qualidade, especialmente em ambientes de produção. Endereço do blog:
Carregando detalhes do thread
Buscando os tweets originais no X para montar uma leitura limpa.
Isso normalmente leva apenas alguns segundos.
