ModernBERT-base-ONNX-ORT / README_ja.md
ayousanz's picture
Add ONNX and ORT models with quantization
8b43bea verified
---
license: apache-2.0
tags:
- onnx
- ort
---
# [answerdotai/ModernBERT-base](https://huggingface.co/answerdotai/ModernBERT-base) のONNXおよびORTモデルと量子化モデル
[Click here for the English README](README.md)
このリポジトリは、元のモデル [answerdotai/ModernBERT-base](https://huggingface.co/answerdotai/ModernBERT-base) をONNXおよびORT形式に変換し、さらに量子化したものです。
## ライセンス
このモデルのライセンスは「apache-2.0」です。詳細は元のモデルページ([answerdotai/ModernBERT-base](https://huggingface.co/answerdotai/ModernBERT-base))を参照してください。
## 使い方
このモデルを使用するには、ONNX Runtimeをインストールし、以下のように推論を行います。
```python
# サンプルコード
import onnxruntime as ort
import numpy as np
from transformers import AutoTokenizer
import os
# トークナイザーの読み込み
tokenizer = AutoTokenizer.from_pretrained('answerdotai/ModernBERT-base')
# 入力の準備
text = 'ここに入力テキストを置き換えてください。'
inputs = tokenizer(text, return_tensors='np')
# 使用するモデルのパスを指定
# ONNXモデルとORTモデルの両方をテストする
model_paths = [
'onnx_models/model_opt.onnx', # ONNXモデル
'ort_models/model.ort' # ORTフォーマットのモデル
]
# モデルごとに推論を実行
for model_path in model_paths:
print(f'\n===== Using model: {model_path} =====')
# モデルの拡張子を取得
model_extension = os.path.splitext(model_path)[1]
# モデルの読み込み
if model_extension == '.ort':
# ORTフォーマットのモデルをロード
session = ort.InferenceSession(model_path, providers=['CPUExecutionProvider'])
else:
# ONNXモデルをロード
session = ort.InferenceSession(model_path)
# 推論の実行
outputs = session.run(None, dict(inputs))
# 出力の形状を表示
for idx, output in enumerate(outputs):
print(f'Output {idx} shape: {output.shape}')
# 結果の表示(必要に応じて処理を追加)
print(outputs)
```
## モデルの内容
このリポジトリには、以下のモデルが含まれています。
### ONNXモデル
- `onnx_models/model.onnx`: [answerdotai/ModernBERT-base](https://huggingface.co/answerdotai/ModernBERT-base) から変換された元のONNXモデル
- `onnx_models/model_opt.onnx`: 最適化されたONNXモデル
- `onnx_models/model_fp16.onnx`: FP16による量子化モデル
- `onnx_models/model_int8.onnx`: INT8による量子化モデル
- `onnx_models/model_uint8.onnx`: UINT8による量子化モデル
### ORTモデル
- `ort_models/model.ort`: 最適化されたONNXモデルを使用したORTモデル
- `ort_models/model_fp16.ort`: FP16量子化モデルを使用したORTモデル
- `ort_models/model_int8.ort`: INT8量子化モデルを使用したORTモデル
- `ort_models/model_uint8.ort`: UINT8量子化モデルを使用したORTモデル
## 注意事項
元のモデル [answerdotai/ModernBERT-base](https://huggingface.co/answerdotai/ModernBERT-base) のライセンスおよび使用条件を遵守してください。
## 貢献
問題や改善点があれば、Issueを作成するかプルリクエストを送ってください。