ljcnju commited on
Commit
78b5bb7
·
verified ·
1 Parent(s): 8d625f0

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +60 -7
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
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
39
-
40
- ### Direct Use
41
-
42
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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