🚀 answerdotai-ModernBERT-base-ai-detector
このモデルは、answerdotai/ModernBERT-base をAI vs 人間のテキスト分類データセット DAIGT V2 Train Dataset でファインチューニングしたバージョンです。評価セットでは以下の結果を達成しています。
🚀 クイックスタート
このモデルを使用するには、以下のコードを参考にしてください。
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
model_name = "answerdotai/ModernBERT-base-ai-detector"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer)
text = "This text was written by an AI model like ChatGPT."
result = classifier(text)
print(result)
✨ 主な機能
- このモデルは、軽量かつ効率的なBERTベースのモデルである ModernBERT-base をベースにしています。
- AI生成テキストと人間が書いたテキストの分類 のためにファインチューニングされており、AIモデル(ChatGPT、DeepSeek、Claudeなど) が書いたテキストと人間が書いたテキストを区別することができます。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline
model_name = "answerdotai/ModernBERT-base-ai-detector"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
classifier = pipeline("text-classification", model=model, tokenizer=tokenizer)
text = "This text was written by an AI model like ChatGPT."
result = classifier(text)
print(result)
📚 ドキュメント
🎯 想定用途と制限
✅ 想定用途
- AI生成コンテンツの検出(例:ChatGPT、Claude、DeepSeek)。
- 人間とAI生成コンテンツを区別するためのテキスト分類。
- AIコンテンツ検出のための教育や研究用途。
⚠️ 制限
- 100%正確ではない → 一部のAIテキストは人間の文章に似ている場合があり、逆もまた然りです。
- 学習データセットの範囲に限定される → ドメイン外のテキスト では苦労する可能性があります。
- バイアスのリスク → データセットにバイアスが含まれている場合、モデルがそれを引き継ぐ可能性があります。
📊 学習と評価データ
- このモデルは、35,894個の学習サンプル と 8,974個のテストサンプル でファインチューニングされました。
- データセットは、AI生成テキストサンプル(ChatGPT、Claude、DeepSeekなど) と 人間が書いたサンプル(Wikipedia、書籍、記事) で構成されています。
- ラベル:
1
→ AI生成テキスト
0
→ 人間が書いたテキスト
⚙️ 学習手順
学習ハイパーパラメータ
学習中に以下のハイパーパラメータが使用されました。
ハイパーパラメータ |
値 |
学習率 |
2e-5 |
学習バッチサイズ |
16 |
評価バッチサイズ |
16 |
オプティマイザー |
AdamW (β1=0.9, β2=0.999, ε=1e-08 ) |
学習率スケジューラー |
Linear |
エポック数 |
3 |
混合精度 |
Native AMP (fp16) |
📈 学習結果
学習損失 |
エポック |
ステップ |
検証損失 |
0.0505 |
0.22 |
500 |
0.0214 |
0.0114 |
0.44 |
1000 |
0.0110 |
0.0088 |
0.66 |
1500 |
0.0032 |
0.0 |
0.89 |
2000 |
0.0048 |
0.0068 |
1.11 |
2500 |
0.0035 |
0.0 |
1.33 |
3000 |
0.0040 |
0.0 |
1.55 |
3500 |
0.0097 |
0.0053 |
1.78 |
4000 |
0.0101 |
0.0 |
2.00 |
4500 |
0.0053 |
0.0 |
2.22 |
5000 |
0.0039 |
0.0017 |
2.45 |
5500 |
0.0046 |
0.0 |
2.67 |
6000 |
0.0043 |
0.0 |
2.89 |
6500 |
0.0036 |
🛠 フレームワークバージョン
ライブラリ |
バージョン |
Transformers |
4.48.3 |
PyTorch |
2.5.1+cu124 |
Datasets |
3.3.2 |
Tokenizers |
0.21.0 |
📄 ライセンス
このモデルは、Apache-2.0ライセンスの下で提供されています。