[PITCH] ALF-T5 - Uma framework open-source para treinamento de Transformers de NMT (Neural Machine Translation)

Fala aí, pessoal!

Estou trabalhando em um projeto de pesquisa em machine learning para tradução de textos de conlangs (idiomas fictícios) e no meio desse trajeto acabei desenvolvendo uma framework que facilita o trabalho intensivo de fine-tuning de redes neurais profundas como Transformers, nesse caso o T5 da Google. No início a framework era de uso interno somente, mas com o tempo cresceu e vi potencial para tornar open-source.

Hoje liberei ela publicamente no GitHub pra quem quiser dar uma olhada, mas ainda não buildei um pacote do PyPI para facilitar o uso, mas já está em desenvolvimento!

Um resumo breve do ALF-T5:

ALF-T5 (Adaptative Language Framework for T5) nasce de uma paixão por linguística e um desejo de tornar possível o treinamento de modelos de tradução generativa para conlangs. Atualmente há poucos recursos que tornam isso possível, não só isso, mas o fine-tuning de transformers avançados como o T5 ainda é muito nichado. Com o ALF-T5, esse processo é facilitado para algumas linhas de código:

from alf_t5 import ALFT5Translator

data = open("data.txt", "r").read()

translator = ALFT5Translator(
    model_name="t5-base", # Aqui, o modelo T5-Base é usado, mas outras variantes podem ser usadas conforme disponibilidade de hardware.
    use_peft=True,
    batch_size=4,
    num_epochs=30,
    output_dir="alf_t5_translator"
)

translator.train(
    data_string=data,
    test_size=0.2,
    augment=True
)

source_language_translation = translator.translate("...", direction="c2e") # conlang-to-english
trained_language_translation = translator.translate("...", direction="e2c") # english-to-conlang

E pronto! Já é possível fazer as traduções.

A framework foi testada em uma ampla gama de variantes do T5 e hardware: Google TPU v2, NVIDIA T4, NVIDIA A40 e NVIDIA A100. Todas as informações adicionais estão disponíveis no repositório oficial.

Deixei o repositório como fonte do artigo, mas você também pode clicar aqui para ver o projeto.