HuggingFace镜像/h2o-danube3-500m-chat-GGUF
模型介绍文件和版本分析
下载使用量0

使用方法

您需要更新 transformers,以便 transformers 能够读取 gguf 文件。

transformers==4.45.1
numpy==1.24.4
gguf==0.10.0
accelerate
openmind-hub
einops
from openmind import AutoModelForCausalLM, AutoTokenizer
from openmind import is_torch_npu_available
import torch
import argparse
import torch.nn.functional as F
import time

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        help="Path to model",
        default="./h2o-danube3-500m-chat-GGUFF",
    )
    args = parser.parse_args()
    return args

def main():
    args = parse_args()
    model_path = args.model_name_or_path

    if is_torch_npu_available():
        device = "npu:0"
    else:
        device = "cpu"  
    #device = "cpu"  
    start_time = time.time()
    filename = "h2o-danube3-500m-chat-Q4_K_M.gguf"
    tokenizer = AutoTokenizer.from_pretrained(model_path, gguf_file=filename, trust_remote_code=True)
    model = AutoModelForCausalLM.from_pretrained(
        model_path, torch_dtype=torch.float16, gguf_file=filename, device_map=device
    )

    
    prompt = "Q: What is the largest animal?\nA:"
    input_ids = tokenizer(prompt, return_tensors="pt").input_ids
    input_ids = input_ids.to(model.device)
    generation_output = model.generate(input_ids=input_ids, max_new_tokens=32)

    print(tokenizer.decode(generation_output[0]))
    end_time = time.time()
    print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")


if __name__ == "__main__":
    main()

h2o-danube3-500m-chat-GGUF

  • 模型创建者:H2O.ai
  • 原始模型:h2oai/h2o-danube3-500m-chat

说明

本仓库包含 h2o-danube3-500m-chat 模型的 GGUF 格式文件,这些文件是使用 llama.cpp 框架进行量化处理的。

下表总结了 h2o-danube3-500m-chat 的不同量化版本,展示了模型在大小、速度和质量之间的权衡关系。

名称量化方法模型大小MT-Bench 平均值困惑度每秒令牌数
h2o-danube3-500m-chat-F16.ggufF161.03 GB3.349.461870
h2o-danube3-500m-chat-Q8_0.ggufQ8_00.55 GB3.769.462144
h2o-danube3-500m-chat-Q6_K.ggufQ6_K0.42 GB3.779.462418
h2o-danube3-500m-chat-Q5_K_M.ggufQ5_K_M0.37 GB3.209.552430
h2o-danube3-500m-chat-Q4_K_M.ggufQ4_K_M0.32 GB3.169.962427

表中的列说明如下:

  • 名称 -- 模型名称及链接
  • 量化方法 -- 量化处理方式
  • 模型大小 -- 模型的大小(以千兆字节为单位)
  • MT-Bench 平均值 -- MT-Bench 基准测试分数。分数范围为 1 到 10,分数越高表示性能越好
  • 困惑度 -- 在 WikiText-2 数据集上的困惑度指标。由 llama.cpp 的困惑度测试报告得出。数值越低表示性能越好
  • 每秒令牌数 -- 生成速度(以每秒令牌数为单位),由 llama.cpp 的困惑度测试报告得出。数值越高表示速度越快。速度测试在单个 H100 GPU 上进行

提示词模板

<|prompt|>Why is drinking water so healthy?</s><|answer|>