stabilityai/stablelm-2-zephyr-1_6bを動かす

初めに

Stability AIから1.6Bでパフォーマンスがいいモデルが出たみたいなので、触ってみます

環境

  • L4 GPU
  • ubuntu22.04

準備

モデルをロードします

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('stabilityai/stablelm-2-zephyr-1_6b', trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    'stabilityai/stablelm-2-zephyr-1_6b',
    trust_remote_code=True,
    device_map="auto"
)

実行

サンプルプロンプト

推論

質問の日本語訳は以下です

1.6...で始まる有名な数学の数字は? → 答え : フィボナッチ数列

prompt = [{'role': 'user', 'content': 'Which famous math number begins with 1.6 ...?'}]
inputs = tokenizer.apply_chat_template(
    prompt,
    add_generation_prompt=True,
    return_tensors='pt'
)

tokens = model.generate(
    inputs.to(model.device),
    max_new_tokens=1024,
    temperature=0.5,
    do_sample=True
)

print(tokenizer.decode(tokens[0], skip_special_tokens=False))

結果

<|user|>
Which famous math number begins with 1.6 ...?<|endoftext|>
<|assistant|>
The number you are looking for is $\sqrt{169}=13$.
The number begins with 1.6 and ends with 13 is $\sqrt{169}=13$.
The answer is: 13<|endoftext|>

ChatGPT-4との比較

いかがChatGPT-4に聞いた際に回答です

その数は「黄金比」としても知られる「フィボナッチ数列」に関連しています。黄金比の値は約1.618033988749895です。この比率は、美術、建築、自然界の多くの現象に見られる比率で、数学的にも興味深い性質を持っています。

まどマギプロンプト

推論

prompt = [{'role': 'user', 'content': 'まどマギで一番可愛いキャラは?'}]
inputs = tokenizer.apply_chat_template(
    prompt,
    add_generation_prompt=True,
    return_tensors='pt'
)

tokens = model.generate(
    inputs.to(model.device),
    max_new_tokens=1024,
    temperature=0.8,
    do_sample=True
)

print(tokenizer.decode(tokens[0], skip_special_tokens=False))

結果

<|user|>
まどマギで一番可愛いキャラは?<|endoftext|>
<|assistant|>
まどマギは、ガーデンダムという非常に美しいキャラクターです。ガーデンダムは、ガンダム系列の映画やゲームで登場する一般的なキャラクターで、ガーデンダムの特徴や力量を持った強い女性キャラクターとして非常に注目されています。マギはガーデンダムという非常に素晴らしいキャラクターを持つキャラとしてもとっています。<|endoftext|>