🚀 スペイン語チャット版DialoGPT-medium
これは、Transformerデコーダーに基づくGPT - 2モデルで、スペイン語の単ターン対話タスクに特化して調整されています。私たちは、マイクロソフトのDialoGPT - mediumの3.45億パラメータモデルを、CLM(因果言語モデリング)の目標に沿って微調整しました。
🚀 クイックスタート
このモデルは、微調整されたGPT - 2モデルで、スペイン語の単ターン対話タスクに適しています。以下では、その使用方法を詳しく説明します。
✨ 主な機能
- Transformerデコーダーアーキテクチャに基づき、スペイン語の単ターン対話タスクに特化しています。
- マイクロソフトのDialoGPT - mediumモデルから微調整され、3.45億のパラメータを持っています。
- CLM(因果言語モデリング)の目標に沿って訓練されています。
💻 使用例
基本的な使用法
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
CHAT_TURNS = 5
MAX_LENGTH = 1000
model = AutoModelForCausalLM.from_pretrained('ITG/DialoGPT-medium-spanish-chitchat')
tokenizer = AutoTokenizer.from_pretrained('ITG/DialoGPT-medium-spanish-chitchat')
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model.to(device)
for i in range(CHAT_TURNS):
user_input = input(f"Step - {i} >> user prompt ->")
with torch.no_grad():
user_inputs_ids = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors="pt")
user_inputs_ids = user_inputs_ids.to(device)
chat_history = model.generate(user_inputs_ids, max_length=MAX_LENGTH, pad_token_id=tokenizer.eos_token_id)
step_model_answer = tokenizer.decode(chat_history[:, user_inputs_ids.shape[-1]:][0], skip_special_tokens=True)
print(f"Step - {i} >> DialoGPT-spanish model answer -> {step_model_answer}")
対話例の表示
役割 |
返答 |
ユーザー |
Hola, buenos dias |
ロボット |
Buenos días |
ユーザー |
¿Qué tal estás? |
ロボット |
Fenomenal, gracias. |
ユーザー |
¡Tengo hambre! |
ロボット |
Quizá picar algo te ayude. |
ユーザー |
Estoy triste |
ロボット |
Siento escuchar eso. |
ユーザー |
¿Tienes personalidad? |
ロボット |
Soy un bot. |
ユーザー |
¡Cuenta un chiste! |
ロボット |
En realidad no tengo tanta gracia. |
ユーザー |
Jajajajajajajaja |
ロボット |
¡Me alegro de que te rías! |
📚 ドキュメント
データセット
私たちは、Bot Framework Toolsリポジトリで利用可能なデータセットの1つを使用しました。私たちは、スペイン語のプロフェッショナルなスタイルの個性的なチャットデータセットを処理しました。このファイルはここからダウンロードできます。
微調整のハイパーパラメータ
ハイパーパラメータ |
値 |
検証セットの分割割合 |
20% |
訓練バッチサイズ |
8 |
学習率 |
5e - 4 |
最大訓練エポック数 |
20 |
ウォームアップ訓練ステップの割合 |
6% |
重み減衰 |
0.01 |
オプティマイザー (beta1, beta2, epsilon) |
AdamW (0.9, 0.999, 1e - 08) |
監視指標 (delta, patience) |
検証損失 (0.1, 3) |
異なるデータセットやスタイルでの微調整
独自の対話モデルを微調整したい場合は、DialoGPTモデルから始めることをおすすめします。元のGitHubリポジトリを参照することができます。
制限事項
- このモデルは、GPT - 2論文の元の英語のトークナイザーを使用しています。スペイン語のトークナイズは考慮されていませんが、テキストエンコーディングの構文構造には類似点があります。この重複は、モデルが英語からスペイン語への知識を移行するのに役立つ可能性があります。さらに、GPT - 2トークナイザーのBPE(バイトペアエンコーディング)実装は、すべてのUnicode文字列に表現を割り当てることができます。
GPT - 2論文から引用:
私たちの方法は、任意のUnicode文字列に確率を割り当てることができるため、前処理、トークナイズ、または語彙サイズを考慮することなく、任意のデータセットで言語モデルを評価することができます。
- このモデルは、スペイン語の単ターンチャット対話にのみ使用されます。
- このモデルの生成能力は、上記の微調整データセットの範囲に制限されています。
- このモデルは、短い回答を生成し、プロフェッショナルなスタイルでスペイン語の一般的なコンテキスト対話を提供します。
📄 ライセンス
このモデルはCC - BY - NC - ND - 4.0ライセンスの下で提供されています。