Hugging Faceモデル
Hugging Faceモデルチュートリアル
Section titled “Hugging Faceモデルチュートリアル”このチュートリアルでは、ONNX Runtimeを使用してHugging Faceモデルハブの事前学習済みモデルを実行する方法を示します。
- ONNX Runtimeがインストールされていること
- Hugging Face Transformersライブラリがインストールされていること
- Hugging Face Optimumライブラリがインストールされていること
Hugging FaceモデルをONNXにエクスポートする
Section titled “Hugging FaceモデルをONNXにエクスポートする”Hugging Face Transformersモデルは、optimum-cliツールを使用してONNX形式にエクスポートできます。
optimum-cli export onnx --model distilbert-base-cased-distilled-squad distilbert-squad-onnxこれにより、distilbert-squad-onnxディレクトリにmodel.onnxファイルが作成されます。
ONNXモデルを実行する
Section titled “ONNXモデルを実行する”ONNXモデルは、ONNX Runtimeを使用して実行できます。
import onnxruntimefrom transformers import AutoTokenizerimport numpy as np
# ONNXモデルをロードsession = onnxruntime.InferenceSession("distilbert-squad-onnx/model.onnx")
# トークナイザをロードtokenizer = AutoTokenizer.from_pretrained("distilbert-base-cased-distilled-squad")
# 質問とコンテキストを定義question = "ONNX Runtimeとは何ですか?"context = "ONNX Runtimeは、ONNXモデルを運用環境にデプロイするための高性能な推論エンジンです。"
# 入力をトークン化inputs = tokenizer(question, context, return_tensors="np")
# 入力名を取得input_names = [input.name for input in session.get_inputs()]
# 推論を実行result = session.run(None, dict(inputs))
# 出力を処理start_scores, end_scores = resultstart_index = np.argmax(start_scores)end_index = np.argmax(end_scores)answer = tokenizer.convert_tokens_to_string(tokenizer.convert_ids_to_tokens(inputs["input_ids"][0][start_index:end_index+1]))
# 回答を出力print(answer)このスクリプトは、質問とコンテキストをトークン化し、ONNX Runtimeを使用して推論を実行し、回答を出力します。