59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
---
|
||
license: llama3
|
||
language:
|
||
- ja
|
||
---
|
||
|
||
|
||
## 概要
|
||
|
||
elyza/Llama-3-ELYZA-JP-8Bを元にchat vectorを用いて改良しAItuberに特化させました。 gemini-proによる自動評価でそこそこ強いです(elyza-task100で3.81点)
|
||
|
||
また、当モデルの特徴としてハルシネーション率が5%以下という高い安定性と高性能の両立が挙げられます。
|
||
|
||
|
||
## how to use
|
||
|
||
```python
|
||
import torch
|
||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||
|
||
DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです。特に指示が無い場合は、常に日本語で回答してください。"
|
||
text = "優秀なAIとはなんですか? またあなたの考える優秀なAIに重要なポイントを5つ挙げて下さい。"
|
||
|
||
model_name = "DataPilot/Llama3-ArrowSE-8B-v0.3"
|
||
|
||
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||
model = AutoModelForCausalLM.from_pretrained(
|
||
model_name,
|
||
torch_dtype="auto",
|
||
device_map="auto",
|
||
)
|
||
model.eval()
|
||
|
||
messages = [
|
||
{"role": "system", "content": DEFAULT_SYSTEM_PROMPT},
|
||
{"role": "user", "content": text},
|
||
]
|
||
prompt = tokenizer.apply_chat_template(
|
||
messages,
|
||
tokenize=False,
|
||
add_generation_prompt=True
|
||
)
|
||
token_ids = tokenizer.encode(
|
||
prompt, add_special_tokens=False, return_tensors="pt"
|
||
)
|
||
|
||
with torch.no_grad():
|
||
output_ids = model.generate(
|
||
token_ids.to(model.device),
|
||
max_new_tokens=1200,
|
||
do_sample=True,
|
||
temperature=0.6,
|
||
top_p=0.9,
|
||
)
|
||
output = tokenizer.decode(
|
||
output_ids.tolist()[0][token_ids.size(1):], skip_special_tokens=True
|
||
)
|
||
print(output)
|
||
``` |