Views
No views yet
1import torch
2from heron.models.git_llm.git_japanese_stablelm_alpha import GitJapaneseStableLMAlphaForCausalLM
3from transformers import AutoProcessor, LlamaTokenizer
4
5device_id = 0
6device = f"cuda:{device_id}"
7
8MODEL_NAME = "turing-motors/heron-chat-git-ja-stablelm-base-7b-v1"
9
10model = GitJapaneseStableLMAlphaForCausalLM.from_pretrained(
11 MODEL_NAME, torch_dtype=torch.float16, ignore_mismatched_sizes=True
12)
13model.eval()
14model.to(device)
15
16# prepare a processor
17processor = AutoProcessor.from_pretrained(MODEL_NAME)
18tokenizer = LlamaTokenizer.from_pretrained(
19 "novelai/nerdstash-tokenizer-v1",
20 padding_side="right",
21 additional_special_tokens=["▁▁"],
22)
23processor.tokenizer = tokenizer
24
25
26import requests
27from PIL import Image
28
29# prepare inputs
30url = "https://www.barnorama.com/wp-content/uploads/2016/12/03-Confusing-Pictures.jpg"
31image = Image.open(requests.get(url, stream=True).raw)
32
33text = f"##human: この画像の面白い点は何ですか?\n##gpt: "
34
35# do preprocessing
36inputs = processor(
37 text=text,
38 images=image,
39 return_tensors="pt",
40 truncation=True,
41)
42
43inputs = {k: v.to(device) for k, v in inputs.items()}
44
45# do inference
46with torch.no_grad():
47 out = model.generate(**inputs, max_length=256, do_sample=False, temperature=0., no_repeat_ngram_size=2)
48
49# print result
50print(processor.tokenizer.batch_decode(out))1@misc{inoue2024heronbench,
2 title={Heron-Bench: A Benchmark for Evaluating Vision Language Models in Japanese},
3 author={Yuichi Inoue and Kento Sasaki and Yuma Ochi and Kazuki Fujii and Kotaro Tanahashi and Yu Yamaguchi},
4 year={2024},
5 eprint={2404.07824},
6 archivePrefix={arXiv},
7 primaryClass={cs.CV}
8}