Optimum 文档

运行推理

您正在查看 主分支 版本,需要从源代码安装。如果您希望使用常规的 pip 安装,请查看最新的稳定版本(v1.23.1)。
Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验

开始使用

运行推理

本节介绍如何在 Gaudi 上运行仅推理的工作负载。有关如何加快推理速度的更多高级信息,请查看本指南

使用 GaudiTrainer

您可以在下面找到一个使用 GaudiTrainer 实例执行推理的模板,我们希望在给定数据集上计算准确率

import evaluate

metric = evaluate.load("accuracy")

# You can define your custom compute_metrics function. It takes an `EvalPrediction` object (a namedtuple with a
# predictions and label_ids field) and has to return a dictionary string to float.
def my_compute_metrics(p):
    return metric.compute(predictions=np.argmax(p.predictions, axis=1), references=p.label_ids)

# Trainer initialization
trainer = GaudiTrainer(
        model=my_model,
        gaudi_config=my_gaudi_config,
        args=my_args,
        train_dataset=None,
        eval_dataset=eval_dataset,
        compute_metrics=my_compute_metrics,
        tokenizer=my_tokenizer,
        data_collator=my_data_collator,
    )

# Run inference
metrics = trainer.evaluate()

变量 my_args 应包含一些推理特定的参数,您可以查看此处以查看可能对推理设置有用的参数。

在我们的示例中

所有我们的示例都包含在给定数据集上使用给定模型运行推理的说明。每个示例的推理都是相同的:使用 --do_eval--per_device_eval_batch_size 以及不使用 --do_train 运行示例脚本。一个简单的模板如下所示

python path_to_the_example_script \
  --model_name_or_path my_model_name \
  --gaudi_config_name my_gaudi_config_name \
  --dataset_name my_dataset_name \
  --do_eval \
  --per_device_eval_batch_size my_batch_size \
  --output_dir path_to_my_output_dir \
  --use_habana \
  --use_lazy_mode \
  --use_hpu_graphs_for_inference
< > 在 GitHub 上更新