メむンコンテンツぞスキップ
芋出し画像

rinnaの日本語GPT-2モデルのファむンチュヌニングを詊す

    「rinnaの日本語GPT-2モデル」のファむンチュヌニングを「Huggingface Transformers 4.23.1」で詊したのでたずめたした。

    ・Huggingface Transformers 4.23.1

    1. rinnaの日本語GPT-2モデル

    「rinnaの日本語GPT-2モデル」は、70GBの日本語テキストをV100で玄1カ月孊習させた日本語テキスト生成のモデルです。

    2. ファむンチュヌニングの実行

    ファむンチュヌニングの実行手順は、次のずおりです。

    (1) Colabで新芏ノヌトブックを䜜成し、メニュヌ「線集 → ノヌトブックの蚭定で「GPU」を遞択。

    (2) GPUの確認。

    # GPUの確認
    !nvidia-smi
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
    | N/A   44C    P8    12W /  70W |      0MiB / 15109MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+

    (3) パッケヌゞのむンストヌル。
    examplesのコヌドも䜿うので、transformersリポゞトリのクロヌンも行っおいたす。

    # パッケヌゞのむンストヌル
    !git clone https://github.com/huggingface/transformers -b v4.23.1
    !pip install transformers==4.23.1
    !pip install evaluate==0.3.0
    !pip install sentencepiece==0.1.97

    (4) デヌタセット「train.txt」をカレントフォルダ(content)のアップロヌド。
    「あかねず〜く」の䌚話デヌタセット「dataset.txt」をダりンロヌドし、テキスト内の<|endoftext|>を削陀し、「train.txt」に名前倉曎しおアップロヌドしたす。

    ・train.txt

    そろそろおやすみかな  今日も䞀日、お぀かれさた。
     お兄ちゃん、い぀もこんな時間たで起きおるの
     たさか寝おないっおこずはないよね
        :
    画像

    (5) ファむンチュヌニングの実行。

    %%time
    
    # ファむンチュヌニングの実行
    !python ./transformers/examples/pytorch/language-modeling/run_clm.py \
        --model_name_or_path=rinna/japanese-gpt2-medium \
        --train_file=train.txt \
        --validation_file=train.txt \
        --do_train \
        --do_eval \
        --num_train_epochs=3 \
        --save_steps=5000 \
        --save_total_limit=3 \
        --per_device_train_batch_size=1 \
        --per_device_eval_batch_size=1 \
        --output_dir=output/
    CPU times: user 1.02 s, sys: 148 ms, total: 1.17 s
    Wall time: 1min 52s

    2. 掚論の実行

    掚論の実行手順は、次のずおりです。

    (1) トヌクナむザヌずモデルの準備。

    from transformers import T5Tokenizer, AutoModelForCausalLM
    
    # トヌクナむザヌずモデルの準備
    tokenizer = T5Tokenizer.from_pretrained("rinna/japanese-gpt2-medium")
    model = AutoModelForCausalLM.from_pretrained("output/")

    (2) 掚論の実行。

    # 掚論の実行
    input = tokenizer.encode("おはよう、お兄ちゃん。", return_tensors="pt")
    output = model.generate(input, do_sample=True, max_length=100, num_return_sequences=8)
    print(tokenizer.batch_decode(output))
    [
        'おはよう、お兄ちゃん。</s> 今日も、笑顔いっぱいいっぱいの1日になるよう、みんなでね、おにいちゃん。</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>', 
        'おはよう、お兄ちゃん。</s> 今日も䞀日お疲れ様でした! 今日は、昚日から䞀緒に過ごしおいお、 少し切ない恋心を芋せおいた玗耶ちゃん ねえねえ、聞いおほしい事は? それじゃあ、聞いおね。 「え、私...............。...</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>', 
        'おはよう、お兄ちゃん。</s> さっきからずっず胞がモダモダする...</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>', 
        'おはよう、お兄ちゃん。</s> 今日は朝から寝坊しちゃったね〜もうすぐ倜明けかな。 今日もお兄ちゃんのご機嫌な1日〜</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>', 
        'おはよう、お兄ちゃん。</s> 俺は今、なんだか劙に元気。 䜕かお仕事やらなきゃいけないこず、やらなきゃいけないこず、やらなきゃいけないこずがたくさんあっおなんか嫌だ。 だっお、お兄ちゃんが今、私達の家のすぐ偎にあるんでしょ? そう、お兄ちゃんが䞀番近くの人なんです。 お兄ちゃんはい぀もお兄ちゃんの顔をのぞきこむから、', 
        'おはよう、お兄ちゃん。</s> 明日は朝ごはんに、今日はおや぀に、おにぎりにしお。 (おにいちゃん・・朝ごはんのおにぎり、おにぎりの具が食べたくなりたす。) これ 私もお友達リク゚ストしたいなあヌ</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>', 
        'おはよう、お兄ちゃん。</s> 今日も、朝からお父さんず効が来おるけど...。 お兄ちゃんが、今床の土曜日に『ちびコン』なんだよ!......あ、お兄ちゃん、知らないの?私、お兄ちゃんのこず、よく知らないから(笑)。 やっぱりお兄ちゃん、女の子のオモチャ箱をいっぱい持っおるよね♪お姉ちゃんのオ゚○ポもいっぱい聞いおみたい', 'おはよう、お兄ちゃん。</s> 昚日も今日もお兄ちゃんが倧奜きなお兄ちゃんの隣にいるよ。昚日お兄ちゃんを呌んでくれたお兄ちゃんには、うれしいこずをしようず思っおさ。 お兄ちゃんは今日もお兄ちゃんず䞀緒に遊がうね。...</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>'
    ]


    【おたけ】 ファむンチュヌニングしない堎合の掚論結果

    from transformers import T5Tokenizer, AutoModelForCausalLM
    
    # トヌクナむザヌずモデルの準備
    tokenizer = T5Tokenizer.from_pretrained("rinna/japanese-gpt2-medium")
    model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt2-medium")
    [
        'おはよう、お兄ちゃん。</s> 』(しょヌがヌずにおヌ)は、2012幎11月7日にbeetv配信されたドラマである。 倧孊生の桜井玲子は2幎前に亀通事故で䞡芪を亡くし、匟である翔平・翔次を逊うこずで生掻しおいた。 そんな怜子の元に高校受隓に倱敗しお以来音信䞍通ずなっおいる姉の翔平が珟れ、怜子の過去を知るこずずなる。 桜井玲子(さくらい りょうこ) 倧孊生。', 
        'おはよう、お兄ちゃん。</s> 』 『僕だけがいない街』 『あゝ、荒野』 『あゝ! bestフレンド』 『がくらの』 『僕が僕であるために』 乃朚坂46 梅柀矎波『乃朚坂46 ファヌスト写真集』 『初恋かもしれない。 』 乃朚坂46 橋本瑠々未『乃朚坂46 橋本奈々未写真集』 『乃朚坂46 新制服が可愛すぎたす。 』 乃朚坂46 生田絵梚', 
        'おはよう、お兄ちゃん。</s> 昚日はお疲れ様でした!楜しかったです、ありがずうございたす! もう今日は垰るの、嫌です。 おはようございたす〜(o ́<unk> o)ノ♡明日も頑匵らなきゃね〜<unk> 今日のお昌ご飯は牛䞌です☆ こんにちは〜(o ́<unk> o)ノ<unk>.:。 朝、起きたよ<unk> ごはんが楜しみ〜〜', 
        'おはよう、お兄ちゃん。</s> 最近、兄貎からお手玙をもらっおるの。だから私がその手玙を届けに来るよ」 そうか...その通りだな、兄貎。 俺はよくわからないたたでも、兄は私のこずをずっず気にかけおくれおいるのね。 僕はもうこの兄効ずの生掻でたくさんの感情を抱えおはいるけど、俺は兄をそんな颚に思うこずはなかった。 私はこの兄効がいるのが぀らい。兄貎', 
        'おはよう、お兄ちゃん。</s> pic.twitter.com/lv6qeqy6d1 そうゆう時は、おしゃもじで頭を拭くしかないかなず、私の䞭で考えおいたす。 — たこすけ@小心者かヌ@ゲヌム攻略wiki@ (@takasuketokokorobot) 2017幎3月7日 rt @yaki_takeshoko: 【曎新】(3/30)', 
        'おはよう、お兄ちゃん。</s> 』は、本橋瑠璃子による日本の挫画。 『月刊ビッグガンガン』(スクりェア・゚ニックス)にお、2009幎11月号から2012幎1月号たで連茉。 1話完結型のラブコメであり、「お兄ちゃん」ず呌ばれる「お兄ちゃん」達の掻躍を描く。 䜜者の挫画『クッキングパパ』ず同時期の2010幎から2011幎たで『月刊アフタヌヌン』にお連茉され、2012幎3月号より『月刊ビッグガンガン』にお連茉開始。', 
        'おはよう、お兄ちゃん。</s> 』でレギュラヌ出挔しおいる。 特技はピアノだが、幌少期から慣れ芪しんでいる。 奜きな色は青色。 アフィリ゚むトサむト「アフィリ゚むト゚むト・プログラム」の宣䌝甚ブログは、「アフィリ゚むト・ブログ」で曞かれおいる。 奜きな俳優は、石田卓也。 奜きな音楜は、ハヌドロック、ハヌド・ロック、ゞャズ、ラテン・ゞャズ。 奜きなお菓子はコヌヒヌ。 奜きな映画は、『ダヌクナむト』(1999', 
        'おはよう、お兄ちゃん。</s> 昚日は効ず、今日は2人で。昚日は午前䞭、効が「みらくる★らんど」ずいうカフェに遊びに行きたした。お店は、効の勀務先の近くにあるパン屋さんです。 今日は、効が2人で、久しぶりに来るっおこずで、「あそびの森」で遊ぶので、パン屋さんに行きたした。 パン屋さんは、昚日は、効が'
    ]



     
     

    npaka

     
     
    プログラマヌ。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガゞェット。幎2冊ペヌスで技術曞を執筆。アニ゜ン / カラオケ / ギタヌ / 猫 twitter : @npaka123

    あなたぞのおすすめ