Uploaded model

  • Developed by: MikenekoDyn
  • License: CC-BY-NC-SA (ichikara-instruction datasetからの継承による)
  • Finetuned from model : llm-jp/llm-jp-3-13b

Sample Use

必要なパッケージのインストール

pip install unsloth torch peft

下記はELYZA-tasks-100-TV.jsonlに使用する場合のサンプルコードです。

HF_TOKEN = "your token"
import torch
max_new_tokens = 1024

new_model_id = "MikenekoDyn/llm-jp-13b-061215b" #'_lora'は読み込むときに自動で付加される
load_in_4bit = False 
load_in_8bit = not load_in_4bit 
do_sample=True
repetition_penalty=1.05
temperature=0.7
top_p=0.95

## ELYZA-tasks-100-TVの読み込み
import json
datasets = []
with open("./elyza-tasks-100-TV_0.jsonl", "r") as f:
    item = ""
    for line in f:
      line = line.strip()
      item += line
      if item.endswith("}"):
        datasets.append(json.loads(item))
        item = ""

## Config設定
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
# QLoRA config
bnb_config = BitsAndBytesConfig(
    load_in_4bit=load_in_4bit,
    load_in_8bit=load_in_8bit,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=False,
)
# Load model
model = AutoModelForCausalLM.from_pretrained(
    new_model_id+"_lora",
    quantization_config=bnb_config,
    device_map="auto",
    token = HF_TOKEN
)
# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(new_model_id+"_lora", trust_remote_code=True, token = HF_TOKEN)

## 推論実施
from tqdm import tqdm
results = []
ii=0
for data in tqdm(datasets):
  input = data["input"]
  prompt = f"""### User
  {input}
  ### Assistant
  """
  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=max_new_tokens,
          do_sample=do_sample,
          repetition_penalty=repetition_penalty,
          temperature=temperature,
          top_p=top_p
      )[0]
  output = tokenizer.decode(outputs[tokenized_input.size(1):], skip_special_tokens=True)
  if ii<3:
    print(output)
  results.append({"task_id": data["task_id"], "input": input, "output": output})
  ii=ii+1

# jsonlで保存
import re
save_model_name = re.sub(".*/", "", new_model_id)
with open(f"{save_model_name}_output.jsonl", 'w', encoding='utf-8') as f:
    for result in results:
        json.dump(result, f, ensure_ascii=False)
        f.write('\n')

Instruction Tuning

使用データセット

  • ichikara-instruction dataset
  • magpie-sft
  • ELYZA-tasks-100

This llama model was trained 2x faster with Unsloth and Huggingface's TRL library.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no pipeline_tag.

Model tree for MikenekoDyn/llm-jp-13b-061215b_lora

Finetuned
(1120)
this model