MineDojo: Building Open-Ended Embodied Agents with Internet-Scale Knowledge
Linxi Fan, Guanzhi Wang, Yunfan Jiang, Ajay Mandlekar, Yuncong Yang, Haoyi Zhu, Andrew Tang, De-An Huang, Yuke Zhu, Anima Anandkumar
Introduction
Developing autonomous embodied agents that can attain human-level performance across a wide spectrum of tasks has been a long-standing goal for AI research. There has been impressive progress towards this goal, most notably in games and robotics . These embodied agents are typically trained tabula rasa in isolated worlds with limited complexity and diversity. Although highly performant, they are specialist models that do not generalize beyond a narrow set of tasks. In contrast, humans inhabit an infinitely rich reality, continuously learn from and adapt to a wide variety of open-ended tasks, and are able to leverage large amount of prior knowledge from their own experiences as well as others.
We argue that three main pillars are necessary for generalist embodied agents to emerge. First, the environment in which the agent acts needs to enable an unlimited variety of open-ended goals . Natural evolution is able to nurture an ever-expanding tree of diverse life forms thanks to the infinitely varied ecological settings that the Earth supports . This process has not stagnated for billions of years. In contrast, today’s agent training algorithms cease to make new progress after convergence in narrow environments . Second, a large-scale database of prior knowledge is necessary to facilitate learning in open-ended settings. Just as humans frequently learn from the internet, agents should also be able to harvest practical knowledge encoded in large amounts of video demos , multimedia tutorials , and forum discussions . In a complex world, it would be extremely inefficient for an agent to learn everything from scratch through trial and error. Third, the agent’s architecture needs to be flexible enough to pursue any task in open-ended environments, and scalable enough to convert large-scale knowledge sources into actionable insights . This motivates the design of an agent that has a unified observation/action space, conditions on natural language task prompts, and adopts the Transformer pre-training paradigm to internalize knowledge effectively.
In light of these three pillars, we introduce MineDojo, a new framework to help the community develop open-ended, generally-capable agents. It is built on the popular Minecraft game, where a player explores a procedurally generated 3D world with diverse types of terrains to roam, materials to mine, tools to craft, structures to build, and wonders to discover. Unlike most other games , Minecraft defines no specific reward to maximize and no fixed storyline to follow, making it well suited for developing open-ended environments for embodied AI research. We make the following three major contributions:
MineDojo provides convenient APIs on top of Minecraft that standardize task specification, world settings, and agent’s observation/action spaces. We introduce a benchmark suite that consists of thousands of natural language-prompted tasks, making it two orders of magnitude larger than prior Minecraft benchmarks like the MineRL Challenge . The suite includes long-horizon, open-ended tasks that cannot be easily evaluated through automated procedures, such as “build an epic modern house with two floors and a swimming pool”. Inspired by the Inception score and FID score that are commonly used to assess AI-generated image quality, we introduce a novel agent evaluation protocol using a large video-language model pre-trained on Minecraft YouTube videos. This complements human scoring that is precise but more expensive. Our learned evaluation metric has good agreement with human judgment in a subset of the full task suite considered in the experiments.
Internet-scale multimodal Minecraft knowledge base.
Minecraft has more than 100 million active players , who have collectively generated an enormous wealth of data. They record tutorial videos, stream live play sessions, compile recipes, and discuss tips and tricks on forums. MineDojo features a massive collection of 730K+ YouTube videos with time-aligned transcripts, 6K+ free-form Wiki pages, and 340K+ Reddit posts with multimedia contents (Fig. 3). We hope that this enormous knowledge base can help the agent acquire diverse skills, develop complex strategies, discover interesting objectives, and learn actionable representations automatically.
Novel algorithm for embodied agents with large-scale pre-training.
We develop a new learning algorithm for embodied agents that makes use of the internet-scale domain knowledge we have collected from the web. Using the massive volume of YouTube videos from MineDojo, we train a video-text contrastive model in the spirit of CLIP , which associates natural language subtitles with their time-aligned video segments. We demonstrate that this learned correlation score can be used effectively as an open-vocabulary, massively multi-task reward function for RL training. Our agent solves the majority of 12 tasks in our experiment using the learned reward model (Fig. 2). It achieves competitive performance to agents trained with meticulously engineered dense-shaping rewards, and in some cases outperforms them, with up to 73% improvement in success rates. For open-ended tasks that do not have a simple success criterion, our agents also perform well without any special modifications.
In summary, this paper proposes an open-ended task suite, internet-scale domain knowledge, and agent learning with recent advances on large pre-trained models . We have open-sourced MineDojo’s simulator, knowledge bases, algorithm implementations, pretrained model checkpoints, and task curation tools at https://minedojo.org/. We hope that MineDojo will serve as an effective starter framework for the community to develop new algorithms and advance towards generally capable embodied agents.
MineDojo Simulator & Benchmark Suite
MineDojo offers a set of simulator APIs help researchers develop generally capable, open-ended agents in Minecraft. It builds upon the open-source MineRL codebase and makes the following upgrades: 1) We provide unified observation and action spaces across all tasks, facilitating the development of multi-task and continually learning agents that can constantly adapt to new scenarios and novel tasks. This deviates from the MineRL Challenge design that tailors observation and action spaces to individual tasks; 2) Our simulation unlocks all three types of worlds in Minecraft, including the Overworld, the Nether, and the End, which substantially expands the possible task space, while MineRL only supports the Overworld natively; and 3) We provide convenient APIs to configure initial conditions and world settings to standardize our tasks.
With this MineDojo simulator, we define thousands of benchmarking tasks, which are divided into two categories: 1) Programmatic tasks that can be automatically assessed based on the ground-truth simulator states; and 2) Creative tasks that do not have well-defined or easily-automated success criteria, which motivates our novel evaluation protocol using a learned model (Sec. 4). To scale up the number of Creative tasks, we mine ideas from YouTube tutorials and use OpenAI’s GPT-3 service to generate substantially more task definitions. Compared to Creative tasks, Programmatic tasks are simpler to get started, but tend to have restricted scope, limited language variations, and less open-endedness in general.
MineDojo provides 4 categories of programmatic tasks with 1,581 template-generated natural language goals to evaluate the agent’s different capabilities systematically and comprehensively:
Survival: surviving for a designated number of days.
Harvest: finding, obtaining, cultivating, or manufacturing hundreds of materials and objects.
Tech Tree: crafting and using a hierarchy of tools.
Combat: fighting various monsters and creatures that require fast reflex and martial skills.
Each task template has a number of variations based on the terrain, initial inventory, quantity, etc., which form a flexible spectrum of difficulty. In comparison, the NeurIPS MineRL Diamond challenge is a subset of our programmatic task suite, defined by the task goal “obtain 1 diamond" in MineDojo.
2 Task Suite II: Creative Tasks
We define each creative task as a 3-tuple, , which differs from programmatic tasks due to the lack of straightforward success criteria. Inspired by model-based metrics like the Inception score and FID score for image generation, we design a novel task evaluation metric based on a pre-trained contrastive video-language model (Sec. 4.1). In the experiments, we find that the learned metric exhibits a high level of agreement with human evaluations (see Table 2).
We brainstorm and author 216 Creative tasks, such as “build a haunted house with zombie inside” and “race by riding a pig”. Nonetheless, such a manual approach is not scalable. Therefore, we develop two systematic approaches to extend the total number of task definitions to 1,560. This makes our Creative tasks 3 orders of magnitude larger than Minecraft BASALT challenge , which has 4 Creative tasks.
We identify our YouTube dataset as a rich source of tasks, as many human players demonstrate and narrate creative missions in the tutorial playlists. To collect high-quality tasks and accompanying videos, we design a 3-stage pipeline that makes it easy to find and annotate interesting tasks (see Sec. C.2 for details). Through this pipeline, we extract 1,042 task ideas from the common wisdom of a huge number of veteran Minecraft gamers, such as “make an automated mining machine” and “grow cactus up to the sky”.
Approach 2. Task Creation by GPT-3.
We leverage GPT-3’s few-shot capability to generate new task ideas by seeding it with the tasks we manually author or mine from YouTube. The prompt template is: Here are some example creative tasks in Minecraft: {a few examples}. Let’s brainstorm more detailed while reasonable creative tasks in Minecraft. GPT-3 contributes 302 creative tasks after de-duplication, and demonstrates a surprisingly proficient understanding of Minecraft terminology.
3 Collection of Starter Tasks
We curate a set of 64 core tasks for future researchers to get started more easily. If their agent works well on these tasks, they can more confidently scale to the full benchmark.
32 programmatic tasks: 16 “standard” and 16 “difficult”, spanning all 4 categories (survival, harvesting, combat, and tech tree). We rely on our Minecraft knowledge to decide the difficulty level. “Standard” tasks require fewer steps and lower resource dependencies to complete.
32 creative tasks: 16 “standard” and 16 “difficult”. Similarly, tasks labeled with “standard” are typically short-horizon tasks.
We recommend that researchers run 100 evaluation episodes for each task and report the percentage success rate. The programmatic tasks have ground-truth success, while the creative tasks need our novel evaluation protocol (Sec. 5).
Internet-scale Knowledge Base
Two commonly used approaches to train embodied agents include training agents from scratch using RL with well-tuned reward functions for each task, or using a large amount of human-demonstrations to bootstrap agent learning. However, crafting well-tuned reward functions is challenging or infeasible for our task suite (Sec. 2.2), and employing expert gamers to provide large amounts of demonstration data would also be costly and infeasible .
Instead, we turn to the open web as an ever-growing, virtually unlimited source of learning material for embodied agents. The internet provides a vast amount of domain knowledge about Minecraft, which we harvest by extensive web scraping and filtering. We collect 33 years worth of YouTube videos, 6K+ Wiki pages, and millions of Reddit comment threads. Instead of hiring a handful of human demonstrators, we capture the collective wisdom of millions of Minecraft gamers around the world. Furthermore, language is a key and pervasive component of our database that takes the form of YouTube transcripts, textual descriptions in Wiki, and Reddit discussions. Language facilitates open-vocabulary understanding, provides grounding for image and video modalities, and unlocks the power of large language models for embodied agents. To ensure socially responsible model development, we take special measures to filter out low-quality and toxic contents from our databases, detailed in the Appendix (Sec. D).
Minecraft is among the most streamed games on YouTube . Human players have demonstrated a stunning range of creative activities and sophisticated missions that take hours to complete (examples in Fig. 3). We collect 730K+ narrated Minecraft videos, which add up to 33 years of duration and 2.2B words in English transcripts. In comparison, HowTo100M is a large-scale human instructional video dataset that includes 15 years of experience in total – about half of our volume. The time-aligned transcripts enable the agent to ground free-form natural language in video pixels and learn the semantics of diverse activities without laborious human labeling. We operationalize this insight in our pre-trained video-language model (Sec. 4.1).
Minecraft Wiki.
The Wiki pages cover almost every aspect of the game mechanics, and supply a rich source of unstructured knowledge in multimodal tables, recipes, illustrations, and step-by-step tutorials. We use Selenium to scrape 6,735 pages that interleave text, images, tables, and diagrams. The pages are highly unstructured and do not share any common schema, as the Wiki is meant for human consumption rather than AI training. To preserve the layout information, we additionally save the screenshots of entire pages and extract 2.2M bounding boxes of the visual elements (visualization in Fig. A.4 and A.5). We do not use Wiki data in our current experiments. Since the Wiki contains detailed recipes for all crafted objects, they could be provided as input or training data for hierarchical planning methods and policy sketches . Another promising future direction is to apply document understanding models such as LayoutLM and DocFormer to learn actionable knowledge from these unstructured Wiki data.
Reddit.
We scrape 340K+ posts along with 6.6M comments under the “r/Minecraft” subreddit. These posts ask questions on how to solve certain tasks, showcase cool architectures and achievements in image/video snippets, and discuss general tips and tricks for players of all expertise levels. We do not use Reddit data for training in Sec. 5, but a potential idea is to finetune large language models on our Reddit corpus to generate instructions and execution plans that are better grounded in the Minecraft domain. Concurrent works have explored similar ideas and showed excellent results on robot learning, which is encouraging for more future research in MineDojo.
Agent Learning with Large-scale Pre-training
One of the grand challenges of embodied AI is to build a single agent that can complete a wide range of open-world tasks. The MineDojo framework aims to facilitate new techniques towards this goal by providing an open-ended task suite (Sec. 2) and large-scale internet knowledge base (Sec. 3). Here we take an initial step towards this goal by developing a proof of concept that demonstrates how a single language-prompted agent can be trained in MineDojo to complete several complex Minecraft tasks. To this end, we propose a novel agent learning algorithm that takes advantage of the massive YouTube data offered by MineDojo. We note that this is only one of the numerous possible ways to use MineDojo’s internet database — the Wiki and Reddit corpus also hold great potential to drive new algorithm discoveries for the community in future works.
In this paper, we consider a multi-task reinforcement learning (RL) setting, where an agent is tasked with completing a collection of MineDojo tasks specified by language instructions (Sec. 2). Solving these tasks often requires the agent to interact with the Minecraft world in a prolonged fashion. Agents developed in popular RL benchmarks often rely on meticulously crafted dense and task-specific reward functions to guide random explorations. However, these rewards are hard or even infeasible to define for our diverse and open-ended tasks in MineDojo. To address this challenge, our key insight is to learn a dense, language-conditioned reward function from in-the-wild YouTube videos and their transcripts. Therefore, we introduce MineCLIP, a contrastive video-language model that learns to correlate video snippets and natural language descriptions (Fig. 4). MineCLIP is multi-task by design, as it is trained on open-vocabulary and diverse English transcripts.
During RL training, MineCLIP provides a high-quality reward signal without any domain adaptation techniques, despite the domain gap between noisy YouTube videos and clean simulator-rendered frames. MineCLIP eliminates the need to manually engineer reward functions for each and every MineDojo task. For Creative tasks that lack a simple success criterion (Sec. 2.2), MineCLIP also serves the dual purpose of an automatic evaluation metric that agrees well with human judgement on a subset of tasks we investigate (Sec. 4.2, Table 2). Because the learned reward model incurs a non-trivial computational overhead, we introduce several techniques to significantly improve RL training efficiency, making MineCLIP a practical module for open-ended agent learning in Minecraft (Sec. 4.2).
Similar to the image-text CLIP model , MineCLIP is composed of a separate text encoder that embeds a language goal and a video encoder that embeds a moving window of 16 consecutive frames with resolution (Fig. 4). Our neural architecture has a similar design as CLIP4Clip , where reuses OpenAI CLIP’s pretrained text encoder, and is factorized into a frame-wise image encoder and a temporal aggregator that summarizes the sequence of 16 image features into a single video embedding. Unlike CLIP4Clip, we insert two extra layers of residual CLIP Adapter after the aggregator to produce a better video feature, and finetune only the last two layers of the pretrained and .
From the MineDojo YouTube database, we follow the procedure in VideoCLIP to sample 640K pairs of 16-second video snippets and time-aligned English transcripts, after applying a keyword filter. We train two MineCLIP variants with different types of aggregator : (1) MineCLIP[avg] does simple average pooling, which is fast but agnostic to the temporal ordering; (2) MineCLIP[attn] encodes the sequence by two transformer layers, which is relatively slower but captures more temporal information, and thus produces a better reward signal in general. Details of data preprocessing, architecture, and hyperparameters are listed in the Appendix (Sec. E).
2 RL with MineCLIP Reward
We train a language-conditioned policy network that takes as input raw pixels and predicts discrete control. The policy is trained with PPO on the MineCLIP rewards. In each episode, the agent is prompted with a language goal and takes a sequence of actions to fulfill this goal. When calculating the MineCLIP rewards, we concatenate the agent’s latest 16 egocentric RGB frames in a temporal window to form a video snippet. MineCLIP handles all task prompts zero-shot without any further finetuning. In our experiments (Sec. 5), we show that MineCLIP provides effective dense rewards out of the box, despite the domain shift between in-the-wild YouTube frames and simulator frames. Besides regular video data augmentation, we do not employ any special domain adaptation methods during pre-training. Our finding is consistent with CLIP’s strong zero-shot performances on robustness benchmarks in object recognition .
Compared to hard-coded reward functions in popular benchmarks , the MineCLIP model has 150M parameters and is thus much more expensive to query. We make several design choices to greatly accelerate RL training with MineCLIP in the loop:
The language goal is fixed for a specific task, so the text features can be precomputed to avoid invoking the text encoder repeatedly.
Our agent’s RGB encoder reuses the pre-trained weights of from MineCLIP. We do not finetune during RL training, which saves computation and endows the agent with good visual representations from the beginning.
MineCLIP’s video encoder is factorized into an image encoder and a light-weight aggregator . This design choice enables efficient image feature caching. Consider two overlapping video sequences of 8 frames, V[0:8] and V[1:9]. We can cache the image features of the 7 overlapping frames V to V to maximize compute savings. If is a monolithic model like S3D in VideoCLIP , then the video features from every sliding window must be recomputed, which would incur a much higher cost per time step.
We leverage Self-Imitation Learning to store the trajectories with high MineCLIP reward values in a buffer, and alternate between PPO and self-imitation gradient steps. It further improves sample efficiency as shown in the Appendix (Fig. A.8).
Experiments
We evaluate our agent-learning approach (Section 4) on 8 Programmatic tasks and 4 Creative tasks from the MineDojo benchmarking suite. We select these 12 tasks due to the diversity of skills required to solve them (e.g., harvesting, combat, building, navigation) and domain-specific entities (e.g., animals, resources, monsters, terrains, and structures). We split the tasks into 3 groups and train one multi-task agent for each group: Animal-Zoo (4 Programmatic tasks on hunting or harvesting resource from animals), Mob-Combat (Programmatic, fight 4 types of hostile monsters), and Creative (4 tasks).
In the experiments, we empirically check the quality of MineCLIP against manually written reward functions, and quantify how different variants of our learned model affect the RL performance. Table 1 presents our main results, and Fig. 2 visualizes our learned agent behavior in 4 of the considered tasks. Policy networks of all methods share the same architecture and are trained by PPO + Self-Imitation (Sec. 4.2, training details in the Appendix, Sec. F). We compare the following methods:
Ours (Attn): our agent trained with the MineCLIP[attn] reward model. For Programmatic tasks, we also add the final success condition as a binary reward. For Creative tasks, MineCLIP is the only source of reward.
Ours (Avg): the average-pooling variant of our method.
Manual Reward: hand-engineered dense reward using ground-truth simulator states.
Sparse-only: the final binary success as a single sparse reward. Note that neither sparse-only nor manual reward is available for Creative tasks.
CLIPOpenAI: pre-trained OpenAI CLIP model that has not been finetuned on any MineDojo videos.
For Programmatic tasks (first 8 rows), RL agents guided by MineCLIP achieve competitive performance as those trained by manual reward. In three of the tasks, they even outperform the hand-engineered reward functions, which rely on privileged simulator states unavailable to MineCLIP. For a more statistically sound analysis, we conduct the Paired Student’s t-test to compare the mean success rate of each task (pairing column 3 “Ours (Attn)” and column 5 “Manual Reward” in Table 1). The test yields p-value , which indicates that the difference between our method and manual reward is not considered statistically significant, and therefore they are comparable with each other. Because all tasks require nontrivial exploration, our approach also dominates the Sparse-only baseline. Note that the original OpenAI CLIP model fails to achieve any success. We hypothesize that the creatures in Minecraft look dramatically different from their real-world counterparts, which causes CLIP to produce misleading signals worse than no shaping reward at all. It implies the importance of finetuning on MineDojo’s YouTube data.
MineCLIP provides automated evaluation.
For Creative tasks (last 4 rows), there are no programmatic success criteria available. We convert MineCLIP into a binary success classifier by thresholding the reward value it outputs for an episode. To test the quality of MineCLIP as an automatic evaluation metric, we ask human judges to curate a dataset of 100 successful and 100 failed trajectories for each task. We then run both MineCLIP variants and CLIPOpenAI on the dataset and report the binary F1 score of their judgement against human ground-truth in Table 2. The results demonstrate that both MineCLIP[attn] and MineCLIP[avg] attain a very high degree of agreement with human evaluation results on this subset of the Creative task suite that we investigate. CLIPOpenAI baseline also achieves nontrivial agreement on Find Ocean and Dig Hole tasks, likely because real-world oceans and holes have similar texture. We use the attn variant as an automated success criterion to score the 4 Creative task results in Table 1. Our proposed method consistently learns better than CLIPOpenAI-guided agents. It shows that MineCLIP is an effective approach to solving open-ended tasks when no straightforward reward signal is available. We provide further analysis beyond these 4 tasks in the Appendix (Sec. G.4).
MineCLIP shows good zero-shot generalization to significant visual distribution shift.
We evaluate the learned policy without finetuning on a combination of unseen weather, lighting conditions, and terrains — 27 scenarios in total. For the baseline, we train agents with the original CLIPOpenAI image encoder (not trained on our YouTube videos) by imitation learning. The robustness against visual shift can be quantitatively measured by the relative performance degradation on novel test scenarios for each task. Table 3 shows that while all methods incur performance drops, agents with MineCLIP encoder is more robust to visual changes than the baseline across all tasks. Pre-training on diverse in-the-wild YouTube videos is important to boosting zero-shot visual generalization capability, a finding consistent with literature .
Learning a Single Agent for All 12 Tasks
We have also trained a single agent for all 12 tasks. To reduce the computational burden without loss of generality, the agent is trained by self-imitating from successful trajectories generated from the self-imitation learning pipeline (Section F.3). We summarize the result in Table 4. Similar to our main experiments, all numbers represent percentage success rates averaged over 3 training seeds, each tested for 200 episodes. Compared to the original agents, the new 12-multitask agent sees a performance boost in 6 tasks, degradation in 4 tasks, and roughly the same success rates in 2 tasks. This result suggests that there are both positive and negative task transfers happening. To improve the multi-task performance, more advanced algorithms can be employed to mitigate the negative transfer effects.
We also perform Paired Student’s t-test to statistically compare the performance of the 12-multitask agent and those separately trained on each task group. We obtain a p-value of , which suggests that the difference between the two training settings is not statistically significant.
Generalize to Novel Tasks
To test the ability to generalize to new open-vocabulary commands, we evaluate the agent on two novel tasks: “harvest spider string” and “hunt pig”. Table 5 shows that the agent struggles in the zero-shot setting because it has not interacted with pigs or spider strings during training, and thus does not know how to interact with them effectively. However, the performance improves substantially by finetuning with the MineCLIP reward. Here the baseline methods are trained from scratch using RL with the MineCLIP encoders and reward. Therefore, the only difference is whether the policy has been pre-trained on the 12 tasks or not. Given the same environment sampling budget (only around 5% of total samples), it significantly outperforms baselines. It suggests that the multitask agent has learned transferable knowledge on hunting and resource collection, which enables it to quickly adapt to novel tasks.
Related work
There are many environments developed with the goal of open-ended agent learning. Prior works include maze-style worlds , purely text-based game , grid worlds , browser/GUI-based environments , and indoor simulators for robotics . Minecraft offers an exciting alternative for open-ended agent learning. It is a 3D visual world with procedurally generated landscapes and extremely flexible game mechanics that support an enormous variety of activities. Prior methods in open-ended agent learning do not make use of external knowledge, but our approach leverages internet-scale database to learn open-vocabulary reward models, thanks to Minecraft’s abundance of gameplay data online.
Minecraft for AI Research.
The Malmo platform is the first comprehensive release of a Gym-style agent API for Minecraft. Based on Malmo, MineRL provides a codebase and human play trajectories for the annual Diamond Challenge at NeurIPS . MineDojo’s simulator builds upon the pioneering work of MineRL, but greatly expands the API and benchmarking task suite. Other Minecraft benchmarks exist with different focuses. For example, CraftAssist and IGLU study agents with interactive dialogues. BASALT applies human evaluation to 4 open-ended tasks. EvoCraft is designed for structure building, and Crafter optimizes for fast experimentation. Unlike prior works, MineDojo’s core mission is to facilitate the development of generally capable embodied agents using internet-scale knowledge. We include a feature comparison table of different Minecraft platforms for AI research in Table A.1.
Internet-scale Multimodal Knowledge Bases.
Big dataset such as Common Crawl , the Pile , LAION , YouTube-8M and HowTo100M have been fueling the success of large pre-trained language models and multimodal models . While generally useful for learning representations, these datasets are not specifically targeted at embodied agents. To provide agent-centric training data, RoboNet collects video frames from 7 robot platforms, and Ego4D recruits volunteers to record egocentric videos of household activities. In comparison, MineDojo’s knowledge base is constructed without human curation efforts, much larger in volume, more diverse in data modalities, and comprehensively covers all aspects of the Minecraft environment.
Embodied Agents with Large-scale Pre-training.
Inspired by the success in NLP, embodied agent research has seen a surge in adoption of the large-scale pre-training paradigm. The recent advances can be roughly divided into 4 categories. 1) Novel agent architecture: Decision Transformer applies the powerful self-attention models to sequential decision making. GATO and Unified-IO learn a single model to solve various decision-making tasks with different control interfaces. VIMA unifies a wide range of robot manipulation tasks with multimodal prompting. 2) Pre-training for better representations: R3M trains a general-purpose visual encoder for robot perception on Ego4D videos . CLIPort leverages the pre-trained CLIP model to enable free-form language instructions for robot manipulation. 3) Pre-training for better policies: AlphaStar achieves champion-level performance on StarCraft by imitating from numerous human demos. SayCan leverages large language models (LMs) to ground value functions in the physical world. and directly reuse pre-trained LMs as policy backbone. VPT is a concurrent work that learns an inverse dynamics model from human contractors to pseudo-label YouTube videos for behavior cloning. VPT is complementary to our approach, and can be finetuned to solve language-conditioned open-ended tasks with our learned reward model. 4) Data-driven reward functions: Concept2Robot and DVD learn a binary classifier to score behaviors from in-the-wild videos . LOReL crowd-sources humans labels to train language-conditioned reward function for offline RL. AVID and XIRL extract reward signals via cycle consistency. MineDojo’s task benchmark and internet knowledge base are generally useful for developing new algorithms in all the above categories. In Sec. 4, we also propose an open-vocabulary, multi-task reward model using MineDojo YouTube videos.
Conclusion
In this work, we introduce the MineDojo framework for developing generally capable embodied agents. MineDojo features a benchmarking suite of thousands of Programmatic and Creative tasks, and an internet-scale multimodal knowledge base of videos, wiki, and forum discussions. As an example of the novel research possibilities enabled by MineDojo, we propose MineCLIP as an effective language-conditioned reward function trained with in-the-wild YouTube videos. MineCLIP achieves strong performance empirically and agrees well with human evaluation results, making it a good automatic metric for Creative tasks. We look forward to seeing how MineDojo empowers the community to make progress on the important challenge of open-ended agent learning.
Acknowledgement
We are extremely grateful to Anssi Kanervisto, Shikun Liu, Zhiding Yu, Chaowei Xiao, Weili Nie, Jean Kossaifi, Jonathan Raiman, Neel Kant, Saad Godil, Jaakko Haapasalo, Bryan Catanzaro, John Spitzer, Zhiyuan “Jerry” Lin, Yingqi Zheng, Chen Tessler, Dieter Fox, Oli Wright, Jeff Clune, Jack Parker-Holder, and many other colleagues and friends for their helpful feedback and insightful discussions. We also thank the anonymous reviewers for offering us highly constructive advice and kind encouragement during the review and rebuttal period. NVIDIA provides the necessary computing resource and infrastructure for this project. Guanzhi Wang is supported by the Kortschak fellowship in Computing and Mathematical Sciences at Caltech.
References
Appendix A Minecraft Framework Comparison
Appendix B MineDojo Simulator
We design unified observation and action spaces across all tasks to facilitate the development of multi-tasking and continually learning agents that can adapt to novel tasks and scenarios. The codebase is open sourced at github.com/MineDojo/MineDojo.
Our observation space contains multiple modalities. The agent perceives the world mainly through the RGB screen. To provide the same information as human players receive, we also supplement the agent with observations about its inventory, location, health, surrounding blocks, etc. The full observation space is shown below. We refer readers to see our code documentation for technical details such as data type for each observable item.
We also support a LIDAR sensor that returns the groundtruth type of the blocks that the agent sees, however this is considered privileged information and does not go into the benchmarking specification. However, it is still useful for hand engineering the dense reward function, which we use in our experiments (Sec. 5). Amounts and directions of LIDAR rays can be arbitrarily configured at the cost of a lower simulation throughput.
B.2 Action Space
We design a compound action space. At each step the agent chooses one movement action (forward, backward, camera actions, etc.) and one optional functional action as listed in the table below. Some functional actions such as craft take one argument, while others like attack does not take any argument. This compound action space can be modelled in an autoregressive manner . We refer readers to our code documentation for example usages of our action space.
B.3 Customizing the Environment
Environments in MineCLIP simulator can be easily and flexibly customized. Through our simulator API, users can control terrain, weather, day-night condition (different lighting), the spawn rate and range of specified entities and materials, etc. We support a wide range of terrains, such as desert, jungle, taiga, and iced plain, and special in-game structures, such as ocean monument, desert temple, and End city. Please visit our website for video demonstrations.
Appendix C MineDojo Task Suite
In this section, we explain how we collect the Programmatic (Sec. 2.1) and Creative tasks (Sec. 2.2).
Programmatic tasks are constructed by filling manually written templates for four categories of tasks, namely “Survival”, “Harvest”, “Tech Tree”, and “Combat”. The task specifications are included in our codebase. Please refer to Fig. A.1 for a few samples. We briefly explain each task category:
This task group tests the ability to stay alive in the game. It is nontrivial to survive in Minecraft, because the agent grows hungry as time passes and the health bar drops gradually. Hostile mobs like zombie and skeleton spawn at night, which are very dangerous if the agent does not have the appropriate armor to protect itself or weapons to fight back. We provide two tasks with different levels of difficulty for Survival. One is to start from scratch without any assistance. The other is to start with initial weapons and food.
Harvest.
This task group tests the agent’s ability to collect useful resources such as minerals (iron, diamond, obsidian), food (beef, pumpkin, carrots, milk), and other useful items (wool, oak wood, coal). We construct these tasks by enumerating the Cartesian product between target items to collect, initial inventory, and world conditions (terrain, weather, lighting, etc.) so that they cover a spectrum of difficulty. For instance, if the task is to harvest wool, then it is relatively easy if the agent has a shear in its initial inventory with a sheep nearby, but more difficult if the agent has to craft the shear from raw material and explore extensively to find a sheep. We filter out combinations that are impossible (such as farming certain plants in the desert) from the Cartesian product.
Tech Tree.
Minecraft includes several levels of tools and armors with different properties and difficulties to unlock. To progress to a higher level of tools and armors, the agent needs to develop systematic and compositional skills to navigate the technology tree (e.g. wood stone iron diamond). In this task group, the agent is asked to craft and use a hierarchy of tools starting from a less advanced level. For example, some task asks the agent to craft a wooden sword from bare hand. Another task may ask the agent to craft a gold helmet. An agent that can successfully complete these tasks should have the ability to transfer similar exploration strategies to different tech levels.
Combat.
We test agent’s reflex and martial skills to fight against various monsters and creatures. Similar to how we develop the Harvest task group, we generate these tasks by enumerating the Cartesian product between the target entity to combat with, initial inventory, and world conditions to cover a spectrum of difficulty.
C.2 Creative Tasks
We construct Creative tasks using three approaches: 1) manual brainstorming, 2) mining from YouTube tutorial videos, and 3) generate by querying GPT-3 API. We elaborate the second and third approaches below.
Our YouTube dataset serves the dual purpose of a rich task source, as many human players demonstrate and narrate creative missions in the tutorial playlists. To collect high-quality tasks and accompanying videos, we design a 3-stage pipeline that makes it easy to find and annotate interesting tasks.
We search for YouTube playlists with the key phrases, “Minecraft Tutorial” and “Minecraft Guide”. Then we apply heuristic rules (see Sec. D.1) to filter out low-quality videos;
We only show the title of the video to a human annotator through a command-line interface, who makes a binary decision to accept or reject it as a potential task. This step is typically very fast, taking a few seconds on average;
For the accepted tasks in stage 2, we design a labeling UI using Label Studio that displays the full video and YouTube description. A human annotator can choose to reject the video, adjust the timestamps, select the title, or refine the description to be the task goal (Fig. A.2). Through this pipeline, we extract 1,042 task ideas from the common wisdom of a huge number of veteran Minecraft gamers. Some examples are “make an automated mining machine” and “grow cactus up to the sky”.
C.3 GPT-3 Guidance
We leverage OpenAI’s GPT-3-davinci API to automatically generate detailed guidance for a subset of the tasks. Inspired by , we adopt the following template to prompt GPT-3: How to {task goal} in Minecraft? Let’s think step by step. Here are some examples:
The guidance for the task “find material and craft a gold pickaxe” is 1) Find a place with a lot of trees; 2) Cut down the trees and gather the wood; 3) Find a place with a lot of stone; 4) Mine the stone and gather the cobblestone; 5) Find a place with a lot of iron; 6) Mine the iron and gather the iron ingots; 7) Find a place with a lot of gold; 8) Mine the gold and gather the gold ingots; 9) Craft a gold pickaxe.
The guidance for the task “sail on boat with a sheep” is 1) Find a boat; 2) Place the sheep in the boat; 3) Right-click on the boat with an empty hand to get in; 4) Use the WASD keys to move the boat. The sheep should stay in the boat.
C.4 Playthrough: Defeat the Ender Dragon
Our benchmarking suite includes a special task called “Playthrough”. The agent is initialized bare-handed in a freshly created world and aims to defeat the Ender dragon, which is considered the final boss of Minecraft. This task holds a unique position in our benchmark because killing the dragon means “beating the game” in the traditional sense of the phrase, and is considered the most significant achievement for a new player. This boss is optional and plenty of people choose to skip it without affecting their open-ended game experience.
“Playthrough” is technically a programmatic task, because we can check the simulator state for the defeat of the Ender dragon. However, we decide to create its own category due to the uniqueness as well as the sheer difficulty of the task. The mission requires lots of preparation, exploration, agility, and trial-and-error, which may take a regular human player many days to complete. It would be extremely long horizon (hundreds of thousands of steps) and difficult for an agent to tackle. We consider this one of the moonshot goals in MineDojo.
Appendix D Internet-Scale Database
We upload our databases to zenodo.org, which is an open repository platform operated by CERN. The data DOIs, URLs, and licenses are listed below. In this section, we describe our database properties and data collection process in details.
Minecraft is among the most streamed games on YouTube . Human players have demonstrated a stunning range of creative activities and sophisticated missions that take hours to complete. We collect 33 years worth of video and 2.2B words in the accompanying English transcripts. The distribution of video duration is shown in Fig. A.3. The time-aligned transcripts enable the agent to ground free-form natural language in video pixels and learn the semantics of diverse activities without laborious human labeling.
We use the official YouTube Data API to collect our database, following the procedure below:
Search for channels that contain Minecraft videos using a list of keywords, e.g., “Minecraft”, “Minecraft Guide”, “Minecraft Walkthrough”, “Minecraft Beginner”. We do not directly search for videos at this step because there is a limit of total results returned by the API;
Search for all the video IDs uploaded by each channel that we obtain at the previous step. There are many false positives at this step because some channels (like gaming news channel) may cover a range of topics other than Minecraft;
To remove the false positives, we rely on the video category chosen by the user when the video was uploaded and filter out all the videos that do not belong to the Minecraft category;
To curate a language-grounded dataset, we favor videos that have English transcripts, which can be manually uploaded by the user, automatically transcribed from audio, or automatically translated from another language by the YouTube engine. For each video, we filter it out if 1) the view count is less than 100; or 2) the aspect ratio is less 1; or 3) the duration is less than 1 minute long; or 4) marked as age-restricted.
To further clean the dataset and remove potentially harmful contents, we employ the Detoxify tool to process each video title and description. Detoxify is trained on Wikipedia comments to predict multiple types of toxicity like threats, obscenity, insults, and identity-based hate speech. We delete a video if the toxicity probability in any category is above 0.5.
We release all the video IDs along with metadata such as video titles, view counts, like counts, duration, and FPS. In line with prior practice , we do not release the actual MP4 files and transcripts due to legal concerns.
D.2 Minecraft Wiki
The Wiki pages cover almost every aspect of the game mechanics, and supply a rich source of unstructured knowledge in multimodal tables, recipes, illustrations, and step-by-step tutorials (example screenshots in Fig. A.4 and Fig. A.5). We use Selenium to scrape 6,735 pages that interleave text, images, tables, and diagrams. We elaborate the details of each web element scraped by Selenium:
Screenshot. Using Selenium’s built-in function, we take a full screenshot of the rendered Wiki page in order to preserve the human-readable visual formatting. We also record the bounding boxes of each salient web element on the page.
Text. We hand-select several HTML tags that likely contain meaningful text data, such as p, h1, h2, ul, dl.
Images and Animations. We download the raw source file of each image element (JPG, PNG, GIF, etc.), as well as the corresponding caption if available. There are also animation effects enabled by JavaScript on the Wiki. We save all image frames in the animation.
Sprites. Sprite elements are micro-sized image icons that are typically embedded in text to create multimodal tutorials and explanations. We save all the sprites and locate their bounding boxes within the text too.
Tables. We save the text content and bounding box of each cell that a table element contains. We store the header cells separately as they carry the semantic meaning of each column. A table can be easily reconstructed with the stored text strings and bounding boxes.
D.3 Reddit
There are more than 1M subreddits (i.e., Reddit topics) where people can discuss a wide range of themes and subjects. Prior works use Reddit data for conversational response selection and abstractive summarization . The r/Minecraft subreddit contains free-form discussions of game strategies and images/videos showcases of Minecraft builds and creations (examples in Fig. A.7). The distribution of post types is shown in Fig. A.6.
To scrape the Reddit contents, we use PRAW , a Python wrapper on top of the official Reddit API. Our procedure is as follows:
Obtain the ID and metadata (e.g. post title, number of comments, content, score) of every post in the “r/Minecraft” subreddit since it was created. For quality control, we only consider posts with scores (upvotes) and not marked as NSFW.
Determine each post’s type. There are 4 native post types - text, image/video, link, and poll. We group text and poll posts together as text posts, and store their body text. For image/video and link posts, we store the source file URLs on external media hosting sites like Imgur and Gfycat. Based on the URL of each link post, we classify it as an image post, a video post or a general link post.
Scrape the comments and store the parent ID of each comment so that we can reconstruct the threaded discussion.
Similarly to our YouTube database (Sec. D.1), we run Detoxify on the scraped Reddit contents to filter out potentially toxic and harmful posts.
We release all post IDs and their corresponding metadata. We also provide a Python function based on PRAW for researchers to download the post contents after obtaining a license key for the official Reddit API.
Appendix E MineCLIP Algorithm Details
We implement all our neural networks in PyTorch v1.11 . Training MineCLIP uses the PyTorch-Lightning framework , pre-trained models hosted on HuggingFace , and the x-transformers library for Transformer variants .
Similar to VideoCLIP , we sample 640K pairs of 16-second video snippets and time-aligned English transcripts by the following procedure:
Collect a list of keywords corresponding to the supported entities, blocks, and items in Minecraft;
Perform string matching over our YouTube video transcripts to obtain 640K text segments;
For each matched transcript segment, randomly grow it to 16 77 tokens (limited by CLIP’s context length);
Randomly sample a timestamp within the start and end time of the matched transcript as the center for the video clip;
Randomly grow the video clip from the center timestamp to 8 16 seconds.
E.2 Architecture
MineCLIP architecture is composed of three parts:
We use the ViT-B/16 architecture to compute a 512-D embedding for each RGB frame. We initialize the weights from OpenAI CLIP’s public checkpoint and only finetune the last two layers during training. The input resolution is , which is different from CLIP’s default resolution. We adapt the positional embeddings via bicubic interpolation, which does not introduce any new learnable parameters.
Given a sequence of frame-wise RGB features, a temporal aggregator network summarizes the sequence into one video embedding. After the aggregator, we insert two extra layers of residual CLIP Adapter . The residual weight is initialized such that it is very close to an identity function at the beginning of training. We consider two variants of :
Average pooling (MineCLIP[avg]): a simple, parameter-free operator. It is fast to execute but loses the temporal information, because average pooling is permutation-invariant.
Self-Attention (MineCLIP[attn]): a 2-layer transformer encoder with 512 embedding size, 8 attention heads, and Gated Linear Unit variant with Swish activation . The transformer sequence encoder is relatively slower, but captures more temporal information and achieves better performance in our experiments (Table 1).
We use a 12-layer 512-wide GPT model with 8 attention heads . The input string is converted to lower-case byte pair encoding with a 49,152 vocabulary size, and capped at 77 tokens. We exactly follow the text encoder settings in CLIP and initialize the weights from their public checkpoint. Only the last two layers of is finetuned during training.
E.3 Training
We train MineCLIP on the 640K video-text pairs for 2 epochs. We sample 16 RGB frames from each video uniformly, and apply temporally-consistent random resized crop as data augmentation. We use Cosine learning rate annealing with 500 gradient steps of warming up . We apply a lower learning rate () on the pre-trained weights and layer-wise learning rate decay for better finetuning . Training is performed on 1 node of V100 GPUs with FP16 mixed precision via the PyTorch native amp module. All hyperparameters are listed in Table A.2.
Appendix F Policy Learning Details
In this section, we elaborate how a trained MineCLIP can be adapted as a reward function with two different formulations. We then discuss the algorithm for policy learning. Finally, we demonstrate how we combine self imitation learning and on-policy learning to further improve sample efficiency.
We investigate two ways to convert MineCLIP output to scalar reward, dubbed Direct and Delta. The ablation results for Animal-Zoo task group are presented in Table A.3.
Delta.
The Direct formulation yields strong performance when the task is concerned with moving creatures, e.g. farm animals and monsters that run around constantly. However, we discover that Direct is suboptimal if the task deals with static objects, e.g., “find a nether portal”. Simply using the raw probability from MineCLIP as reward can cause the learned agent to stare at the object of interest but fail to move closer and interact. Therefore, we propose to use an alternative formulation, Delta, to remedy this issue. Concretely, the reward value at timestep becomes . We empirically validate that this formulation provides better shaped reward for the task group with static entities.
F.2 Policy Network Architecture
Our policy architecture consists of three parts: an input feature encoder, a policy head, and a value function. To handle multimodal observations (Sec. B.1), the feature extractor contains several modality-specific components:
RGB frame: we use the frozen frame-wise image encoder in MineCLIP to optimize for compute efficiency and provide the agent with good visual representations from the beginning (Sec. 4.2).
Task goal: computes the text embedding of the natural language task goal.
Yaw and Pitch: compute and features respectively, then pass through an MLP.
Voxel: to process the surrounding voxels, we embed discrete block names to dense vectors, flatten them, and pass through an MLP.
Past action: our agent is conditioned on its immediate past action, which is embedded and featurized by MLP.
Features from all modalities are concatenated, passed through another fusion MLP, and finally fed into the policy head and value function head. We use an MLP to model the policy head that maps from the input feature vectors to the action probability distribution. We use another MLP to estimate the value function, conditioned on the same input features.
F.3 RL Training
We use the popular PPO algorithm (Proximal Policy Optimization) as our RL training backbone. PPO is an on-policy method that optimizes for a surrogate objective while ensuring that the deviation from the previous policy is relatively small. PPO updates the policy network by
is an estimator of the advantage function (GAE in our case) and is a hyperparameter that controls the deviation between the new policy and the old one.
Self Imitation Learning.
We alternate between the PPO phase and the SI phase. A pseudocode of our interleaved training procedure is given in Algorithm 1. We use a prioritized strategy to sample trajectories from the buffer . Specifically, we assign equal probability to all successful trajectories. Unsuccessful trajectories can still be sampled but with lower probabilities proportional to their episodic returns.
In Fig. A.8, we demonstrate that adding self-imitation dramatically improves the stability, performance, and sample efficiency of RL training in MineDojo.
Appendix G Experiment Details
We experiment with three task groups with four tasks per group. We train one multi-task agent for each group. In this section, we describe each task goals, initial setup, and the manual dense-shaping reward function.
4 Programmatic tasks on hunting or harvesting resource from animals. We spawn various animal types (pig, sheep, and cow) in the same environment to serve as distractors. It is considered a failure if the agent does not take action on the correct animal specified by the prompt.
Shear Sheep: find and approach a sheep, then collect wool from the sheep with a shear. The prompt is shear a sheep. We initialize the agent with a shear. The manual dense reward shaping is a navigation reward based on geodesic distance obtained from the privileged LIDAR sensor, similar to “Milk Cow”.
Hunt Sheep: find and approach a sheep, then hunt with a sword. The sheep will run away so the agent needs to chase after it. An episode will terminate once any entity is hunted. The prompt is hunt a sheep. We initialize the agent with a diamond sword. The manual dense reward shaping consists of two parts, a valid attack reward and a navigation reward based on geodesic distance obtained from the privileged LIDAR sensor, similar to “Hunt Cow”.
Mob Combat:
Creative:
4 tasks that do not have manual dense reward shaping or code-defined success criterion.
Find Nether Portal: find and move close to a Nether Portal, then enter the Nether world through the portal. The prompt is find a nether portal.
Find Ocean: find and move close to an ocean. The prompt is find an ocean.
Dig Hole: dig holes in the ground. The prompt is dig a hole. We initialize the agent with an iron shovel.
Lay Carpet: lay down carpets to cover the wooden floor inside a house. The prompt is put carpets on the floor. We initialize the agent with a number of carpets in its inventory.
Note that we categorize “Find Nether Portal” and “Find Ocean” as Creative tasks even though they seem similar to object navigation . While finding terrains and other structures is semantically well defined, it is not easy to define a function to evaluate success automatically because the simulator does not have the exact location information of these structures given a randomly generated world. In principle, we can make a sweep by querying each chunk of voxels in the world to recognize the terrains, but that would be prohibitively expensive. Therefore, we opt to use MineCLIP as the reward signal and treat these tasks as Creative.
G.2 Observation and Action Space
We use a subset of the full observation and action space listed in Sec. B.1 and B.2, because the tasks in our current experiments do not involve actions like crafting or inventory management. Our observation space consists of RGB frame, compass, GPS, and Voxels.
Our action space is a trimmed version of the full action space. It consists of movement control, camera control, “use” action, and “attack” action, which add up to 89 discrete choices. Concretely, it includes 81 actions for discrete camera control ( resulted from the Cartesian product between yaw and pitch, each ranges from degree to degree with a discrete interval of degree). It also includes 6 movement actions (forward, forward + jump, jump, back, move left, and move right) and 2 functional actions of “use” and “attack”. Note that the “no-op” action is merged into the 81 camera actions.
G.3 RL Training
All hyperparameters used in our RL experiment are listed in Table A.4. We visualize the learned behaviors of 4 tasks in Figure 2. Demos of more tasks can be found on our website https://minedojo.org.
Due to the stochastic nature of PPO, we observe a lot of action jittering in the agent’s behavior during training. This leads to two negative effects that degrade the learning performance: 1) exploration difficulty due to inconsistent action sequence. For example, the agent may be required to take multiple consecutive attack actions in order to complete certain tasks; and 2) rapidly switching different movement and camera motions result in videos that are highly non-smooth and disorienting. This causes a domain gap from the training data of MineCLIP, which are typically smooth human gameplay videos. Therefore, the reward signal quality deteriorates significantly.
To remedy the issue, we impose an action smoothing loss to be jointly optimized with the PPO objective (Eq. 2) during training. Concretely, consider a sliding window with window size that contains consecutive action distributions , the action smoothing loss is defined as
where denotes Kullback–Leibler divergence.
Multi-stage training for multi-task RL.
Due to hardware limitations, we are not able to run a large number of parallel simulators for all tasks in a task group. Therefore, we adopt a multi-stage strategy to split the tasks and train them sequentially with a single policy network. For the task groups Animal-Zoo and Creative, we split the four tasks into two stages of two parallel training tasks each. We carry over the self-imitation buffers when switching to the next stage. We also follow the recommended practice in and reset the policy head at the beginning of stage 2 to encourage exploration and reduce overfitting. We adopt a similar replay buffer balancing strategy as to prevent any task from dominating the training.
G.4 Evaluation
In this section, we elaborate on our human and automatic evaluation procedure for Creative tasks. We first ask the human annotators to manually label 100 successful and 100 failure trajectories. This produces a combined dataset of 200 trajectories with groundtruth binary labels to evaluate the learned reward functions. On this dataset, we run MineCLIP to produce step-wise rewards and compute a score that averages over each trajectory. We then apply K-means clustering with to all scores and determine a decision boundary from the mean of the two centroids. A trajectory with a score greater than is classified as successful, and vice versa for failure. In this way, we essentially convert MineCLIP to a binary classifier. The quality of MineCLIP can be measured by the F1 score of its binary classification output against the human labels. We demonstrate that MineCLIP has high agreements with humans (Table 2), and thus qualifies as an effective automatic evaluation metric for Creative tasks in the absence of human judges.
To further investigate MineCLIP’s evaluation on more complex Creative tasks, we annotate 50 YouTube video segments each for 5 more tasks that are much more semantically complex: “build a farm”, “ build a fence”, “build a house”, “ride a minecart”, and “build a swimming pool”. We then run MineCLIP evaluation on these videos against a negative set. As shown in Table A.5, though not perfect, MineCLIP generally has a positive agreement with human judgment. We note that the current MineCLIP is a proof-of-concept step in leveraging internet data for automated evaluation, and further scaling on more training data and parameters may lead to more improvements. Meanwhile, human judgment remains a useful and important alternative .
Appendix H Limitations and Potential Societal Impact
Unlike human demonstrations or offline RL datasets , our YouTube dataset contains only the video screen observations but not the actual control actions. This allows us to scale up the dataset tremendously, but at the same time poses a challenge to imitation learning algorithms that require observation-action pairs to learn. Our proposed algorithm, MineCLIP, side-steps this problem by learning a reward model, but we believe that directly inferring the human expert policy from YouTube is another important direction complementary to our approach. There are promising techniques that can potentially overcome this limitation, such as the Learning-from-Observation (LfO) family of algorithms .
Our database is scraped from the internet, which inevitably contains offensive YouTube videos or toxic Reddit posts. While we have made our best effort to filter out these harmful contents (Sec. D.1), there can still be undesirable biases and toxicity that elude our automatic filters. Furthermore, we advocate the use of large pre-trained language models in our main paper, and MineCLIP is finetuned from the pre-trained weights of OpenAI CLIP . These foundation models are known to contain harmful stereotypes and generate hateful commentary . We ask the researchers who will use our code and database to exercise their best judgment during new model development to avoid any negative social impact.
Appendix I Datasheet
We present a Datasheet for documentation and responsible usage of our internet knowledge databases.
We create this internet-scale multimodal knowledge base to facilitate research towards open-ended, generally capable embodied agents.
This knowledge base was created by Linxi Fan (Nvidia), Guanzhi Wang (Caltech), Yunfan Jiang (Stanford), Ajay Mandlekar (Nvidia), Yuncong Yang (Columbia), Haoyi Zhu (SJTU), Andrew Tang (Columbia), De-An Huang (Nvidia), Yuke Zhu (Nvidia and UT Austin), and Anima Anandkumar (Nvidia and Caltech).
I.2 Distribution
Yes, the dataset is publicly available on the internet.
How will the dataset will be distributed (e.g., tarball on website, API, GitHub)?
All datasets can be downloaded from https://zenodo.org/. Please refer to this table of URL, DOI, and licensing:
Have any third parties imposed IP-based or other restrictions on the data associated with the instances?
Do any export controls or other regulatory restrictions apply to the dataset or to individual instances?
I.3 Maintenance
The authors will be supporting, hosting, and maintaining the dataset.
How can the owner/curator/manager of the dataset be contacted (e.g., email address)?
Please contact Linxi Fan (linxif@nvidia.com), Guanzhi Wang (guanzhi@caltech.edu), and Yunfan Jiang (yunfanj@cs.stanford.edu).
Is there an erratum?
No. We will make announcements if there is any.
Will the dataset be updated (e.g., to correct labeling errors, add new instances, delete instances)?
Yes. New updates will be posted on https://minedojo.org.
Will older versions of the dataset continue to be supported/hosted/maintained?
Yes, old versions will be permanently accessible on zenodo.org.
If others want to extend/augment/build on/contribute to the dataset, is there a mechanism for them to do so?
Yes, please refer to https://minedojo.org.
I.4 Composition
For YouTube videos, our data is in JSON format with video URLs and metadata. We do not provide the raw MP4 files for legal concerns. For Wiki, we provide the text, images, tables, and diagrams embedded on the web pages. For Reddit, our data is in JSON format with post IDs and metadata, similar to YouTube. Users can reconstruct the Reddit dataset by running our script after obtaining an official Reddit API license key.
How many instances are there in total (of each type, if appropriate)?
There are more than 730K YouTube videos with 2.2B words of transcripts, 6,735 Wiki pages with 2.2M bounding boxes of visual elements, and more than 340K Reddit posts with 6.6M comments.
We provide all instances in our Zenodo data repositories.
Is there a label or target associated with each instance?
Is any information missing from individual instances?
Are relationships between individual instances made explicit (e.g., users’ movie ratings, social network links)?
We provide metadata for each YouTube video link and Reddit post ID.
Are there recommended data splits (e.g., training, development/validation, testing)?
No. The entire database is intended for pre-training.
Are there any errors, sources of noise, or redundancies in the dataset?
We follow prior works and only release the video URLs of YouTube videos due to legal concerns. Researchers need to acquire the MP4 and transcript files separately. Similarly, we only release the post IDs for the Minecraft Reddit database, but we also provide a script that can reconstruct the full Reddit dataset given a free official license key.
Does the dataset contain data that might be considered confidential?
We have made our best efforts to detoxify the contents via an automated procedure. Please refer to Sec. D.
I.5 Collection Process
The collection procedure, preprocessing, and cleaning are explained in details in Sec. D.
All data collection, curation, and filtering are done by MineDojo coauthors.
Over what timeframe was the data collected?
The data was collected between Dec. 2021 and May 2022.
I.6 Uses
Yes, we have used the MineDojo YouTube database for agent pre-training. Please refer to Sec. 5 and Sec. G for algorithmic and training details.
What (other) tasks could the dataset be used for?
Our knowledge base is primarily intended to facilitate research in open-ended, generally capable embodied agents. However, it can also be broadly applicable to research in video understanding, document understanding, language modeling, multimodal learning, and so on.
Are there tasks for which the dataset should not be used?
We strongly oppose any research that intentionally generates harmful or toxic contents using our YouTube, Wiki, and Reddit data.