🚀 ポライトガード
ポライトガードは、Intelによって開発されたオープンソースのNLP言語モデルです。BERTをファインチューニングして、テキスト分類タスクに特化させています。このモデルは、テキストを丁寧、やや丁寧、中立、失礼などの4つのカテゴリに分類するように設計されています。
✨ 主な機能
- モデルタイプ:BERT* (Bidirectional Encoder Representations from Transformers)
- アーキテクチャ:BERT-base uncased をファインチューニング
- タスク:テキスト分類
- ソースコード:https://github.com/intel/polite-guard
- データセット:https://huggingface.co/datasets/Intel/polite-guard
📦 インストール
このセクションでは、具体的なインストール手順が原文档に記載されていないため、省略します。
💻 使用例
基本的な使用法
from transformers import pipeline
classifier = pipeline("text-classification", "Intel/polite-guard")
text = "Your input text"
output = classifier(text)
print(output)
高度な使用法
<!DOCTYPE html>
<html>
<body>
<h1>WebNN Transformers.js Intel/polite-guard</h1>
<script type="module">
import { pipeline } from "https://cdn.jsdelivr.net/npm/@huggingface/transformers";
const classifier = await pipeline("text-classification", "Intel/polite-guard", {
dtype: "fp32",
device: "webnn-gpu",
});
const text = "Your input text";
const output = await classifier(text);
console.log(`${text}: ${output[0].label}`);
</script>
</body>
</html>
📚 ドキュメント
モデルの詳細
- 訓練データ:このモデルは、Polite Guard Dataset を使用し、Intel® Gaudi® AIアクセラレータで訓練されました。訓練データセットは、金融、旅行、飲食、小売、スポーツクラブ、文化教育、職業開発などの様々なセクターの合成生成されたカスタマーサービス対話で構成されています。
- ベースモデル:BERT-base、12層、110Mパラメータ。
- ファインチューニングプロセス:PyTorch Lightning*を使用して、以下のハイパーパラメータでPolite Guardの訓練データセットをファインチューニングしました。
ハイパーパラメータ |
バッチサイズ |
学習率 |
学習率スケジュール |
最大エポック数 |
オプティマイザ |
重み減衰 |
精度 |
値 |
32 |
4.78e-05 |
線形ウォームアップ (ステップの10%) |
2 |
AdamW |
1.01e-06 |
bf16-mixed |
ハイパーパラメータチューニングは、Optuna*を通じてTree-structured Parzen Estimator (TPE) アルゴリズムを使用したベイズ最適化で行われ、35回の試行で検証F1スコアを最大化しました。ハイパーパラメータの探索空間は以下の通りです。
学習率: [1e-5, 5e-4]
重み減衰: [1e-6, 1e-2]
ファインチューニングプロセスでは、Optunaのプルーニングコールバックを使用してパフォーマンスの低いハイパーパラメータの試行を終了させ、モデルチェックポイントを使用して最良のモデル状態を保存しました。

合成データ生成とファインチューニングのコードは、こちら で確認できます。
メトリクス
合成データと手動でアノテーション付けされたデータの両方を含むテストデータセットにおけるモデルの主要なパフォーマンスメトリクスは以下の通りです。
- 精度:Polite Guardのテストデータセットで92%。
- F1スコア:Polite Guardのテストデータセットで92%。
ラベルの説明
- 丁寧:テキストは思いやりがあり、敬意と礼儀正しさを示しており、多くの場合、丁寧なフレーズと友好的な口調が含まれています。
- やや丁寧:テキストは一般的に礼儀正しいですが、暖かみや形式感に欠けており、適度な礼儀でコミュニケーションを行っています。
- 中立:テキストは率直で事実的で、感情的なニュアンスや特に丁寧さを意識した試みがありません。
- 失礼:テキストは失礼または無礼で、多くの場合、率直または軽蔑的で、受信者の感情への配慮が欠けています。
記事
データジェネレータとファインチューナパッケージの実装について詳しく知りたい場合は、以下の記事を参照してください。
その他のAI開発に関する情報は、Intel® AI Development Resources をご覧ください。
コミュニティへの参加
他のモデルを探索することに興味がある場合は、IntelとHugging Faceのコミュニティに参加してください。これらのモデルは、生成AIソリューションの開発と採用を簡素化し、世界中の開発者の間でイノベーションを促進します。このプロジェクトが役に立つと思われる場合は、Hugging Faceで❤️ を押し、ネットワーク内で共有してください。あなたの支援により、コミュニティが成長し、より多くの貢献者に到達することができます。
免責事項
ポライトガードは、カスタマーレビュー、製品レビュー、企業コミュニケーションに関連する限られたデータセットで訓練および検証されています。これらの狭いユースケース以外では、精度メトリクスを保証することはできません。したがって、このツールは、展開される特定の使用コンテキスト内で検証する必要があります。このツールは、従業員のパフォーマンスを評価するために使用することを意図していません。このツールは、多くのコンテキストで危害を防止するには不十分であり、失礼な発言が個人、コミュニティ、または社会に危害を与える可能性のある機密性の高いユースケースでは、追加のツールや技術を採用する必要があります。
プライバシー通知
ポライトガードモデルはAI技術を使用しており、チャットボットとやり取りしていることに注意してください。デモ中に使用されるプロンプトは保存されません。収集された個人データの取り扱いに関する情報は、グローバルプライバシー通知 (https://www.intel.com/content/www/us/en/privacy/intelprivacy-notice.html) を参照してください。これには、当社のプライバシー慣行が含まれています。
📄 ライセンス
このプロジェクトは、Apache-2.0ライセンスの下で公開されています。