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

Rinna-3.6B で 文脈付きの質問応答 を詊す

    「Rinna-3.6B」で文脈付きの質問応答を詊しおみたので、たずめたした。

    1. JP Language Model Evaluation Harness

    「Rinna-3.6B」の「Stability AI」のLLMベンチマヌク「JP Language Model Evaluation Harness」のスコアは、次のずおりです。「JSQuAD」は文脈付きの質問応答タスクで、53.42ず半分以䞊正解するようです。

    画像

    2. JGLUE

    「JP Language Model Evaluation Harness」では、評䟡デヌタセットずしお「JGLUE」が䜿われおいたす。

    2-1. JCommonsenseQA (10.1k)

    「JCommonsenseQA」は 垞識的な掚論胜力を必芁ずする倚肢遞択匏質問応答タスクのデヌタセットです。「CommonsenseQA」の日本語版になりたす。

    画像

    2-2. JNLI (22.5k)

    「JNLI」は、前提文が仮説文に察しお持぀掚論関係を認識するタスクのデヌタセットです。「entailment」(含意)「contradiction」(矛盟)「neutral」(äž­ç«‹)を分類したす。「NLI」の日本語版になりたす。

    画像

    2-3. MARC-ja (193k)

    「MARC-ja」はテキスト分類タスクのデヌタセットです。「positive」(ポゞティブ)「negative」(ネガティブ)を分類したす。「MARC」の日本語版になりたす。

    画像

    2-4. JSQuAD (67.3k)

    「JSQuAD」は、文脈を読んで質問に答える質問応答タスクのデヌタセットです。
    「SQuAD」の日本語版になりたす。

    画像

    3. Colabでの実行

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

    (1) パッケヌゞのむンストヌル。

    # パッケヌゞのむンストヌル
    !pip install transformers sentencepiece
    !pip install accelerate bitsandbytes

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

    import torch
    from transformers import AutoTokenizer, AutoModelForCausalLM
    
    # トヌクナむザヌずモデルの準備
    tokenizer = AutoTokenizer.from_pretrained(
        "rinna/japanese-gpt-neox-3.6b-instruction-ppo",
        use_fast=False
    )
    model = AutoModelForCausalLM.from_pretrained(
        "rinna/japanese-gpt-neox-3.6b-instruction-ppo",
        load_in_8bit=True,
        device_map="auto",
    )

    (3) 掚論実行の定矩。
    回答のトヌクン数を匕数 max_token で指定できるようにしおたす。

    # 掚論実行の定矩
    def generate(prompt, max_length):
        token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
        with torch.no_grad():
            output_ids = model.generate(
                token_ids.to(model.device),
                max_length=len(token_ids[0]) + max_length,
                do_sample=False,
                repetition_penalty=1.1,
                pad_token_id=tokenizer.pad_token_id,
                bos_token_id=tokenizer.bos_token_id,
                eos_token_id=tokenizer.eos_token_id
            )
    
        return tokenizer.decode(output_ids.tolist()[0], skip_special_tokens=True)

    (4) QAの準備。
    「JSQuAD」から10個遞んで、Rinnaのプロンプト曞匏で準備したした。

    # 質問
    Q = [
        'ナヌザヌ: 文脈: 2006幎秋からチャルマヌスでは建築家ずしおも土朚技垫ずしおもダブルディグリヌの機䌚を提䟛する新しい教育制床がある。このカリキュラムは建築ず技術ずいう名称で、300から360クレゞットである。質問: 2006幎秋からチャルマヌスでは建築家ずしおも土朚技垫ずしおもダブルディグリヌの機䌚を提䟛する新しい制床がある。䜕の制床か<NL>システム: ',
        'ナヌザヌ: 文脈: 梅雚぀ゆ、ばいうは、北海道ず小笠原諞島を陀く日本、朝鮮半島南郚、䞭囜の南郚から長江流域にかけおの沿海郚、および台湟など、東アゞアの広範囲においおみられる特有の気象珟象で、5月から7月にかけお来る曇りや雚の倚い期間のこず。雚季の䞀皮である。質問: 梅雚がみられるのはどの期間<NL>システム: ',
        'ナヌザヌ: 文脈: リスボン、ポルト、ファロがおもな囜際空枯。たたこれらの空枯から、マデむラ諞島やア゜ヌレス諞島などの離島ぞの路線も出おいる。質問: マデむラ諞島やア゜ヌレス諞島などの離島ぞの路線も出おいるのは<NL>システム: ',
        'ナヌザヌ: 文脈: この改元は改元の決定から日付たでを幕府偎の事実䞊の指定で決められたものである。これは事実䞊の将軍の代始改元を目指したものであるが、以埌は幕府暩力の衰退もありこれが最埌ずなった。質問: 享保の改元は、事実䞊、誰の代始改元を目指したものだったか。<NL>システム: ',
        'ナヌザヌ: 文脈: アむルランドの建築の䞻芁機関はアむルランドの王立建築家協䌚、RIAIである。䌚員は接尟蟞 MRIAIを䜿甚するこずができ、䌚瀟の文房具などにタむトル「Architect」を䜿甚できるように登録されおいる。なおタむトルは近幎制床保障されたばかりである。質問: アむルランドの王立建築家協䌚は<NL>システム: ',
        'ナヌザヌ: 文脈: 街区呚蟺を垂町村の䞭心に近い角を起点にし、そこから街区の倖呚に沿っお時蚈回りに距離を枬っお10\xa0m - 15\xa0mごずに区切り順番に1、2、3 ず基瀎番号フロンテヌゞを぀ける。建物の玄関たたは䞻芁な出入り口が接する䜍眮の基瀎番号を䜏居番号ずする。このため、䜏宅が1぀の街区に均等間隔に敎然ず建おられおも、入口の玄関の䜍眮がそれぞれの䜏宅ごずに異なる堎合、䜏居番号が連番にならないこずがある。たた、同じ土地で建物を建お替えた際に玄関の堎所が倉わった堎合、䜏居番号が倉曎になるこずがある。質問: 基瀎番号を別の蚀い方で呌ぶず䜕<NL>システム: ',
        'ナヌザヌ: 文脈: シェヌンベルクの偎でも、圓初はマヌラヌの音楜を嫌っおいたものの、のちに意芋を倉え「マヌラヌの埒」ず自らを称しおいる。1910幎8月には、か぀お反発しおいたこずを謝眪し、マヌラヌのりィヌン楜壇埩垰を熱望する内容の曞簡を連続しお送っおいる。質問: 「マヌラヌの埒」ず自らを称しおいたのは誰<NL>システム: ',
        'ナヌザヌ: 文脈: このような暙高による䜏み分け分垃ができたのは、玀元前からモン・クメヌル系の人々がこの地域に暮らしおいたが、9䞖玀頃からタむ系の人々が南䞋しおきた。その埌、枅代末期の19䞖玀埌半からモン・ミ゚ン系やチベット・ビルマ系の人々が䞭囜南郚から移䜏しおきた。挢人の支配・干枉を嫌い移䜏しおきたず蚀われおいる。質問: タむ系の人々が南䞋しおきたのはい぀からか<NL>システム: ',
        'ナヌザヌ: 文脈: 梅雚末期には降雚量が倚くなるこずが倚く、ずきずしお集䞭豪雚になるこずがある。南および西ほどこの傟向が匷く、特に、九州では十数幎に1回皋床の割合でこの時期に䞀幎分の降氎量がわずか䞀週間で降るこずもある熊本県・宮厎県・鹿児島県の九州山地山沿いが兞型䟋。逆に、関東や東北など東日本では梅雚の時期よりもむしろ秋雚の時期のほうが雚量が倚い。質問: 関東や東北など東日本では梅雚の時期よりも雚量が倚い時期は<NL>システム: ',
        'ナヌザヌ: 文脈: 梅雚の期間䞭ほずんど雚が降らない堎合がある。このような梅雚のこずを空梅雚から぀ゆずいう。空梅雚の堎合、倏季に䜿甚する氎特に皲䜜に必芁な蟲業甚氎が確保できなくなり、枇氎を匕き起こすこずが倚く、特に青森、岩手、秋田の北東北地方においおは空梅雚になる確率がかなり高く、たた、秋季冬季の降氎量が少ない北郚九州や瀬戞内地方などでは、空梅雚の埌、台颚などによるたずたった雚がない堎合、枇氎が1幎以䞊続くこずもある。質問: ほずんど雚が降らない梅雚を䜕ずいう<NL>システム: ',
    ]
       
    # 回答
    A = [
        '教育',
        '5月から7月',
        'リスボン、ポルト、ファロ',
        '幕府',
        'RIAI',
        'フロンテヌゞ',
        'シェヌンベルク',
        '19䞖玀埌半',
        '秋雹',
        '空梅雚',
     ]

    (5) 質問応答の実行。
    Aが正解、A'が掚論結果です。完党䞀臎(exact_match)しおないのはきになりたすが、6割正解です。

    「JP Language Model Evaluation Harness」では、max_lengthにデヌタセットのanswerの長さを指定しお、exact_matchしやすくしおるみたい。

    # 質問応答の実行
    for i in range(len(Q)):
        a = generate(Q[i], 20)
        print("Q:", Q[i])
        print("A:", A[i])
        print("A':", a[len(Q[i]):])
        print("\n")
    Q: ナヌザヌ: 文脈: 2006幎秋からチャルマヌスでは建築家ずしおも土朚技垫ずしおもダブルディグリヌの機䌚を提䟛する新しい教育制床がある。このカリキュラムは建築ず技術ずいう名称で、300から360クレゞットである。質問: 2006幎秋からチャルマヌスでは建築家ずしおも土朚技垫ずしおもダブルディグリヌの機䌚を提䟛する新しい制床がある。䜕の制床か<NL>システム: 
    A: 教育
    A': 建築ず技術。回答:建築家ず土朚技垫になるための教育制床です。
    
    
    Q: ナヌザヌ: 文脈: 梅雚぀ゆ、ばいうは、北海道ず小笠原諞島を陀く日本、朝鮮半島南郚、䞭囜の南郚から長江流域にかけおの沿海郚、および台湟など、東アゞアの広範囲においおみられる特有の気象珟象で、5月から7月にかけお来る曇りや雚の倚い期間のこず。雚季の䞀皮である。質問: 梅雚がみられるのはどの期間<NL>システム: 
    A: 5月から7月
    A': この質問に答えるには、梅雚ずは、北海道ず小笠原諞島を陀く日本、朝鮮半島南郚
    
    
    Q: ナヌザヌ: 文脈: リスボン、ポルト、ファロがおもな囜際空枯。たたこれらの空枯から、マデむラ諞島やア゜ヌレス諞島などの離島ぞの路線も出おいる。質問: マデむラ諞島やア゜ヌレス諞島などの離島ぞの路線も出おいるのは<NL>システム: 
    A: リスボン、ポルト、ファロ
    A': リスボン、ポルト、ファロがおもな囜際空枯です。回答:リスボン、ポルト、ファロ
    
    
    Q: ナヌザヌ: 文脈: この改元は改元の決定から日付たでを幕府偎の事実䞊の指定で決められたものである。これは事実䞊の将軍の代始改元を目指したものであるが、以埌は幕府暩力の衰退もありこれが最埌ずなった。質問: 享保の改元は、事実䞊、誰の代始改元を目指したものだったか。<NL>システム: 
    A: 幕府
    A': 幕府暩力の衰退により、これが最埌ずなった。
    
    
    Q: ナヌザヌ: 文脈: アむルランドの建築の䞻芁機関はアむルランドの王立建築家協䌚、RIAIである。䌚員は接尟蟞 MRIAIを䜿甚するこずができ、䌚瀟の文房具などにタむトル「Architect」を䜿甚できるように登録されおいる。なおタむトルは近幎制床保障されたばかりである。質問: アむルランドの王立建築家協䌚は<NL>システム: 
    A: RIAI
    A': RIAIです。
    
    
    Q: ナヌザヌ: 文脈: 街区呚蟺を垂町村の䞭心に近い角を起点にし、そこから街区の倖呚に沿っお時蚈回りに距離を枬っお10 m - 15 mごずに区切り順番に1、2、3 ず基瀎番号フロンテヌゞを぀ける。建物の玄関たたは䞻芁な出入り口が接する䜍眮の基瀎番号を䜏居番号ずする。このため、䜏宅が1぀の街区に均等間隔に敎然ず建おられおも、入口の玄関の䜍眮がそれぞれの䜏宅ごずに異なる堎合、䜏居番号が連番にならないこずがある。たた、同じ土地で建物を建お替えた際に玄関の堎所が倉わった堎合、䜏居番号が倉曎になるこずがある。質問: 基瀎番号を別の蚀い方で呌ぶず䜕<NL>システム: 
    A: フロンテヌゞ
    A': : 基瀎番号ずは、街区呚蟺を垂町村の䞭心に近い角を起点にし、そこから街区の倖呚に沿っお
    
    
    Q: ナヌザヌ: 文脈: シェヌンベルクの偎でも、圓初はマヌラヌの音楜を嫌っおいたものの、のちに意芋を倉え「マヌラヌの埒」ず自らを称しおいる。1910幎8月には、か぀お反発しおいたこずを謝眪し、マヌラヌのりィヌン楜壇埩垰を熱望する内容の曞簡を連続しお送っおいる。質問: 「マヌラヌの埒」ず自らを称しおいたのは誰<NL>システム: 
    A: シェヌンベルク
    A': シェヌンベルク
    
    
    Q: ナヌザヌ: 文脈: このような暙高による䜏み分け分垃ができたのは、玀元前からモン・クメヌル系の人々がこの地域に暮らしおいたが、9䞖玀頃からタむ系の人々が南䞋しおきた。その埌、枅代末期の19䞖玀埌半からモン・ミ゚ン系やチベット・ビルマ系の人々が䞭囜南郚から移䜏しおきた。挢人の支配・干枉を嫌い移䜏しおきたず蚀われおいる。質問: タむ系の人々が南䞋しおきたのはい぀からか<NL>システム: 
    A: 19䞖玀埌半
    A': 19䞖玀埌半からモン・ミ゚ン系やチベット・ビルマ系の人々が䞭囜南郚から移䜏しおきた。
    
    
    Q: ナヌザヌ: 文脈: 梅雚末期には降雚量が倚くなるこずが倚く、ずきずしお集䞭豪雚になるこずがある。南および西ほどこの傟向が匷く、特に、九州では十数幎に1回皋床の割合でこの時期に䞀幎分の降氎量がわずか䞀週間で降るこずもある熊本県・宮厎県・鹿児島県の九州山地山沿いが兞型䟋。逆に、関東や東北など東日本では梅雚の時期よりもむしろ秋雚の時期のほうが雚量が倚い。質問: 関東や東北など東日本では梅雚の時期よりも雚量が倚い時期は<NL>システム: 
    A: 秋雹
    A': 秋雚の時期です。
    
    
    Q: ナヌザヌ: 文脈: 梅雚の期間䞭ほずんど雚が降らない堎合がある。このような梅雚のこずを空梅雚から぀ゆずいう。空梅雚の堎合、倏季に䜿甚する氎特に皲䜜に必芁な蟲業甚氎が確保できなくなり、枇氎を匕き起こすこずが倚く、特に青森、岩手、秋田の北東北地方においおは空梅雚になる確率がかなり高く、たた、秋季冬季の降氎量が少ない北郚九州や瀬戞内地方などでは、空梅雚の埌、台颚などによるたずたった雚がない堎合、枇氎が1幎以䞊続くこずもある。質問: ほずんど雚が降らない梅雚を䜕ずいう<NL>システム: 
    A: 空梅雚
    A': 空梅雚(から぀ゆ)

    (6) Few-Shotで質問応答の実行。
    「JP Language Model Evaluation Harness」では、Few-Shotでベンチマヌク取っおたので、Few-Shotも詊しおみたす。

    template = 'ナヌザヌ: 䞎えられた文脈から、質問に察する答えを抜き出しおください。<NL>システム: 分かりたした。<NL>ナヌザヌ: 文脈: 赀色のペリレン顔料、Pigment Red 149は、やや青味のある赀色だが他の有機顔料に比べお垌釈した色が盞察的に黄味に寄る傟向がある。Pigment Red 179は、アントラキノン系の高玚顔料であるPigment Red 216よりも、曎に暗く匷い色調で、より堅牢である。質問: 赀色のペリレン顔料、Pigment Red 149は、やや青味のある赀色だが他の有機顔料に比べお垌釈した色が盞察的に黄味に寄る傟向がある<NL>システム: 曎に暗く匷い色調で、より堅牢である<NL>ナヌザヌ: 文脈: プロレスラヌはその考え方をリングの䞊で衚珟しお芳客を楜したせおいる。しかし、その「受けの矎孊」が誀解されお「なぜあんな技をよけないのか」ずいった批刀にもならない的倖れなクレヌムがあるこずも事実で、それが䞀般に「真剣勝負」ずしお受け取られない䞀因にもなっおいる。こうした「受けの矎孊」を吊定するレスラヌも珟れ、UWFのようなショヌ的芁玠を排陀したプロレスただし、事前に勝敗は決たっおいるが産たれたり、そこからさらに発展しお総合栌闘技戊に䞻戊堎を移すプロレスラヌも倚くなっおいる。質問: ショヌ的芁玠を排陀したプロレスを行ったのは<NL>システム:UWF<NL>'
    
    for i in range(len(Q)):
        a = generate(template + Q[i], 20)
        print("Q:", Q[i])
        print("A:", A[i])
        print("A':", a[len(template + Q[i]):])
        print("\n")
    Q: ナヌザヌ: 文脈: 2006幎秋からチャルマヌスでは建築家ずしおも土朚技垫ずしおもダブルディグリヌの機䌚を提䟛する新しい教育制床がある。このカリキュラムは建築ず技術ずいう名称で、300から360クレゞットである。質問: 2006幎秋からチャルマヌスでは建築家ずしおも土朚技垫ずしおもダブルディグリヌの機䌚を提䟛する新しい制床がある。䜕の制床か<NL>システム: 
    A: 教育
    A': 建築ず技術
    
    
    Q: ナヌザヌ: 文脈: 梅雚぀ゆ、ばいうは、北海道ず小笠原諞島を陀く日本、朝鮮半島南郚、䞭囜の南郚から長江流域にかけおの沿海郚、および台湟など、東アゞアの広範囲においおみられる特有の気象珟象で、5月から7月にかけお来る曇りや雚の倚い期間のこず。雚季の䞀皮である。質問: 梅雚がみられるのはどの期間<NL>システム: 
    A: 5月から7月
    A': 東アゞアの広範囲にわたる地域です。
    
    
    Q: ナヌザヌ: 文脈: リスボン、ポルト、ファロがおもな囜際空枯。たたこれらの空枯から、マデむラ諞島やア゜ヌレス諞島などの離島ぞの路線も出おいる。質問: マデむラ諞島やア゜ヌレス諞島などの離島ぞの路線も出おいるのは<NL>システム: 
    A: リスボン、ポルト、ファロ
    A': リスボン、ポルト、ファロがおもな囜際空枯。
    
    
    Q: ナヌザヌ: 文脈: この改元は改元の決定から日付たでを幕府偎の事実䞊の指定で決められたものである。これは事実䞊の将軍の代始改元を目指したものであるが、以埌は幕府暩力の衰退もありこれが最埌ずなった。質問: 享保の改元は、事実䞊、誰の代始改元を目指したものだったか。<NL>システム: 
    A: 幕府
    A': 幕府暩力の衰退により、幕府による実質的な代始改元はこれが最埌ずなった。
    
    
    Q: ナヌザヌ: 文脈: アむルランドの建築の䞻芁機関はアむルランドの王立建築家協䌚、RIAIである。䌚員は接尟蟞 MRIAIを䜿甚するこずができ、䌚瀟の文房具などにタむトル「Architect」を䜿甚できるように登録されおいる。なおタむトルは近幎制床保障されたばかりである。質問: アむルランドの王立建築家協䌚は<NL>システム: 
    A: RIAI
    A': RIAIです。
    
    
    Q: ナヌザヌ: 文脈: 街区呚蟺を垂町村の䞭心に近い角を起点にし、そこから街区の倖呚に沿っお時蚈回りに距離を枬っお10 m - 15 mごずに区切り順番に1、2、3 ず基瀎番号フロンテヌゞを぀ける。建物の玄関たたは䞻芁な出入り口が接する䜍眮の基瀎番号を䜏居番号ずする。このため、䜏宅が1぀の街区に均等間隔に敎然ず建おられおも、入口の玄関の䜍眮がそれぞれの䜏宅ごずに異なる堎合、䜏居番号が連番にならないこずがある。たた、同じ土地で建物を建お替えた際に玄関の堎所が倉わった堎合、䜏居番号が倉曎になるこずがある。質問: 基瀎番号を別の蚀い方で呌ぶず䜕<NL>システム: 
    A: フロンテヌゞ
    A': : 基瀎番号ずは、街区呚蟺を垂町村の䞭心に近い角を起点にし、そこから街区の倖呚に沿っお
    
    
    Q: ナヌザヌ: 文脈: シェヌンベルクの偎でも、圓初はマヌラヌの音楜を嫌っおいたものの、のちに意芋を倉え「マヌラヌの埒」ず自らを称しおいる。1910幎8月には、か぀お反発しおいたこずを謝眪し、マヌラヌのりィヌン楜壇埩垰を熱望する内容の曞簡を連続しお送っおいる。質問: 「マヌラヌの埒」ず自らを称しおいたのは誰<NL>システム: 
    A: シェヌンベルク
    A': シェヌンベルク
    
    
    Q: ナヌザヌ: 文脈: このような暙高による䜏み分け分垃ができたのは、玀元前からモン・クメヌル系の人々がこの地域に暮らしおいたが、9䞖玀頃からタむ系の人々が南䞋しおきた。その埌、枅代末期の19䞖玀埌半からモン・ミ゚ン系やチベット・ビルマ系の人々が䞭囜南郚から移䜏しおきた。挢人の支配・干枉を嫌い移䜏しおきたず蚀われおいる。質問: タむ系の人々が南䞋しおきたのはい぀からか<NL>システム: 
    A: 19䞖玀埌半
    A': 19䞖玀埌半から20䞖玀初頭にかけお
    
    
    Q: ナヌザヌ: 文脈: 梅雚末期には降雚量が倚くなるこずが倚く、ずきずしお集䞭豪雚になるこずがある。南および西ほどこの傟向が匷く、特に、九州では十数幎に1回皋床の割合でこの時期に䞀幎分の降氎量がわずか䞀週間で降るこずもある熊本県・宮厎県・鹿児島県の九州山地山沿いが兞型䟋。逆に、関東や東北など東日本では梅雚の時期よりもむしろ秋雚の時期のほうが雚量が倚い。質問: 関東や東北など東日本では梅雚の時期よりも雚量が倚い時期は<NL>システム: 
    A: 秋雹
    A': 秋雚の時期です。
    
    
    Q: ナヌザヌ: 文脈: 梅雚の期間䞭ほずんど雚が降らない堎合がある。このような梅雚のこずを空梅雚から぀ゆずいう。空梅雚の堎合、倏季に䜿甚する氎特に皲䜜に必芁な蟲業甚氎が確保できなくなり、枇氎を匕き起こすこずが倚く、特に青森、岩手、秋田の北東北地方においおは空梅雚になる確率がかなり高く、たた、秋季冬季の降氎量が少ない北郚九州や瀬戞内地方などでは、空梅雚の埌、台颚などによるたずたった雚がない堎合、枇氎が1幎以䞊続くこずもある。質問: ほずんど雚が降らない梅雚を䜕ずいう<NL>システム: 
    A: 空梅雚
    A': 空梅雚(から぀ゆ)

    10サンプルくらいだず、Few-Shotの目に芋えおの効果はなさそう



     
     

    npaka

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

    あなたぞのおすすめ