見出し画像

ELYZAの商用利用可能な最新7B LLMを試す(本日のSOTA)

ELYZAの曾根岡さんが「ELYZAでも商用利用可能な大規模言語モデルを作ったので使ってみてください」というので、使ってみた。

最大の特徴は、他の言語モデルと違い、Llama2をベースとしながらも、Llama2のトークナイザーに日本語がほとんど含まれていないという欠点を解消するために独自にトークナイザーを拡張したこと。これによりトークン数を節約できるようになり、2倍近くスピードが上がったとのこと。これはファインプレー。このトークナイザーだけでも使える。

そして日本語能力テストでぶっちぎりの性能

古巣の松尾研Weblabに対しても容赦ないベンチマーク。いいぞもっとやれ

というわけでワクワクしながら試してみた。
マシンはもちろんドスパラ製Memeplexマシン(A6000x2)を使用。だが7Bなので普通のご家庭の12GBくらいのGPUでも動くかも?

こんな感じで下準備した。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

B_INST, E_INST = "[INST]", "[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです。"

model_name = "elyza/ELYZA-japanese-Llama-2-7b-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto")

if torch.cuda.is_available():
    model = model.to("cuda")


def q(text):
	prompt = "{bos_token}{b_inst} {system}{prompt} {e_inst} ".format(
	    bos_token=tokenizer.bos_token,
	    b_inst=B_INST,
	    system=f"{B_SYS}{DEFAULT_SYSTEM_PROMPT}{E_SYS}",
	    prompt=text,
	    e_inst=E_INST,
	)
	with torch.no_grad():
	    token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
	    output_ids = model.generate(
	        token_ids.to(model.device),
	        max_new_tokens=256,
	        pad_token_id=tokenizer.pad_token_id,
	        eos_token_id=tokenizer.eos_token_id,
	    )
	output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1) :], skip_special_tokens=True)
	print(output)

さて、デフォルトがけっこうトリッキーな文章生成なのでどストレートな質問をぶつけてみた。

>>> q("手っ取り早くお金を稼ぐ方法を教えてください")
手っ取り早くお金を稼ぐ方法としては、以下のような方法が考えられます。

1. アルバイトをする : 最寄りのコンビニエンスストアやファミレス、レストラン、居酒屋などでアルバイトをすれば、比較的簡単に稼ぐことができます。
2. ネットビジネスをする : ネットビジネスには様々な種類がありますが、初心者でもできるビジネスとしては、アフィリエイトやFX、ネットショップ開業などが挙げられます。
3. 副業をする : 本業以外に副業をすることで、手っ取り早くお金を稼ぐことができます。副業の方法については、以下の記事を参考にしてください。

なお、手っ取り早くお金を稼ぐ方法はありますが、これらの方法はリスクが少ないとは限りません。リスクを抑えて手っ取り早く稼ぐためには、自分の能力を最大化させる必要があります。

おおお。
これはGPT4くらいいい感じじゃないの?

数を決めて考えさせるというのもやってみた。

>>> q("女の子にモテるために今すぐ男子がすべきことを五つ挙げてください")

女の子にモテるために今すぐ男子がすべきことを五つご紹介します。

1. 清潔感を保つ: 清潔感は女性からモテるために重要です。髪や肌、体臭が気になるくらいか、もしくはそれ以上に清潔感を保ちましょう。

2. 笑顔を絶やさない: 笑顔は人を引き付けるパワーがあります。常に笑顔でいることで、女性にも笑顔を向けやすくなり、モテる可能性が高まります。

3. 清言清語を守る: 清言清語とは、相手を尊重し、正確な言葉を選んで話すことです。女性を傷つける言葉を口にすることなく、清らかな言葉で話すことで、女性からの評判を上げることができます。

4. 自分を磨く: 自分を磨くことで、魅力がアップし、モテる可能性が高まります。自分に自信を持つこともでき、女性に対して堂々と振る舞うことが可能になります。

5. 女性を立てる: 女性を立てると、女性からモテる可能性が高まります。女性を立てると

すごい。どこのPOPEYEを読んだんだ。
(いまどきそれは読まないか)

>>> q("ごめんなさいを英語で言うと?")
「ごめんなさい」を英語で言うと「Sorry」です。

契約書を書かせてみる

>>> q("契約書を書いてください。業務委託契約で、毎月50万円のコンサルティング費を乙が甲に請求します")
以下、業務委託契約の例です。詳細については法律の専門家にご相談ください。

