base_model: llm-jp/llm-jp-3-13b
tags:
- text-generation-inference
- transformers
- unsloth
- llama
- trl
language:
- en
Uploaded model
- Developed by: ShotaMatsumoto
- License: CC BY-NC-SA
- Finetuned from model : llm-jp/llm-jp-3-13b
概要
「llm-jp/llm-jp-3-13bモデルにichikara-instructionデータを用いてファインチューニングを行ったモデルです。 松尾研究室の講義のコンペ用としてモデル作成しました。
https://weblab.t.u-tokyo.ac.jp/lecture/course-list/large-language-model/
データセットは以下を使いました。
- ichikara-instruction-003-001-1.json
- ichikara-instruction-003-001-2.1.json
- ichikara-instruction-003-001-2.2.json
- ichikara-instruction-003-001-5.1.json
- ichikara-instruction-003-001-5.2.json
- ichikara-instruction-003-003-1.json
注意
ichikara-instructionデータは、CC BY-NC-SAライセンス(表示-非営利-継承)で公開されています。このライセンスの下では、非営利目的での利用が許可されていますが、商用利用は認められていません。 詳しくはこちらのホームページで確認してください。https://llm-jp.nii.ac.jp/blog/2024/04/30/v2.0-release.html
推論方法
事前にadapter_model.safetensorsをダウンロードしてください。
from transformers import AutoTokenizer, AutoModelForCausalLM from peft import PeftModel import torch
ベースモデル ID とアダプタファイルパス base_model_id = "llm-jp/llm-jp-3-13b" adapter_model_path = ""/path/to/adapter_model.safetensors""
デバイス設定 device = "cuda" if torch.cuda.is_available() else "cpu"
トークナイザーとベースモデルのロード tokenizer = AutoTokenizer.from_pretrained(base_model_id, trust_remote_code=True) base_model = AutoModelForCausalLM.from_pretrained(base_model_id, torch_dtype=torch.float16).to(device)
アダプタの読み込み model = PeftModel.from_pretrained(base_model, adapter_model_path).to(device)
推論関数 def generate_text(prompt, max_length=256, temperature=0.7): inputs = tokenizer(prompt, return_tensors="pt").to(device) outputs = model.generate( inputs["input_ids"], max_length=max_length, temperature=temperature, do_sample=True, top_k=50, top_p=0.9 ) return tokenizer.decode(outputs[0], skip_special_tokens=True)
テストプロンプト prompt = "日本の経済について説明してください。" print("Generating text...") generated_text = generate_text(prompt) print("\nGenerated Text:") print(generated_text)
jsonlファイルの出力方法は以下の通りです。
import json from google.colab import files
file_name = "elyza-tasks-results.jsonl"
JSON形式で保存
with open(file_name, "w", encoding="utf-8") as f: json.dump(results, f, ensure_ascii=False)
内容確認
with open(file_name, 'w', encoding='utf-8') as f: for result in results: json.dump(result, f, ensure_ascii=False) f.write('\n')
ファイルのダウンロード
files.download(file_name)
This llama model was trained 2x faster with Unsloth and Huggingface's TRL library.