Uploaded model
- Developed by: Yumikooo
- 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.
モデルの概要
このモデルは、Hugging Faceのllm-jp-3-13bをベースにして、Unslothを使用してFine-Tuningされたものです。 本モデルはELYZA-tasks-100-TVタスクに特化しており、タスク指向の回答生成を効率的に行います。
モデルの特徴
タスク特化型: Fine-Tuning済みで、Elyza-tasks-100-TVタスクの出力生成に最適化されています。 効率的な動作: 4bit量子化によりメモリ効率が向上。 柔軟な構造: LoRAを用いたアダプタ層により、大規模モデルの柔軟性を維持しつつFine-Tuningを高速化。
インストール方法
必要なライブラリをインストールするには、以下のコマンドを実行してください。
!pip install transformers !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
使用方法
モデルとトークナイザーのロード
UnslothのFastLanguageModelを使って、指定したモデルをHugging Face Hubからロードする
dtype = None # Noneにしておけば自動で設定 load_in_4bit = True # 今回は13Bモデルを扱うためTrue
#model: ロードしたモデルオブジェクト。これを使って推論や学習を行います。 #tokenizer: モデルに対応するトークナイザー。テキストをトークンに分割したり、トークンをテキストに戻したりするために使用します。
model, tokenizer = FastLanguageModel.from_pretrained( model_name=model_id, dtype=dtype, #モデルの重みをロードするときのデータ型を指定。NoneはUnslothが環境に応じて適切なデータ型を自動設定します load_in_4bit=load_in_4bit, #モデルを4bit量子化してロードする設定です。これにより、メモリ使用量が削減され、大規模モデル(13Bなど)を低リソース環境でも扱えるようになります。 trust_remote_code=True, ) FastLanguageModel.for_inference(model) # 推論モードに設定
推論の実行
以下のスクリプトを使用して、モデルから推論を行います。 このスクリプトは、モデルがどのようにデータを処理し、結果を生成するかを示しています。
from tqdm import tqdm
results = [] for dt in tqdm(datasets): if "name" not in dt: continue # 'name' キーがない場合はスキップ input = dt["name"] prompt = f"### 指示\n{input}\n### 回答\n" inputs = tokenizer([prompt], return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=512) prediction = tokenizer.decode(outputs[0], skip_special_tokens=True).split('\n### 回答')[-1] results.append({"task_id": dt.get("task_id", "unknown"), "input": input, "output": prediction})
結果の保存
推論結果をJSONL形式で保存 import json
json_file_id = re.sub(".*/", "", adapter_id) with open(f"/content/{json_file_id}_output.jsonl", 'w', encoding='utf-8') as f: for result in results: json.dump(result, f, ensure_ascii=False) f.write('\n')
Model tree for Yumikooo/llm-jp-3-13b-it_lora
Base model
llm-jp/llm-jp-3-13b