StabilityAIの日本語のパフォーマンス重視した70億パラメータの言語モデルの利用方法
モデルの正式名称は、japanese-stablelm-base-alpha-7bとなります。日本語と英語の対のデータセットでトレーニングしたモデルとなります。日本語のパフォーマンスを最大限にすることにフォーカスしているとのことです。
上記ページを参考に、Google Colabで実行するコードは以下となります。少し修正しております。
!pip install transformers sentencepiece accelerate einops
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",
trust_remote_code=True,
)
model.half()
model.eval()
if torch.cuda.is_available():
model = model.to("cuda")
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)
実行結果は、以下です。
他のpromptでも試してみます。
prompt = """
今の日本の首相は、、
""".strip()
いつの時点のデータを持っているのかを把握したく、日本の首相で文を作ってみました。岸田首相と出ている時点では最近のデータを持っております。但し、日本語の生成文章としてはおかしいようです。
prompt = """
AppleのVision Proは、
""".strip()
聞いてみたのは良いですが、VisionProが2D加速度計が組み込まれているのかと10月発売なのか不明なので何とも評価できません。
prompt = """
「神は細部に宿る」は、、
""".strip()
途中から文章がおかしくなっています。
所感としては、今後の言語モデルパラメータ数の増加と、適切なデータセットをいかに取得してトレーニングしていくかが課題なのではないかと思われます。
GitHubやHugging Faceを見ても、英語圏や中国語圏がメインとなってます。日本語圏も負けずにさらに頑張ってほしいです。
この記事が気に入ったらサポートをしてみませんか?