Downloads · 30 days
0
kkkeee/llm-jp-3-13b-it15
llm-jp-3-13b-it15 is a machine learning model from kkkeee. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as apache-2.0.
- Developed by: kkkeee - License: apache-2.0 - Finetuned from model : llm-jp/llm-jp-3-13b
Downloads · 30 days
0
Access
Public
Updated Dec 15, 2024
Repo size
501 MB
Likes
0
Public
Click a slice to open those files.
.safetensors501 MB · 99%
From the Hugging Face model README
This llama model was trained 2x faster with Unsloth and Huggingface's TRL library.
Inference Guide Follow the steps below to perform inference with this model.
%%capture
!pip install unsloth
!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
from unsloth import FastLanguageModel
import torch
import json
Specify the base model and the adapter for LoRA fine-tuning. Replace <adapter_id> and <HF_TOKEN> with appropriate values.
# Base model
model_name = "kkkeee/llm-jp-3-13b-it15"
# Hugging Face Token
HF_TOKEN = "<your_hf_token>" # Obtain token from https://huggingface.co/settings/tokens
# Load base model using Unsloth
max_seq_length = 2048
dtype = None
load_in_4bit = True
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = model_name,
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
token = HF_TOKEN,
)
FastLanguageModel.for_inference(model)
Prepare your dataset in .jsonl format and upload it to your environment.
# Load task data
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 = ""
Set the model to inference mode and generate predictions.
from tqdm import tqdm
# 推論
results = []
for data in tqdm(datasets):
input = data["input"]
prompt = f"""### 指示\n{input}\n### 回答\n"""
inputs = tokenizer([prompt], return_tensors = "pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens = 512, use_cache = True, do_sample=False, repetition_penalty=1.2)
output = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]
results.append({"task_id": data["task_id"], "input": input, "output": output})
Save the inference results to a .jsonl file. Replace <adapter_id> with the appropriate identifier.
with open(f"/content/output.jsonl", 'w', encoding='utf-8') as f:
for result in results:
json.dump(result, f, ensure_ascii=False)
f.write('\n')