Uploaded model
- Developed by: kazugiri
- License: apache-2.0
- Finetuned from model : llm-jp/llm-jp-3-13b
This llama model was trained 2x faster with Unsloth and Huggingface's TRL library.
How to use
Follow these instructions and execute codes in Google Colab
!pip install -U bitsandbytes
!pip install -U transformers
!pip install -U accelerate
!pip install -U datasets
!pip install ipywidgets --upgrade
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
BitsAndBytesConfig,
)
import torch
from tqdm import tqdm
import json
import re
# Write here your Hugging Face token
HF_TOKEN = "{your Hugging Face token}"
model_name = "kazugiri/llm-jp-3-13b-kgit1.1"
# QLoRA config
bnb_config = BitsAndBytesConfig(
load_in_8bit=True,
bnb_8bit_quant_type="fp8",
bnb_8bit_compute_dtype=torch.float32,
bnb_8bit_use_double_quant=True,
use_llm_int8=True,
)
# Load model
model = AutoModelForCausalLM.from_pretrained(
model_name,
quantization_config=bnb_config,
device_map="auto",
token = HF_TOKEN
)
# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True, token = HF_TOKEN)
datasets = []
with open("{your task data jsonl file path}", "r") as f:
item = ""
for line in f:
line = line.strip()
item += line
if item.endswith("}"):
datasets.append(json.loads(item))
item = ""
results = []
for data in tqdm(datasets):
input = data["input"]
prompt = f"""あなたは、読解力と共感力の高い、信頼できるロボットアシスタントです。ユーザーの指示を正確に理解し、具体的で的確な回答を提供します。必要に応じて追加の情報や説明を提供し、ユーザーの問題解決を助けます。
以下は指示と回答の例です:
---
### 指示:
日本の首都はどこですか?
### 回答:
日本の首都は東京です。
---
### 指示:
猫と犬の違いを3つ教えてください。
### 回答:
1. **社会性の違い**: 猫は単独行動を好む傾向がありますが、犬は群れで行動する社会的な動物です。
2. **運動能力の違い**: 猫は高い場所に登ったり、ジャンプしたりするのが得意ですが、犬は持久力があり、長距離を走るのが得意です。
3. **コミュニケーションの違い**: 猫はしっぽや鳴き声で感情を表現しますが、犬は表情や体全体で感情を伝えます。
---
### 指示:
「break the ice」というイディオムを使った英語の例文を作成してください。
### 回答:
She told a funny story to break the ice at the meeting.
---
### 指示:
次の対話を読み、その状況を説明してください。
A: 「飛行機に乗り遅れるなんて信じられない!」
B: 「本当だよ。あと10分早く家を出ていればよかったのに。」
A: 「次の便まで待たなきゃいけなくなったね。」
### 回答:
このダイアログの状況は、AとBが飛行機に乗り遅れてしまったことです。二人は家を出るのがもう少し早ければ間に合ったのですが、今は次の飛行機を待つ必要がある状況にあります。
---
### 指示:
{input}
### 回答:
"""
tokenized_input = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
tokenized_input,
max_new_tokens=500,
do_sample=True,
temperature=0.8,
top_p=0.95,
num_beams=3,
no_repeat_ngram_size=3,
length_penalty=1.2,
repetition_penalty=1.5
)[0]
output = tokenizer.decode(outputs[tokenized_input.size(1):], skip_special_tokens=True)
results.append({"task_id": data["task_id"], "input": input, "output": output})
# get the answers as a jsonl file
model_name = re.sub(".*/", "", model_name)
with open(f"./{model_name}-outputs.jsonl", 'w', encoding='utf-8') as f:
for result in results:
json.dump(result, f, ensure_ascii=False) # ensure_ascii=False for handling non-ASCII characters
f.write('\n')
Notes
- llm-jp/oasst1-21k-ja dataset was used to train this model.
- Downloads last month
- 55
Inference Providers
NEW
This model is not currently available via any of the supported third-party Inference Providers, and
the model is not deployed on the HF Inference API.
Model tree for kazugiri/llm-jp-3-13b-kgit1.1
Base model
llm-jp/llm-jp-3-13b