AIUnlimited
🌳

AI పునాదులు

🌱
AI Seeds

సున్నా నుండి ప్రారంభించండి

🌿
AI Sprouts

పునాదులు నిర్మించండి

🌳
AI Branches

ఆచరణలో అన్వయించండి

🏕️
AI Canopy

లోతుగా వెళ్ళండి

🌲
AI Forest

AI లో నిపుణత సాధించండి

🔨

AI నైపుణ్యం

✏️
AI Sketch

సున్నా నుండి ప్రారంభించండి

🪨
AI Chisel

పునాదులు నిర్మించండి

⚒️
AI Craft

ఆచరణలో అన్వయించండి

💎
AI Polish

లోతుగా వెళ్ళండి

🏆
AI Masterpiece

AI లో నిపుణత సాధించండి

📘

AI ఆచరణ

📖
ఓపెన్-సోర్స్ మోడల్స్ అర్థం చేసుకోవడం

ఓపెన్-సోర్స్ మోడల్స్ ప్రాథమికాలు మరియు వనరులు

🎯
సమస్య నుండి మోడల్ టాస్క్‌కు

వ్యాపార సమస్యలను మోడల్ టాస్క్‌లుగా మార్చడం

⚡
మీ మొదటి మోడల్ నడపడం

30 నిమిషాల్లో మీ మొదటి ఫలితాలను చూడండి

🔧
ఫైన్-ట్యూనింగ్ మరియు మూల్యాంకనం

మోడల్స్ ఫైన్-ట్యూన్ చేసి పనితీరును మూల్యాంకనం చేయండి

🚀
అప్లికేషన్ సిస్టమ్‌లు

వాస్తవ AI అనువర్తనాలను నిర్మించండి

🎨
జనరేటివ్ AI

ఓపెన్-సోర్స్ AIGC మోడల్స్ అన్వేషించండి

🤖
ఏజెంట్లు

ఏజెంట్ ఫ్రేమ్‌వర్క్‌లు మరియు MCP టూల్స్ నేర్చుకోండి

📐
సప్లిమెంటరీ ప్రాథమికాలు

LLM ప్రాథమికాలు మరియు మూల్యాంకనం

🎓

Claude Academy

🤖
Claude 101

Learn AI basics with Claude

💻
Claude Code 101

Code with Claude as your pair programmer

🤝
Introduction to Claude Cowork

Collaborate with Claude on complex projects

⚙️
Claude Platform 101

Build apps with the Claude API

ల్యాబ్

7 ప్రయోగాలు లోడ్ అయ్యాయి
🧬Neural Network Playground🤖AI లేదా మనిషి?🥋Prompt Engineering Dojo🏁Algorithm Race🧠AI ట్రివియా ఛాలెంజ్🏗️సిస్టమ్ డిజైన్ క్యాన్వాస్
🎯మాక్ ఇంటర్వ్యూల్యాబ్‌లోకి వెళ్ళండి→
🚀

కెరీర్ అభివృద్ధి

🚀
ఇంటర్వ్యూ లాంచ్‌ప్యాడ్

మీ ప్రయాణం ప్రారంభించండి

🌟
ప్రవర్తనా ఇంటర్వ్యూ నైపుణ్యం

సాఫ్ట్ స్కిల్స్ నేర్చుకోండి

💻
సాంకేతిక ఇంటర్వ్యూలు

కోడింగ్ రౌండ్ విజయం సాధించండి

🤖
AI & ML ఇంటర్వ్యూలు

ML ఇంటర్వ్యూ నైపుణ్యం

🏆
ఆఫర్ & అంతకు మించి

అత్యుత్తమ ఆఫర్ పొందండి

నేర్చుకోవడం ప్రారంభించండి
AIUnlimited

MIT లైసెన్స్

沪ICP备18025655号-11

నేర్చుకోండి

  • AI ప్రాథమికాలు
  • AI ఆచరణ
  • Claude Academy
  • ల్యాబ్
  • కెరీర్ అభివృద్ధి

