Carballo-bloom-1.3B
Table of Contents
Click to expand
Model description
Carballo-bloom-1.3B is a 1.3B-parameter transformer-based causal language model for Galician. It is the result of a continual pretraining of FLOR-1.3B (developed by AINA Project and based in BLOOM-1.7B) with the galician corpus CorpusNos.
Intended uses and limitations
The Carballo-bloom-1.3B model is ready-to-use only for causal language modeling. It can perform text-generation tasks and be fine-tuned for specific scenarios.
How to use
import torch
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
input_text = "Hoxe fai un bo día. O sol "
model_id = "proxectonos/Carballo-bloom-1.3B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
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
Language adaptation and training
The language adaptation technique used to train Carballo-bloom-1.3B is based in the used to train FLOR-1.3B, which is explained by their authors in this Medium Post. In summary, we proceeded as follows:
- We trained our own BPE tokenizer for galician and replaced the original FLOR-1.3B tokenizer and vocabulary with it.
- The embeddings corresponding to tokens that are present in both the original and the target vocabulary (matching tokens) were used for initialization.
- The embeddings from tokens not present in Carballo-bloom-1.3B's original vocabulary were initialized as the average of all embeddings.
- The model was initialized with the weights from FLOR-1.3B and with our adapted tokenizer (step 1) and embeddings (steps 2-3).
- The model was then trained on a galician corpus.
Training data
CorpusNÓS is a massive Galician corpus made up of 2.1B words primarily devised for training large language models. The corpus sources are varied and represent a relatively wide range of genres.
The corpus is structured as follows:
Subcorpus | Genre | Nº tokens | Nº documents |
---|---|---|---|
Data obtained via transfer agreement | Books | 7,255,784 | 104 |
Research articles | 2,665,351 | 664 | |
Press | 124,253,084 | 224,419 | |
Governmental | 245,897,880 | 654,505 | |
Web contents | 15,946,686 | 44,165 | |
Encyclopedic | 4,799,214 | 47,396 | |
Subtotal | 400,817,999 | 971,253 |
Subcorpus | Genre | Nº tokens | Nº documents |
---|---|---|---|
Public data | Press and blogs | 153,497,883 | 665,265 |
Encyclopedic | 57,164,848 | 184,628 | |
Web crawls | 1,384,015,664 | 3,366,449 | |
Translation corpora | 133,726,004 | 4,745,799 | |
Subtotal | 1,728,404,399 | 8,777,514 | |
Total | 2,129,222,398 | 9,748,767 | |
Download (Zenodo) | https://zenodo.org/records/10687642 |
Training hyperparameters
- seed: 42
- num_devices: 1
- train_batch_size: 2
- eval_batch_size: 2
- gradient_acummulation: 4
- optimizer: AdamW
- betas: (0.9,0.999)
- epsilon: 1e-08
- weight_decay_rate: 0.1
- scheduler: "Linear"
- learning_rate: 5e-05
- num_epochs: 1.2
Framework
The traininf was conducted in the Galicia Supercomputing Center (CESGA), using 1 node with 5 GPUs NVIDIA A100.
Evaluation
Model | Belebele | CoLA | OpenBookQA | Parafrases-gl | PAWS-X |
---|---|---|---|---|---|
Carballo-Bloom | 0.231±0.014 | 0.499±0.012 | 0.364±0.022 | 0.523±0.031 | 0.541±0.011 |
Carballo-Cerebras | 0.271±0.015 | 0.502±0.012 | 0.368±0.022 | 0.496±0.031 | 0.531±0.011 |
Bloom-1b1 | 0.234±0.014 | 0.507±0.012 | 0.338±0.021 | 0.485±0.031 | 0.508±0.011 |
Bloom-1b7 | 0.218±0.014 | 0.500±0.012 | 0.338±0.021 | 0.539±0.031 | 0.539±0.011 |
mGPT | 0.229±0.014 | 0.494±0.012 | 0.332±0.021 | 0.423±0.031 | 0.517±0.011 |
Flor-1.3B | 0.220±0.014 | 0.504±0.012 | 0.342±0.021 | 0.516±0.031 | 0.536±0.011 |
Cerebras-1.3B | 0.221±0.014 | 0.497±0.012 | 0.300±0.021 | 0.492±0.031 | 0.531±0.011 |
Additional information
Contact
For further information, please send an email to proxecto.nos@usc.gal
License
MIT License
Copyright (c) 2024 Proxecto Nós
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
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 with reference 2022/TL22/00215336.
How to cite this work
if you use this model, please cite this article:
Gamallo, Pablo, Pablo Rodríguez Fernández, Iria de Dios Flores, Susana Sotelo, Silvia Paniagua, José Ramom Pichel, Daniel Bardanca, Marcos Garcia (2024) "Open Generative Large Language Models for Galician", Procesamiento del Lenguaje Natural, 73, pp. 259-270. ISSN: 1135-5948.
- Downloads last month
- 98