🚀 DistilCamemBERT-QA
私たちは、DistilCamemBERT をベースに、フランス語の質問応答タスクに対して微調整したモデル、DistilCamemBERT-QA を公開しました。このモデルは、FQuAD v1.0 と Piaf の 2 つのデータセットを使用して構築されており、これらのデータセットには、コンテキスト、質問、およびコンテキスト内の対応する回答が含まれています。
このモデルの構築方法は、CamemBERT モデルをベースにした etalab-ia/camembert-base-squadFR-fquad-piaf と似ています。CamemBERT ベースのモデルには、例えば本番環境での拡張時に推論コストが技術的な問題になる可能性があり、特にこのタスクのようなクロスエンコーディングシナリオではその傾向が強いという問題があります。この問題に対応するため、私たちはこのモデルを提案し、DistilCamemBERT を利用することで、同じ消費電力で推論時間を半分に短縮しました。
📦 インストール
ドキュメントにインストール手順が記載されていないため、表示しません。
✨ 主な機能
- DistilCamemBERT をベースに微調整され、フランス語の質問応答タスクに特化しています。
- CamemBERT をベースにしたモデルと比較して、同じ消費電力で推論時間が半分に短縮されます。
📚 ドキュメント
データセット
データセットには FQuAD v1.0 と Piaf が含まれており、トレーニングセットには 24,566 個の質問応答ペアが、評価セットには 3,188 個の質問応答ペアが含まれています。
評価結果とベンチマーク
私たちは DistilCamemBERT-QA を、フランス語を扱う他の 2 つのモデルと比較しました。1 つ目は、著名なフランス語の RoBERTa モデル CamemBERT をベースにした etalab-ia/camembert-base-squadFR-fquad-piaf です。2 つ目は、もう 1 つの BERT アーキテクチャに基づくフランス語モデル FlauBERT をベースにした fmikaelian/flaubert-base-uncased-squad です。
ベンチマークテストでは、予測された回答と実際の回答の逐語的な比較を行いました。また、予測された応答と実際の回答の間の交差の質を測定するために f1 スコアを使用しました。最後に、実際の回答が予測された回答に含まれているかどうかを測定するために包含スコアを使用しました。平均推論時間の測定には、AMD Ryzen 5 4500U @ 2.3GHz 6 コア プロセッサを使用しました。
FlauBERT モデルの結果は考慮しないでください。このモデルの構築に問題があるようで、結果が非常に低いためです。
💻 使用例
基本的な使用法
from transformers import pipeline
qa_engine = pipeline(
"question-answering",
model="cmarkea/distilcamembert-base-qa",
tokenizer="cmarkea/distilcamembert-base-qa"
)
result = qa_engine(
context="David Fincher, né le 28 août 1962 à Denver (Colorado), "
"est un réalisateur et producteur américain. Il est principalement "
"connu pour avoir réalisé les films Seven, Fight Club, L'Étrange "
"Histoire de Benjamin Button, The Social Network et Gone Girl qui "
"lui ont valu diverses récompenses et nominations aux Oscars du "
"cinéma ou aux Golden Globes. Réputé pour son perfectionnisme, il "
"peut tourner un très grand nombre de prises de ses plans et "
"séquences afin d'obtenir le rendu visuel qu'il désire. Il a "
"également développé et produit les séries télévisées House of "
"Cards (pour laquelle il remporte l'Emmy Award de la meilleure "
"réalisation pour une série dramatique en 2013) et Mindhunter, "
"diffusées sur Netflix.",
question="Quel est le métier de David Fincher ?"
)
result
{'score': 0.7981914281845093,
'start': 61,
'end': 98,
'answer': ' réalisateur et producteur américain.'}
高度な使用法(Optimum + ONNX)
from optimum.onnxruntime import ORTModelForQuestionAnswering
from transformers import AutoTokenizer, pipeline
HUB_MODEL = "cmarkea/distilcamembert-base-qa"
tokenizer = AutoTokenizer.from_pretrained(HUB_MODEL)
model = ORTModelForQuestionAnswering.from_pretrained(HUB_MODEL)
onnx_qa = pipeline("question-answering", model=model, tokenizer=tokenizer)
quantized_model = ORTModelForQuestionAnswering.from_pretrained(
HUB_MODEL, file_name="model_quantized.onnx"
)
📄 ライセンス
このプロジェクトは CC BY - NC - SA 3.0 ライセンスの下で提供されています。
📖 引用
@inproceedings{delestre:hal-03674695,
TITLE = {{DistilCamemBERT : une distillation du mod{\`e}le fran{\c c}ais CamemBERT}},
AUTHOR = {Delestre, Cyrile and Amar, Abibatou},
URL = {https://hal.archives-ouvertes.fr/hal-03674695},
BOOKTITLE = {{CAp (Conf{\'e}rence sur l'Apprentissage automatique)}},
ADDRESS = {Vannes, France},
YEAR = {2022},
MONTH = Jul,
KEYWORDS = {NLP ; Transformers ; CamemBERT ; Distillation},
PDF = {https://hal.archives-ouvertes.fr/hal-03674695/file/cap2022.pdf},
HAL_ID = {hal-03674695},
HAL_VERSION = {v1},
}