సంఘం

  • మా గురించి
  • తరచుగా అడిగే ప్రశ్నలు

మద్దతు

  • footer.terms
  • footer.privacy
  • footer.contact
AI & ఇంజనీరింగ్ ప్రోగ్రామ్‌లు›🔧 ఫైన్-ట్యూనింగ్ మరియు మూల్యాంకనం›పాఠాలు›Fine-Tuning with ms-swift
🚀
ఫైన్-ట్యూనింగ్ మరియు మూల్యాంకనం • ప్రారంభకుడు⏱️ 25 నిమిషాల పఠన సమయం

Fine-Tuning with ms-swift

ms-swift తో త్వరగా ఓపెన్-సోర్స్ మోడల్స్ ఫైన్-ట్యూనింగ్

జనరల్ మోడల్ నిర్దిష్ట వ్యాపార అవసరాలను నేరుగా తృప్తి పరచలేనప్పుడు, మోడల్‌ను మీ వ్యాపార డేటాతో ఫైన్-ట్యూన్ చేయవచ్చు.

ఇ-కామర్స్ ఎంటిటీ గుర్తింపు పని ఉదాహరణగా, మేము మోడల్ నుండి ఉత్పత్తి పేరు, బ్రాండ్ పేరు, మోడల్ నంబర్ కనుగొని, సంబంధిత వర్గం మరియు స్థానాన్ని అందించాలి.

పని మరియు అవుట్‌పుట్ అవసరాలు ఇప్పటికే స్పష్టంగా ఉంటే, ఈ డేటాతో ఫైన్-ట్యూనింగ్ ప్రయత్నించవచ్చు.

ms-swift తో ఒక LoRA ఫైన్-ట్యూనింగ్ నుండి ప్రారంభిద్దాం, డేటా సిద్ధాంతం, శిక్షణ, బరువు విలీనం మరియు ఇన్ఫెరెన్స్ వరుసగా నడుపుదాం.

ఫైన్-ట్యూనింగ్ మోడల్‌లో ఏమి మారుస్తుంది?

జనరల్ పెద్ద మోడల్స్ ఇప్పటికే బలమైన భాషా అవగాహన, జ్ఞాన ప్రశ్నోత్తరాలు, వచన రూపకల్పన వంటి సాధారణ సామర్థ్యాలను కలిగి ఉన్నాయి.

ఉదాహరణకు, మేము మోడల్ నిర్దిష్ట సమాచార సంగ్రహణ పనిని ఖచ్చితంగా పూర్తి చేయగలదని, నిర్ణీత ఫార్మాట్‌లో ఫలితాలను అవుట్‌పుట్ చేయగలదని కోరుకుంటాము.

ఫైన్-ట్యూనింగ్ అంటే మోడల్‌ను మళ్లీ శిక్షణ ఇవ్వడం కాదు, మోడల్ యొక్క ఇప్పటికే ఉన్న సామర్థ్యం ఆధారంగా మరింత సవరించడం.

ముఖ్య చిత్రం

ప్రస్తుతం, పెద్ద మోడల్ ఫైన్-ట్యూనింగ్‌లో అత్యంత సాధారణ పద్ధతి SFT (Supervised Fine-Tuning).

SFT తో పాటు, పెద్ద మోడల్ శిక్షణ రీన్ఫోర్స్‌మెంట్ లెర్నింగ్ (RL) ను కూడా ఉపయోగించవచ్చు.

ఫుల్ పారామితులు, LoRA మరియు QLoRA, తేడాలు ఎక్కడ ఉన్నాయి?

శిక్షణ పద్ధతి మరియు హార్డ్‌వేర్ వనరుల ఆధారంగా, LoRA, QLoRA లేదా ఫుల్ పారామితుల ఫైన్-ట్యూనింగ్ వంటి పద్ధతులను ఎంచుకోవచ్చు.

