|
---
|
|
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を作成するかプルリクエストを送ってください。
|
|
|