EddyGiusepe/tinyllama-colorist-lora-v0.3
<!-- This model card has been generated automatically according to the information the Trainer had access to. You should probably proofread and complete it, then remove this comment. -->
<h1 align="center"><font color="red">tinyllama-colorist-lora-v0.3</font></h1>

This model, tinyllama-colorist-lora-v0.3, is a fine-tuned version of TinyLlama/TinyLlama-1.1B-Chat-v0.3 on the color dataset.
<font color="yellow">Study Motivation</font>
To study this new TinyLlama model as a replacement for Llama2 for resource-constrained environment. Also, in the future I will perform the Fine-Tuning of this model for Chat and for a specific domain in Portuguese and Spanish ๐ค.
<font color="yellow">Prompt format</font>
The model training process is similar to the regular Llama2 model with a chat prompt format like this:
<|im_start|>user\n{question}<|im_end|>\n<|im_start|>assistant\n{answer}<|im_end|>\n<font color="yellow">Instructions for use</font>
User Input: Give me a sky blue color.
LLM response: #6092ff<font color="yellow">Model usage</font>
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
from transformers import pipeline
def print_color_space(hex_color):
def hex_to_rgb(hex_color):
hex_color = hex_color.lstrip('#')
return tuple(int(hex_color[i:i+2], 16) for i in (0, 2, 4))
r, g, b = hex_to_rgb(hex_color)
print(f'{hex_color}: \033[48;2;{r};{g};{b}m \033[0m')
tokenizer = AutoTokenizer.from_pretrained(model_id_colorist_final)
pipe = pipeline(
"text-generation",
model=model_id_colorist_final,
torch_dtype=torch.float16,
device_map="auto",
)
from time import perf_counter
start_time = perf_counter()
prompt = formatted_prompt('give me a pure brown color')
sequences = pipe(
prompt,
do_sample=True,
temperature=0.1,
top_p=0.9,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_new_tokens=12
)
for seq in sequences:
print(f"Result: {seq['generated_text']}")
output_time = perf_counter() - start_time
print(f"Time taken for inference: {round(output_time,2)} seconds")Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 0.0002
- trainbatchsize: 8
- evalbatchsize: 8
- seed: 42
- gradientaccumulationsteps: 4
- totaltrainbatch_size: 32
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lrschedulertype: cosine
- training_steps: 200
- mixedprecisiontraining: Native AMP
Training results
Framework versions
- PEFT 0.9.0
- Transformers 4.38.2
- Pytorch 2.1.0+cu121
- Datasets 2.18.0
- Tokenizers 0.15.2
