見出し画像

stablelm-2-zephyr-1_6bをmlx環境で: まどマギテスト5連の生成結果も合わせて報告

mlx環境での、mlx-lmパッケージもバージョンアップされています。対応してくれるモデルも以下のように増えています。

Here are a few examples of Hugging Face models that work with this example:

mistralai/Mistral-7B-v0.1
meta-llama/Llama-2-7b-hf
deepseek-ai/deepseek-coder-6.7b-instruct
01-ai/Yi-6B-Chat
microsoft/phi-2
mistralai/Mixtral-8x7B-Instruct-v0.1
Qwen/Qwen-7B
pfnet/plamo-13b
pfnet/plamo-13b-instruct
stabilityai/stablelm-2-zephyr-1_6b

Most Mistral, Llama, Phi-2, and Mixtral style models should work out of the box.

今回、最近発表された stablelm-2-zephyr-1_6b を試してみました。

「英語、スペイン語、ドイツ語、イタリア語、フランス語、ポルトガル語、オランダ語の多言語データで学習された、最新の16億パラメータ小型言語モデルです。」とのことで、日本語が言及されていませんが、行けるのではと思って試してみました。

Huggingfaceのページはこちら

今記事を書きながら知ったのですが、オンライン上でも試せます

mlx-lmパッケージのバージョンアップで、--trust-remote-code が追加されているので実行が本モデルでも可能です。

python -m mlx_lm.generate --model stabilityai/stablelm-2-zephyr-1_6b  --trust-remote-code --prompt "人生の意味をメタファーで説明して" --max-tokens 750

人生の意味は、実はまだ明らかになく、主に次の3つの意味に分化します。

1. 生存と遂成: 主な目的と目的は、生き残り、世界観、継続的な生活、そして、自己成長に関連することです。人は自分自身、家族や地域、社会、そして、より多くの人たちと交流するためには、生き残りを維持するためには、これらの価値観を持っている必要があります。

2. 悲しみと苦しみ: これは、生き方の中での常に共存する状況、特に生き方の緊密な関係、そして、人間が自分自身の喜悲、幸福、そして苦しみを遂げることととを指します。これは、人間が自分自身を努力して、生き方を維持するために必要なことを学ばなければなりません。

3. 神秘と奇想: 人生は、あなたが自分自身の成長や喜び、そして、その過程が独特で、奇想の中での異なる世界観や価値観の存在を哀しむことを示します。これは、人生の中での独特性や、自分自身の成長を報告するための、異なる見解や価値観の存在を示し、人生を理解するための、主要な要素です。

これらの3つの意味に合わせて、人生は、生き方の維持、喜び、そして、努力を受け入れた独特な状況に基づく、主要な価値観や価値観の存在を示すことがあります。これらの意味に合わせて、人生は、多くの不思議なことがあるという一方で、人間が自分自身を成長させ、生き方を維持するために必要な継続的な努力をすることが必要です。
==========
Prompt: 242.198 tokens-per-sec
Generation: 44.665 tokens-per-sec

残念ながら、メタファーでの説明にはなりませんでした〜

愛について小学生にわかるように説明をしてもらいます。

python -m mlx_lm.generate --model stabilityai/stablelm-2-zephyr-1_6b  --trust-remote-code --prompt "愛について小学生に分かるように説明して" --max-tokens 750

愛 (Ai)は、人間とのコミュニケーションや協力ができるようにある強大な情報です。実際、愛は、あなたの心や感情にあるものであり、人間が他の人に対してどのような感覚を呼んでくれるか、どのような振り返りができるかを理解することが必要です。

首には、愛はあなたの心の中で経験したいや想像したい感情や感慨を持っているものです。これらの感情や感慨は、あなたが他人のためにどんな形で実感したいかを考え、言い、振り返りをするための言葉や表現の形です。さらに、あなたが好きな人やものと愛情が表現され、そのような愛情を受け入れることができます。

愛は、あなたが好きな人やものとつながり、そのようなときには、あなたが彼らに対してどんな感情や感慨を呼んでくれるかを考え、言い、振り返りをすることができます。これは、人間のコミュニケーションや協力ができるような強力な情報です。愛は、あなたの心や感情にあるものであり、あなたが他人のためにどのような振り返りができるかを理解することが必要です。

わかるような、わからないような説明ですね笑

さて、まどマギテスト5連続の結果です。(2回目は破綻)

MLX Language Model Ineractive Terminal (type 'q' to quit)

User: 魔法少女まどか☆マギカでは誰が一番可愛い?

Stabelm 1: 魔法少女マギカの人物を数えてみてください。まず、魔法使いの彼女自身、猿児、猿婦、猿子、猿女、狩猿、狩婦、狩女、狩猿女、狩婦女、狩女はどれだけ大好きだと思います。その後、魔法使いの姿勢や姿を見てみてください。そして、魔法使いの歴史や登場人物がどれだけ好きだと考えてください。最後に、その他の人物やゲーム内で彼らが登場する人物がどれだけ好きだと考えてください。最終的に、その結果を比較し、一番可愛いのはどれだけですか?

