Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,90 @@
|
|
| 1 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
license: cc-by-nc-4.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
library_name: pytorch
|
| 3 |
+
tags:
|
| 4 |
+
- motion
|
| 5 |
+
- rvq
|
| 6 |
+
- human-motion
|
| 7 |
+
- humanML
|
| 8 |
+
- motion-reconstructor
|
| 9 |
+
- CoT
|
| 10 |
+
- motion-generation
|
| 11 |
+
- VLA
|
| 12 |
license: cc-by-nc-4.0
|
| 13 |
+
datasets:
|
| 14 |
+
- Wojtekb30/language-action-RVQ-CoT-humanML
|
| 15 |
+
language:
|
| 16 |
+
- en
|
| 17 |
+
base_model:
|
| 18 |
+
- Qwen/Qwen2.5-VL-3B-Instruct
|
| 19 |
---
|
| 20 |
+
|
| 21 |
+
# Qwen2.5-VL-3B-Instruct-RVQ-Human-Motion-CoT-PoC
|
| 22 |
+
|
| 23 |
+
This model is a motion-language variant of `Qwen/Qwen2.5-VL-3B-Instruct`.
|
| 24 |
+
|
| 25 |
+
Given a natural-language action prompt, it produces a first person chain of thought about the movement as well as tokens that can be decoded by RVQ.
|
| 26 |
+
|
| 27 |
+
This VLA model was not trained on image -> text -> motion, but only text -> motion. It was an experiment if it will be able to create motion related to the image anyway.
|
| 28 |
+
|
| 29 |
+
The model proven somewhat capable of that, seeing an image of a man walking, it would produce a walking motion, for example. But the capability is very limited.
|
| 30 |
+
|
| 31 |
+
### This model is just a proof of conecept that usually can generate basic moves but usually fails on more complex ones.
|
| 32 |
+
|
| 33 |
+
RVQ used: https://huggingface.co/Wojtekb30/Motion-RVQ-263d-reconstructor-humanML
|
| 34 |
+
|
| 35 |
+
Those tokens are decoded by the included RVQ decoder into a 3D human motion sequence (animation).
|
| 36 |
+
|
| 37 |
+
### In order for the model to generate moves, you must use system prompt:
|
| 38 |
+
```text
|
| 39 |
+
You are an embodied AI. You reason about your physical state and output precise motor actions inside <move></move> tags.
|
| 40 |
+
```
|
| 41 |
+
|
| 42 |
+
Recommended temperature of 0.5.
|
| 43 |
+
|
| 44 |
+
## What makes this model different
|
| 45 |
+
|
| 46 |
+
- It is trained to emit discrete movement tokens directly in chat output in between reasoning text.
|
| 47 |
+
- It uses explicit motion token vocabulary:
|
| 48 |
+
- `<move>`, `</move>`
|
| 49 |
+
- `<m_{level}_{value}>` where `level in [0..3]` and `value in [0..1023]`
|
| 50 |
+
- The generated response can contain both language and motion tokens in one assistant turn.
|
| 51 |
+
- It takes only 3 movement tokens for RVQ to decode a coarse 0.5 seconds of motion, and 10 tokens for detailed one. A robot or avatar can keep up even if LLM inference is slow.
|
| 52 |
+
|
| 53 |
+
## Output format
|
| 54 |
+
|
| 55 |
+
Typical response pattern:
|
| 56 |
+
|
| 57 |
+
```text
|
| 58 |
+
I lean forward and begin stepping with a steady pace.
|
| 59 |
+
<move><m_0_123><m_1_54><m_2_901><m_3_77>...</move>
|
| 60 |
+
```
|
| 61 |
+
|
| 62 |
+
Motion decoding expects 4 RVQ levels per frame. In practice:
|
| 63 |
+
- one frame = 4 tokens
|
| 64 |
+
- token order is grouped frame-by-frame
|
| 65 |
+
- each token is tagged by its RVQ level in the token text itself
|
| 66 |
+
|
| 67 |
+
## Quick start
|
| 68 |
+
|
| 69 |
+
Please look into `RunVLA.py` file.
|
| 70 |
+
|
| 71 |
+
## Training notes
|
| 72 |
+
|
| 73 |
+
The included training script performs full fine-tuning with:
|
| 74 |
+
- Base model (fully trained except vision encoder)
|
| 75 |
+
- Added special tokens for motion vocabulary (4 x 1024 RVQ bins + move delimiters)
|
| 76 |
+
- Chat-formatted supervised fine-tuning (SFT)
|
| 77 |
+
- Loss masking to train on assistant completion only
|
| 78 |
+
- This model was brought down to loss 1.0
|
| 79 |
+
|
| 80 |
+
Trained on: https://huggingface.co/Wojtekb30/language-action-RVQ-CoT-humanML
|
| 81 |
+
|
| 82 |
+
## Limitations
|
| 83 |
+
|
| 84 |
+
- Motion quality depends on RVQ decoder fit and token correctness.
|
| 85 |
+
- Invalid or incomplete token sequences can fail to decode cleanly.
|
| 86 |
+
- The provided visualizer is a simple skeleton renderer for quick inspection.
|
| 87 |
+
- This model is intended for research and prototyping.
|
| 88 |
+
- This model is not a true VLA, but an experiment if it will be able to use images in motion generation without being directly trained to do that.
|
| 89 |
+
|
| 90 |
+
### Again, this model is just a proof of conecept that usually can generate basic moves but usually fails on more complex ones.
|