Downloads · 30 days
2.3K
5% of all-time downloads
h2oai/h2o-danube3-500m-base
h2o-danube3-500m-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
2.3K
5% of all-time downloads
All-time downloads
43.3K
Public
Parameters
514M
17 GB on disk
Likes
36
Public
Click a slice to open those files.
.onnx6 GB · 85%
From the Hugging Face model README
h2o-danube3-500m-base is a foundation model trained by H2O.ai with 500 million parameters. We release two versions of this model:
| Model Name | Description |
|---|---|
| h2oai/h2o-danube3-500m-base | Base model |
| h2oai/h2o-danube3-500m-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 500m 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 | 16 |
| n_heads | 16 |
| n_query_groups | 8 |
| n_embd | 1536 |
| 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-500m-base")
model = AutoModelForCausalLM.from_pretrained(
"h2oai/h2o-danube3-500m-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, 1536, padding_idx=0)
(layers): ModuleList(
(0-15): 16 x LlamaDecoderLayer(
(self_attn): LlamaSdpaAttention(
(q_proj): Linear(in_features=1536, out_features=1536, bias=False)
(k_proj): Linear(in_features=1536, out_features=768, bias=False)
(v_proj): Linear(in_features=1536, out_features=768, bias=False)
(o_proj): Linear(in_features=1536, out_features=1536, bias=False)
(rotary_emb): LlamaRotaryEmbedding()
)
(mlp): LlamaMLP(
(gate_proj): Linear(in_features=1536, out_features=4096, bias=False)
(up_proj): Linear(in_features=1536, out_features=4096, bias=False)
(down_proj): Linear(in_features=4096, out_features=1536, bias=False)
(act_fn): SiLU()
)
(input_layernorm): LlamaRMSNorm()
(post_attention_layernorm): LlamaRMSNorm()
)
)
(norm): LlamaRMSNorm()
)
(lm_head): Linear(in_features=1536, out_features=32000, bias=False)
)
| Benchmark | acc_n |
|---|---|
| Average | 40.38 |
| ARC-challenge | 40.61 |
| Hellaswag | 60.52 |
| MMLU | 25.72 |
| TruthfulQA | 37.67 |
| Winogrande | 62.19 |
| GSM8K | 15.54 |
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.