...
open-calm-large(パラメータ数 830M=8.3億)を使う場合
サンプルコード
max_new_tokens の値が小さすぎると、生成される文章が途中で途切れることがあります。
Code Block |
---|
import sys import torch from transformers import AutoTokenizer, AutoModelForCausalLM modelpath = "cyberagent/open-calm-large" model = AutoModelForCausalLM.from_pretrained(modelpath, device_map="auto", offload_folder="offload", torch_dtype=torch.float32) tokenizer = AutoTokenizer.from_pretrained(modelpath) text = "AIの普及によって私たちの仕事は、" inputs = tokenizer(text, return_tensors="pt").to(model.device) with torch.no_grad(): tokens = model.generate( **inputs, max_new_tokens=64, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.05, pad_token_id=tokenizer.pad_token_id, ) output = tokenizer.decode(tokens[0], skip_special_tokens=True) print(output) |
...
仮想マシンの利用が難しい場合は、ホストに直接「Jupyter Lab」環境を構築することが必要になります。
サンプルコードの実行
max_new_tokens の値が小さすぎると、生成される文章が途中で途切れることがあります。
Code Block |
---|
import sys import torch from transformers import AutoTokenizer, AutoModelForCausalLM modelpath = "cyberagent/open-calm-1b" model = AutoModelForCausalLM.from_pretrained(modelpath, device_map="auto", offload_folder="offload", torch_dtype=torch.float32) tokenizer = AutoTokenizer.from_pretrained(modelpath) text = "AIの普及によって私たちの仕事は、" inputs = tokenizer(text, return_tensors="pt").to(model.device) with torch.no_grad(): tokens = model.generate( **inputs, max_new_tokens=64, do_sample=True, temperature=0.7, top_p=0.9, repetition_penalty=1.05, pad_token_id=tokenizer.pad_token_id, ) output = tokenizer.decode(tokens[0], skip_special_tokens=True) print(output) |
...