GPT-2
date: 2022-06-03 excerpt: GPT-2(Generative Pre-trained Transformer 2)の使い方
GPT-2の使い方
概要
- アテンションとトランスフォーマーを利用した強力な言語モデル
- 公開されているモデルが汎用的なので、few-shot, zero-shot machine learningとして使用できる
- 使用できるpretrained modelとして、rinnaやtanreinamaなどがある
文章生成タスク
few shotで作成する場合
- genericなモデルであるGPT-2を利用して入力の最初の方に、few shotのデータを入れることで対応する
- 具体的には参考になるキーワードと、それからの生成物を入れることで生成が可能になる
入力
input = """
[TITLE]: アマゾン、中国の「キンドル」ストアを来年6月末閉鎖-市場の壁厚く
[CONTENT]: 米アマゾン・ドット・コムは、来年6月末に中国で電子書籍「キンドル」ストアを閉鎖する。現地ライバル企業の壁は厚く、中国市場に大きく食い込めなかった。アマゾンの広報担当者は電子メールで配布した資料で、2023年6月30日に中国のキンドルストアを停止すると説明。キンドルリーダーのサポートは継続、あるいは今年1月以後の機器購入については返金に応じるとした。
[TITLE]: セブンの“100円コーヒー” 110円に値上げへ
[CONTENT]: セブン‐イレブン・ジャパンは6月3日、「セブンカフェ」商品の値上げを発表した。対象は“100円コーヒー”として親しまれていたレギュラーサイズのホットコーヒー、アイスコーヒーなど。7月4日から順次変更する。
[TITLE]: 「架空商品」メニューに掲載 ドミノ・ピザ「需要調査」に客困惑、識者が指摘する改善点
[CONTENT]: 宅配ピザ大手「ドミノ・ピザ ジャパン」が一部の客に実施しているインターネット調査が、消費者視点に欠けているとしてひんしゅくを買っている。
[TITLE]: キャッシュレス利用率 初の30%超
[CONTENT]:
"""
Ground Trues
国内のキャッシュレス決済の割合が去年、初めて30%を超えました。
経済産業省によりますと、去年の民間消費に占めるキャッシュレス決済の割合は2020年よりも2.8ポイント増えて32.5%となり、初めて3割を超えました。
決済事業者がポイントを付与するキャンペーンを相次いで実施したことが後押ししたとみられます。
推論されたテキスト
>> セブン&アイ・ホールディングス セブン&アイ・hd傘下のセブン&アイ・ホールディングスが、セブン&アイ・ストアの加盟店を対象に、7月からのカード利用についてアンケート調査を開始することを発表。キャッシュレス利用者は、年々増加しており、38%と好調の傾向。 セブン&アイ・ホールディングス、セブン&アイ・フード&デリ、セブン&アイ・ツー、セブン&アイ・ネットの7社が、セブン銀行のキャッシュレス口座に振り込める金額を、従来の最大で2000万円に引き上げる。 : 電子マネーnanacoの利用率が54%で過去最高 全国紙が特集 セブン銀行は2018年9月18日、セブン-イレブン・ジャパンとセブン銀行が提携して実施した、電子マネーnanacoの利用状況を調査した。
>> セブン&アイ・ホールディングスの「セブン-イレブン」店内で、注文受付システムを使った自動レジを試験運用している。 店舗によっては、レジスタッフに操作を尋ねる必要があるという。 「セブン&アイ」は7月から「レジでのお支払いには、レジ端末で表示されるqrコードを、お客様ご自身のサインに書き換えてお持ちください」というシステムに変更した。 1月23日から24日にかけて実施された消費者意識調査で、20代から60代の主婦や働き盛りの世代に、携帯電話料金の支払いで「携帯料金を払わない」を選択したと答えた人の割合が51.0%になった。調査にはnttドコモが協力した。携帯電話料金の支払いに関する意識調査として「ケータイ料金を払わない」「携帯電話料金を支払った」「支払った」と答えた人のうち54.0%が携帯電話の料金の支払いに携帯料金を支払ったことがわかり、利用者のスマートフォン保有率は8割にのぼった。 コンビニ各社は20〜30歳
>> ローソン、全国4店舗でのキャッシュレスサービスを2020年6月下旬までに開始 楽天市場、ポイント3倍キャンペーン実施 「楽天市場」で、1カ月に10万件の利用があれば、抽選で5000名に楽天スーパーポイントをプレゼント マクドナルド、1カ月1000円以上の注文があれば、現金3万円をもれなくプレゼント マクドナルド、1カ月に1000円以上の注文があれば、抽選で2000名に「楽天スーパーポイント」をプレゼント マクドナルド、1カ月1000円以上の注文があれば、抽選で3000名に1000円分のポイントをプレゼント ローソン、1カ月に1500円以上購入すれば、抽選で1000名に「1000円分の電子マネー」をプレゼント マクドナルド、1カ月に3000円以上購入すれば、抽選で1000
>> ローソン・スリーエフが、8月13日からの7日間限定で、クレジットカード決済サービス「paypay(ペイペイ)」を利用した代金引き換えサービスを期間限定で実施する。 ドミノ・ピザが、8月13日からの7日間限定で、クレジットカード決済サービス「paypay(ペイペイ)」を利用した代金引き換えサービスを期間限定で実施する。
Google Colab
再学習
- 日本語のGPT-2モデルではGPUには16GBほどのメモリが必要
- 具体的な手順については以下のブログを参照
- データセットの2つの区切り方
- Tokenizerに
begin_of_sentence
とend_of_sentence
の特殊文字を入れて文章を入れて分ける - 文章が変更するときは改行コードを2つ入れるなどのルールを作る
- Tokenizerに
- デフォルトではバリデーションに
perplexity
を使用している
推論するときのコード
from transformers import T5Tokenizer, AutoModelForCausalLM
# load tokenizer
tokenizer = T5Tokenizer.from_pretrained("rinna/japanese-gpt2-medium")
# fine tuningしたモデルをロード
model = AutoModelForCausalLM.from_pretrained("output/")
input = tokenizer.encode("ねぇ", return_tensors="pt")
# inference
output = model.generate(input,
do_sample=True,
top_p=0.95,
top_k=30,
num_return_sequences=5,
max_length=len(input[0]) + 200, # max_length=len(input_ids[0]) + 150,
bad_words_ids=[[1], [5]])
# inferred output
print(*tokenizer.batch_decode(output), sep="\n")
300ほどのコーパスで学習した例
- default
なによその</s>こぶ ねむり なな と」。 「女はみなさんに なってみましょう
なによその</s>さめじ』:明治12年(1879年)1月27日 - 明治33年(1900年)10
なによその</s>わはは あかんおきゃく そいつが! なによ あかんおきゃく
- retrain
なによその</s>そっけない態度はぁ~...。今から思えば、ちょっとしたわがままだったかな...。今度
なによその</s>態度はぁ~...。私がそんな事言っちゃ、いけないんだからっ!...いや、それもあるけど
なによその</s>食い逃げ! 」「うわぁぁぁぁん! もぉー! あぁん!!