Views
No views yet
llm-jp/llm-jp-3-3.7b を 青空文庫の明治期日本文学 14 作家 約 7.5M 字 で QLoRA 微調整した LoRA アダプターです。プロンプト先頭に 【作家名】 を付けると文体を切り替えられます。1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
3from peft import PeftModel
4
5BASE = "llm-jp/llm-jp-3-3.7b"
6ADAPTER = "tabitay/meiji-llmjp-3.7b"
7
8bnb = BitsAndBytesConfig(
9 load_in_4bit=True,
10 bnb_4bit_quant_type="nf4",
11 bnb_4bit_compute_dtype=torch.bfloat16,
12 bnb_4bit_use_double_quant=True,
13)
14
15tokenizer = AutoTokenizer.from_pretrained(ADAPTER, use_fast=True)
16base = AutoModelForCausalLM.from_pretrained(
17 BASE, quantization_config=bnb, device_map={"": 0}, torch_dtype=torch.bfloat16,
18)
19model = PeftModel.from_pretrained(base, ADAPTER).eval()
20
21prompt = "【福沢諭吉】人工知能の本質は、"
22ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt").to(model.device)
23with torch.no_grad():
24 out = model.generate(
25 ids, max_new_tokens=200, do_sample=True,
26 temperature=0.5, top_p=0.85, top_k=50, repetition_penalty=1.1,
27 pad_token_id=tokenizer.pad_token_id or tokenizer.eos_token_id,
28 )
29print(tokenizer.decode(out[0], skip_special_tokens=True))temperature=0.5, top_p=0.85, top_k=50, repetition_penalty=1.1人間の精神を機械の中に移し入れることにある。そしてその目的は、その精神に於ける自由を、一切の束縛から解放することである。しかるに、機械的人生が人間の精神に及ぼす影響は、決してこの目的に反しない。人間の精神はむしろ、自己の自由と独立とを次第々々に失っていく。…
いわゆる電気の機械を用いて、その中に記憶してあるものを、記憶せしめた通りに出させるものである。…ただその記憶したものがいつまでも保たれるのみならず、いつでも取り出すことができるという点が、普通の機械と少し違うところである。
二人の少女は同時に顔を上げた。「何だか、頭の中がごちゃごちゃして来たようだぜ」…と糸子が云う。…と小野さんは辞儀をする。
| 項目 | 値 |
|---|---|
| Base model | llm-jp/llm-jp-3-3.7b |
| 手法 | QLoRA (NF4 4bit + LoRA) |
| LoRA rank / alpha | 16 / 32 |
| Target modules | q_proj, k_proj, v_proj, o_proj |
| Learning rate | 2e-4 (cosine, warmup 3%) |
| Batch size | 2 × grad_accum 8 = 16 effective |
| Max seq length | 512 |
| Epochs | 3 |
| Corpus | 青空文庫 明治期 14 作家 7.5M 字 |
| Final loss (EMA) | 2.76 (start 3.86) |
| Hardware | RTX 5070 (12 GB) |
| Training time | 約 2.7 時間 |