Wojtekb30 commited on
Commit
465fe95
·
verified ·
1 Parent(s): 811f3dc

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +87 -0
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.