# Logits, Softmax और Temperature — Large Language Models

Source: https://www.geekswithgeeks.com/hi/llms/n-softmax

> कच्चे scores को संभावनाओं में बदलें और randomness नियंत्रित करें।

## Scores से वितरण तक

Network शब्दावली के हर token के लिए एक कच्चा score, **logit**, देता है। **Softmax** उनका exponential लेकर normalise करता है ताकि वे धनात्मक हों और योग 1 हो। **Temperature** पहले logits को भाग देता है: 1 से कम वितरण को तीखा (ज़्यादा अनुमेय), 1 से ज़्यादा उसे चपटा (ज़्यादा विविध) करता है। Temperature 0 के पास मॉडल लगभग हमेशा शीर्ष token चुनता है ("greedy")। `exp` से पहले अधिकतम घटाना संख्यात्मक स्थिरता की मानक तरकीब है।

## Temperature का असर, चलाकर

मैंने यह सादा-Python (सिर्फ़ standard library) उदाहरण चलाया। T=0.5 पर "Paris" को 95% संभावना मिलती है; T=2.0 पर 56% और बाक़ी tokens को वास्तविक मौक़ा मिलता है।

```python
import math

def softmax(logits, temperature=1.0):
    scaled = [x / temperature for x in logits]
    m = max(scaled)
    exps = [math.exp(x - m) for x in scaled]
    total = sum(exps)
    return [e / total for e in exps]

tokens = ["Paris", "London", "banana", "the"]
logits = [4.0, 2.5, -1.0, 1.0]
for t in (0.5, 1.0, 2.0):
    probs = softmax(logits, t)
    print("T =", t, [f"{p:.3f}" for p in probs])

```

Output:

```
T = 0.5 ['0.950', '0.047', '0.000', '0.002']
T = 1.0 ['0.781', '0.174', '0.005', '0.039']
T = 2.0 ['0.563', '0.266', '0.046', '0.126']
```

## तथ्यों के लिए कम, विचारों के लिए अधिक temperature

निष्कर्षण और तथ्यात्मक कार्यों के लिए कम temperature रखें; brainstorming में बढ़ाएँ। कम temperature विविधता घटाता है पर सही होने की गारंटी नहीं देता।

**Quiz:** Temperature बढ़ाने से क्या होता है?

- [ ] Tokens हटाता है
- [ ] मॉडल को बड़ा बनाता है
- [ ] सही उत्तरों की गारंटी देता है
- [x] वितरण चपटा करता है, आउटपुट को ज़्यादा विविध बनाता है

*Answer:* वितरण चपटा करता है, आउटपुट को ज़्यादा विविध बनाता है. अधिक temperature संभावना को ज़्यादा tokens में फैलाता है।
