Update README.md
Browse files
README.md
CHANGED
@@ -11,14 +11,74 @@ language:
|
|
11 |
---
|
12 |
# はじめに
|
13 |
これは,東京大学松尾・岩澤研究室のLLM講座2024のコンペティションで提出するためのモデルです.
|
|
|
14 |
llm-jp/llm-jp-3-13bに,QLoRAによるSFTを施して,LoRAアダプタのみをこちらにアップしています.
|
|
|
15 |
chat templateは,weblab-GENIAC/Tanuki-8B-dpo-v1.0のものと同一のものを使用しています.
|
16 |
|
17 |
# 推論方法
|
18 |
提供された環境で,以下のように推論します.L4 GPU×1のインスタンスで,vLLMを用いて推論します.
|
|
|
19 |
Jupyter Notebookで,一かたまりごとに一つのセルになっています.順番に実行してください.
|
20 |
```python
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
```
|
23 |
|
24 |
|
|
|
11 |
---
|
12 |
# はじめに
|
13 |
これは,東京大学松尾・岩澤研究室のLLM講座2024のコンペティションで提出するためのモデルです.
|
14 |
+
|
15 |
llm-jp/llm-jp-3-13bに,QLoRAによるSFTを施して,LoRAアダプタのみをこちらにアップしています.
|
16 |
+
|
17 |
chat templateは,weblab-GENIAC/Tanuki-8B-dpo-v1.0のものと同一のものを使用しています.
|
18 |
|
19 |
# 推論方法
|
20 |
提供された環境で,以下のように推論します.L4 GPU×1のインスタンスで,vLLMを用いて推論します.
|
21 |
+
|
22 |
Jupyter Notebookで,一かたまりごとに一つのセルになっています.順番に実行してください.
|
23 |
```python
|
24 |
+
!pip uninstall numpy -y
|
25 |
+
!pip install numpy==1.26.4
|
26 |
+
|
27 |
+
%%time
|
28 |
+
%pip install vllm==0.6.4.post1 --force-reinstall
|
29 |
+
|
30 |
+
!pip install ipywidgets
|
31 |
+
|
32 |
+
import time
|
33 |
+
import torch
|
34 |
+
#import pandas as pd
|
35 |
+
#import polars as pl
|
36 |
+
import transformers
|
37 |
+
from transformers import (
|
38 |
+
AutoTokenizer,
|
39 |
+
AutoModelForCausalLM,
|
40 |
+
#GemmaTokenizerFast,
|
41 |
+
#AutoModelForSequenceClassification,
|
42 |
+
BitsAndBytesConfig
|
43 |
+
)
|
44 |
+
import vllm ### packaging==24.1にしないとエラーになる!! ###
|
45 |
+
from vllm.lora.request import LoRARequest
|
46 |
+
from jinja2 import Template
|
47 |
+
print(vllm.__version__)
|
48 |
+
|
49 |
+
MAX_LENGTH = 1024
|
50 |
+
# BATCH_SIZE = 2
|
51 |
+
# MODEL_NAME = "/kaggle/input/gemma/transformers/2b-it/3"
|
52 |
+
# CHECKPOINT_PATH = "/kaggle/input/atmacup17-train-causal/checkpoint-468"
|
53 |
+
#MODEL_NAME = "/kaggle/input/gemma2-9b-it-for-t4"
|
54 |
+
#CHECKPOINT_PATH = "/kaggle/input/exp002-gemma-2-9b-it"
|
55 |
+
#MODEL_NAME = "team-hatakeyama-phase2/Tanuki-8B-dpo-v1.0-AWQ"
|
56 |
+
#MODEL_NAME = "llm-jp/llm-jp-3-3.7b-instruct"
|
57 |
+
MODEL_NAME = "llm-jp/llm-jp-3-13b"
|
58 |
+
#MODEL_NAME = "OsakanaTeishoku/1127-13b-magpie-sft-step170"
|
59 |
+
print(MODEL_NAME)
|
60 |
+
|
61 |
+
import os
|
62 |
+
os.environ["HF_TOKEN"] = "あなたのHugging Faceトークン"
|
63 |
+
|
64 |
+
from vllm.lora.request import LoRARequest
|
65 |
+
|
66 |
+
llm = vllm.LLM(
|
67 |
+
MODEL_NAME, # "deepseek-ai/deepseek-math-7b-instruct"
|
68 |
+
tensor_parallel_size=1, # 2, 4
|
69 |
+
gpu_memory_utilization=0.95,
|
70 |
+
trust_remote_code=True,
|
71 |
+
#enable_lora=True,
|
72 |
+
#dtype="half",
|
73 |
+
enforce_eager=True,
|
74 |
+
max_model_len=MAX_LENGTH,
|
75 |
+
enable_lora=True,
|
76 |
+
#quantization="AWQ",
|
77 |
+
quantization="bitsandbytes",
|
78 |
+
load_format="bitsandbytes"
|
79 |
+
)
|
80 |
+
tokenizer = llm.get_tokenizer()
|
81 |
+
|
82 |
```
|
83 |
|
84 |
|