模型:
h2oai/h2ogpt-oasst1-512-12b
H2O.ai的h2ogpt-oasst1-512-12b是一种拥有120亿参数的大型语言模型,可用于商业用途。
要在带有GPU的计算机上使用transformers库和accelerate库与模型一起使用,首先确保已安装这些库。
pip install transformers==4.28.1 pip install accelerate==0.18.0
import torch from transformers import pipeline generate_text = pipeline(model="h2oai/h2ogpt-oasst1-512-12b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map="auto", prompt_type='human_bot') res = generate_text("Why is drinking water so healthy?", max_new_tokens=100) print(res[0]["generated_text"])
或者,如果您不想使用trust_remote_code=True,可以下载 instruct_pipeline.py ,将其与笔记本放在一起,并从加载的模型和分词器构建自己的流水线:
import torch from h2oai_pipeline import H2OTextGenerationPipeline from transformers import AutoModelForCausalLM, AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("h2oai/h2ogpt-oasst1-512-12b", padding_side="left") model = AutoModelForCausalLM.from_pretrained("h2oai/h2ogpt-oasst1-512-12b", torch_dtype=torch.bfloat16, device_map="auto") generate_text = H2OTextGenerationPipeline(model=model, tokenizer=tokenizer, prompt_type='human_bot') res = generate_text("Why is drinking water so healthy?", max_new_tokens=100) print(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) )
GPTNeoXConfig { "_name_or_path": "h2oai/h2ogpt-oasst1-512-12b", "architectures": [ "GPTNeoXForCausalLM" ], "bos_token_id": 0, "classifier_dropout": 0.1, "custom_pipelines": { "text-generation": { "impl": "h2oai_pipeline.H2OTextGenerationPipeline", "pt": "AutoModelForCausalLM" } }, "eos_token_id": 0, "hidden_act": "gelu", "hidden_size": 5120, "initializer_range": 0.02, "intermediate_size": 20480, "layer_norm_eps": 1e-05, "max_position_embeddings": 2048, "model_type": "gpt_neox", "num_attention_heads": 40, "num_hidden_layers": 36, "rotary_emb_base": 10000, "rotary_pct": 0.25, "tie_word_embeddings": false, "torch_dtype": "float16", "transformers_version": "4.30.0.dev0", "use_cache": true, "use_parallel_residual": true, "vocab_size": 50688 }
使用 EleutherAI lm-evaluation-harness 进行的模型验证结果。
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 |
在使用本存储库提供的大型语言模型之前,请仔细阅读此免责声明。您使用该模型即表示您同意以下条款和条件。
通过使用此存储库提供的大型语言模型,您同意接受并遵守本免责声明中概述的条款和条件。如果您不同意本免责声明的任何部分,您应该避免使用该模型和由其生成的任何内容。