HuggingFace镜像/h2ogpt-oasst1-512-12b
模型介绍文件和版本分析
下载使用量0

h2oGPT 模型卡片

修改记录

  • 修改示例并增加 NPU 支持
  • 添加依赖项

概述

H2O.ai 的 h2ogpt-oasst1-512-12b 是一个拥有 120 亿参数的指令跟随大型语言模型,已获得商业使用许可。

  • 数据准备和微调代码:H2O.ai GitHub
  • 训练日志:压缩包

聊天机器人

  • 运行您自己的聊天机器人:H2O.ai GitHub H2O.ai GitHub

依赖项

  • transformers==4.44.2
  • psutil==6.0.0
  • better_profanity==0.7.0
  • einops==0.6.1
  • protobuf==5.28.2

使用方法


from openmind import is_torch_npu_available,AutoModelForCausalLM, AutoTokenizer
from openmind_hub import snapshot_download
from transformers import GPTNeoXTokenizerFast


if is_torch_npu_available():
  device = "npu:0"
else:
  device = "cpu"
tokenizer = GPTNeoXTokenizerFast.from_pretrained("SY_AICC/h2ogpt-oasst1-512-12b",trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
  "SY_AICC/h2ogpt-oasst1-512-12b"
  torch_dtype=torch.bfloat16,
  trust_remote_code=True)
model = model.to(device)
model = model.eval()
inputs = tokenizer(
  "Why is drinking water so healthy?",
  return_tensors="pt").to(device)
pred = model.generate(
  **inputs,
  max_new_tokens=64,
  repetition_penalty=1.1)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))

模型架构

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 得出的模型验证结果。

评估源代码

任务版本指标数值标准误差
arc_challenge0acc0.3157±0.0136
acc_norm0.3507±0.0139
arc_easy0acc0.6932±0.0095
acc_norm0.6225±0.0099
boolq1acc0.6685±0.0082
hellaswag0acc0.5140±0.0050
acc_norm0.6803±0.0047
openbookqa0acc0.2900±0.0203
acc_norm0.3740±0.0217
piqa0acc0.7682±0.0098
acc_norm0.7661±0.0099
winogrande0acc0.6369±0.0135

免责声明

在使用本仓库提供的大型语言模型之前,请仔细阅读本免责声明。您对模型的使用即表示您同意以下条款和条件。

  • 偏见与冒犯性:大型语言模型是在多样化的互联网文本数据上训练的,这些数据可能包含有偏见、种族主义、冒犯性或其他不当内容。通过使用本模型,您承认并接受生成的内容有时可能表现出偏见或产生冒犯性或不当内容。本仓库的开发者不认可、支持或推广任何此类内容或观点。
  • 局限性:大型语言模型是基于 AI 的工具,而非人类。它可能会产生不正确、无意义或不相关的响应。用户有责任对生成的内容进行批判性评估,并自行决定是否使用。
  • 风险自负:大型语言模型的用户必须对使用该工具可能产生的任何后果承担全部责任。本仓库的开发者和贡献者不对因使用或滥用所提供的模型而导致的任何损害、损失或伤害承担责任。
  • 伦理考量:鼓励用户以负责任和符合伦理的方式使用大型语言模型。通过使用本模型,您同意不将其用于宣扬仇恨言论、歧视、骚扰或任何形式的非法或有害活动。
  • 问题报告:如果您遇到由大型语言模型生成的任何有偏见、冒犯性或其他不当内容,请通过提供的渠道向仓库维护者报告。您的反馈将有助于改进模型并减轻潜在问题。
  • 本免责声明的变更:本仓库的开发者保留随时修改或更新本免责声明的权利,恕不另行通知。用户有责任定期查看本免责声明,以了解任何变更。

使用本仓库提供的大型语言模型,即表示您同意接受并遵守本免责声明中所述的条款和条件。如果您不同意本免责声明的任何部分,您应避免使用该模型及其生成的任何内容。