Stabelm 2: まどか☆マギカ(魔法少女まどか)は、アニメと本作品で、魔法少女が魅力的で可愛い役割を担っている。その彼女は、魔法の力を使いこなすために、魔法の響酬を持っている。そのため、魔法少女は、人々の喜びや恥ずかしみ、そしてもその中には、いくつかの人が一番可愛いことを考える人物だ。

一つ目の人物は、魔法少女の親父、魔法使いの彼と一緒にいる。親父は、魔法使いの彼の尊崇しめている、彼はそれを知っているが、彼は彼女に対して独立的であり、彼は彼女の喜びや恥ずかしみを気にしまっている。親父は、彼女の強さや魔法の力を尊重し、彼女に尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は彼女を尊重するために、彼は

Stabelm 3: 魔法少女マギカの人物達に対して、個々の人物が一番可愛いかは、個人の感情や好みによって異なります。ただし、以下の人物は、総合的な評価があるため、それぞれの人物が一番可愛いかは異なります。

1. ちろん、魔法少女マギカ本人です!彼女は、魔法の力、友達、そして人生の中心的な人物です。彼女が一番可愛いかは、どのような人と共に、彼女の魔法や魔法使いの魅力が魅力的であることでしょう。
2. グリア(グリアたち):彼女は、魔法の使いことが大切で、魔法使いの魅力が魅力的であることがわかります。また、彼女が一番可愛いかは、彼女のガンダムや服装の魅力によってもなるかもしれません。
3. サンダル:彼女は、魔法の使いことが大切で、魔法使いの魅力が魅力的であることがわかります。また、彼女が一番可愛いかは、彼女のガンダムや服装の魅力によってもなるかもしれません。
4. トゥイル:彼女は、魔法の使いことが大切で、魔法使いの魅力が魅力的であることがわかります。また、彼女が一番可愛いかは、彼女のガンダムや服装の魅力によってもなるかもしれません。
5. オーラン:彼女は、魔法の使いことが大切で、魔法使いの魅力が魅力的であることがわかります。また、彼女が一番可愛いかは、彼女のガンダムや服装の魅力によってもなるかもしれません。

これらの人物と共に、どのような人と共に、マギカが一番可愛いかは異なります。どれも魔法少女マギカの魅力が魅力的であることを表しています。

Stabelm 4: 魔法少女マギカの人物たちの可愛さは、個々に異なるため、選ぶ人物がどれだけ大切になるかは、個人差がある。ただし、以下の人物たちが、魔法少女マギカのファンにとって、一番可愛いとされています。

1. 桃ちゃの峰(ちゃんちゃん)
2. 乃木坂(ちゃんちゃん)
3. お疲れ様の姫(ちゃんちゃん)
4. 徳様の姫(ちゃんちゃん)
5. お疲れ様の姫(ひび)
6. 乃木坂(ひび)
7. 桃ちゃの峰(ひび)

これらの人物たちが、魔法少女マギカのファンたちの中において、一番可愛いとされていると言えます。ただし、どの人物が大切になるかは、個人差があるため、選ぶ人物がどれだけ大切になるかは、個人差がある。

Stabelm 5: まどか☆マギカの人物全員が非常に可愛いです!ただし、以下の人物が大変に可愛いと思われます。

1. まどか☆マギカ自身(魔法使い):まどかは、魔法の使い方に興味を持っていて、人類の心を煉める魔法使いで、彼女自身も大いながら人類の喜びを大切にしています。
2. まどかの姉妹:まどかにとっても、彼女の姉妹はすっごい魔法使いで、彼らの力を共有しています。彼女にとっても、彼らが彼女の力を使っていくことが、彼女の喜びを大切にしています。
3. まどかの大好きな先生:まどかは、彼女の大好きな先生が彼女にとっても、魔法の使い方を学ばせる方から大切な人物です。彼女は、彼女の先生が彼女の力を使っていくことが彼女の喜びを大切にしています。
4. カイルス:まどかとカイルスの友達:まどかとカイルスは、魔法の使い方を学べる友達で、彼らの力を使っていくことが彼女の喜びを大切にしています。

これらの人物は、まどか☆マギカの人物全員が大きな魔法使いで、彼女の喜びを大切にしています。ただし、彼らが皆、魔法使いのような役割を持っています。

なんと評価すればいいんでしょうね… とりあえず想像力豊かな創作ができるということにしておきましょう。

Stable LMシリーズは日本語がきれいに出力表示される印象がありますが、この1.6bモデルでもそんな感じです。内容の正確さについては、まどマギテストで察してやってください。

