प्रथम सिद्धांतों से बहु-चर कलन
एक डेटा संरचना पिछले दो पाठों के सब कुछ को व्यवस्थित करती है: गणना ग्राफ़। एक मॉडल में हर अंकगणितीय संक्रिया (जोड़, गुणा, matmul, सक्रियण) एक निर्देशित ग्राफ़ में एक नोड बन जाती है। यह ग्राफ़ है जिससे PyTorch, JAX, और TensorFlow ग्रेडिएंट स्वतः गणना करते हैं।
प्रशिक्षण ग्राफ़ को दो बहावों में चलाता है। अग्र पास बाएँ से दाएँ बहता है, प्रत्येक नोड का मान गणना और कैश करता है। पश्चगामी पास दाएँ से बाएँ बहता है, श्रृंखला नियम का उपयोग कर हानि से हर इनपुट तक ग्रेडिएंट धकेलता है, एक समय में एक नोड।
यही विचार इसे स्केल कराता है: प्रत्येक नोड को केवल अपनी स्थानीय अवकलज जानने की ज़रूरत है। एक नोड से ग्रेडिएंट पीछे भेजने के लिए, आने वाले ग्रेडिएंट (ऊपर से) को नोड के स्थानीय जैकोबियन (उसका आउटपुट इनपुट पर कैसे निर्भर करता है) से गुणा करें। किसी नोड को वैश्विक चित्र कभी नहीं चाहिए; स्थानीय नियम जोड़े जाते हैं और सटीक कुल ग्रेडिएंट बनाते हैं।