Google Colab で ELYZA-japanese-Llama-2-13B を試す
「Google Colab」で「ELYZA-japanese-Llama-2-13B」を試したので、まとめました。
1. ELYZA-japanese-Llama-2-13B
「ELYZA-japanese-Llama-2-13B」は、「ELYZA」が開発した商用可能なの日本語LLMです。前回公開の7Bからベースモデルおよび学習データの大規模化を図ることで、既存のオープンな日本語LLMの中で最高性能となりました。
2. ELYZA-japanese-Llama-2-13B のモデル
「ELYZA-japanese-Llama-2-13B」は、現在4つのモデルが提供されています。
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) Colabのノートブックを開き、メニュー「編集 → ノートブックの設定」で「GPU」の「A100」を選択。
(2) パッケージのインストール。
# パッケージのインストール
!pip install -U transformers sentencepiece accelerate bitsandbytes
(2) トークナイザーとモデルの準備。
今回は、「elyza/ELYZA-japanese-Llama-2-13b-fast-instruct」を使いました。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
"elyza/ELYZA-japanese-Llama-2-13b-fast-instruct"
)
model = AutoModelForCausalLM.from_pretrained(
"elyza/ELYZA-japanese-Llama-2-13b-fast-instruct",
torch_dtype=torch.bfloat16,
use_cache=True,
device_map="auto",
low_cpu_mem_usage=True,
)
model.eval()
(3) 推論の実行。
# プロンプトの準備
prompt = """<s>[INST] <<SYS>>
あなたは誠実で優秀な日本人のアシスタントです。
<</SYS>>
まどか☆マギカでは誰が一番かわいい? [/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),
do_sample=True,
temperature=0.5,
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)
この記事が気に入ったらサポートをしてみませんか?