⭐ धडा 07 — RLHF आणि LoRA: ग्रंथालय, शिष्टाचार वर्ग, सोनेरी तारे, चिकट चिठ्ठ्या
📍 तुम्ही इथे आहात: 12 पैकी धडा 07 — भाग 1 संपला! · मागे: lesson-06-attention · पुढे: lesson-08-prompting-context
📦 या ब्रँचमध्ये काय आहे
धडे 01–06, आणि अंतिम संस्काराची शाळा: कच्चा text-predictor मदत करणारा assistant कसा बनतो — pretraining → fine-tuning → RLHF — आणि सगळे वापरतात ती बजेटची युक्ती: LoRA.
🧒 5 वर्षांच्या मुलाला समजावल्यासारखे
assistant घडवायला चार शाळा लागतात:
- 📚 संपूर्ण ग्रंथालय वाचा (pretraining): वर्षानुवर्षे ग्रंथालयात कोंडून सगळे वाचणे — हुशार, अब्जावधी गोष्टी माहीत, पण "bread कसा bake करायचा?" विचारले तर ते कदाचित उत्तर देईल "हा प्रश्न अनेक नवशिके विचारतात." ते text पूर्ण करते; ते तुम्हाला उत्तर देत नाही. (महिने, लाखो dollars, एकदाच केलेले.)
- 🎓 शिष्टाचार वर्ग (supervised fine-tuning): त्याला "प्रश्न → उपयुक्त उत्तर" ची हजारो उदाहरणे दाखवा, जोपर्यंत उत्तर देण्याची शैली मुरत नाही. तोच लाल पेन (धडा 02), छोटा खास अभ्यासक्रम. आता ते उत्तर देते!
- ⭐ सोनेरी तारे (RLHF — reinforcement learning from human feedback): ते दोन उत्तरे लिहिते; माणसे त्यातले चांगले निवडतात — हजारो वेळा. त्या निवडींमधून एक taste-judge model (reward model) train करा, मग विद्यार्थ्याला असे उत्तर लिहिण्याकडे ढकला ज्याला judge जास्त गुण देतो. इथेच helpful, honest, harmless हे जुळवले जाते — आणि स्वभाव इथूनच येतो. (हे जास्त केले की तुम्हाला sycophancy मिळते: शिक्षकांना जे ऐकायचे तेच बोलणारे मूल. 😬)
- 🗒️ चिकट चिठ्ठ्या (LoRA): assistant ने तुमच्या कंपनीच्या शैलीतही बोलावे असे हवे? अब्जावधी dials पुन्हा train करणे म्हणजे मुलाला नवा मेंदू विकत घेणे. LoRA त्याऐवजी मेंदू गोठवते आणि छोट्या जोड चिठ्ठ्या शिकते (model च्या parameters चा अगदी छोटा भाग) ज्यांच्या दुरुस्त्या वरून चालतात. संपूर्ण मेंदूपेक्षा train करायला खूप स्वस्त, बदलता येणाऱ्या (एक model, अनेक चिठ्ठी-संच), काढता येणाऱ्या.
🗺️ आकृती
flowchart LR
p["📚 pretraining<br/>read everything<br/>months · $$$M · once"]
sft["🎓 fine-tuning<br/>Q→A examples<br/>learn to ANSWER"]
rlhf["⭐ RLHF<br/>humans pick better answer →<br/>taste-judge → nudge student"]
chat["🤖 the assistant<br/>you actually talk to"]
lora["🗒️ LoRA - sticky notes<br/>frozen brain + tiny add-on<br/>~0.1% params · swappable"]
p -->|"1"| sft -->|"2"| rlhf -->|"3"| chat
lora -.->|"4 personalize cheaply"| chat
❓ काय
- Base विरुद्ध chat/instruct models: तीच रचना — वेगळे अंतिम संस्कार. Base = कच्चे ग्रंथालयातले मूल (research/completion साठी उत्तम); chat = तयार assistant. तुम्हाला कोणता मिळतोय ते model cards सांगतात.
- RLHF चे भाग: preference data → reward model → policy optimization (PPO/DPO-family). DPO = लोकप्रिय शॉर्टकट जो वेगळा judge वगळतो.
- LoRA (Low-Rank Adaptation): weights
Wगोठवा, छोटेA×Bजोड शिका म्हणजे प्रत्यक्ष weights =W + AB. खूप कमी trainable parameters ने fine-tune करा; models नव्हे, "adapters" ship करा. QLoRA = तेच, quantized मेंदूवर — छंद म्हणून करणाऱ्याच्या बजेटमधले tuning. - tune करावे तरी कधी: style/format/domain-voice → fine-tune (LoRA); facts/knowledge → tune करू नका, RAG वापरा (धडा 10). हा नियम कुठेतरी गोंदवून ठेवा — trade-offs पान त्याचा विस्तार करते.
🤔 का
कच्चा model आणि ChatGPT-सारखे assistants यांच्यात तुम्हाला जाणवणारा फरक हा धडा समजावतो — आणि "ते इतके होकारार्थी का आहे" हा स्वभाव नसून training चा परिणाम का आहे तेही. कामावरच्या #1 व्यावहारिक प्रश्नासाठीही तो तुम्हाला तयार करतो: "आपण fine-tune करावे का?" — tuning काय जोडू शकते आणि काय नाही (style हो, facts नाही), आणि चिकट चिठ्ठ्यांसह व त्यांशिवाय त्याचा खर्च किती, हे आता तुम्हाला माहीत आहे.
🧪 करून पाहा (कागदावरचा lab — मजेदार प्रकारचा)
शिष्टाचार शिक्षिका बना: "Why is the sky blue?" या प्रश्नासाठी लिहा (a) ग्रंथालयातले मूल देईल असे completion ("…is a common question in physics forums. Related: why are sunsets red?") आणि (b) तुम्हाला खरोखर हवे असलेले assistant चे उत्तर. आता तिसरे उत्तर तयार करा जे facts च्या दृष्टीने बरोबर पण उद्धट आहे — आणि लक्षात घ्या की RLHF चे काम नेमके बाकी दोन्हींपेक्षा (b) ला प्राधान्य देणे आहे: अचूकता AND वागणूक. तुम्ही आत्ताच सोनेरी-तारे pipeline हाताने चालवून पाहिली. ⭐
⏭️ पुढे — भाग 2 सुरू 🧰
model बांधून तयार झाला आहे. आता कोर्सचा दुसरा अर्धा भाग: तो नीट वापरणे — सुरुवात त्या कौशल्याने जे सगळे असल्याचा दावा करतात आणि फार थोडे सराव करतात: prompting, आणि ते सगळे ज्यावर मावते ते छोटे desk.
git checkout lesson-08-prompting-context