← सूची पर वापस जाएँ

Unsloth का उपयोग स्थानीय रूप से तैनात डीपसिक बड़े मॉडल को ठीक करने के लिए करें

itadol5j

उपयोग DeepSeek-r1-14b मॉडल और पास ओलामा। तैनाती के लिए पूर्ण ठीक ट्यूनिंग और प्रारूप रूपांतरण प्रक्रिया:


I. न्यू ओलमा प्रारूप अनुकूलन चरण

मॉडल प्रारूप रूपांतरण (PyTorch → GGUF)

# 安装转换工具
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp && make

# 合并LoRA权重到基础模型
python3 -m pip install peft
python3 <<EOF
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer

base_model = AutoModelForCausalLM.from_pretrained(
    "deepseek-ai/deepseek-llm-14b-chat",
    torch_dtype=torch.float16,
    device_map="auto"
)
model = PeftModel.from_pretrained(base_model, "./custom_deepseek")
model = model.merge_and_unload()  # 合并LoRA权重

model.save_pretrained("./merged_model", safe_serialization=True)
tokenizer.save_pretrained("./merged_model")
EOF

# 转换为GGUF格式
python3 llama.cpp/convert.py ./merged_model \
  --outtype q4_k_m \          # 4-bit量化(平衡精度与效率)
  --outfile deepseek-14b-custom.Q4_K_M.gguf

2. Ollama Modelfile

# Modelfile 示例
FROM ./deepseek-14b-custom.Q4_K_M.gguf
PARAMETER temperature 0.7
PARAMETER stop "[INST]"
PARAMETER stop "[/INST]"
SYSTEM """
你是一个经过专业训练的AI助手,专门为[企业名称]提供符合企业规范的响应。
响应需使用企业术语,并遵守安全准则。
"""

II. मॉडलिंग प्रशिक्षण प्रक्रिया समायोजन (डीपसेक-14बी का अनुकूलन)

1. मॉडल लोड कोड का संशोधन

from unsloth import FastLanguageModel

# 加载14B模型(显存需求降低至24GB+)
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "deepseek-ai/deepseek-llm-14b-chat",  # 修改模型名称
    max_seq_length = 4096,
    dtype = torch.float16,        # 14B模型可用float16
    load_in_4bit = True,           # 显存不足时开启
    attn_implementation = "flash_attention_2",  # 强制启用Flash Attention
)

2. प्रशिक्षण मापदंडों का समायोजन

# 因模型减小,可适当提升batch size
trainer_args = TrainingArguments(
    per_device_train_batch_size = 4,    # 原为2(32B模型)
    gradient_accumulation_steps = 2,    # 总batch_size=4*2=8
    learning_rate = 3e-5,               # 稍高于32B版本
    optim = "paged_adamw_8bit",         # 使用分页优化器
)

III Ollama Deployment वैधता

1. स्थानीय तैनाती मॉडल

ollama create my-deepseek -f Modelfile
ollama run my-deepseek
>>> [INST] 生成技术部门季度总结模板 [/INST]

2. प्रदर्शन अनुकूलन विन्यास

# 在Modelfile中添加GPU加速参数(需Ollama 0.1.15+)
PARAMETER num_gpu 4   # 指定GPU数量
PARAMETER numa      # 启用NUMA优化

मुख्य परिवर्तनों का विवरण

आइटमपूर्व कार्यक्रम 32Bनया 14B+Ollama प्रोग्रामलाभ
संगठन80GB + (4bit quantified)24GB + (4bit quantified)सिंगल कार्ड रनेबल
गहराई15 tokens/s (A100)28 टोकन/s (3090)स्थानीय तैनाती की बढ़ी हुई दक्षता
मॉडल प्रेसिजनbfloat16फ्लोट16बेहतर संगतता
तैनाती की जटिलताएपीआई इंटरफ़ेस को सील करना चाहिएआदेश की एक पंक्ति।परिवहन प्रक्रिया को सरलीकृत करें

V. RELEVANT ISSUES समाधान

1. GGUF को परिवर्तित करते समय एक आयाम त्रुटि हुई

# 检查权重合并是否正确
python3 llama.cpp/convert.py --verbose ...  # 显示详细转换日志

2. ओलमा प्रतिक्रिया उम्मीदों को पूरा नहीं हुई

# 在训练数据中添加格式强化样本:
{
  "instruction": "严格按照企业模板回复",
  "input": "用户问题内容",
  "output": "[企业标准开头]...[/企业标准结尾]"
}

मात्रात्मकता के बाद परिशुद्धता के अत्यधिक नुकसान

# 尝试更高精度量化(需更多显存)
--outtype q6_k    # 6-bit量化
--outtype q8_0    # 8-bit量化

उपरोक्त समायोजन के साथ, आपको एक मिलेगा:
स्पष्ट मांग में 50 प्रतिशत की कमी
Ollama की तैनाती
उद्यम अनुकूलन क्षमता को बनाए रखने के लिए लाइटवेट मॉडल