Spaces:
Sleeping
Sleeping
description: Setting up and running H2O LLM Studio requires the following minimal prerequisites. This page lists out the speed and performance metrics of H2O LLM Studio based on different hardware setups. | |
# H2O LLM Studio performance | |
Setting up and running H2O LLM Studio requires the following minimal [prerequisites](set-up-llm-studio.md#prerequisites). This page lists out the speed and performance metrics of H2O LLM Studio based on different hardware setups. | |
The following metrics were measured. | |
- **Hardware setup:** The type and number of computing devices used to train the model. | |
- **LLM backbone:** The underlying architecture of the language model. For more information, see [LLM backbone](concepts.md#llm-backbone). | |
- **Quantization:** A technique used to reduce the size and memory requirements of the model. For more information, see [Quantization](concepts.md#quantization). | |
- **Train**: The amount of time it took to train the model in hours and minutes. | |
- **Validation:** The amount of time it took to validate the mode in hours and minutes. | |
| Hardware setup | LLM backbone | Quantization | Train (hh:mm:ss)| Validation (hh:mm:ss) | | |
|---|---|---|---|---| | |
| 8xA10G | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 11:35 | 3:32 | | |
| 4xA10G | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 21:13 | 06:35 | | |
| 2xA10G | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 37:04 | 12:21 | | |
| 1xA10G | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 1:25:29 | 15:50 | | |
| 8xA10G | h2oai/h2ogpt-4096-llama2-7b | nf4 | 14:26 | 06:13 | | |
| 4xA10G | h2oai/h2ogpt-4096-llama2-7b | nf4 | 26:55 | 11:59 | | |
| 2xA10G | h2oai/h2ogpt-4096-llama2-7b | nf4 | 48:24 | 23:37 | | |
| 1xA10G | h2oai/h2ogpt-4096-llama2-7b | nf4 | 1:26:59 | 42:17 | | |
| 8xA10G | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | OOM | OOM | | |
| 4xA10G | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | OOM | OOM | | |
| 2xA10G | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | OOM | OOM | | |
| 1xA10G | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | OOM | OOM | | |
| 8xA10G | h2oai/h2ogpt-4096-llama2-13b | nf4 | 25:07 | 10:58 | | |
| 4xA10G | h2oai/h2ogpt-4096-llama2-13b | nf4 | 48:43 | 21:25 | | |
| 2xA10G | h2oai/h2ogpt-4096-llama2-13b | nf4 | 1:30:45 | 42:06 | | |
| 1xA10G | h2oai/h2ogpt-4096-llama2-13b | nf4 | 2:44:36 | 1:14:20 | | |
| 8xA10G | h2oai/h2ogpt-4096-llama2-70b | nf4 | OOM | OOM | | |
| 4xA10G | h2oai/h2ogpt-4096-llama2-70b | nf4 | OOM | OOM | | |
| 2xA10G | h2oai/h2ogpt-4096-llama2-70b | nf4 | OOM | OOM | | |
| 1xA10G | h2oai/h2ogpt-4096-llama2-70b | nf4 | OOM | OOM | | |
|---|---|---|---|---| | |
| 4xA100 80GB | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 7:04 | 3:55 | | |
| 2xA100 80GB | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 13:14 | 7:23 | | |
| 1xA100 80GB | h2oai/h2ogpt-4096-llama2-7b | bfloat16 | 23:36 | 13:25 | | |
| 4xA100 80GB | h2oai/h2ogpt-4096-llama2-7b | nf4 | 9:44 | 6:30 | | |
| 2xA100 80GB | h2oai/h2ogpt-4096-llama2-7b | nf4 | 18:34 | 12:16 | | |
| 1xA100 80GB | h2oai/h2ogpt-4096-llama2-7b | nf4 | 34:06 | 21:51 | | |
| 4xA100 80GB | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | 11:46 | 5:56 | | |
| 2xA100 80GB | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | 21:54 | 11:17 | | |
| 1xA100 80GB | h2oai/h2ogpt-4096-llama2-13b | bfloat16 | 39:10 | 18:55 | | |
| 4xA100 80GB | h2oai/h2ogpt-4096-llama2-13b | nf4 | 16:51 | 10:35 | | |
| 2xA100 80GB | h2oai/h2ogpt-4096-llama2-13b | nf4 | 32:05 | 21:00 | | |
| 1xA100 80GB | h2oai/h2ogpt-4096-llama2-13b | nf4 | 59:11 | 36:53 | | |
| 4xA100 80GB | h2oai/h2ogpt-4096-llama2-70b | nf4 | 1:13:33 | 46:02 | | |
| 2xA100 80GB | h2oai/h2ogpt-4096-llama2-70b | nf4 | 2:20:44 | 1:33:42 | | |
| 1xA100 80GB | h2oai/h2ogpt-4096-llama2-70b | nf4 | 4:23:57 | 2:44:51 | | |
:::info | |
The runtimes were gathered using the default parameters. | |
<details> | |
<summary>Expand to see the default parameters </summary> | |
``` | |
architecture: | |
backbone_dtype: int4 | |
gradient_checkpointing: true | |
intermediate_dropout: 0.0 | |
pretrained: true | |
pretrained_weights: '' | |
augmentation: | |
random_parent_probability: 0.0 | |
skip_parent_probability: 0.0 | |
token_mask_probability: 0.0 | |
dataset: | |
add_eos_token_to_answer: true | |
add_eos_token_to_prompt: true | |
add_eos_token_to_system: true | |
answer_column: output | |
chatbot_author: H2O.ai | |
chatbot_name: h2oGPT | |
data_sample: 1.0 | |
data_sample_choice: | |
- Train | |
- Validation | |
limit_chained_samples: false | |
mask_prompt_labels: true | |
parent_id_column: None | |
personalize: false | |
prompt_column: | |
- instruction | |
system_column: None | |
text_answer_separator: <|answer|> | |
text_prompt_start: <|prompt|> | |
text_system_start: <|system|> | |
train_dataframe: /data/user/oasst/train_full.pq | |
validation_dataframe: None | |
validation_size: 0.01 | |
validation_strategy: automatic | |
environment: | |
compile_model: false | |
find_unused_parameters: false | |
gpus: | |
- '0' | |
- '1' | |
- '2' | |
- '3' | |
- '4' | |
- '5' | |
- '6' | |
- '7' | |
huggingface_branch: main | |
mixed_precision: true | |
number_of_workers: 8 | |
seed: -1 | |
trust_remote_code: true | |
experiment_name: default-8-a10g | |
llm_backbone: h2oai/h2ogpt-4096-llama2-7b | |
logging: | |
logger: None | |
neptune_project: '' | |
output_directory: /output/... | |
prediction: | |
batch_size_inference: 0 | |
do_sample: false | |
max_length_inference: 256 | |
metric: BLEU | |
metric_gpt_model: gpt-3.5-turbo-0301 | |
metric_gpt_template: general | |
min_length_inference: 2 | |
num_beams: 1 | |
num_history: 4 | |
repetition_penalty: 1.2 | |
stop_tokens: '' | |
temperature: 0.0 | |
top_k: 0 | |
top_p: 1.0 | |
problem_type: text_causal_language_modeling | |
tokenizer: | |
add_prompt_answer_tokens: false | |
max_length: 512 | |
padding_quantile: 1.0 | |
training: | |
batch_size: 2 | |
differential_learning_rate: 1.0e-05 | |
differential_learning_rate_layers: [] | |
drop_last_batch: true | |
epochs: 1 | |
evaluate_before_training: false | |
evaluation_epochs: 1.0 | |
grad_accumulation: 1 | |
gradient_clip: 0.0 | |
learning_rate: 0.0001 | |
lora: true | |
use_dora: false | |
lora_alpha: 16 | |
lora_dropout: 0.05 | |
lora_r: 4 | |
lora_target_modules: '' | |
loss_function: TokenAveragedCrossEntropy | |
optimizer: AdamW | |
save_checkpoint: "last" | |
schedule: Cosine | |
train_validation_data: false | |
warmup_epochs: 0.0 | |
weight_decay: 0.0 | |
``` | |
</details> | |
::: |