Penzai - न्यूरल नेटवर्क बनाने, संपादित करने और विज़ुअलाइज़ करने के लिए JAX टूलकिट
(github.com/google-deepmind)- Google DeepMind द्वारा जारी की गई JAX लाइब्रेरी, जो मॉडल को पढ़ने में आसान और functional Pytree data structure में लिखने के लिए बनाई गई है
- इसका फोकस इस बात पर है कि मॉडल ट्रेन होने के बाद भी उन पर आसानी से काम किया जा सके
- यह मॉडल कंपोनेंट्स की reverse engineering या removal, internal activation की जांच और विश्लेषण, model surgery, architecture debugging जैसे शोध कार्यों के लिए उपयुक्त है
- यह model visualization, modification और analysis के लिए टूल देता है, इसलिए इसे सिर्फ मॉडल बनाने और ट्रेन करने के लिए भी इस्तेमाल किया जा सकता है
- यह modular tools के एक संग्रह से बना है, जिन्हें साथ में डिज़ाइन किया गया है लेकिन हर एक को स्वतंत्र रूप से भी इस्तेमाल किया जा सकता है
शामिल टूल्स
penzai.nn (pz.nn)
- Flax, Haiku, Keras, Equinox जैसी अन्य न्यूरल नेटवर्क लाइब्रेरी के विकल्प के रूप में declarative combinator-आधारित न्यूरल नेटवर्क लाइब्रेरी
- मॉडल के forward pass की पूरी संरचना को model pytree में उजागर करता है, जिससे pretty printing के जरिए मॉडल के सभी ऑपरेशन देखे जा सकते हैं और
jax.tree_utilसे नया runtime logic inject किया जा सकता है - मॉडल आंतरिक रूप से सिर्फ callable pytree होता है
penzai.treescope (pz.ts)
- एक शक्तिशाली interactive Python pretty-printer, जो सामान्य IPython/Colab renderer के drop-in replacement की तरह काम करता है
- इसे Penzai मॉडल और अन्य गहराई से nested JAX pytree को समझने में मदद के लिए डिज़ाइन किया गया है, और यह arbitrary dimensions वाले NDArray visualization को built-in रूप से support करता है
penzai.core.selectors (pz.select)
- pytree के लिए एक multifunction tool, जो JAX के
.at[...].set(...)syntax को arbitrary type-आधारित pytree traversal तक generalize करता है - इससे Penzai मॉडल और अन्य data structures में complex rewriting या on-the-fly patching आसानी से की जा सकती है
penzai.core.named_axes (pz.nx)
- एक lightweight named-axis system, जो सामान्य JAX functions को named axes पर vectorize करता है और नया array API सीखे बिना named programming style और positional programming style के बीच seamless switching संभव बनाता है
penzai.data_effects (pz.de)
- pytree traversal पर आधारित side inputs, random numbers और state variables के लिए opt-in system, जो मॉडल लिखने या उपयोग करने में बाधा डाले बिना नियंत्रण प्रदान करता है
1 टिप्पणियां
क्या Pytorch के लिए भी ऐसा कुछ मिलता है?