File size: 2,592 Bytes
698c992
 
9ec7ada
 
 
 
 
 
 
698c992
dc49658
9ec7ada
 
 
 
 
6a6e9e0
 
e1b5a68
6a6e9e0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dc49658
e1b5a68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dc49658
 
 
 
 
 
 
 
 
 
 
 
a017a74
 
 
 
ddaa1e9
 
 
 
a017a74
 
8e99233
a017a74
 
 
 
8e99233
a017a74
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
---
license: apache-2.0
datasets:
- graelo/wikipedia
- uonlp/CulturaX
- HuggingFaceH4/ultrachat_200k
language:
- ja
- en
---


<p align="center">
  <img src="https://cdn-uploads.huggingface.co/production/uploads/64b63f8ad57e02621dc93c8b/3uLNwKHFwEgT2YQ-BGOiH.png" alt="drawing" width="600"/>
</p>

# How to use

### Hugggingface
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained("lightblue/karasu-7B")
model = AutoModelForCausalLM.from_pretrained("lightblue/karasu-7B", torch_dtype=torch.bfloat16, device_map="auto")

pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)

messages = [{"role": "system", "content": "あなたはAIアシスタントです。"}]
messages.append({"role": "user", "content": "イギリスの首相は誰ですか?"})

prompt = tokenizer.apply_chat_template(conversation=messages, add_generation_prompt=True, tokenize=False)

pipe(prompt, max_new_tokens=100, do_sample=False, temperature=0.0, return_full_text=False)
```


### VLLM
```python
from vllm import LLM, SamplingParams

sampling_params = SamplingParams(temperature=0.0, max_tokens=100)
llm = LLM(model="lightblue/karasu-7B")

messages = [{"role": "system", "content": "あなたはAIアシスタントです。"}]
messages.append({"role": "user", "content": "イギリスの首相は誰ですか?"})
prompt = llm.llm_engine.tokenizer.apply_chat_template(conversation=messages, add_generation_prompt=True, tokenize=False)
prompts = [prompt]

outputs = llm.generate(prompts, sampling_params)
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
```



# Base checkpoint
augmxnt/shisa-7b-v1
* Mistral-7B base
* Pre-trained on 8B of MADLAD-Ja
* Finetuned on Japanese instructions
* Highest scoring 7B model on conversation benchmark (JA MT-Bench)

# Training datasets (total ~7B)
* Aozora Bunko
* Japanese Law Precedent Dataset
* Japanese Wikipedia
* .lg.jp, .go.jp, .ac.jp domain webscrapes from CulturaX (Any documents with same first 25 characters were de-duplicated)
* English Ultrachat200K-gen (So that it doesn't forget English and chatting ability learned in the base checkpoint)

# Developed by

<a href="https://www.lightblue-tech.com">
<img src="https://www.lightblue-tech.com/wp-content/uploads/2021/10/LBlogo-scaled.jpg" alt="Lightblue technology logo" width="400"/>
</a>

### Engineers
Peter Devine

Sho Higuchi

### Advisors
Yuuki Yamanaka 

Atom Sonoda

### Dataset evaluator
Renju Aoki