275 lines
9.6 KiB
Markdown
275 lines
9.6 KiB
Markdown
|
|
---
|
|||
|
|
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}
|
|||
|
|
}
|
|||
|
|
```
|