Update README.md
Browse files
README.md
CHANGED
@@ -33,13 +33,66 @@ This is the model card of a 🤗 transformers model that has been pushed on the
|
|
33 |
- **Paper [optional]:** [More Information Needed]
|
34 |
- **Demo [optional]:** [More Information Needed]
|
35 |
|
36 |
-
## Uses
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
[More Information Needed]
|
45 |
|
|
|
33 |
- **Paper [optional]:** [More Information Needed]
|
34 |
- **Demo [optional]:** [More Information Needed]
|
35 |
|
36 |
+
## Driectly Uses
|
37 |
+
|
38 |
+
```
|
39 |
+
|
40 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM,pipeline
|
41 |
+
from peft import PeftModelForCausalLM
|
42 |
+
from transformers import BitsAndBytesConfig
|
43 |
+
base_model = "ljcnju/DeepSeek7bForCodeTrans"
|
44 |
+
tokenzier = AutoTokenizer.from_pretrained(base_model)
|
45 |
+
babcfig = BitsAndBytesConfig(load_in_8bit=True,llm_int8_enable_fp32_cpu_offload=True)
|
46 |
+
basemodel = "deepseek-ai/deepseek-coder-6.7b-base"
|
47 |
+
model = AutoModelForCausalLM.from_pretrained(basemodel,
|
48 |
+
device_map = "cuda:0",
|
49 |
+
quantization_config = babcfig)
|
50 |
+
model.resize_token_embeddings(len(tokenzier))
|
51 |
+
|
52 |
+
model = PeftModelForCausalLM.from_pretrained(model,base_model)
|
53 |
+
|
54 |
+
prompt = "<|translate|> public void removePresentationFormat() {remove1stProperty(PropertyIDMap.PID_PRESFORMAT);}\n<|end_of_c-sharp_code|><|begin_of_c-sharp_code|>"
|
55 |
+
input = tokenzier(prompt,return_tensors="pt")
|
56 |
+
output_ids = model.generate(**input)
|
57 |
+
print(tokenzier.batch_decode(output_ids))
|
58 |
+
|
59 |
+
```
|
60 |
+
|
61 |
+
### Use with vLLM
|
62 |
+
|
63 |
+
```
|
64 |
+
|
65 |
+
from vllm import LLM, SamplingParams,EngineArgs, LLMEngine, RequestOutput
|
66 |
+
from vllm.lora.request import LoRARequest
|
67 |
+
engine_args = EngineArgs(model="deepseek-ai/deepseek-coder-6.7b-base",
|
68 |
+
enable_lora=True,
|
69 |
+
max_loras=1,
|
70 |
+
max_lora_rank=8,
|
71 |
+
max_cpu_loras=2,
|
72 |
+
max_num_seqs=256,
|
73 |
+
max_model_len= 512)
|
74 |
+
engine = LLMEngine.from_engine_args(engine_args)
|
75 |
+
lorarequest = LoRARequest("DeepSeek7bForCodeTrans",1,"ljcnju/DeepSeek7bForCodeTrans")
|
76 |
+
engine.add_lora(lorarequest)
|
77 |
+
|
78 |
+
additional_special_tokens = {'additional_special_tokens':['<|begin_of_java_code|>','<|end_of_java_code|>'\
|
79 |
+
,'<|begin_of_c-sharp_code|>','<|end_of_c-sharp_code|>',\
|
80 |
+
'<|translate|>']}
|
81 |
+
prompt = "public void serialize(LittleEndianOutput out) {out.writeShort(field_1_vcenter);}\n"
|
82 |
+
prompt = additional_special_tokens['additional_special_tokens'][0] + prompt + additional_special_tokens['additional_special_tokens'][1] + additional_special_tokens['additional_special_tokens'][2]
|
83 |
+
|
84 |
+
sampling_params = SamplingParams(temperature=0.1,max_tokens= 512,stop_token_ids=[32022,32014],skip_special_tokens=False)
|
85 |
+
engine.add_request(str(1),prompt,sampling_params,lora_request=lorarequest)
|
86 |
+
engine.step()
|
87 |
+
real_output = ""
|
88 |
+
finished = False
|
89 |
+
while engine.has_unfinished_requests():
|
90 |
+
request_outputs = engine.step()
|
91 |
+
for request_output in request_outputs:
|
92 |
+
finished = finished | request_output.finished
|
93 |
+
print(request_outputs[0].outputs[0].text)
|
94 |
+
|
95 |
+
```
|
96 |
|
97 |
[More Information Needed]
|
98 |
|