Model Card#

O AMALIA é um modelo de linguagem aberto e criado especificamente para o português de Portugal e para a cultura portuguesa.

Descrição do Modelo#

O AMALIA é desenvolvido por um consórcio de universidades e centros de investigação portugueses, incluindo a Universidade NOVA de Lisboa, Instituto Superior Técnico, Universidade de Coimbra, Universidade do Porto, Universidade do Minho e pela Fundação para a Ciência e Tecnologia.

Esta colaboração é financiada pelos Programas de Desenvolvimento e Inovação do Governo de Portugal, com o objetivo de criar um assistente de IA avançado capaz de comunicar eficazmente em várias linguagens, mas com foco no português europeu.

O AMALIA utiliza dados de fonte aberta no seu treino, como os dados provenientes do Arquivo.pt, por exemplo, e outros dados curados especificamente em português europeu. O treino foi realizado em duas fases: pré-treino e pós-treino. O pós-treino aplicou técnicas de Supervised Fine-Tuning (SFT) e Preference Tuning (usando Direct Preference Optimization, DPO).

Detalhes de Treino#

Dados de Treino#

Os seguintes dados foram incluídos na fase de pré-treino do AMALIA:

  • Dados do Arquivo.pt, obtidos após processamento de coleções de páginas Web públicas e livros gratuitos;

  • Dados de pré-treino do modelo EuroLLM;

  • Amostras de dados de contexto longo Stack-v2;

  • Dados sintéticos para melhorar a retenção em contexto longo filtrados a partir de datasets públicos (1, 2).

A componente de SFT de pós-treino incluiu uma mistura de dados criados manualmente, gerados sinteticamente e obtidos de datasets públicos. Estes dados focaram-se em quatro categorias de treino:

  • Instruction Following (Seguimento de Instruções):

    • Dados sintéticos criados por personas do PersonaHub e Nemotron;

    • Dataset de instruções linguísticas portuguesas criado manualmente.

  • Conversational Reasoning (Raciocínio Conversacional):

    • Dados sintéticos criados por personas do PersonaHub e Nemotron;

    • Dataset AMALIA-Hardcoded com conhecimento autorreferencial;

    • Dados conversacionais gerados da Wikipedia;

    • Splits Chat e STEM do Nemotron Post-Training v1 e v2;

    • Subsets do smoltalk: smol-magpie-ultra (de qualidade excelente) e smol-summarize (traduzido);

    • Subsets do smoltalk2: everyday-conversations (traduzido) e Table-GPT;

    • Um split customizado de SFT do Hermes3;

    • Mistura de SFT do OLMo v2;

    • PTradutor para traduções PT\(\leftrightarrow\)EN;

    • WMT24++ para traduções multilingues\(\rightarrow\)PT.

  • Matemática:

    • Dados sintéticos criados por personas do PersonaHub e Nemotron;

    • Splits Math e Code do Nemotron Post-Training v1 and v2;

    • Dataset de problemas de matemática de escola primária Orca-Math.

  • Segurança:

Para a componente de DPO foi usada uma amostra de dados com respostas geradas em parte pelo próprio AMALIA-SFT. Foram ainda usados os dados:

Processo de Treino#

No pré-treino, foram maioritariamente seguidos os hiperparâmetros do EuroLLM, com a nova mistura de dados, aumentando o comprimento máximo de sequência para 32K tokens e melhorando o seu conhecimento de português europeu.

A fase de SFT visa melhorar as capacidades conversacionais e de seguimento de instruções do AMALIA, com um foco especial no português europeu, utilizando os conjuntos de dados descritos em Dados de Treino. O treino decorreu durante 76 horas, recorrendo a 64 GPUs NVIDIA H100, totalizando em 14k steps.

A fase de DPO visa alinhar o comportamento do AMALIA com as preferências humanas, refinando as respostas do modelo através da aprendizagem baseada em comparações de pares. Nesta fase, o modelo aprende a distinguir entre respostas de maior e menor qualidade para a mesma instrução, otimizando-se para gerar outputs mais úteis, seguros e alinhados com os valores desejados, minimizando simultaneamente comportamentos indesejados, como alucinações, toxicidade ou desvios das instruções fornecidas. O treino decorreu durante 12 horas, recorrendo a 64 GPUs NVIDIA H100.

Todas as fases de treino foram executadas no supercomputador MareNostrum5, alojado no Barcelona Supercomputing Center.

Avaliação#

No âmbito do AMALIA, foram desenvolvidos dois benchmarks com o objetivo de avaliar a performance linguística do modelo:

  • ALBA (Automated Linguistics Benchmark for Baseline Assessment): um benchmark desenvolvido de modo a obter um teste diagnóstico que providencia uma visão geral das capacidades do modelo e cujo objetivo é avaliar a performance de LLMs em tarefas linguísticas em português europeu. Para tal, foram selecionadas oito dimensões: Fonética e Fonologia, Sintaxe, Morfologia, Lexicologia, Semântica Cultural, Jogos de Palavras, Análise do Discurso e Variedade Linguística;

  • P3B3 (pt-PT/pt-BR Bias Benchmark): um benchmark cujo objetivo é avaliar o viés entre variedades de português em LLMs devido ao desequilíbrio de dados disponíveis nas variedades de português europeu e de português do Brasil.

Adicionalmente, foi criado um benchmark com os Exames Nacionais do Ensino Secundário em Portugal e foram ainda traduzidos outros benchmarks de inglês para português europeu usando um modelo de tradução dedicado.

A avaliação mostra que, dentro dos modelos abertos, o AMALIA é o modelo aberto estado da arte em Português Europeu, apresentando melhor performance que modelos abertos anteriores. Em raciocínio e compreensão linguística, o modelo tem performance comparável com o estado da arte, revelando excelente qualidade e fluência em texto Português Europeu em tarefas generativas.

Em termos de segurança, o AMALIA demonstra-se alinhado com os padrões de segurança do estado da arte.