Spaces:
Sleeping
Sleeping
File size: 6,358 Bytes
9ffc795 c6b828a 9ffc795 c6b828a 4ce8f9e c6b828a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
---
title: "DART-LLM: Dependency-Aware Multi-Robot Task Decomposition and Execution"
emoji: 🤖
colorFrom: blue
colorTo: green
sdk: gradio
app_file: app.py
pinned: false
license: llama3.1
---
<div align="center">
<h1>DART-LLM: Dependency-Aware Multi-Robot Task Decomposition and Execution using Large Language Models (Spaces)</h1>
<div class="project-info">
This project is part of the <a href="https://moonshot-cafe-project.org/en/" target="_blank">Moonshot Café Project</a>
</div>
<div class="authors">
<a href="https://researchmap.jp/wangyongdong?lang=en" target="_blank">Yongdong Wang</a><sup class="org-1">1,*</sup>,
Runze Xiao<sup class="org-1">1</sup>,
<a href="https://www.robot.t.u-tokyo.ac.jp/~louhi_kasahara/index-e.html" target="_blank">Jun Younes Louhi Kasahara</a><sup class="org-1">1</sup>,
<a href="https://researchmap.jp/r-yaj?lang=en" target="_blank">Ryosuke Yajima</a><sup class="org-1">1</sup>,
<a href="http://k-nagatani.org/" target="_blank">Keiji Nagatani</a><sup class="org-1">1</sup><sup class="org-2">, 2</sup>,
<a href="https://www.robot.t.u-tokyo.ac.jp/~yamashita/" target="_blank">Atsushi Yamashita</a><sup class="org-3">3</sup>,
<a href="https://www.robot.t.u-tokyo.ac.jp/asamalab/en/members/asama/biography.html" target="_blank">Hajime Asama</a><sup class="org-4">4</sup>
</div>
<div class="affiliations">
<sup class="org-1">1</sup>Graduate School of Engineering, The University of Tokyo<br>
<sup class="org-2">2</sup>Faculty of Systems and Information Engineering, University of Tsukuba<br>
<sup class="org-3">3</sup>Graduate School of Frontier Sciences, The University of Tokyo<br>
<sup class="org-4">4</sup>Tokyo College, The University of Tokyo
</div>
<div class="corresponding-author">
*Corresponding author: <a href="mailto:[email protected]">[email protected]</a>
</div>
<div align="center">
<a href="https://arxiv.org/pdf/2411.09022" target="_blank" rel="noopener noreferrer">
<img src="https://img.shields.io/badge/arXiv-2411.09022-b31b1b" alt="arXiv Badge">
</a>
<a href="https://github.com/wyd0817/QA_LLM_Module" target="_blank" rel="noopener noreferrer">
<img src="https://img.shields.io/badge/QA_LLM_Module-GitHub-blue" alt="QA LLM Module GitHub Badge">
</a>
<a href="https://huggingface.co/datasets/YongdongWang/dart_llm_tasks" target="_blank" rel="noopener noreferrer">
<img src="https://img.shields.io/badge/Dataset-Hugging_Face-blue" alt="Dataset Badge">
</a>
<a href="https://huggingface.co/spaces/YongdongWang/DART-LLM-Llama3.1-8b" target="_blank" rel="noopener noreferrer">
<img src="https://img.shields.io/badge/Spaces-DART--LLM--Llama3.1--8b-lightgrey" alt="Spaces Badge">
</a>
<a href="https://www.youtube.com/watch?v=p3A-yg3yv0Q" target="_blank" rel="noopener noreferrer">
<img src="https://img.shields.io/badge/Video-YouTube-red" alt="Video Badge">
</a>
<a href="https://www.youtube.com/watch?v=T3M94hP8NFQ" target="_blank" rel="noopener noreferrer">
<img src="https://img.shields.io/badge/Real_Robot-YouTube-orange" alt="Real Robot Badge">
</a>
</div>
## Overview
This Hugging Face Space hosts DART-LLM, a QLoRA-fine-tuned meta-llama/Llama-3.1-8B model specialized in construction robotics. It demonstrates converting natural language robot commands into structured JSON tasks, supporting detailed multi-robot coordination, spatial reasoning, and action planning.
## Quick Start
1. Enter your robot command in the provided interface.
2. Click **Generate Tasks**.
3. Review the structured JSON output describing the robot task sequence.
## Local/Edge Deployment (Recommended for Jetson)
For local deployment on edge devices like NVIDIA Jetson, we recommend using the GGUF quantized models for optimal performance and memory efficiency:
### Available GGUF Models
| Model | Size | Memory Usage | Recommended Hardware |
|-------|------|--------------|---------------------|
| [llama-3.2-1b-lora-qlora-dart-llm-gguf](https://huggingface.co/YongdongWang/llama-3.2-1b-lora-qlora-dart-llm-gguf) | 870MB | ~2GB RAM | Jetson Nano, Jetson Orin Nano |
| [llama-3.2-3b-lora-qlora-dart-llm-gguf](https://huggingface.co/YongdongWang/llama-3.2-3b-lora-qlora-dart-llm-gguf) | 1.9GB | ~4GB RAM | Jetson Orin NX, Jetson AGX Orin |
| [llama-3.1-8b-lora-qlora-dart-llm-gguf](https://huggingface.co/YongdongWang/llama-3.1-8b-lora-qlora-dart-llm-gguf) | 4.6GB | ~8GB RAM | High-end Jetson AGX Orin |
### Deployment Options
#### Option 1: Using Ollama (Recommended)
```bash
# Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# Create a Modelfile
cat > Modelfile << EOF
FROM ./llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf
TEMPLATE """### Instruction:
{{ .Prompt }}
### Response:
"""
PARAMETER stop "### Instruction:"
PARAMETER stop "### Response:"
EOF
# Create the model
ollama create dart-llm-1b -f Modelfile
# Run inference
ollama run dart-llm-1b "Deploy Excavator 1 to Soil Area 1 for excavation"
```
#### Option 2: Using llama.cpp
```bash
# Clone and build llama.cpp
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make
# Download model
wget https://huggingface.co/YongdongWang/llama-3.2-1b-lora-qlora-dart-llm-gguf/resolve/main/llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf
# Run inference
./main -m llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf \
-p "### Instruction:\nDeploy Excavator 1 to Soil Area 1 for excavation\n\n### Response:\n" \
-n 512
```
#### Option 3: Using Python (llama-cpp-python)
```bash
# Install llama-cpp-python
pip install llama-cpp-python
# Python script
python3 << EOF
from llama_cpp import Llama
# Load model
llm = Llama(model_path="llama_3.2_1b-lora-qlora-dart-llm_q5_k_m.gguf", n_ctx=2048)
# Generate response
prompt = "### Instruction:\nDeploy Excavator 1 to Soil Area 1 for excavation\n\n### Response:\n"
output = llm(prompt, max_tokens=512, stop=["</s>"], echo=False)
print(output['choices'][0]['text'])
EOF
```
## Citation
If you use this work, please cite:
```bibtex
@article{wang2024dart,
title={Dart-llm: Dependency-aware multi-robot task decomposition and execution using large language models},
author={Wang, Yongdong and Xiao, Runze and Kasahara, Jun Younes Louhi and Yajima, Ryosuke and Nagatani, Keiji and Yamashita, Atsushi and Asama, Hajime},
journal={arXiv preprint arXiv:2411.09022},
year={2024}
}
``` |