Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

m1에서 model call 결과값에서 null 발생 #20

Open
nuri428 opened this issue Aug 17, 2022 · 0 comments
Open

m1에서 model call 결과값에서 null 발생 #20

nuri428 opened this issue Aug 17, 2022 · 0 comments

Comments

@nuri428
Copy link

nuri428 commented Aug 17, 2022

기존에 있는 예제 코드에서 아래와 같이 일부 수정 해서 동작 했을때
null 값이 나오는 에러가 발생 합니다.

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

device = torch.device("mps")

tokenizer = AutoTokenizer.from_pretrained(
"kakaobrain/kogpt",
revision="KoGPT6B-ryan1.5b-float16",
bos_token="[BOS]",
eos_token="[EOS]",
unk_token="[UNK]",
pad_token="[PAD]",
mask_token="[MASK]",
)
model = AutoModelForCausalLM.from_pretrained(
"kakaobrain/kogpt",
revision="KoGPT6B-ryan1.5b",
pad_token_id=tokenizer.eos_token_id,
torch_dtype="auto",
low_cpu_mem_usage=True,
).to(device=device, non_blocking=True)
_ = model.eval()

prompt = "인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던"
with torch.no_grad():
# tokens = tokenizer.encode(prompt, return_tensors="pt").to(device=device, non_blocking=True)
inputs = tokenizer(prompt, return_tensors="pt")
print(inputs)
inputs = {k: v.to(device=device, non_blocking=True) for k, v in inputs.items()}
# gen_tokens = model.generate(**inputs, do_sample=True, temperature=0.8, max_length=32, top_k=8)
gen_tokens = model(**inputs)
print(gen_tokens)
generated = tokenizer.batch_decode(gen_tokens)

print(generated)

print: 인간처럼 생각하고, 행동하는 '지능'을 통해 인류가 이제까지 풀지 못했던 문제의 해답을 찾을 수 있을 것이다. 과학기술이 고도로 발달한 21세기를 살아갈 우리 아이들에게 가장 필요한 것은 사고력 훈련이다. 사고력 훈련을 통해, 세상

결과는 아래와 같습니다.

'input_ids': tensor([[ 6577, 1290, 1032, 12519, 118, 2243, 385, 378, 882, 6261,
113, 387, 1132, 5321, 402, 2092, 841, 2182, 404, 993,
551, 726]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]])}

CausalLMOutputWithPast(loss=None, logits=tensor([[[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
...,
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan],
[nan, nan, nan, ..., nan, nan, nan]]], device='mps:0'), past_key_values=((tensor([[[[nan, nan, nan, ..., nan, nan, nan],

tokenizer까지는 잘 되는데 model에서 결과가 이상하게 나오네요

해당 사항 문의 드립니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant