pipeline_tag: 文本生成
inference: false
license: apache-2.0
library_name: transformers
model-index:
- name: ibm/PowerLM-3b
results:
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: ARC
metrics:
- name: 标准化准确率
type: accuracy-norm
value: 60.5
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: BoolQ
metrics:
- name: 准确率
type: accuracy
value: 72.0
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: Hellaswag
metrics:
- name: 标准化准确率
type: accuracy-norm
value: 74.6
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: OpenBookQA
metrics:
- name: 标准化准确率
type: accuracy-norm
value: 43.6
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: PIQA
metrics:
- name: 标准化准确率
type: accuracy-norm
value: 79.9
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: Winogrande
metrics:
- name: 标准化准确率
type: accuracy-norm
value: 70.0
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: MMLU (5样本)
metrics:
- name: 准确率
type: accuracy
value: 49.2
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: GSM8k (5样本)
metrics:
- name: 准确率
type: accuracy
value: 34.9
verified: false
- task:
type: 文本生成
dataset:
type: lm-eval-harness
name: 数学 (4样本)
metrics:
- name: 准确率
type: accuracy
value: 15.2
verified: false
- task:
type: 文本生成
dataset:
type: bigcode-eval
name: humaneval
metrics:
- name: pass@1
type: pass@1
value: 26.8
verified: false
- task:
type: 文本生成
dataset:
type: bigcode-eval
name: MBPP
metrics:
- name: pass@1
type: pass@1
value: 33.6
verified: false
模型概述
PowerLM-3B是一个采用Power学习率调度器训练的30亿参数先进小型语言模型。该模型基于开源和专有数据集的混合训练而成。在自然语言多选、代码生成和数学推理等多个基准测试中,PowerLM-3B相较于同规模级别的其他模型展现出显著优势。
论文链接:https://arxiv.org/abs/2408.13359
使用说明
注意:需从源码安装HF transformers库
生成示例
以下是使用PowerLM-3b模型的基础示例:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda"
model_path = "ibm/PowerLM-3b"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
prompt = "编写查找数字列表中最大值的代码。"
input_tokens = tokenizer(prompt, return_tensors="pt")
for i in input_tokens:
input_tokens[i] = input_tokens[i].to(device)
output = model.generate(**input_tokens, max_new_tokens=100)
output = tokenizer.batch_decode(output)
for i in output:
print(i)