🚀 クイックスタート
このモデルは、ロシア語でトレーニングされ、独自のテレグラムチャットでファインチューニングされたDialoGPTです。このモデルは、会話型のタスクに適しています。
✨ 主な機能
- ロシア語での会話生成が可能です。
- 独自のテレグラムチャットデータでファインチューニングされています。
📦 インストール
このモデルを使用するには、必要なライブラリをインストールする必要があります。以下のコードを使用して、モデルとトークナイザーをダウンロードできます。
checkpoint = "Kirili4ik/ruDialoGpt3-medium-finetuned-telegram"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint)
model.eval()
💻 使用例
基本的な使用法
def get_length_param(text: str, tokenizer) -> str:
tokens_count = len(tokenizer.encode(text))
if tokens_count <= 15:
len_param = '1'
elif tokens_count <= 50:
len_param = '2'
elif tokens_count <= 256:
len_param = '3'
else:
len_param = '-'
return len_param
def get_user_param(text: dict, machine_name_in_chat: str) -> str:
if text['from'] == machine_name_in_chat:
return '1'
else:
return '0'
chat_history_ids = torch.zeros((1, 0), dtype=torch.int)
while True:
next_who = input("Who's phrase?\t")
if next_who == "H" or next_who == "Human":
input_user = input("===> Human: ")
new_user_input_ids = tokenizer.encode(f"|0|{get_length_param(input_user, tokenizer)}|" \
+ input_user + tokenizer.eos_token, return_tensors="pt")
chat_history_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1)
if next_who == "G" or next_who == "GPT":
next_len = input("Phrase len? 1/2/3/-\t")
new_user_input_ids = tokenizer.encode(f"|1|{next_len}|", return_tensors="pt")
chat_history_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1)
input_len = chat_history_ids.shape[-1]
chat_history_ids = model.generate(
chat_history_ids,
num_return_sequences=1,
max_length=512,
no_repeat_ngram_size=3,
do_sample=True,
top_k=50,
top_p=0.9,
temperature = 0.6,
mask_token_id=tokenizer.mask_token_id,
eos_token_id=tokenizer.eos_token_id,
unk_token_id=tokenizer.unk_token_id,
pad_token_id=tokenizer.pad_token_id,
device='cpu'
)
print(f"===> GPT-3: {tokenizer.decode(chat_history_ids[:, input_len:][0], skip_special_tokens=True)}")
📚 ドキュメント
このモデルは、sberbank-aiによって作成され、ロシアのフォーラムでトレーニングされました(Grossmend's modelを参照)。トレーニング方法に関する情報は、habr(ロシア語)で見ることができます。
独自のコードでこのモデルをファインチューニングする方法については、以下のColabチュートリアルを参照してください。
https://colab.research.google.com/drive/1fnAVURjyZRK9VQg1Co_-SKUQnRES8l9R?usp=sharing
🔧 技術詳細
このモデルは、ロシア語の会話データを使用してトレーニングされ、独自のテレグラムチャットデータでファインチューニングされています。データの特性により、Hosted inference APIが正常に動作しない場合があります。
📄 ライセンス
このモデルのライセンスに関する詳細は、元のGitHubリポジトリを参照してください。
注意事項
⚠️ 重要提示
データの特性により、Hosted inference APIが正常に動作しない場合があります。
💡 使用建议
このモデルを試すには、Spaces demoを使用してください。