stamatios
← Voltar ao feed
Model Genome tenta identificar se um LLM foi treinado do zero ou derivado
IA & Modelos · Open Source

Model Genome tenta identificar se um LLM foi treinado do zero ou derivado

resumo de ~3 min

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.