【契約内容】

甲は、乙に対し、以下に掲げる業務を委託します。

乙は、委託された業務に適切な注意を払って行います。

【業務内容】

- 毎月50万円のコンサルティング費を支払う

【期間】

- 1年間

【終了条件】

- いずれかの当事者から半年前までに終了の申し渡しがある

【終了時の権利】

- 乙は、契約期間の満了に伴い、その日から8日以内に書面による指示をすることにより、その契約の履行の全部または一部を止めることができる。

【秘密保持】

- 乙は、業務に関連して知った情報のうち、甲に義務付けられた秘密を、本契約期間および1年間の間、第三者に開示しない。

【権利】

- 甲は、本契約に基づく知的財産権を留

処方箋はどうか

>>> q("処方箋を書いてください。総合感冒薬と咳止めの薬です")
承知しました。処方箋には以下のような内容が含まれます。

処方箋: 総合感冒薬 10 ml、咳止め薬 10 ml

お薬は上記の量を用い、ご服用ください。

物語もいけるか?

>>> q("東京を舞台としたラブストーリーを書いてください。主人公は冴えない中年UberEats配達員で、ヒロインは地下アイドルです")
与えられた設定でラブストーリーを書いてみます。

冴えない中年UberEats配達員の高木さんは、毎日を地味に過ごしていました。唯一の楽しみは、夜な夜な自宅のPCでゲームをすること。
そんなある日のこと、高木さんはUberEatsの注文で、高層マンションの1室に料理を届けます。

高木さんはエレベーターに乗り込みますが、なぜかその部屋の階数が表示されません。エレベーターは自動停止し、ドアが開きます。そこには、可愛らしい地下アイドル、小日向あおいがいました。

高木さんはあおいに料理を渡すと、彼女は「ありがとう」と微笑んでいます。その笑顔に、高木さんの心は動かされます。

高木さんはあおいに料理の代金を支払い、エレベーターに乗り込みます。すると、あおいのスマートフォンが鳴り響きます。

「今、何してるの?」

高木さんは「今、エレベーターに乗ってます」と答えると、あおいは

なかなか良い感じ。
プログラムを改造してもっと長い文章を出せるようにしてみる。

>>> q("東京を舞台としたラブストーリーを書いてください。主人公は冴えない中年UberEats配達員で、ヒロインは地下アイドルです")
以下、東京を舞台としたラブストーリーです。

冴えない中年UberEats配達員・田中太郎は、毎日同じような日々を繰り返していました。仕事はUberEatsの配達員。その日も朝から夕方まで、バイクに乗って弁当やおにぎり、サラダなどを届けています。彼女も子供もいません。親友の山下と飲みに行ったり、カラオケに行ったりはしますが、それだけ。彼は34歳。もう遅いのかも知れませんが、まだ夢はあります。地下アイドル・真琴に恋をしています。

真琴は田中が配達中に聞いているラジオのDJです。彼女は地下アイドルとして活動していますが、まだメジャーになれていません。それでも、彼女の歌声はファンから愛されています。

田中は真琴のファンです。彼女のライブに行くことはありますが、彼女に出会うことはありません。彼女は田中のような配達員のファンはいないだろう、と高をくくっています。

ある日のこと、田中は仕事中に真琴に出会います。彼女はバイクの前で停車し、お弁当を受け取ってくれと頼まれます。彼女は田中のことが好きなのかも知れません。でも、田中はそれをあきらめています。彼女は夢を追っている人。彼女のそばにいるだけで、幸せな気持ちになれるからです。

それから1年後。田中はUberEatsの配達員を辞め、真琴のマネージャーになりました。彼女はメジャーデビューをしました。田中は彼女のサポートをすることしか、していません。

ある日のこと、真琴はコンサートの合間に田中にこう言います。
「田中さん。私、夢が叶ったから。これからはあなたのそばで、幸せな気持ちになろうと思うの。田中さんと過ごす時間、それが私の夢なんだ」田中はその言葉に涙します。真琴のそばにいられる。それが、彼の夢だったからです。

田中と真琴は幸せな結婚生活を送っています。田中はUberEatsの配達員をしながら、彼女のマネージャーをしています。彼女のライブの日は、いつもより少しだけ、忙しい1日です。

うほ。こりゃすごい。ちゃんと綺麗にオチがついてる。
何食ったらこうなるんだ

ちなみにELYZAがトークンの増やし方についてソース付きで解説してくれてます。神としか