See axolotl config
axolotl version: 0.4.1
base_model: meta-llama/Meta-Llama-3-8B
model_type: LlamaForCausalLM
tokenizer_type: AutoTokenizer
load_in_8bit: true
load_in_4bit: false
strict: false
datasets:
- path: translation-dataset-v3-train.hf
type: alpaca
train_on_split: train
test_datasets:
- path: translation-dataset-v3-test.hf
type: alpaca
split: train
dataset_prepared_path: ./last_run_prepared
output_dir: ./llama_3_translator
hub_model_id: ahmedsamirio/llama_3_translator_v3
sequence_len: 2048
sample_packing: true
pad_to_sequence_len: true
eval_sample_packing: false
adapter: lora
lora_r: 32
lora_alpha: 16
lora_dropout: 0.05
lora_target_linear: true
lora_fan_in_fan_out:
lora_target_modules:
- gate_proj
- down_proj
- up_proj
- q_proj
- v_proj
- k_proj
- o_proj
wandb_project: en_eg_translator
wandb_entity: ahmedsamirio
wandb_name: llama_3_en_eg_translator_v3
gradient_accumulation_steps: 4
micro_batch_size: 2
num_epochs: 2
optimizer: paged_adamw_32bit
lr_scheduler: cosine
learning_rate: 2e-5
train_on_inputs: false
group_by_length: false
bf16: auto
fp16:
tf32: false
gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true
warmup_steps: 10
evals_per_epoch: 10
eval_table_size:
eval_max_new_tokens: 128
saves_per_epoch: 1
debug:
deepspeed:
weight_decay: 0.0
fsdp:
fsdp_config:
special_tokens:
pad_token: <|end_of_text|>
Egyptian Arabic Translator Llama-3 8B
This model is a fine-tuned version of meta-llama/Meta-Llama-3-8B on the ahmedsamirio/oasst2-9k-translation dataset.
Model description
This model is an attempt to create a small translation model from English to Egyptian Arabic.
Intended uses & limitations
- Translating instruction finetuning and text generation datasets
Inference code
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
tokenizer = AutoTokenizer.from_pretrained("ahmedsamirio/Egyptian-Arabic-Translator-Llama-3-8B")
model = AutoModelForCausalLM.from_pretrained("ahmedsamirio/Egyptian-Arabic-Translator-Llama-3-8B")
pipe = pipeline(task='text-generation', model=model, tokenizer=tokenizer)
en_template = """<|begin_of_text|>Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction:
Translate the following text to English.
### Input:
{text}
### Response:
"""
ar_template = """<|begin_of_text|>Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction:
Translate the following text to Arabic.
### Input:
{text}
### Response:
"""
eg_template = """<|begin_of_text|>Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction:
Translate the following text to Egyptian Arabic.
### Input:
{text}
### Response:
"""
text = """Some habits are known as "keystone habits," and these influence the formation of other habits. \
For example, identifying as the type of person who takes care of their body and is in the habit of exercising regularly, \
can also influence eating better and using credit cards less. In business, \
safety can be a keystone habit that influences other habits that result in greater productivity.[17]"""
ar_text = pipe(ar_template.format(text=text),
max_new_tokens=256,
do_sample=True,
temperature=0.3,
top_p=0.5)
eg_text = pipe(eg_template.format(text=ar_text),
max_new_tokens=256,
do_sample=True,
temperature=0.3,
top_p=0.5)
print("Original Text:" text)
print("\nArabic Translation:", ar_text)
print("\nEgyptian Arabic Translation:", eg_text)
Training and evaluation data
ahmedsamirio/oasst2-9k-translation
Training procedure
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 2e-05
- train_batch_size: 2
- eval_batch_size: 2
- seed: 42
- gradient_accumulation_steps: 4
- total_train_batch_size: 8
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: cosine
- lr_scheduler_warmup_steps: 10
- num_epochs: 2
Training results
Training Loss | Epoch | Step | Validation Loss |
---|---|---|---|
0.9661 | 0.0008 | 1 | 1.3816 |
0.5611 | 0.1002 | 123 | 0.9894 |
0.6739 | 0.2004 | 246 | 0.8820 |
0.5168 | 0.3006 | 369 | 0.8229 |
0.5582 | 0.4008 | 492 | 0.7931 |
0.552 | 0.5010 | 615 | 0.7814 |
0.5129 | 0.6012 | 738 | 0.7591 |
0.5887 | 0.7014 | 861 | 0.7444 |
0.6359 | 0.8016 | 984 | 0.7293 |
0.613 | 0.9018 | 1107 | 0.7179 |
0.5671 | 1.0020 | 1230 | 0.7126 |
0.4956 | 1.0847 | 1353 | 0.7034 |
0.5055 | 1.1849 | 1476 | 0.6980 |
0.4863 | 1.2851 | 1599 | 0.6877 |
0.4538 | 1.3853 | 1722 | 0.6845 |
0.4362 | 1.4855 | 1845 | 0.6803 |
0.4291 | 1.5857 | 1968 | 0.6834 |
0.6208 | 1.6859 | 2091 | 0.6830 |
0.582 | 1.7862 | 2214 | 0.6781 |
0.5001 | 1.8864 | 2337 | 0.6798 |
Framework versions
- PEFT 0.11.1
- Transformers 4.42.3
- Pytorch 2.1.2+cu118
- Datasets 2.19.1
- Tokenizers 0.19.1
- Downloads last month
- 48
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.