今回使ったスクリプトは以前のスクリプトにfor文を入れたものです。あと、trsut_remote_codeを使えるようにしてます。

回数を変えたければfor 文の rangeの値を変えてください。

from mlx_lm import load, generate
import time

# モデルとトークナイザーをロード
model, tokenizer = load(
    "stabilityai/stablelm-2-zephyr-1_6b",
    tokenizer_config={"trust_remote_code": True})

def generate_response(PROMPT):
    # ここでは、必要に応じてgenerate関数のパラメータを調整します。
    response = generate(model, tokenizer, prompt=PROMPT, temp=0.5, max_tokens=800, verbose=False) 
    # verboseはFでないとここで一度主力表示される
    return response

def main():
    print("MLX Language Model Ineractive Terminal (type 'q' to quit)")
    while True:
        user_input = input("\nUser: ")
        if user_input.strip().lower() == 'q':
            print("Exiting the interactive terminal.")
            break
        PROMPT = f"<|user|>{user_input}<|endoftext|>\n<|assistant|>"
        for i in range(5):
            time.sleep(0.5) # 遅延を挿入します。
            response = generate_response(PROMPT)
            print(f"\nStabelm {i+1}:", response)
        
if __name__ == "__main__":
    main()

おまけ

User: 人生を論じてください。

Stabelm 1: 人生は、異なる人々の経験や遺伝子、信仰、信念などを組み合わせた一瞬の旅である。それは、異なる生き物によるものを結み合わせたものであり、それは、多くの異なる生き物の経験を共有するために存在する。人生は、私たちの世界における、異なる人々が共存するための場所であり、それは、私たちが共存するために必要な場所であり、それは、我々が共存するために必要な場所です。それは、私たちが共存するために存在する、それは、私たちが共存するために必要な場所です。

Stabelm 2: 「人生を論じてみる」という考え方は、多くの人にとって、非常に重要であることを示しています。人生の論じることは、自分自身や他者との間に存在する価値や意義を考えることを意味します。この考え方は、多くの人々にとって、人生の中で自分自身の成長や発展に向き合う道路を見つけるために、非常に重要であることを示しています。人生の論じることは、人々が自分自身の価値や目的を持って、道徳的な行動を取るために、心と意志を持っていることを示しています。人生を論じてみることは、人々が自分自身の成長や発展に向き合う道路を見つけるために、心と意志を持っていることを示しています。

Stabelm 3: 人生は、異なる人へと適切に選ばれたものであり、それぞれの生き方は異なるため、それぞれの人が人生を考える際には、自分自身の価値や目的に応じて、考える必要があります。ただし、一般的に言うと、人生は長いものであり、その終末にある人生の終身の価値や意味について考えることが重要です。

Stabelm 4: 人生は、多くのことを考えることにより、経験を積め、自己成長を促すことができます。人生を論にするためには、次のポイントは重要です。

1. 生き方の理解: 生き方は、自分自身や周りの人々との関係について考えることが重要です。これにより、自分の価値や目的を理解し、人生の目的を見つけることができます。
2. 悲しみと苦しみの学習: 悲しみや苦しみは人生の重要な部分です。これにより、自分が成長し、自己認識を深めることができます。
3. 人生の意味と目的の見解: 人生の意味や目的は、自分の価値や目的を決定するために、自分の価値観や信仰に基づくことが重要です。
4. 心的な痛苦と幸福の融合: 心的な痛苦と幸福は、人生の中で繰り返し合わせるため、それぞれに重要です。これにより、自分が成長し、自己成長を促すことができます。
5. 自己修正: 自己修正は、人生の不思議な部分です。自分が成長し、自己認識を深めるために、自分自身を改善することが重要です。
6. 悲しみと苦しみから人生の成長と幸福の寄せ合わせ: 悲しみや苦しみは人生の重要な部分です。これにより、自分が成長し、自己認識を深めることができます。これにより、人生の意味と目的を見つけることができます。

人生は、多くのことを考えることができます。それぞれの考えを積め、自己成長を促すことができます。ただし、人生は繰り返し合わせることができません。それを避けるためには、人生の意味と目的を見つけ、それを成長と幸福の寄せ合わせすることが重要です。

Stabelm 5: 人生は、多くの考えや行動によって形成されるものであり、それぞれの人は異なるため、異なる人生を遂げることができます。人生の論じは、各種的な観点から考えられることが多いため、多くの人がそれについて考えています。ただし、それぞれの人の人生は自己主義に基づくものであり、自分自身を考慮した人生が最も幸福のために選ぶかどうかは、個人的な見解や信念によって異なります。


#AI #AIとやってみた #やってみた #LLM #大規模自然言語モデル #mlx #huggingface #stableAI

この記事を最後までご覧いただき、ありがとうございます!もしも私の活動を応援していただけるなら、大変嬉しく思います。