Vamos revolucionar o Bit-TTT-Engine. Até agora, estávamos em um estado onde "apenas LLMs criados com o Bit-TTT-Engine funcionavam → não havia LLMs", mas vamos criar uma ferramenta de conversão de 1.58 bits que decompõe LLMs existentes (como arquivos safetensors do Llama-3) em precisão de bits variável (1.58bit x N). A imagem abaixo é um protótipo em Python, e os resultados de experimentos realizados com uma matriz gaussiana de 4096x4096 (equivalente a uma camada do Llama-3). 1. Alta eficiência de compressão: mesmo usando três bases (Base 3), conseguimos um tamanho de cerca de 30% em relação ao FP16 (32MB). 2. Redução de erro: com a decomposição em três etapas, o erro (RMSE) foi reduzido para cerca de 1/4 do valor inicial. 3. Viabilidade: o protótipo em Python opera rapidamente, e a conversão de todo o Llama-3 é viável em um tempo suficientemente realista. Com esses resultados, podemos concluir que, se o lado do motor Rust suportar "adição de base de comprimento variável", é tecnicamente viável operar modelos da classe Llama-3 com alta precisão em 4GB de VRAM. Abaixo está o roadmap. --- 🚀 Roadmap do Projeto: Fase 10.5 (Decomposição Adaptativa) Missão: Fazer modelos da classe Llama-3 (8B) funcionar em GPUs para consumidores (VRAM de 4GB) com "velocidade e precisão práticas". 🎯 Conceito Central Eliminar a "necessidade de re-treinamento" que era uma limitação do BitNet existente (1.58bit). Através da quantização pós-treinamento (PTQ) e da Decomposição Ternária Adaptativa (ATD), tornar os modelos FP16 existentes dinamicamente quantizáveis e executáveis. 📅 Fases de Desenvolvimento Fase 1: A Ponte (Ferramentas Python & Layout de Dados) Objetivo: Decompor modelos existentes em "N bases" e armazená-los em um formato otimizado para GPU. 🔧 Implementação: Conversor (convert_adaptive.py): Implementação de um algoritmo de decomposição de pesos usando o método Greedy Residual. Empacotamento Intercalado: Para priorizar a velocidade de inferência, adotamos um formato weight_packed onde [w0, w1, w2] são dispostos intercaladamente por unidade de parâmetro. Suporte Legado: Design de dados que mantém a compatibilidade com modelos BitNet existentes (N=1). ...