Instructions to use Tensoic/TinyLlama-1.1B-3T-openhermes with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Tensoic/TinyLlama-1.1B-3T-openhermes with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Tensoic/TinyLlama-1.1B-3T-openhermes")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Tensoic/TinyLlama-1.1B-3T-openhermes") model = AutoModelForCausalLM.from_pretrained("Tensoic/TinyLlama-1.1B-3T-openhermes") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use Tensoic/TinyLlama-1.1B-3T-openhermes with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Tensoic/TinyLlama-1.1B-3T-openhermes" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Tensoic/TinyLlama-1.1B-3T-openhermes", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Tensoic/TinyLlama-1.1B-3T-openhermes
- SGLang
How to use Tensoic/TinyLlama-1.1B-3T-openhermes with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Tensoic/TinyLlama-1.1B-3T-openhermes" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Tensoic/TinyLlama-1.1B-3T-openhermes", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "Tensoic/TinyLlama-1.1B-3T-openhermes" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Tensoic/TinyLlama-1.1B-3T-openhermes", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Tensoic/TinyLlama-1.1B-3T-openhermes with Docker Model Runner:
docker model run hf.co/Tensoic/TinyLlama-1.1B-3T-openhermes
This is the Instruction Fine Tuned version of Tiny Llama on @Teknium1's openhermes dataset.
"The TinyLlama project aims to pretrain a 1.1B Llama model on 3 trillion tokens. With some proper optimization, we can achieve this within a span of "just" 90 days using 16 A100-40G GPUs ๐๐. The training has started on 2023-09-01."
See axolotl config
axolotl version: 0.3.0
base_model: ./TinyLlama-1.1B-intermediate-step-1431k-3T
model_type: LlamaForCausalLM
tokenizer_type: LlamaTokenizer
is_llama_derived_model: true
load_in_8bit: false
load_in_4bit: false
strict: false
datasets:
- path: ./openhermes
type: alpaca
dataset_prepared_path:
val_set_size: 0.05
output_dir: ./out
sequence_len: 4096
sample_packing: false
adapter:
lora_model_dir:
lora_r:
lora_alpha:
lora_dropout:
lora_target_linear:
lora_fan_in_fan_out:
wandb_project: tinyllama-openhermes
wandb_entity: tensoic
wandb_watch:
wandb_name:
wandb_log_model:
gradient_accumulation_steps: 2
micro_batch_size: 8
num_epochs: 1
optimizer: adamw_bnb_8bit
adam_epsilon: 0.00001
max_grad_norm: 1.0
lr_scheduler: cosine
learning_rate: 0.0002
train_on_inputs: false
group_by_length: false
bf16: false
fp16: true
tf32: false
gradient_checkpointing: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention: true
flash_attention:
warmup_steps: 100
evals_per_epoch: 4
eval_table_size:
saves_per_epoch: 1
debug:
deepspeed: zero2.json
weight_decay: 0.0
fsdp:
fsdp_config:
special_tokens:
bos_token: "<s>"
eos_token: "</s>"
unk_token: "<unk>"
The model achieves the following loss:
- Loss: 1.3647
The loss exploded after a couple hundred steps. As suggested by winglian, we set the following values in the config file:
adam_epsilon: 0.00001
max_grad_norm: 1.0
Training hyperparameters
The following hyperparameters were used during training:
- learning_rate: 0.0002
- train_batch_size: 8
- eval_batch_size: 8
- seed: 42
- distributed_type: multi-GPU
- num_devices: 8
- gradient_accumulation_steps: 2
- total_train_batch_size: 128
- total_eval_batch_size: 64
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-05
- lr_scheduler_type: cosine
- lr_scheduler_warmup_steps: 100
- num_epochs: 1
- mixed_precision_training: Native AMP
Training results
| Training Loss | Epoch | Step | Validation Loss |
|---|---|---|---|
| 3.0006 | 0.0 | 1 | 1.6838 |
| 0.8195 | 0.25 | 451 | 1.4620 |
| 0.6836 | 0.5 | 902 | 1.4158 |
| 0.6811 | 0.75 | 1353 | 1.3647 |
Framework versions
- Transformers 4.36.2
- Pytorch 2.0.1+cu117
- Datasets 2.15.0
- Tokenizers 0.15.0
- Downloads last month
- 10
