运行推理
本节介绍如何在 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