Deep Learning Academy · पाठ

Bottleneck की Profiling करें

पता लगाएँ कि समय और memory कहाँ खर्च हो रही है

पाठ 3, कुल 4 में से13 चरण

Bottleneck की Profiling करें, CoddyKit पर Deep Learning Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Deep Learning Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Deep Learning Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

पहले प्रोफ़ाइल क्यों करें

अनुकूलन से पहले पता लगाएँ कि समय वास्तव में कहाँ जा रहा है। अनुमान लगाना मेहनत व्यर्थ करता है, जबकि एक त्वरित profile असली धीमे हिस्से दिखाता है।

दो सामान्य बाधाएँ

Training आम तौर पर दो में से एक जगह अटकती है: गणना कर रहा GPU compute या उसे data देने वाली data pipeline। यह जानना महत्वपूर्ण है कि समस्या किसमें है।

पहले मोटे तौर पर समय मापें

Clock से loop के किसी हिस्से का समय मापकर सरल शुरुआत करें। मोटा perf_counter reading अक्सर कुछ ही सेकंड में सही जगह की ओर संकेत कर देती है।

import time
t = time.perf_counter()
# run one batch
print(time.perf_counter() - t)

GPU का काम असिंक्रोनस है

CUDA background में चलता है, इसलिए सामान्य timers गलत परिणाम दे सकते हैं। Clock पढ़ने से पहले synchronize कॉल करें, ताकि सुनिश्चित हो कि GPU सचमुच पूरा हो चुका है।

torch.cuda.synchronize()

अंतर्निहित प्रोफ़ाइलर

वास्तविक विवरण के लिए torch.profiler context manager का उपयोग करें। यह CPU और GPU दोनों पर हर operation में लगने वाला समय दर्ज करता है।

from torch.profiler import profile

प्रोफ़ाइल करने के लिए code को घेरें

जिस हिस्से की जाँच करनी है, उसे profile block के भीतर चलाएँ। CPU और CUDA दोनों activities चुनने से पूरी तस्वीर मिलती है।

with profile(activities=[ProfilerActivity.CPU, ProfilerActivity.CUDA]) as prof:
    model(x)

Table पढ़ें

परिणामों को cost के अनुसार sort करके सबसे भारी operations को ऊपर देखें। key_averages table एक जैसे operations को साथ समूहित करती है।

print(prof.key_averages().table(sort_by='cuda_time_total'))

Data Bottleneck पहचानें

यदि GPU अक्सर data की प्रतीक्षा में idle रहता है, तो आपका DataLoader बहुत धीमा है। अधिक workers या cached data आम तौर पर इस अंतर को ठीक कर देते हैं।

Compute Bottleneck पहचानें

यदि कोई matmul या conv table पर हावी है, तो सीमा वास्तविक compute क्षमता है। Mixed precision या छोटा model अपनाना इसका समाधान हो सकता है।

Memory भी देखें

Profiler peak memory भी बता सकता है। profile_memory track करने से पता चलता है कि कौन-सी layers सबसे अधिक memory लेती हैं और क्या कम करना चाहिए।

with profile(profile_memory=True) as prof:
    model(x)

मापें, बदलें, फिर दोबारा मापें

Optimization एक cycle है: profile करें, एक बदलाव करें और फिर दोबारा profile करें। किसी सुधार से सचमुच लाभ हुआ या नहीं, यह जाँचने के लिए अनुमान नहीं, numbers पर भरोसा करें।

त्वरित जाँच

आपका GPU batches के बीच अक्सर idle रहता है। संभावित bottleneck क्या है?

पुनरावृत्ति

Tuning से पहले profile करें: सही timings के लिए synchronize करें, सबसे भारी operations खोजने के लिए torch.profiler इस्तेमाल करें, फिर data या compute की समस्या ठीक करके दोबारा मापें। 🔍

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
30
पाठ
120

अक्सर पूछे जाने वाले प्रश्न

क्या “Bottleneck की Profiling करें” पाठ निःशुल्क है?

हाँ—“Bottleneck की Profiling करें” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Deep Learning Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Deep Learning Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Bottleneck की Profiling करें” में मैं क्या सीखूँगा?

पता लगाएँ कि समय और memory कहाँ खर्च हो रही है आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Deep Learning Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Deep Learning Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Deep Learning Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“Bottleneck की Profiling करें” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Deep Learning Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Deep Learning Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. autocast और GradScaler के साथ Mixed Precision
  2. बड़े Batches के लिए Gradient Accumulation
  3. Bottleneck की Profiling करें
  4. GPU Memory Usage घटाएँ
← Deep Learning Academy पर वापस जाएँ