🚀 SuperAnnotate
このモデルは、生成された合成テキストを検出するために設計されています。現在、この機能はテキストの作成者を特定するために重要です。トレーニングデータ、科学や教育分野での不正や不正行為の検出においても重要です。
🚀 クイックスタート
このモデルを使用するには、まずgenerated_text_detector
をインストールする必要があります。以下のコマンドを実行してください。
pip install git+https://github.com/superannotateai/generated_text_detector.git@v1.0.0
✨ 主な機能
- 生成された合成テキストの検出が可能です。
- トレーニングデータ、科学や教育分野での不正や不正行為の検出に役立ちます。
📦 インストール
前提条件:
generated_text_detector
をインストールします。
以下のコマンドを実行します。
pip install git+https://github.com/superannotateai/generated_text_detector.git@v1.0.0
💻 使用例
基本的な使用法
from generated_text_detector.utils.model.roberta_classifier import RobertaClassifier
from transformers import AutoTokenizer
import torch.nn.functional as F
model = RobertaClassifier.from_pretrained("SuperAnnotate/roberta-large-llm-content-detector")
tokenizer = AutoTokenizer.from_pretrained("SuperAnnotate/roberta-large-llm-content-detector")
text_example = "It's not uncommon for people to develop allergies or intolerances to certain foods as they get older. It's possible that you have always had a sensitivity to lactose (the sugar found in milk and other dairy products), but it only recently became a problem for you. This can happen because our bodies can change over time and become more or less able to tolerate certain things. It's also possible that you have developed an allergy or intolerance to something else that is causing your symptoms, such as a food additive or preservative. In any case, it's important to talk to a doctor if you are experiencing new allergy or intolerance symptoms, so they can help determine the cause and recommend treatment."
tokens = tokenizer.encode_plus(
text_example,
add_special_tokens=True,
max_length=512,
padding='longest',
truncation=True,
return_token_type_ids=True,
return_tensors="pt"
)
_, logits = model(**tokens)
proba = F.sigmoid(logits).squeeze(1).item()
print(proba)
📚 ドキュメント
モデルの詳細
モデルの説明
- モデルタイプ: 事前学習されたRoBERTaに基づく二値シーケンス分類のカスタムアーキテクチャで、単一の出力ラベルを持ちます。
- 言語: 主に英語。
- ライセンス: SAIPL
- ファインチューニング元のモデル: RoBERTa Large
モデルのソース
トレーニングデータ
トレーニングデータは、異なる比率の2つのオープンデータセットから取得され、フィルタリングされました。
- HC3 | 63%
- IDMGSP | 37%
結果として、トレーニングデータセットには約20kのテキストラベルのペアが含まれ、クラスのバランスがほぼ均等でした。
データセットのテキストは論理的な構造に従っています。人間によって書かれたテキストとモデルによって生成されたテキストは、単一のプロンプト/命令を参照していますが、トレーニング中にはプロンプト自体は使用されませんでした。
⚠️ 重要提示
さらに、カイ二乗検定を利用して、ターゲットラベルと最も高い相関を示す重要なn-gram(nは2から5の範囲)を特定し、トレーニングデータから削除しました。
特徴
トレーニング中の優先事項の1つは、予測の品質を最大化するだけでなく、過学習を回避し、適切に自信を持った予測器を得ることでした。
私たちは、以下のモデルキャリブレーションの状態を達成できたことを喜んでいます。

トレーニングの詳細
カスタムアーキテクチャは、二値分類を実行しながら単一のモデル出力を提供する能力と、損失関数に組み込まれた平滑化のカスタマイズ可能な設定のために選択されました。
トレーニング引数:
- ベースモデル: FacebookAI/roberta-large
- エポック数: 10
- 学習率: 5e-04
- 重み減衰: 0.05
- ラベル平滑化: 0.1
- ウォームアップエポック数: 4
- オプティマイザー: SGD
- スケジューラー: ウォームアップ付きの線形スケジュール
パフォーマンス
モデルは、トレーニングデータのホールドアウトサブセットと、SuperAnnotateデータのクローズドサブセットから構成されるベンチマークで評価されました。
ベンチマークには1kのサンプルが含まれ、カテゴリごとに200サンプルです。
以下の表では、モデルのパフォーマンスをオープンソースのソリューションや人気のあるAPI検出器と比較しています。
📄 ライセンス
このモデルはSAIPLライセンスの下で提供されています。