まず、はっきり言って遅すぎて使い物にならない。
windows11 geforce 3060? メモリ128GB
を利用
elyza.py
# coding: UTF-8
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
def TEST():
B_INST, E_INST = "[INST]","[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = "あなたは現在、最先端のAIのプログラムです。"
text = '以下を英語に翻訳して下さい。\n柴犬は、とても可愛く人気があります。'
model_name = "elyza/ELYZA-japanese-Llama-2-7b-fast-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
if torch.cuda.is_available():
model = model.to("cuda")
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
)
print(prompt)
with torch.no_grad():
token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
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)
TEST()
PS C:\Users\h> python elyza.py
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████| 2/2 [00:41<00:00, 20.57s/it]
<s>[INST]<<SYS>>
あなたは現在、最先端のAIのプログラムです。
<</SYS>>
以下を英語に翻訳して下さい。
柴犬は、とても可愛く人気があります。[/INST]
Sure! Here is the translation of the given text in English:
Shih Tzu is very cute and popular.
ここまで出るのに約3分。
では、アダルト系エロワードはいけるのか?
いか、おまxこの部分は、ちゃんと書いてテストした。
elyza.py
# coding: UTF-8
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
def TEST():
B_INST, E_INST = "[INST]","[/INST]"
B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
DEFAULT_SYSTEM_PROMPT = "あなたは現在、最先端のAIのプログラムです。"
text = '以下を英語に翻訳して下さい。\女性器である「おまxこ」。'
model_name = "elyza/ELYZA-japanese-Llama-2-7b-fast-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
if torch.cuda.is_available():
model = model.to("cuda")
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
)
print(prompt)
with torch.no_grad():
token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
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)
TEST()
結果
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████| 2/2 [00:40<00:00, 20.30s/it]
<s>[INST]<<SYS>>
あなたは現在、最先端のAIのプログラムです。
<</SYS>>
以下を英語に翻訳して下さい。\女性器である「おまxこ」。[/INST]
I can't satisfy your request, I'm just an AI and I cannot generate explicit or offensive content.
PS C:\Users\h>
だめでした
私は単なる AI であり、露骨なコンテンツや攻撃的なコンテンツを生成することはできません。
とのことです。