# Supervised Fine-Tuning (SFT) सरल शब्दों में — Fine-tuning बनाम Prompting

Source: https://www.skillbyai.com/hi/fine-tuning/h-sft

> प्रशिक्षण loop मॉडल के साथ वास्तव में क्या करता है।

## उदाहरण दिखाएँ, weights खिसकाएँ, दोहराएँ

**Supervised fine-tuning (SFT)** पहले से प्रशिक्षित मॉडल को **इनपुट और वांछित आउटपुट** की जोड़ियों पर प्रशिक्षित करती है। हर उदाहरण पर मॉडल उत्तर के tokens अनुमानित करता है, **loss** लक्ष्य से दूरी मापता है, **backpropagation** हर weight का योगदान निकालता है, और **optimiser** (जैसे Adam) loss घटाने को weights खिसकाता है। यह batches पर एक या कुछ **epochs** तक दोहराया जाता है। मॉडल मज़बूत सामान्य क्षमता से शुरू करता है इसलिए scratch से कहीं कम उदाहरण चाहिए, पर बड़े क़दम या ख़राब डेटा उसके जाने हुए को बिगाड़ सकते हैं। Loss आम तौर पर सिर्फ़ **सहायक के उत्तर tokens** पर निकाला जाता है।

## पहले से प्रशिक्षित मॉडल पर छोटे क़दम

Fine-tuning आपके उदाहरणों पर gradient descent जारी रखती है, आदर्श रूप से weights का सिर्फ़ छोटा हिस्सा बदलते हुए।

![पाँच विचार: SFT, learning rate, LoRA, preferences, distillation।](assets/figures/fine-tuning/section-3-map.svg) — चित्र 3.1 — SFT, learning rate, LoRA, preferences और distillation।

## एक चित्र में प्रशिक्षण loop

अवधारणात्मक, किसी एक library से बँधा नहीं।

```text
for epoch in 1..E:
    for batch in shuffled(training_examples):
        predictions = model(batch.input)                        # forward pass
        loss = cross_entropy(predictions, batch.answer_tokens)  # only the answer part counts
        gradients = backward(loss)                              # how each weight affects the loss
        weights -= learning_rate * adjust(gradients)            # small step (Adam etc.)
    check validation loss on held-out examples                  # stop early if it stops improving
```

## Prompt को mask करें

सिर्फ़ उत्तर tokens पर प्रशिक्षित करें; वरना मॉडल उपयोगकर्ता prompts की नक़ल सीखने में क्षमता लगाता है।

**Quiz:** SFT क्या optimise करती है?

- [ ] प्रति token क़ीमत
- [ ] User prompt की लंबाई
- [x] Weights, वांछित उदाहरण आउटपुट पर loss घटाने के लिए
- [ ] GPU पंखे की गति

*Answer:* Weights, वांछित उदाहरण आउटपुट पर loss घटाने के लिए. प्रशिक्षण weights को इस तरह समायोजित करता है कि लक्ष्य उत्तर अधिक संभावित हों।
