概要 (Overview)
LLM-jp-3-13b をベースに、LoRA (QLoRA) と Unsloth 、および Hugging Face TRL を用いて高速にファインチューニングした日本語LLMモデルです。松尾研大規模言語モデル講座2024のコンペ用の提出モデル作成の一環として作成・公開しています。
- データセット:
- Ichikara Instruction(複数のデータセットを結合)
- elyza/ELYZA-tasks-100
- izumi-lab/wikipedia-ja-20230720
推論環境 (Environment Requirements)
- Python 3.10 以上推奨
- GPU: 24GB 以上の VRAM (NVIDIA L4 / A5000 等)
- 必要パッケージ (例):
transformers
torch
unsloth
bitsandbytes
accelerate
peft
以下のようなコマンドで一括インストールできます (環境に応じて調整してください):
pip install transformers torch unsloth bitsandbytes accelerate peft
Google Colabの場合は以下のコマンドを実行してください。
!pip uninstall unsloth -y
!pip install --upgrade --no-cache-dir "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
モデルのロード & 推論手順 (Inference)
1. モデルのロード
from unsloth import FastLanguageModel
import torch
# セッティング例
max_seq_length = 2048
dtype = None # Noneで自動検出 (GPU世代に応じて fp16 / bfloat16)
load_in_4bit = True # 4bit量子化を有効化(メモリ節約)
HF_TOKEN = "your_token" # Hugging Faceのアクセストークン
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "Toki-AI/llm-jp-3-13b-finetune-241202",
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
token = HF_TOKEN,
)
2. 推論用コード例
from unsloth import FastLanguageModel
from tqdm import tqdm
import json
# 推論モードに切り替え
FastLanguageModel.for_inference(model)
# 推論したいタスクのJSONLファイルを読み込む例
datasets = []
with open("elyza-tasks-100-TV_0.jsonl", "r") as f:
for line in f:
if line.strip():
datasets.append(json.loads(line))
# 推論の実行
results = []
for dt in tqdm(datasets):
input_text = dt["input"]
# プロンプト例
prompt = f"""### 指示
{input_text}
### 回答
"""
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
)
# 出力を整形
prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1]
results.append({"task_id": dt["task_id"], "input": input_text, "output": prediction})
# 推論結果の確認 (先頭3件)
for res in results[:3]:
print(res)
※ 推論パラメータ(max_new_tokens
, do_sample
, repetition_penalty
, temperature
, top_p
など)はタスクに応じて変更してください。
ライセンス (License)
本モデルは Apache License 2.0 のもとで配布されています。
ベースモデル llm-jp/llm-jp-3-13b に準拠した利用規約やライセンスについてもご確認ください。
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 Toki-AI/llm-jp-3-13b-finetune-241202
Base model
llm-jp/llm-jp-3-13b