
Model Genome tenta identificar se um LLM foi treinado do zero ou derivado
A pergunta
Quando um laboratório anuncia um modelo de linguagem "desenvolvido do zero", como verificar isso usando apenas artefatos públicos? O projeto Model Genome propõe um pipeline reprodutível que faz fingerprint de modelos em três eixos - arquitetura, tokenizer e pesos - e os combina num "genótipo" visual. O trabalho foi aplicado aos modelos públicos de nove organizações coreanas.
Eixo 1 - Arquitetura (config.json)
O arquivo config.json de cada checkpoint contém campos como model_type, vocab_size, hidden_size, intermediate_size, num_hidden_layers e número de heads. A tupla dessas dimensões funciona como uma impressão digital da arquitetura de referência. Quando a tupla de um modelo coincide exatamente com a de um modelo open-weight estrangeiro (ex.: Qwen2.5-7B, Llama-3.1-8B, DeepSeek-V3), isso é forte evidência de que a arquitetura foi adotada, não projetada independentemente.
Eixo 2 - Tokenizer (teste de paternidade)
Comparando os vocabulários dos tokenizers via razão de sobreposição mínima, é possível detectar casos que o config.json esconde. Um modelo tinha arquitetura idêntica ao Qwen2.5-7B, mas sobreposição de apenas ~0,38 com o tokenizer do Qwen - indicando arquitetura estrangeira com tokenizer próprio. Outros modelos reutilizam o tokenizer base integralmente (sobreposição = 1.000), confirmando fine-tune direto.
Eixo 3 - Pesos (o mais difícil)
Duas armadilhas foram identificadas:
Cosseno por linha é inútil: por causa da invariância rotacional do espaço latente do Transformer, dois modelos podem codificar informação idêntica sob rotações ortogonais arbitrárias, fazendo o cosseno por linha ser próximo de zero mesmo entre modelos que compartilham linhagem.
CKA ajuda, mas não basta: CKA linear é invariante a rotação e escala isotrópica. Um modelo treinado do zero pontua CKA próximo de zero contra a base candidata (confirmando treinamento independente). Porém, um modelo derivado por continued pretraining pontua apenas ~0,25 - pouco acima do baseline entre modelos não relacionados da mesma família (~0,21). Treinamento em larga escala remodela embeddings o suficiente para que CKA perca poder discriminativo no lado da derivação.
Conclusão: o eixo de pesos confirma com segurança que um modelo foi treinado do zero, mas não é um bom detector de derivação. Config + tokenizer permanecem como evidência primária.
Eixo bônus - Diversidade de atenção
A quantidade de mecanismos de atenção distintos declarados no config serve como proxy de originalidade arquitetural. A maioria dos modelos coreanos usa um único mecanismo (GQA ou MLA); alguns usam híbridos; o mais diverso combina mamba2, hyena, MLA, atenção linear, gated-delta-net, sparse attention e sliding-window num único stack.
Genótipo combinado
Os eixos são combinados num rótulo: 🟢 Nativo (arquitetura própria + pesos do zero), 🔵 Adaptado (parcialmente próprio), 🟡 Misto, 🔴 Portado (arquitetura e pesos estrangeiros exatos).
Resultados e limitações
Aplicando o pipeline a nove organizações coreanas, o resultado não é uniforme: alguns modelos são claramente portados, outros nativos, muitos ficam no meio. Os autores enfatizam que construir sobre bases open-weight é prática legítima e que a ferramenta reporta linhagem, não acusação. Os três eixos usam a mesma régua para todos os modelos, e o método é reproduzível com poucos comandos apontando para qualquer repositório no Hugging Face Hub.