1, ఫుల్ పారామితుల ఫైన్-ట్యూనింగ్, శిక్షణ ప్రక్రియలో మోడల్ యొక్క అన్ని పారామితులు నవీకరణలో పాల్గొంటాయి.

2, LoRA ఫైన్-ట్యూనింగ్ (Low-Rank Adaptation), పెద్ద మోడల్ ఫైన్-ట్యూనింగ్ హార్డ్‌వేర్ వనరుల అవసరాలను తగ్గించడానికి.

ముఖ్య చిత్రం

వివరంగా చూస్తే, ప్రీ-ట్రైన్డ్ మేట్రిక్స్ W_0 యొక్క నవీకరణ ఈ విధంగా వ్యక్తీకరించవచ్చు:

W = W_0 + \Delta W = W_0 + BA 

ఇక్కడ, ΔW ఫైన్-ట్యూనింగ్ ప్రక్రియలో నేర్చుకోవాల్సిన బరువు మార్పును సూచిస్తుంది,

B \in \mathbb{R}^{d \times r}, \quad
A \in \mathbb{R}^{r \times k}, \quad
r \ll \min(d,k)

A మరియు B LoRA కొత్తగా జోడించి శిక్షణలో పాల్గొనే పారామితులు.

3, QLoRA ఫైన్-ట్యూనింగ్ (Quantized LoRA), LoRA ప్రధానంగా శిక్షణ పారామితుల వనరుల ఖర్చును తగ్గిస్తుంది.

సంబంధిత మోడల్ ఆర్కిటెక్చర్ చిత్రంలో చూపబడింది, QLoRA అనేది LoRA యొక్క మెరుగుదల.

ముఖ్య చిత్రం

QLoRA ను సాధారణంగా క్వాంటైజేషన్ మరియు LoRA సంయోజనంగా అర్థం చేసుకోవచ్చు.

  1. 4bit NormalFloat (NF4), NF4 అనేది సాధారణ పంపిణీ బరువుల కోసం సమాచార సిద్ధాంతపరంగా అత్యుత్తమ ఎంపిక.

  2. డ్యూయల్ క్వాంటైజేషన్ టెక్నాలజీ, సగటు మెమరీ వినియోగాన్ని తగ్గిస్తుంది.

పాఠం 2 / 40% పూర్తి
←Training Data Preparation

చర్చ

