इस प्रोजेक्ट के बारे में

LightZero, OpenDILab का एक ओपन-सोर्स एल्गोरिदम टूलकिट है जो Monte Carlo Tree Search (MCTS) और डीप रीइन्फोर्समेंट लर्निंग को एक ही PyTorch-आधारित फ्रेमवर्क में जोड़ता है। इसे NeurIPS 2023 Datasets and Benchmarks Track में Spotlight पेपर के रूप में प्रस्तुत किया गया था और यह सामान्य अनुक्रमिक निर्णय परिदृश्यों में MCTS के लिए एक एकीकृत बेंचमार्क के रूप में स्थापित है। यह प्रोजेक्ट तीन गुणों पर जोर देता है: हल्का, कुशल और समझने में आसान होना। यह कई MCTS एल्गोरिदम परिवारों को एकीकृत करता है ताकि विभिन्न विशेषताओं वाली निर्णय-समस्याओं को एक ही फ्रेमवर्क में संभाला जा सके। कम्प्यूटेशनल दक्षता के लिए, यह MCTS के सबसे समय-लेने वाले हिस्सों के लिए मिश्रित विषमांगी कंप्यूटिंग का उपयोग करता है, जिसमें Python (ptree) और C++ (ctree) दोनों में ट्री कार्यान्वयन शामिल हैं। दस्तावेज़ीकरण में एल्गोरिदम फ्रेमवर्क आरेख, फ़ंक्शन कॉल ग्राफ़ और नेटवर्क संरचना आरेख शामिल हैं ताकि उपयोगकर्ता महत्वपूर्ण कोड का पता लगा सकें और साझा प्रतिमान के तहत एल्गोरिदम की तुलना कर सकें। कार्यान्वित एल्गोरिदम में AlphaZero, MuZero, Sampled MuZero, Stochastic MuZero, EfficientZero, Sampled EfficientZero, Gumbel MuZero, ReZero और UniZero शामिल हैं। समर्थित वातावरणों में बोर्ड गेम (TicTacToe, Gomoku, Connect4), 2048, क्लासिक नियंत्रण कार्य (CartPole, Pendulum, LunarLander, BipedalWalker), Atari, DeepMind Control, MuJoCo, MiniGrid, Bsuite, Memory, SumToThree और MetaDrive शामिल हैं। README में एक संगतता तालिका यह दर्शाती है कि कौन से एल्गोरिदम-वातावरण संयोजन पूर्ण और परीक्षित हैं, कौन से कार्य प्रगति पर हैं, और कौन से असमर्थित हैं। यह फ्रेमवर्क तीन मुख्य मॉड्यूल के आसपास संगठित है: Model (नेटवर्क संरचना और फ़ॉरवर्ड प्रोपेगेशन), Policy (सीखने, संग्रह और मूल्यांकन प्रक्रियाएँ), और MCTS (सर्च ट्री संरचना और नीति के साथ इसकी अंतःक्रिया)। इंस्टॉलेशन रिपॉजिटरी को क्लोन करके और pip install -e . चलाकर किया जाता है, वर्तमान में समर्थन Linux और macOS तक सीमित है; Ubuntu 20.04 और Python 3.8 पर आधारित एक Dockerfile भी प्रदान किया गया है। क्विक-स्टार्ट उदाहरण CartPole, Pong और TicTacToe पर MuZero और Pong पर UniZero को प्रशिक्षित करते हैं। Atari के लिए एक प्रायोगिक Ray-आधारित async सेगमेंट ट्रेनिंग पाइपलाइन प्रलेखित है, जिसमें README सिंक्रोनस बेसलाइन के साथ समान-विंडो तुलना की रिपोर्ट करता है। बोर्ड गेम पर AlphaZero और MuZero के लिए, Pong, Qbert और MsPacman जैसे Atari शीर्षकों पर MuZero वेरिएंट के लिए, निरंतर-नियंत्रण कार्यों पर factored और Gaussian नीति प्रतिनिधित्व के साथ Sampled EfficientZero के लिए, विभिन्न सिमुलेशन बजट के तहत Gumbel MuZero के लिए, और विभिन्न chance स्तरों के साथ 2048 पर Stochastic MuZero के लिए बेंचमार्क प्रकाशित किए गए हैं। रिपॉजिटरी एक Awesome-MCTS अनुभाग भी बनाए रखती है जो AlphaGo, MuZero, MCTS विश्लेषण और अनुप्रयोगों पर मौलिक और हाल के पेपर एकत्र करती है, साथ ही कस्टम वातावरण और एल्गोरिदम, कॉन्फ़िगरेशन फ़ाइलें, लॉगिंग और लॉस लैंडस्केप विज़ुअलाइज़ेशन पर ट्यूटोरियल भी शामिल हैं।