elyza/ELYZA-japanese-Llama-2-13b-fast-instructを動かす

初めに

環境

  • L4 GPU
  • OS : Ubunts 22.04

準備

必要なライブラリを入れます

!pip install accelerate
!pip install torch
!pip install transformers

推論

モデルのロード

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "elyza/ELYZA-japanese-Llama-2-13b-fast-instruct"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    use_cache=True,
    device_map="auto",
    low_cpu_mem_usage=True,
)
model.eval()

サンプルプロンプト

推論

B_INST, E_INST = "[INST]", "[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです。"
text = "仕事の熱意を取り戻すためのアイデアを5つ挙げてください。"

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,
)
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_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)

結果

仕事の熱意を取り戻すためのアイデアを5つご紹介します。

1. 目的や目標を明確にする: 仕事をしていく中で、目的や目標が曖昧な場合、熱意が段々と減失してしまう可能性があります。そのため、目標を明確にすることで、仕事に対する熱意を取り戻すことができます。

2. 仕事の意義を考える: 仕事には必ず意味や意義があります。それを再認識することで、仕事に対する熱意を取り戻すことができます。

3. 仕事の成果を想像する: 仕事をしていく中で、成果物を想像することで、仕事に対する熱意を取り戻すことができます。

4. 休憩やリフレッシュをする: 仕事に熱中しすぎて、疲れてしまっては仕事に対する熱意が失われてしまいます。そのため、休憩やリフレッシュをすることで、仕事に対する熱意を取り戻すことができます。

5. 目標達成のために計画を立てる: 目標を達成するために、計画を立てることで、仕事に対する熱意を取り戻すことができます。

まどマギテスト

推論

B_INST, E_INST = "[INST]", "[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアニメ評論家です。"
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,
)
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_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)

結果

まどか☆マギカでは、各キャラクターに個性があり、それぞれにファンがいるため、誰が一番かわいいかは一概に言うことができません。

しかし、多くのファンが「一番かわいいキャラは○○だ」と公言しているキャラは、

・ほのか
・杏子
・杏子

の3人です。

また、2011年の「第5回声優アワード」では、桜井智樹さんが演じたほのかが「ベストヤング声優賞」を受賞しています。

使用リソース

使用したGPU RAMは20GB程度でした