Views
No views yet
1
2from vllm import LLM, SamplingParams
3from vllm.lora.request import LoRARequest
4
5import torch
6import json
7
8from datasets import load_dataset
9from huggingface_hub import snapshot_download
10
11id = "llm-jp-3-13b-it-bs4-ac10-step370-lora"
12lora_path = snapshot_download(repo_id="jaked97/"+ id)
13model_id = "models/models--llm-jp--llm-jp-3-13b/snapshots/cd3823f4c1fcbb0ad2e2af46036ab1b0ca13192a"
14
15tasks = load_dataset("json", data_files="./elyza-tasks-100-TV_0.jsonl", split="train")
16
17
18prompts = [
19 f"""### instruction:
20あなたは親切なAIアシスタントです。
21### input:
22{input}
23### output:
24""" for input in tasks["input"]]
25
26llm = LLM(
27 model=model_id,
28 gpu_memory_utilization=0.99,
29 quantization="bitsandbytes",
30 load_format="bitsandbytes",
31 trust_remote_code=True,
32 enforce_eager=True,
33 enable_lora=True,
34 max_lora_rank=64,
35)
36
37outputs = llm.generate(
38 prompts,
39 sampling_params = SamplingParams(
40 temperature=0,
41 max_tokens=1024,
42 min_tokens=1,
43 repetition_penalty=1.2,
44 skip_special_tokens=True,
45 seed=97,
46 ),
47 lora_request=LoRARequest("sql_adapter", 1, lora_path),
48)
49
50with open(f"./{id}_max1024-nf4-vllm.jsonl", 'w', encoding='utf-8') as f:
51 for i in range(len(outputs)):
52 result = {
53 "task_id" : tasks[i]["task_id"],
54 "input" : tasks[i]["input"],
55 "output" : outputs[i].outputs[0].text
56 }
57 json.dump(result, f, ensure_ascii=False)
58 f.write('\n')
59