ローカルで量子化したjapanese-stablelm-base-alpha-7bを動かしてみた
上記のサイトを参照しながら頑張ってローカルで動かしてみました!
import torch
from transformers import LlamaTokenizer, AutoModelForCausalLM
tokenizer = LlamaTokenizer.from_pretrained("novelai/nerdstash-tokenizer-v1", additional_special_tokens=['▁▁'])
model = AutoModelForCausalLM.from_pretrained(
"stabilityai/japanese-stablelm-base-alpha-7b",
load_in_4bit=True,
torch_dtype=torch.float16,
trust_remote_code=True,
)
# model.half() # この行を削除
model.eval()
if torch.cuda.is_available():
# model.to("cuda") # この行を削除
model.eval()
prompt = """
AI で科学研究を加速するには、
""".strip()
input_ids = tokenizer.encode(
prompt,
add_special_tokens=False,
return_tensors="pt"
)
# this is for reproducibility.
# feel free to change to get different result
seed = 23
torch.manual_seed(seed)
tokens = model.generate(
input_ids.to(device=model.device),
max_new_tokens=128,
temperature=1,
top_p=0.95,
do_sample=True,
)
out = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(out)
こんな感じで。
途中、
起動してもすぐkilledになるので
WSLに割り当ててるメモリの設定が少ないらしいことに気づき
GPUにメモリの割り当て増やす方法聞いたり
WSL使ってるんですがGPUが認識してないとかの問題で
CUDA ToolkitとかインストールしたりGPUに聞きながら色々頑張って何とか動きました。
とりあえずGPUに聞けば解決します。
アウトプット↓
input関数を使って別のリクエストをしてみました。
なんかものすごく想像力豊かで登場人物複数になってますね。。。
temperature=1だと高すぎたかな…?
量子化による影響……?
原因はちょっとわからないですが後日いろいろ検証してみます。
今日はこの辺で!(^^)
この記事が気に入ったらサポートをしてみませんか?