Views
No views yet
h2ogpt-oasst1-512-12b is a 12 billion parameter instruction-following large language model licensed for commercial use.
transformers library on a machine with GPUs, first make sure you have the transformers and accelerate libraries installed.1pip install transformers==4.28.1
2pip install accelerate==0.18.01import torch
2from transformers import pipeline
3
4generate_text = pipeline(model="h2oai/h2ogpt-oasst1-512-12b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", prompt_type='human_bot')
5
6res = generate_text("Why is drinking water so healthy?", max_new_tokens=100)
7print(res[0]["generated_text"])trust_remote_code=True you can download instruct_pipeline.py,
store it alongside your notebook, and construct the pipeline yourself from the loaded model and tokenizer:1import torch
2from h2oai_pipeline import H2OTextGenerationPipeline
3from transformers import AutoModelForCausalLM, AutoTokenizer
4
5tokenizer = AutoTokenizer.from_pretrained("h2oai/h2ogpt-oasst1-512-12b", padding_side="left")
6model = AutoModelForCausalLM.from_pretrained("h2oai/h2ogpt-oasst1-512-12b", torch_dtype=torch.bfloat16, device_map="auto")
7generate_text = H2OTextGenerationPipeline(model=model, tokenizer=tokenizer, prompt_type='human_bot')
8
9res = generate_text("Why is drinking water so healthy?", max_new_tokens=100)
10print(res[0]["generated_text"])GPTNeoXForCausalLM(
(gpt_neox): GPTNeoXModel(
(embed_in): Embedding(50688, 5120)
(layers): ModuleList(
(0-35): 36 x GPTNeoXLayer(
(input_layernorm): LayerNorm((5120,), eps=1e-05, elementwise_affine=True)
(post_attention_layernorm): LayerNorm((5120,), eps=1e-05, elementwise_affine=True)
(attention): GPTNeoXAttention(
(rotary_emb): RotaryEmbedding()
(query_key_value): Linear(in_features=5120, out_features=15360, bias=True)
(dense): Linear(in_features=5120, out_features=5120, bias=True)
)
(mlp): GPTNeoXMLP(
(dense_h_to_4h): Linear(in_features=5120, out_features=20480, bias=True)
(dense_4h_to_h): Linear(in_features=20480, out_features=5120, bias=True)
(act): GELUActivation()
)
)
)
(final_layer_norm): LayerNorm((5120,), eps=1e-05, elementwise_affine=True)
)
(embed_out): Linear(in_features=5120, out_features=50688, bias=False)
)1GPTNeoXConfig {
2 "_name_or_path": "h2oai/h2ogpt-oasst1-512-12b",
3 "architectures": [
4 "GPTNeoXForCausalLM"
5 ],
6 "bos_token_id": 0,
7 "classifier_dropout": 0.1,
8 "custom_pipelines": {
9 "text-generation": {
10 "impl": "h2oai_pipeline.H2OTextGenerationPipeline",
11 "pt": "AutoModelForCausalLM"
12 }
13 },
14 "eos_token_id": 0,
15 "hidden_act": "gelu",
16 "hidden_size": 5120,
17 "initializer_range": 0.02,
18 "intermediate_size": 20480,
19 "layer_norm_eps": 1e-05,
20 "max_position_embeddings": 2048,
21 "model_type": "gpt_neox",
22 "num_attention_heads": 40,
23 "num_hidden_layers": 36,
24 "rotary_emb_base": 10000,
25 "rotary_pct": 0.25,
26 "tie_word_embeddings": false,
27 "torch_dtype": "float16",
28 "transformers_version": "4.30.0.dev0",
29 "use_cache": true,
30 "use_parallel_residual": true,
31 "vocab_size": 50688
32}
33| Task | Version | Metric | Value | Stderr | |
|---|---|---|---|---|---|
| arc_challenge | 0 | acc | 0.3157 | ± | 0.0136 |
| acc_norm | 0.3507 | ± | 0.0139 | ||
| arc_easy | 0 | acc | 0.6932 | ± | 0.0095 |
| acc_norm | 0.6225 | ± | 0.0099 | ||
| boolq | 1 | acc | 0.6685 | ± | 0.0082 |
| hellaswag | 0 | acc | 0.5140 | ± | 0.0050 |
| acc_norm | 0.6803 | ± | 0.0047 | ||
| openbookqa | 0 | acc | 0.2900 | ± | 0.0203 |
| acc_norm | 0.3740 | ± | 0.0217 | ||
| piqa | 0 | acc | 0.7682 | ± | 0.0098 |
| acc_norm | 0.7661 | ± | 0.0099 | ||
| winogrande | 0 | acc | 0.6369 | ± | 0.0135 |