{"version":"0.9.53","width":794,"height":1123,"margins":[100,120,100,120],"data":{"header":[{"value":"实践出真知","rowFlex":"center"}],"main":[{"value":"
","rowFlex":"center"},{"value":"","type":"title","valueList":[{"value":"微调DeepSeek","size":26,"bold":true,"rowFlex":"center"}],"level":"first"},{"value":"
参考文章:
"},{"value":"https://colab.research.google.com/drive/1N0Sf9yn8Tjs5gMJv-rez-0hzxBUDK3xK?usp=sharing#scrollTo=WasZ83hyd5F8","color":"#0bb5fe"},{"value":"
"},{"value":"","type":"title","valueList":[{"value":"安装unsloth","size":22,"bold":true}],"level":"third"},{"value":"
"},{"value":"
","type":"separator","dashArray":[0,0],"width":554},{"value":"
"},{"value":"!","size":14,"bold":false,"color":"rgb(0, 0, 255)","italic":false},{"value":"pip install unsloth","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":"# Also get the latest nightly Unsloth!","size":14,"bold":false,"color":"rgb(0, 128, 0)","italic":false},{"value":"
"},{"value":"!","size":14,"bold":false,"color":"rgb(0, 0, 255)","italic":false},{"value":"pip uninstall unsloth -y && pip install --upgrade --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":"!","size":14,"bold":false,"color":"rgb(0, 0, 255)","italic":false},{"value":"pip install bitsandbytes unsloth_zoo","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":"","type":"title","valueList":[{"value":"用modelscope下载模型(国内)","size":22,"bold":true}],"level":"third"},{"value":"
"},{"value":"
","type":"separator","dashArray":[0,0],"width":554},{"value":"
#安装modelscope
pip install modelscope
#下载模型
modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir ./DeepSeek-R1-Distill-Qwen-7B
"},{"value":"","type":"title","valueList":[{"value":"选择DeepSeek基础模型","size":22,"bold":true}],"level":"third"},{"value":"
"},{"value":"
","type":"separator","dashArray":[0,0],"width":554},{"value":"
"},{"value":"from","size":14,"bold":false,"color":"rgb(175, 0, 219)","italic":false},{"value":" unsloth ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"import","size":14,"bold":false,"color":"rgb(175, 0, 219)","italic":false},{"value":" FastLanguageModel","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":"import","size":14,"bold":false,"color":"rgb(175, 0, 219)","italic":false},{"value":" torch","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":"max_seq_length = ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"2048","size":14,"bold":false,"color":"rgb(17, 102, 68)","italic":false},{"value":" ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"# Choose any! We auto support RoPE Scaling internally!","size":14,"bold":false,"color":"rgb(0, 128, 0)","italic":false},{"value":"
"},{"value":"dtype = ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"None","size":14,"bold":false,"color":"rgb(0, 0, 255)","italic":false},{"value":" ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"# None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+","size":14,"bold":false,"color":"rgb(0, 128, 0)","italic":false},{"value":"
"},{"value":"load_in_4bit = ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"True","size":14,"bold":false,"color":"rgb(0, 0, 255)","italic":false},{"value":" ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"# Use 4bit quantization to reduce memory usage. Can be False.","size":14,"bold":false,"color":"rgb(0, 128, 0)","italic":false},{"value":"
"},{"value":"model, tokenizer = FastLanguageModel.from_pretrained(","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":" model_name = ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":""./DeepSeek-R1-Distill-Qwen-8B"","size":14,"bold":false,"color":"rgb(163, 21, 21)","italic":false},{"value":",","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":" max_seq_length = max_seq_length,","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":" dtype = dtype,","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":" load_in_4bit = load_in_4bit,","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
"},{"value":" ","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"# token = "hf_...", ","size":14,"bold":false,"color":"rgb(0, 128, 0)","italic":false},{"value":"
"},{"value":")","size":14,"bold":false,"color":"rgb(0, 0, 0)","italic":false},{"value":"
+ "},{"value":"","type":"title","valueList":[{"value":"调用AI","size":22,"bold":true}],"level":"third"},{"value":"
- 调用AI
"},{"value":"
","type":"separator","dashArray":[0,0],"width":554},{"value":"
prompt_style = """Below is an instruction that describes a task, paired with an input that provides further context.
Write a response that appropriately completes the request.
Before answering, think carefully about the question and create a step-by-step chain of thoughts to ensure a logical and accurate response.
### Instruction:
You are a medical expert with advanced knowledge in clinical reasoning, diagnostics, and treatment planning.
Please answer the following medical question.
### Question:
{}
### Response:
{}"""
question = "一个患有急性阑尾炎的病人已经发病5天,腹痛稍有减轻但仍然发热,在体检时发现右下腹有压痛的包块,此时应如何处理?"
FastLanguageModel.for_inference(model)
inputs = tokenizer([prompt_style.format(question, "")], return_tensors="pt").to("cuda")
outputs = model.generate(
input_ids=inputs.input_ids,
attention_mask=inputs.attention_mask,
max_new_tokens=1200,
use_cache=True,
)
response = tokenizer.batch_decode(outputs)
print(response[0].split("### Response:")[1])
+
+
+ "},{"value":"","type":"title","valueList":[{"value":"微调","size":22,"bold":true}],"level":"third"},{"value":"
- 微调"},{"value":"
","type":"separator","dashArray":[0,0],"width":554},{"value":"
"}],"footer":[{"value":"funny-editor","size":12}]}}