Buckets:
| # లెర్నింగ్ కర్వ్స్ అర్థం చేసుకోవడం[[understanding-learning-curves]] | |
| `Trainer` API మరియు కస్టమ్ ట్రైనింగ్ లూప్స్ ఉపయోగించి ఫైన్-ట్యూనింగ్ ఎలా చేయాలో నేర్చుకున్న తర్వాత, ఫలితాలను ఎలా అర్థం చేసుకోవాలో తెలుసుకోవడం చాలా ముఖ్యం. లెర్నింగ్ కర్వ్స్ మోడల్ పనితీరును అంచనా వేయడానికి, సమస్యలను ముందుగానే గుర్తించడానికి అమూల్యమైన టూల్స్. | |
| ఈ సెక్షన్లో ఆక్యురసీ మరియు లాస్ కర్వ్స్ను ఎలా చదవాలో, వివిధ కర్వ్ ఆకారాలు మోడల్ ప్రవర్తన గురించి ఏమి చెబుతాయో, మరియు సాధారణ శిక్షణ సమస్యలను ఎలా పరిష్కరించాలో తెలుసుకుంటాం. | |
| ## లెర్నింగ్ కర్వ్స్ అంటే ఏమిటి?[[what-are-learning-curves]] | |
| లెర్నింగ్ కర్వ్స్ అనేవి శిక్షణ సమయంలో మోడల్ పనితీరు మెట్రిక్స్ మార్పును చూపించే దృశ్య రూపాలు. ముఖ్యంగా పర్యవేక్షించాల్సిన రెండు కర్వ్స్: | |
| - **లాస్ కర్వ్స్**: మోడల్ ఎర్రర్ (లాస్) శిక్షణ స్టెప్స్ లేదా ఎపాక్స్లో ఎలా మారుతుందో చూపిస్తుంది | |
| - **ఆక్యురసీ కర్వ్స్**: సరైన ప్రెడిక్షన్స్ శాతం ఎలా మారుతుందో చూపిస్తుంది | |
| ### లాస్ కర్వ్స్[[loss-curves]] | |
| లాస్ కర్వ్ మోడల్ పొరపాటు (ఎర్రర్) కాలక్రమంలో ఎలా తగ్గుతుందో చూపిస్తుంది. సాధారణ విజయవంతమైన శిక్షణలో కింద చూపినట్టే ఉంటుంది: | |
|  | |
| - **మొదటి ఎక్కువ లాస్**: మోడల్ ప్రారంభంలో ఆప్టిమైజ్ కాని స్థితిలో ఉంటుంది | |
| - **తగ్గుతున్న లాస్**: శిక్షణ కొనసాగినప్పుడు లాస్ సాధారణంగా తగ్గుతుంది | |
| - **కన్వర్జెన్స్**: చివరగా లాస్ తక్కువ విలువ వద్ద స్థిరపడుతుంది | |
| ``` | |
| # Example of tracking loss during training with the Trainer | |
| from transformers import Trainer, TrainingArguments | |
| import wandb | |
| # Initialize Weights & Biases for experiment tracking | |
| wandb.init(project="transformer-fine-tuning", name="bert-mrpc-analysis") | |
| training_args = TrainingArguments( | |
| output_dir="./results", | |
| eval_strategy="steps", | |
| eval_steps=50, | |
| save_steps=100, | |
| logging_steps=10, # Log metrics every 10 steps | |
| num_train_epochs=3, | |
| per_device_train_batch_size=16, | |
| per_device_eval_batch_size=16, | |
| report_to="wandb", # Send logs to Weights & Biases | |
| ) | |
| trainer = Trainer( | |
| model=model, | |
| args=training_args, | |
| train_dataset=tokenized_datasets["train"], | |
| eval_dataset=tokenized_datasets["validation"], | |
| data_collator=data_collator, | |
| processing_class=tokenizer, | |
| compute_metrics=compute_metrics, | |
| ) | |
| # Train and automatically log metrics | |
| trainer.train() | |
| ``` | |
| ### ఆక్యురసీ కర్వ్స్[[accuracy-curves]] | |
|  | |
| * **మొదట తక్కువ**: మోడల్ ఇంకా ప్యాటర్న్స్ నేర్చుకోలేదు | |
| * **పెరుగుతుంది**: శిక్షణతో ఆక్యురసీ పెరుగుతుంది | |
| * **ప్లాటోలు కనిపిస్తాయి**: ఆక్యురసీ సాధారణంగా డిస్క్రీట్ జంప్స్లో పెరుగుతుంది | |
| > [!TIP] | |
| > 💡 **ఆక్యురసీ కర్వ్స్ "స్టెప్పీ" ఎందుకు ఉంటాయి**: లాస్ కంటిన్యూస్ అయితే, ఆక్యురసీ డిస్క్రీట్ ప్రెడిక్షన్స్పై ఆధారపడి ఉంటుంది. చిన్న మెరుగుదలలు ఫైనల్ ప్రెడిక్షన్ మార్చకపోవచ్చు, థ్రెషోల్డ్ దాటినప్పుడు మాత్రమే ఆక్యురసీ పెరుగుతుంది. | |
| ### కన్వర్జెన్స్[[convergence]] | |
|  | |
| కన్వర్జెన్స్ అనేది మోడల్ పనితీరు స్థిరపడినప్పుడు జరుగుతుంది. | |
| ## లెర్నింగ్ కర్వ్ ప్యాటర్న్స్ అర్థం చేసుకోవడం[[interpreting-learning-curve-patterns]] | |
| ### ఆరోగ్యకరమైన లెర్నింగ్ కర్వ్స్[[healthy-learning-curves]] | |
|  | |
| > [!TIP] | |
| > **ఆరోగ్యకరమైన కర్వ్స్ లక్షణాలు:** | |
| > | |
| > * ట్రైన్ & వాలిడేషన్ లాస్ రెండూ స్థిరంగా తగ్గుతాయి | |
| > * ట్రైన్/వాలిడేషన్ మధ్య చిన్న గ్యాప్ మాత్రమే ఉంటుంది | |
| > * కర్వ్స్ స్థిరపడతాయి | |
| ### ప్రాక్టికల్ ఉదాహరణలు[[practical-examples]] | |
| #### శిక్షణ సమయంలో[[during-training]] | |
| 1. **లాస్ కన్వర్జెన్స్**: లాస్ ఇంకా తగ్గుతున్నదా లేదా ప్లాటో అవుతోందా? | |
| 2. **ఓవర్ఫిట్టింగ్ గుర్తులు**: ట్రైన్ లాస్ తగ్గుతూనే వాలిడేషన్ లాస్ పెరుగుతున్నదా? | |
| 3. **లెర్నింగ్ రేట్**: కర్వ్స్ అస్థిరమా లేదా చాలా ఫ్లాట్గా ఉందా? | |
| 4. **స్థిరత్వం**: ఆకస్మిక స్పైక్స్ లేదా డ్రాప్స్ కనిపిస్తున్నాయా? | |
| #### శిక్షణ తర్వాత[[after-training]] | |
| 1. **చివరి పనితీరు**: మోడల్ అంగీకారమైన స్థాయిలో ఉందా? | |
| 2. **ప్రభావవంతత**: తక్కువ ఎపాక్స్లో అదే పనితీరు సాధ్యమా? | |
| 3. **జనరలైజేషన్**: ట్రైన్ & వాలిడేషన్ పనితీరుకు మధ్య తేడా ఎంత? | |
| 4. **ట్రెండ్స్**: అదనపు శిక్షణ పనితీరును మెరుగుపరుస్తుందా? | |
| > [!TIP] | |
| > 🔍 **Weights & Biases డాష్బోర్డు ఫీచర్స్**: | |
| > | |
| > * బహుళ రన్స్ని సైడ్ బై సైడ్ పోల్చవచ్చు | |
| > * కస్టమ్ మెట్రిక్స్ & విజువలైజేషన్స్ | |
| > * అనామాలస్ కోసం అలర్ట్స్ | |
| > * ఫలితాలను టీమ్తో షేర్ చేయవచ్చు | |
| ### ఓవర్ఫిట్టింగ్[[overfitting]] | |
|  | |
| **లక్షణాలు:** | |
| * ట్రైన్ లాస్ తగ్గుతూనే ఉంటుంది | |
| * వాలిడేషన్ లాస్ పెరగడం లేదా ప్లాటో అవుతుంది | |
| * ట్రైన్ ఆక్యురసీ ఎక్కువ, వాలిడేషన్ ఆక్యురసీ తక్కువ | |
| **పరిష్కారాలు:** | |
| * రెగ్యులరైజేషన్: డ్రాపౌట్, వెయిట్ డికే | |
| * ఎర్లీ స్టాప్పింగ్ | |
| * డేటా ఆగ్మెంటేషన్ | |
| * చిన్న మోడల్ వాడటం | |
| ``` | |
| from transformers import EarlyStoppingCallback | |
| trainer = Trainer( | |
| model=model, | |
| args=training_args, | |
| train_dataset=tokenized_datasets["train"], | |
| eval_dataset=tokenized_datasets["validation"], | |
| data_collator=data_collator, | |
| processing_class=tokenizer, | |
| compute_metrics=compute_metrics, | |
| callbacks=[EarlyStoppingCallback(early_stopping_patience=3)], | |
| ) | |
| ``` | |
| ### అండర్ఫిట్టింగ్[[underfitting]] | |
|  | |
| **లక్షణాలు:** | |
| * ట్రైన్ & వాలిడేషన్ లాస్ రెండూ ఎక్కువగా ఉంటాయి | |
| * ట్రైన్ ఆక్యురసీ & వాలిడేషన్ ఆక్యురసీ తక్కువ | |
| * పనితీరు త్వరగా ప్లాటో అవుతుంది | |
| **పరిష్కారాలు:** | |
| * పెద్ద మోడల్ వాడటం | |
| * ఎక్కువ ఎపాక్స్ శిక్షణ | |
| * లెర్నింగ్ రేట్ సర్దడం | |
| * డేటా సరిచూసుకోవడం | |
| ### ఎరాటిక్ లెర్నింగ్ కర్వ్స్[[erratic-learning-curves]] | |
|  | |
|  | |
| **లక్షణాలు:** | |
| * లాస్/ఆక్యురసీ తరచూ ఊగుతాయి | |
| * స్పష్టమైన ట్రెండ్ లేదు | |
| **పరిష్కారాలు:** | |
| * లెర్నింగ్ రేట్ తగ్గించడం | |
| * బ్యాచ్ సైజ్ పెంచడం | |
| * గ్రేడియంట్ క్లిప్పింగ్ | |
| ``` | |
| from transformers import TrainingArguments | |
| training_args = TrainingArguments( | |
| output_dir="./results", | |
| learning_rate=1e-4, | |
| per_device_train_batch_size=32, | |
| ) | |
| ``` | |
| ## ముఖ్య పాయింట్లు[[key-takeaways]] | |
| * లెర్నింగ్ కర్వ్స్ మోడల్ శిక్షణ పురోగతిని అర్థం చేసుకోవడానికి అవసరమైన టూల్స్ | |
| * లాస్ & ఆక్యురసీ కర్వ్స్ రెండూ పర్యవేక్షించండి | |
| * ఓవర్ఫిట్టింగ్: ట్రైన్/వాలిడేషన్ పనితీరు వేరుపడటం | |
| * అండర్ఫిట్టింగ్: ట్రైన్ & వాలిడేషన్ పనితీరు తక్కువ | |
| * Weights & Biases వంటి టూల్స్ సులభతరం చేస్తాయి | |
| * ఎర్లీ స్టాప్పింగ్ & రెగ్యులరైజేషన్ సాధారణ సమస్యలను పరిష్కరిస్తాయి | |
| ## సెక్షన్ క్విజ్[[section-quiz]] | |
| ### 1. ట్రైన్ లాస్ తగ్గుతున్నా వాలిడేషన్ లాస్ పెరుగుతుంటే ఏమవుతుంది? | |
| ### 2. ఆక్యురసీ కర్వ్స్ ఎందుకు "స్టెప్పీ" ఆకారంలో ఉంటాయి? | |
| ### 3. అస్థిర (ఎరాటిక్) లెర్నింగ్ కర్వ్స్ కనిపిస్తే ఏం చేయాలి? | |
| ### 4. ఎర్లీ స్టాప్పింగ్ ఎప్పుడు వాడాలి? | |
| ### 5. మోడల్ అండర్ఫిట్ అవుతుందని ఏది సూచిస్తుంది? | |
| > వాలిడేషన్ ఆక్యురసీ.", explain: "ఇది ఓవర్ఫిట్టింగ్."}, | |
| {text: "ట్రైన్ & వాలిడేషన్ పనితీరు రెండూ పేలవంగా, త్వరగా ప్లాటో.", explain: "సరైనది!", correct: true}, | |
| {text: "లెర్నింగ్ కర్వ్స్ చాలా స్మూత్.", explain: "కాదు."}, | |
| {text: "వాలిడేషన్ లాస్ ట్రైన్ కంటే త్వరగా తగ్గుతుంది.", explain: "ఇది సమస్య కాదు."} | |
| ]}/> | |
Xet Storage Details
- Size:
- 14 kB
- Xet hash:
- 9602db4ecc663afde25b87694c634c6dd141d814335d667f92cda7259d9f0cc9
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.