Uploaded model

  • Developed by: mtakashi
  • License: apache-2.0, CC-BY-NC-SA
  • Finetuned from model : llm-jp/llm-jp-3-13b

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

Usage

以下は、ELYZA-tasks-100-TVに対する回答の出力方法です

#from huggingface_hub import notebook_login
from google.colab import userdata
HF_TOKEN=userdata.get('HF_TOKEN')

# unsloth
# 必要なライブラリをインストール
%%capture
!pip install unsloth
!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
!pip install -U torch
!pip install -U peft
# 必要なライブラリを読み込み
from unsloth import FastLanguageModel
from peft import PeftModel
import torch
import json
from tqdm import tqdm
import re

#モデル名
model_id = "llm-jp/llm-jp-3-13b"
adapter_id = "mtakashi/llm-jp-3-13b_qlora" # 学習モデルを指定(Lolaアダプタ)

## unslothのFastLanguageModelで元のモデルをロード
dtype = None
load_in_4bit = True

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name=model_id,
    dtype=dtype,
    load_in_4bit=load_in_4bit,
    trust_remote_code=True,
)
from peft import PeftModel

# オリジナルモデルにLoRAのアダプタを統合
model = PeftModel.from_pretrained(model, adapter_id, token = HF_TOKEN)

# 推論するためにモデルのモードを変更
FastLanguageModel.for_inference(model)

import json
datasets = []
with open("/content/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 = ""

#llm-jpモデルを用いてタスクを実行
from tqdm import tqdm
results = []
for dt in tqdm(datasets):
  input = dt["input"]

  prompt = f"""### 指示\n{input}\n### 回答\n"""

  tokenized_input = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt").to(model.device)
  outputs = model.generate(tokenized_input, max_new_tokens = 512, do_sample=True, top_p=0.95, temperature=0.7, repetition_penalty=1.05,)
  prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]

  results.append({"task_id": dt["task_id"], "input": input, "output": prediction})

# jsonlで保存
with open(f"{model_id}_output.jsonl", 'w', encoding='utf-8') as f:
    for result in results:
        json.dump(result, f, ensure_ascii=False)
        f.write('\n')
    print(f"JSONLファイルを出力しました: {model_id}_output.jsonl")
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 mtakashi/llm-jp-3-13b_qlora

Finetuned
(1122)
this model

Dataset used to train mtakashi/llm-jp-3-13b_qlora