సైన్ ఇన్ చర్చలో చేరండి

  • పేజ్డ్ ఆప్టిమైజర్, మెమరీ పీక్ నిర్వహించడంలో సహాయపడుతుంది.

  • ఫైన్-ట్యూనింగ్ పద్ధతి ఎలా ఎంచుకోవాలి, ముందుగా పని మరియు GPU ని చూడండి

    ఏ ఫైన్-ట్యూనింగ్ పద్ధతిని ఎంచుకోవాలో, మోడల్ పరిమాణం, పని అవసరాలు, GPU వనరులు మరియు శిక్షణ ఖర్చును సమగ్రంగా పరిగణించాలి.

    ప్రాథమిక మోడల్ పరిమాణం పెద్దదిగా ఉంటే, LoRA ఉపయోగించినప్పటికీ, తగినంత విద్యుత్ మెమరీ ఉండకపోతే, QLoRA ను పరిగణించవచ్చు.

    GPU వనరులు సమృద్ధిగా ఉంటే, మరియు పనికి మోడల్‌ను మరింత సంపూర్ణంగా సవరించాల్సిన అవసరం ఉంటే, ఫుల్ పారామితుల ఫైన్-ట్యూనింగ్ పరిగణించవచ్చు.

    వాస్తవ ప్రాజెక్టుల్లో, మేము తక్కువ ఖర్చుతో మొదట ఫలితాన్ని ధృవీకరించవచ్చు.

    ms-swift తో ఒక ఫైన్-ట్యూనింగ్ నడుపుదాం

    ms-swift మనకు ఏ పనులను ఆదా చేయగలదు?

    ms-swift (SWIFT, Scalable lightWeight Infrastructure for Fine-Tuning) అనేది ModelScope కమ్యూనిటీ ఓపెన్-సోర్స్ పెద్ద మోడల్ శిక్షణ మరియు మోహరింపు ఫ్రేమ్‌వర్క్.

    ముఖ్య చిత్రం

    ప్రస్తుతం Qwen, DeepSeek, Llama, GLM, InternLM వంటి ప్రధాన భాషా మోడల్స్ మరియు Qwen-VL, InternVL వంటి మల్టీమోడల్ మోడల్స్‌ను మద్దతు ఇస్తుంది.

    మరిన్ని వినియోగ పద్ధతుల కోసం ms-swift ను చూడవచ్చు.

    శిక్షణతో పాటు, ms-swift మోడల్ వినియోగ ప్రక్రియను కూడా అందిస్తుంది.

    ప్రారంభకులకు, ms-swift యొక్క ఒక ప్రత్యేకత ఏమిటంటే పెద్ద మోడల్ శిక్షణ ప్రక్రియలోని సంక్లిష్టమైన కాన్ఫిగరేషన్‌లను ఏకీకృతం చేయడం.

    ఎంటిటీ గుర్తింపు పని నుండి ప్రారంభించి, శిక్షణ చేద్దాం

    ఎంటిటీ గుర్తింపు పని ఉదాహరణగా, ModelScope Notebook వాతావరణంలో పూర్తి మోడల్ ఫైన్-ట్యూనింగ్ ప్రక్రియను ప్రదర్శిస్తుంది.

    ముఖ్య చిత్రం
    1. ms-swift ఇప్పటికే ఇన్‌స్టాల్ చేయబడిందా అని చూడండి.
    !pip3 list |grep ms_swift
    

    ఈ రూపంలో చూపిస్తే, ms-swift ఇన్‌స్టాల్ చేయబడిందని అర్థం.

    ముఖ్య చిత్రం

    ఇన్‌స్టాల్ చేయకపోతే, ఈ క్రింది ఆదేశాన్ని అమలు చేయండి.

    !pip3 install ms-swift
    
    1. డేటా సిద్ధాంతం, ఈ ప్రయోగం ఓపెన్-సోర్స్ డేటాను ఉపయోగిస్తుంది, ఇ-కామర్స్ ఎంటిటీ గుర్తింపు.

    2. ముందుగా data అనే డైరెక్టరీని సృష్టించి, డేటాను అప్‌లోడ్ చేయండి.

    {"messages":[{"role":"system","content":"మీరు ఒక ఎంటిటీ గుర్తింపు మోడల్. వినియోగదారు టెక్స్ట్‌లోని ఎంటిటీలను గుర్తించండి. ఎంటిటీలను అసలు టెక్స్ట్‌లో వాటి క్రమంలో ఖచ్చితంగా అవుట్‌పుట్ చేయండి, ప్రతి ఎంటిటీని వేరు వేరు లైన్‌లో, ఈ ఫార్మాట్‌లో: (రకం,ఎంటిటీ టెక్స్ట్,ప్రారంభ స్థానం). ప్రారంభ స్థానం 0 నుండి మొదలవుతుంది; రకం HCCX, HPPX, MISC, XH లలో ఒకటే కావచ్చు. ఎంటిటీలు లేకపోతే ఇది మాత్రమే అవుట్‌పుట్ చేయండి: ఎంటిటీలు లేవు. వివరణలు, Markdown లేదా ఇతర కంటెంట్ అవుట్‌పుట్ చేయవద్దు."},{"role":"user","content":"push bb skincare guasha l back therapy olive oil full body back open foot body oil m oil 5 massage oil massage essence 00"},{"role":"assistant","content":"(HCCX,olive oil,10)\n(HCCX,massage oil,20)\n(HCCX,oil,24)\n(HCCX,oil,27)"}]}
    

    డైరెక్టరీ ఫార్మాట్ ఈ క్రింది విధంగా ఉంటుంది:

    ముఖ్య చిత్రం
    1. మోడల్ శిక్షణ, Qwen/Qwen3-0.6B ను ఉపయోగించి ఫైన్-ట్యూనింగ్.
    !CUDA_VISIBLE_DEVICES=0 swift sft \
      --model Qwen/Qwen3-0.6B \
      --dataset data/train.jsonl \
      --val_dataset data/val.jsonl \
      --tuner_type lora \
      --target_modules all-linear \
      --lora_rank 16 \
      --lora_alpha 32 \
      --lora_dropout 0.05 \
      --torch_dtype bfloat16 \
      --num_train_epochs 2 \
      --per_device_train_batch_size 4 \
      --per_device_eval_batch_size 4 \
      --gradient_accumulation_steps 4 \
      --learning_rate 1e-4 \
      --warmup_ratio 0.05 \
      --max_length 512 \
      --eval_strategy steps \
      --eval_steps 100 \
      --save_strategy steps \
      --save_steps 100 \
      --save_total_limit 3 \
      --logging_steps 10 \
      --load_from_cache_file true \
      --dataset_num_proc 4 \
      --dataloader_num_workers 4 \
      --output_dir output/qwen3_0_6b_ner_lora
    

    ప్రధాన పారామితుల వివరణ:

    ParameterDescription
    --model Qwen/Qwen3-0.6BUse Qwen3-0.6B base model
    --tuner_type loraUse LoRA fine-tuning
    --target_modules all-linearAdd LoRA to all linear layers
    --lora_rank 16LoRA capacity
    --lora_alpha 32LoRA scaling factor
    --num_train_epochs 2Training epochs
    --per_device_train_batch_size 44 samples per step per GPU
    --gradient_accumulation_steps 4Accumulate 4 steps before update
    --learning_rate 1e-4LoRA learning rate
    --max_length 512Maximum length per sample
    --eval_steps 100Validate every 100 steps
    --save_steps 100Save every 100 steps
    --save_total_limit 3Keep at most 3 checkpoints
    --output_dirModel and log save path

    శిక్షణ ప్రారంభించిన తర్వాత, ms-swift ప్రస్తుత శిక్షణ సమాచారాన్ని నిరంతరం అవుట్‌పుట్ చేస్తుంది.

    ముఖ్య చిత్రం
    ముఖ్య చిత్రం

    శిక్షణ ముగిసింది, మోడల్‌ను ఎలా ఉపయోగించాలి?

    LoRA బరువులను ప్రాథమిక మోడల్‌లో విలీనం చేయడం

    LoRA శిక్షణ పూర్తయిన తర్వాత, సంబంధిత LoRA Adapter సేవ్ చేయబడుతుంది.

    ముఖ్య చిత్రం

    మోడల్ విలీనం ఆదేశం ఈ క్రింది విధంగా ఉంటుంది:

    !CUDA_VISIBLE_DEVICES=0 swift export \
      --adapters output/qwen3_0_6b_ner_lora/v2-20260903-172616/checkpoint-676 \
      --merge_lora true \
      --output_dir output/qwen3_0_6b_ner_merged
    

    ఇక్కడ, --adapters శిక్షణ ద్వారా పొందిన LoRA checkpoint మార్గాన్ని సూచిస్తుంది.

    అమలు ఫలితం ఈ క్రింది విధంగా ఉంటుంది:

    ముఖ్య చిత్రం

    ఫైన్-ట్యూన్ చేసిన మోడల్‌ను లోడ్ చేసి, వాస్తవ ప్రభావాన్ని ప్రయత్నించండి

    విలీనం పూర్తయిన తర్వాత, జనరేట్ చేసిన పూర్తి మోడల్‌ను నేరుగా లోడ్ చేసి ఇన్ఫెరెన్స్ చేయవచ్చు.

    CUDA_VISIBLE_DEVICES=0 swift deploy \
      --model output/qwen3_0_6b_ner_merged \
      --load_args false \
      --infer_backend vllm \
      --enable_thinking false \
      --host 0.0.0.0 \
      --port 8000 \
      --served_model_name qwen3-0.6b-ner \
      --api_key 123 \
      --vllm_gpu_memory_utilization 0.7 \
      --vllm_max_model_len 1024 \
      --max_new_tokens 128
    

    పారామితుల వివరణ ఈ క్రింది విధంగా ఉంటుంది:

    ParameterDescription
    swift deployStart ms-swift OpenAI compatible service
    --modelSpecify merged full model directory
    --load_argsDo not load args.json from model directory
    --infer_backendUse vLLM inference engine
    --enable_thinkingDisable Qwen3 thinking mode
    --hostInterface IP
    --portPort
    --served_model_nameSet interface model name
    --api_keySet interface API key
    --vllm_gpu_memory_utilizationModel uses ~70% GPU memory
    --vllm_max_model_lenMaximum total tokens
    --max_new_tokensMaximum output length

    మోడల్ ప్రారంభించిన తర్వాత, ఫలితం ఈ క్రింది విధంగా ఉంటుంది:

    ముఖ్య చిత్రం

    మోడల్ ప్రారంభించిన తర్వాత, ఇంటర్‌ఫేస్ ద్వారా కనెక్టివిటీని పరీక్షించవచ్చు.

    import json
    import requests
    
    url = "http://127.0.0.1:8000/v1/chat/completions"
    
    headers = {
        "Authorization": "Bearer 123",
        "Content-Type": "application/json"
    }
    
    payload = {
        "model": "qwen3-0.6b-ner",
        "messages": [
            {
                "role": "system",
                "content": "మీరు ఒక ఎంటిటీ గుర్తింపు మోడల్. వినియోగదారు టెక్స్ట్‌లోని ఎంటిటీలను గుర్తించండి. ఎంటిటీలను అసలు టెక్స్ట్‌లో వాటి క్రమంలో ఖచ్చితంగా అవుట్‌పుట్ చేయండి, ప్రతి ఎంటిటీని వేరు వేరు లైన్‌లో, ఈ ఫార్మాట్‌లో: (రకం,ఎంటిటీ టెక్స్ట్,ప్రారంభ స్థానం). ప్రారంభ స్థానం 0 నుండి మొదలవుతుంది; రకం HCCX, HPPX, MISC, XH లలో ఒకటే కావచ్చు. ఎంటిటీలు లేకపోతే ఇది మాత్రమే అవుట్‌పుట్ చేయండి: ఎంటిటీలు లేవు. వివరణలు, Markdown, think గుర్తు లేదా ఇతర కంటెంట్ అవుట్‌పుట్ చేయవద్దు."
            },
            {
                "role": "user",
                "content": "3539,2017 fire-fighting non-slip wear-resistant tall emergency rescue boots"
            }
        ],
        "temperature": 0,
        "max_tokens": 128
    }
    
    try:
        response = requests.post(url, headers=headers, json=payload, timeout=30)
        response.raise_for_status()  
        
        result = response.json()
    
        output_text = result["choices"][0]["message"]["content"]
        print("గుర్తింపు ఫలితం:")
        print(output_text)
    
    except requests.exceptions.RequestException as e:
        print(f"అభ్యర్థన విఫలమైంది: {e}")
    

    మోడల్ అవుట్‌పుట్ ఫలితం ఈ క్రింది విధంగా ఉంటుంది, think ట్యాగ్‌ను regex ద్వారా తొలగించవచ్చు.

    ముఖ్య చిత్రం

    ఈ అధ్యాయంలోని అన్ని ప్రయోగ డేటా మరియు కోడ్, https://modelscope.cn/gallery/liucong/ab458cbd-b47f-4830-91b6-314ea2036fc6 లో చూడవచ్చు.