Downloads · 30 days
7
26% of all-time downloads
RichardErkhov/h2oai_-_h2o-danube3-4b-base-4bits
h2oai_-_h2o-danube3-4b-base-4bits is a machine learning model from RichardErkhov. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Downloads · 30 days
7
26% of all-time downloads
All-time downloads
27
Public
Parameters
4B
2.6 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.6 GB · 100%
How the weights are stored.
U83.7B · 92%
From the Hugging Face model README
Quantization made by Richard Erkhov.
h2o-danube3-4b-base - bnb 4bits
language:
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.