--- language: - gl - pt tags: - galician - portuguese - gpt2 license: apache-2.0 inference: parameters: top_k: 10 do_sample: true temperature: 0.4 widget: - text: |- Traduce ao galego esta frase en inglés: Inglés: "my sister is studying Biology at the university." Galego: "a miña irmá está a estudar bioloxía na universidade." ---- Traduce ao galego esta frase en inglés: Inglés: "You are working with my mother on a very interesting project." Galego: "Estás a traballar coa miña nai nun proxecto moi interesante" ---- Traduce ao galego esta frase en inglés: Inglés: "You have to fix the computer now" Galego: example_title: Translation-gl - text: >- Traduz para o português esta frase en inglês: Inglês: "my sister is studying Biology at the university." Português: "a minha irmã está a estudar biologia na universidade." ---- Traduz para o português esta frase en inglês: Inglês: "You are working with my mother on a very interesting project." Português: "Estás a trabalhar com a minha mãe em um projeto muito interessante" ---- Traduz para o português esta frase en inglês: Inglês: "You have to fix the computer now" Português: example_title: Translation-pt - text: |- Responde á seguinte pregunta. Pregunta: "Cal é a capital de Noruega?" Resposta: "A capital de Noruega é Oslo." ---- Responde á seguinte pregunta. Pregunta: "Cal é a moeda de Portugal" Resposta: "A moeda de Portugal é o euro." ---- Responde á seguinte pregunta. Pregunta: "Cal é a capital de Suecia?" Resposta: example_title: QA-GL - text: |- Responda a seguinte questão. Pergunta: "Qual é a capital da Noruega?" Resposta: "A capital da Noruega é Oslo." ---- Responda a seguinte questão. Pergunta: "Qual é a moeda de Portugal" Resposta: “A moeda de Portugal é o euro”. ---- Responda a seguinte questão. Pergunta: "Qual é a capital da Suécia?" Responder: example_title: QA-PT - text: |- Cualifica como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Estou moi feliz" Polaridade: Positivo ---- Cualifica como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Non me gusta beber cervexa" Polaridade: Negativo ---- Cualifica como Positivo ou Negativo o sentimento da seguinte frase: Texto: "O meu pai detesta o seu traballo" Polaridade: Negativo ---- Cualifica como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Uxía desfruta xogando ao fútbol" Polaridade: Positivo ---- Cualifica como Positivo ou Negativo o sentimento da seguinte frase: Texto: "O neno non está contento coas notas" Polaridade: example_title: Sentiment-GL - text: |- Classifique como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Estou muito feliz" Polaridade: Positiva ---- Classifique como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Não gosto de beber cerveja" Polaridade: Negativa ---- Classifique como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Meu pai odeia seu trabalho" Polaridade: Negativa ---- Classifique como Positivo ou Negativo o sentimento da seguinte frase: Texto: "Uxía gosta de jogar futebol" Polaridade: Positiva ---- Classifique como Positivo ou Negativo o sentimento da seguinte frase: Texto: “O menino não está feliz com as notas” Polaridade: example_title: Sentiment-PT - text: |- Extrae as entidades nomeadas do seguinte texto: Texto: "Chámome Wolfgang e vivo en Berlin" Entidades: Wolfgang:PER, Berlin:LOC ---- Extrae as entidades nomeadas do seguinte texto: Texto: "María e Miguel non teñen ningún problema" Entidades: María:PER, Miguel:PER ---- Extrae as entidades nomeadas do seguinte texto: Texto: "O mellor de Barcelona é o bar do meu amigo Pablo" Entidades: Pablo:PER, Barcelona:LOC ---- Extrae as entidades nomeadas do seguinte texto: Texto: "María axudou a Carlos na empresa" Entidades: example_title: NER-GL - text: |- Extraia as entidades nomeadas do seguinte texto: Texto: "Meu nome é Wolfgang e moro em Berlim" Entidades: Wolfgang:PER, Berlim:LOC ---- Extraia as entidades nomeadas do seguinte texto: Texto: "Maria e Miguel não têm problemas" Entidades: Maria:PER, Miguel:PER ---- Extraia as entidades nomeadas do seguinte texto: Texto: "A melhor coisa de Barcelona é o bar do meu amigo Pablo" Entidades: Pablo:PER, Barcelona:LOC ---- Extraia as entidades nomeadas do seguinte texto: Texto: "Maria ajudou Carlos na empresa" Entidades: example_title: NER-PT - text: A receita tradicional das filloas é example_title: Receita-GL - text: A receita tradicional de panquecas é example_title: Receita-PT - text: O neno vivía preto example_title: O neno-GL - text: O menino morava perto example_title: O menino-PT datasets: - proxectonos/corpusnos --- # Carvalho_pt-gl-1.3B **Carvalho_pt-gl-1.3B** is a 1.3B-parameter transformer-based causal language model for Galician and European Portuguese. It is the result of a continual pretraining of a [Cerebras-GPT-1.3B](https://huggingface.co/cerebras/Cerebras-GPT-1.3B) adapted to catalan, spanish and english previously by the [AINA Project](https://projecteaina.cat/). This model is part of the **Carvalho familily**, a family of LLMs specialized in Portuguese and Galician which can be found [here](https://huggingface.co/collections/Nos-PT/carvalho-family-67e423bf209c732396377b61). ## How to use ```python import torch from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM token_HF=""#Obter na páxina de HuggingFace input_text = "Hoxe fai un bo día. O sol " model_id = "Nos-PT/Carvalho_pt-gl-1.3B" tokenizer = AutoTokenizer.from_pretrained(model_id, use_auth_token=token_HF) model = AutoModelForCausalLM.from_pretrained(model_id, use_auth_token=token_HF) generator = pipeline( "text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", ) generation = generator( input_text, do_sample=True, top_k=10, eos_token_id=tokenizer.eos_token_id ) print(f"Result: {generation[0]['generated_text']}") ``` ## Training ### Tools It was trained using HuggingFace Transformers and Pytorch, using the [Causal Modeling Language script](https://github.com/huggingface/transformers/blob/main/examples/pytorch/language-modeling/run_clm.py). We also use [DeepSpeed](https://github.com/microsoft/DeepSpeed) to deal with the huge size of the model. ### Training data The training corpus consists of 5B tokens of texts in Galician and European Portuguese, whose main sources are [CorpusNÓS](https://zenodo.org/records/11655219) for Galician and [Arquivo.pt](https://arquivo.pt/) for Portuguese. ### Training hyperparameters - seed: 42 - train_batch_size: 4 - eval_batch_size: 4 - gradient_acummulation: 8 - optimizer: AdamW - betas: (0.9,0.999) - epsilon: 1e-08 - weight_decay_rate: 0.1 - scheduler: "Linear" - learning_rate: 5e-05 - num_epochs: 1.0 ### Framework The training was conducted on the Galician Supercomputing Center ([CESGA](https://www.cesga.es/)), using various nodes with 2 GPUs NVIDIA A100 40G. ## Evaluation The evaluation was carried out using the Calame dataset, in its [Portuguese](https://huggingface.co/datasets/NOVA-vision-language/calame-pt) and Galician versions, and in the GLUE benchmark. In the latter case, the evaluated models were fine-tuned to rotate the tasks. | **Models** | **CALAME-GL** | **CALAME-PT** | |-----------------------|----------|----------| | Carvalho\_pt-gl 1.3B | 0.397 | 0.455 | | GlorIA 1.3B | 0.219 | 0.488 | | Gervasio-PTPT 7B | 0.265 | 0.434 | | mGPT 1.3B | 0.264 | 0.425 | | Bloom-1b1 | 0.262 | 0.456 | | Cerebras-GPT 1.3B | 0.177 | 0.167 | | Models | RTE | MRPC | STS-B | WNLI | |-------------------------|------|-------|--------|-------| | | Acc | F1 | Pearson| Acc | | **Encoder-only** | | | | | | AiBERTa Base | 55.3 | 83.2 | 80.2 | 58.9 | | Albertina-PTPT 100m | 55.4 | 87.6 | 84.5 | 65.1 | | Albertina-PTPT 900m | 80.6 | 89.8 | 88.7 | 65.1 | | Albertina-PTPT 1.5B | 82.9 | 90.3 | 88.7 | 59.6 | | **Decoder-only** | | | | | | Carvalho\_pt-gl 1.3B | 68.0 | 86.0 | 82.6 | 65.1 | | Gloria 1.3B | 63.8 | 85.2 | 82.0 | 65.1 | | Gervásio 7B | 83.2 | 90.5 | 87.9 | 64.4 | | Bloom 1.1B | 71.5 | 87.7 | 85.7 | 63.6 | | mGPT 1.3B | 58.9 | 85.5 | 78.3 | 65.1 | ## Additional information ## Funding This model was development within the Nós Project, funded by the Ministerio para la Transformación Digital y de la Función Pública - Funded by EU – NextGenerationEU within the framework of the [project ILENIA](https://proyectoilenia.es/) with reference 2022/TL22/00215336. ## Cite this model ```latex @inproceedings{gamallo2024galician, title={A Galician-Portuguese Generative Model}, author={Gamallo, Pablo and Rodr{\'\i}guez, Pablo and Santos, Daniel and Sotelo, Susana and Miquelina, Nuno and Paniagua, Silvia and Schmidt, Daniela and de-Dios-Flores, Iria and Quaresma, Paulo and Bardanca, Daniel and others}, booktitle={EPIA Conference on Artificial Intelligence}, pages={292--304}, year={2024}, organization={Springer} } ```