Downloads · 30 days
2K
3% of all-time downloads
h2oai/h2o-danube3-4b-base
h2o-danube3-4b-base is a text generation model from h2oai. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
<div style="width: 90%; max-width: 600px; margin: 0 auto; overflow: hidden; background-color: white" <img src="https://cdn-uploads.huggingface.co/production/uploads/636d18755aaed143cd6698ef/LAzQuf5WOX7vqKl4yDsY.png" a…
Downloads · 30 days
2K
3% of all-time downloads
All-time downloads
60.3K
Public
Parameters
4B
7.9 GB on disk
Likes
23
Public
Click a slice to open those files.
.safetensors7.9 GB · 100%
From the Hugging Face model README
h2o-danube3-4b-base is a foundation model trained model by H2O.ai with 4 billion parameters. We release two versions of this model:
| Model Name | Description |
|---|---|
| h2oai/h2o-danube3-4b-base | Base model |
| h2oai/h2o-danube3-4b-chat | Chat model |
Can be run natively and fully offline on phones - try it yourself with H2O AI Personal GPT.
We adjust the Llama 2 architecture for a total of around 4b parameters. For details, please refer to our Technical Report. We use the Mistral tokenizer with a vocabulary size of 32,000 and train our model up to a context length of 8,192.
The details of the model architecture are:
| Hyperparameter | Value |
|---|---|
| n_layers | 24 |
| n_heads | 32 |
| n_query_groups | 8 |
| n_embd | 3840 |
| vocab size | 32000 |
| sequence length | 8192 |
To use the model with the transformers library on a machine with GPUs, first make sure you have the transformers library installed.
pip install transformers>=4.42.3
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("h2oai/h2o-danube3-4b-base")
model = AutoModelForCausalLM.from_pretrained(
"h2oai/h2o-danube3-4b-base",
torch_dtype=torch.bfloat16,
)
model.cuda()
inputs = tokenizer("The Danube is the second longest river in Europe", return_tensors="pt").to(model.device)
res = model.generate(
**inputs,
max_new_tokens=32,
do_sample=False,
)
print(tokenizer.decode(res[0], skip_special_tokens=True))
You can load the models using quantization by specifying load_in_8bit=True or load_in_4bit=True. Also, sharding on multiple GPUs is possible by setting device_map=auto.
LlamaForCausalLM(
(model): LlamaModel(
(embed_tokens): Embedding(32000, 3840, padding_idx=0)
(layers): ModuleList(
(0-23): 24 x LlamaDecoderLayer(
(self_attn): LlamaSdpaAttention(
(q_proj): Linear(in_features=3840, out_features=3840, bias=False)
(k_proj): Linear(in_features=3840, out_features=960, bias=False)
(v_proj): Linear(in_features=3840, out_features=960, bias=False)
(o_proj): Linear(in_features=3840, out_features=3840, bias=False)
(rotary_emb): LlamaRotaryEmbedding()
)
(mlp): LlamaMLP(
(gate_proj): Linear(in_features=3840, out_features=10240, bias=False)
(up_proj): Linear(in_features=3840, out_features=10240, bias=False)
(down_proj): Linear(in_features=10240, out_features=3840, bias=False)
(act_fn): SiLU()
)
(input_layernorm): LlamaRMSNorm()
(post_attention_layernorm): LlamaRMSNorm()
)
)
(norm): LlamaRMSNorm()
)
(lm_head): Linear(in_features=3840, out_features=32000, bias=False)
)
| Benchmark | acc_n |
|---|---|
| Average | 58.85 |
| ARC-challenge | 59.04 |
| Hellaswag | 79.84 |
| MMLU | 55.18 |
| TruthfulQA | 44.77 |
| Winogrande | 75.14 |
| GSM8K | 39.12 |
Please read this disclaimer carefully before using the large language model provided in this repository. Your use of the model signifies your agreement to the following terms and conditions.
By using the large language model provided in this repository, you agree to accept and comply with the terms and conditions outlined in this disclaimer. If you do not agree with any part of this disclaimer, you should refrain from using the model and any content generated by it.