🚀 ChatGPTパラフレーズモデル
このモデルは、ChatGPTと同様のパラフレーズ生成を行うことができ、Hugging Face上でも優れたパラフレーズモデルの一つです。T5-baseモデルをベースに、転移学習を用いて訓練されています。
🚀 クイックスタート
このモデルは、ChatGPTパラフレーズデータセットを使用して訓練されています。このデータセットは、Quoraパラフレーズ質問、SQUAD 2.0、CNNニュースデータセットに基づいています。
このモデルはT5-baseモデルをベースにしており、「転移学習」を用いてChatGPTと同様にパラフレーズを生成できるようにしました。現在、これはHugging Faceで最良のパラフレーズモデルの一つです。
Kaggleのリンク
著者1のLinkedInのリンク
著者2のLinkedInのリンク
✨ 主な機能
- 転移学習を用いて、ChatGPTと同様のパラフレーズ生成が可能。
- T5-baseモデルをベースにしており、高性能なパラフレーズ生成が可能。
📦 インストール
このモデルを使用するには、transformers
ライブラリが必要です。以下のコマンドでインストールできます。
pip install transformers
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
device = "cuda"
tokenizer = AutoTokenizer.from_pretrained("humarin/chatgpt_paraphraser_on_T5_base")
model = AutoModelForSeq2SeqLM.from_pretrained("humarin/chatgpt_paraphraser_on_T5_base").to(device)
def paraphrase(
question,
num_beams=5,
num_beam_groups=5,
num_return_sequences=5,
repetition_penalty=10.0,
diversity_penalty=3.0,
no_repeat_ngram_size=2,
temperature=0.7,
max_length=128
):
input_ids = tokenizer(
f'paraphrase: {question}',
return_tensors="pt", padding="longest",
max_length=max_length,
truncation=True,
).input_ids.to(device)
outputs = model.generate(
input_ids, temperature=temperature, repetition_penalty=repetition_penalty,
num_return_sequences=num_return_sequences, no_repeat_ngram_size=no_repeat_ngram_size,
num_beams=num_beams, num_beam_groups=num_beam_groups,
max_length=max_length, diversity_penalty=diversity_penalty
)
res = tokenizer.batch_decode(outputs, skip_special_tokens=True)
return res
具体的な入出力例
入力:
text = 'What are the best places to see in New York?'
paraphrase(text)
出力:
['What are some must-see places in New York?',
'Can you suggest some must-see spots in New York?',
'Where should one go to experience the best NYC has to offer?',
'Which places should I visit in New York?',
'What are the top destinations to explore in New York?']
入力:
text = "Rammstein's album Mutter was recorded in the south of France in May and June 2000, and mixed in Stockholm in October of that year."
paraphrase(text)
出力:
['In May and June 2000, Rammstein travelled to the south of France to record his album Mutter, which was mixed in Stockholm in October of that year.',
'The album Mutter by Rammstein was recorded in the south of France during May and June 2000, with mixing taking place in Stockholm in October of that year.',
'The album Mutter by Rammstein was recorded in the south of France during May and June 2000, with mixing taking place in Stockholm in October of that year. It',
'Mutter, the album released by Rammstein, was recorded in southern France during May and June 2000, with mixing taking place between October and September.',
'In May and June 2000, Rammstein recorded his album Mutter in the south of France, with the mix being made at Stockholm during October.']
🔧 技術詳細
推論パラメータ
パラメータ |
値 |
num_beams |
5 |
num_beam_groups |
5 |
num_return_sequences |
5 |
repetition_penalty |
10.01 |
diversity_penalty |
3.01 |
no_repeat_ngram_size |
2 |
temperature |
0.7 |
max_length |
128 |
訓練パラメータ
epochs = 5
batch_size = 64
max_length = 128
lr = 5e-5
batches_qty = 196465
betas = (0.9, 0.999)
eps = 1e-08
📄 ライセンス
このモデルはOpenRailライセンスの下で公開されています。
BibTeXエントリと引用情報
@inproceedings{chatgpt_paraphraser,
author={Vladimir Vorobev, Maxim Kuznetsov},
title={A paraphrasing model based on ChatGPT paraphrases},
year={2023}
}