Ghgvgg/HY-Embodied-0.5
<div align="center"> <h1>HY-Embodied</h1> <p><b>A Family of Embodied Foundation Models for Real-World Agents</b></p> <p><i>Tencent Robotics X ร HY Vision Team</i></p>
<a href="https://github.com/Tencent-Hunyuan/HY-Embodied/blob/master/hyembodiedtech_report.pdf"><img src="https://img.shields.io/badge/Paper-Report-red?logo=report" alt="Tech Report"></a> <a href="https://arxiv.org/abs/2604.07430"><img src="https://img.shields.io/badge/Paper-Arxiv-red?logo=arxiv" alt="Paper"></a> <a href="https://huggingface.co/tencent/HY-Embodied-0.5/tree/main"><img src="https://img.shields.io/badge/Models-HuggingFace-yellow?logo=huggingface" alt="Models"></a> <a href="https://github.com/Tencent-Hunyuan/HY-Embodied"><img src="https://img.shields.io/badge/GitHub-Repo-181717?logo=github&logoColor=white" alt="GitHub"></a> <a href="https://x.com/TencentHunyuan/status/2042503238877135336?s=20"><img src="https://img.shields.io/badge/Post-X-black?logo=x&logoColor=white" alt="X"></a>
</div>
<div align="center"> <video src="https://github.com/user-attachments/assets/a5c6b872-2cb0-4f52-8321-894fee7da27e" controls autoplay muted loop width="85%"></video> </div>
๐ฅ Updates
- `[2026-04-09]` ๐ We have released HY-Embodied-0.5, featuring the open-sourced
HY-Embodied-0.5 MoT-2Bweights on Hugging Face along with the official inference code\!
๐ Abstract
We introduce HY-Embodied-0.5, a suite of foundation models tailored specifically for real-world embodied intelligence. To bridge the gap between general Vision-Language Models (VLMs) and the strict demands of physical agents, our models are engineered to excel in spatial-temporal visual perception and complex embodied reasoning (prediction, interaction, and planning).
The suite features an innovative Mixture-of-Transformers (MoT) architecture utilizing latent tokens for modality-specific computing, significantly enhancing fine-grained perception. It includes two primary variants: a highly efficient 2B model for edge deployment and a powerful 32B model for complex reasoning. Through a self-evolving post-training paradigm and large-to-small on-policy distillation, our compact MoT-2B outperforms state-of-the-art models of similar size across 16 benchmarks, while the 32B variant achieves frontier-level performance comparable to Gemini 3.0 Pro. Ultimately, HY-Embodied serves as a robust "brain" for Vision-Language-Action (VLA) pipelines, delivering compelling results in real-world physical robot control.
<div align="center"> <img src="https://github.com/Tencent-Hunyuan/HY-Embodied/blob/master/figures/teaser.png?raw=true" alt="HY-Embodied Teaser" width="85%"> </div>
โญ๏ธ Key Features
- ๐ง Evolved MoT Architecture: Designed for maximum efficiency without sacrificing visual acuity. The MoT-2B variant contains 4B total parameters but requires only 2.2B activated parameters during inference. By emphasizing modality-specific computing in the vision pathway, it achieves the high inference speed of a dense 2B model while delivering superior, fine-grained perceptual representations.
- ๐ High-Quality Mixed Chain Reasoning: We introduce an advanced iterative, self-evolving post-training pipeline. By employing on-policy distillation, we successfully transfer the sophisticated step-by-step reasoning, planning, and high-quality "thinking" capabilities from our powerful 32B model directly to the compact 2B variant.
- ๐ Large-Scale Embodied Pre-training: Grounded in a massive, specially curated dataset comprising \>100 million embodied and spatial-specific data points. Trained on a corpus exceeding 200 billion tokens, the model develops a deep, native understanding of 3D spaces, physical object interactions, and agent dynamics.
- ๐ฆพ Stronger VLA Application: Beyond standard academic benchmarks, HY-Embodied is engineered to be the core cognitive engine for physical robots. It seamlessly integrates into Vision-Language-Action (VLA) frameworks, acting as a highly robust and capable brain to drive high success rates in complex, real-world robotic control tasks.
<div align="center"> <img src="https://github.com/Tencent-Hunyuan/HY-Embodied/blob/master/figures/arch.png?raw=true" alt="HY-Embodied Architecture" width="85%"> </div>
๐ Plannings
- [x] Transformers Inference
- [ ] vLLM Inference
- [ ] Fine-tuning Code
- [ ] Online Gradio Demo
๐ ๏ธ Dependencies and Installation
Prerequisites
- ๐ฅ๏ธ Operating System: Linux (recommended)
- ๐ Python: 3.12+ (recommended and tested)
- โก CUDA: 12.6
- ๐ฅ PyTorch: 2.8.0
- ๐ฎ GPU: NVIDIA GPU with CUDA support
Installation
- Install the specific Transformers version required for this model:
pip install git+https://github.com/huggingface/transformers@9293856c419762ebf98fbe2bd9440f9ce7069f1aNote: We will merge the improvements into the Transformers main branch later.
- Install other dependencies:
pip install -r requirements.txtQuick Start
- Clone the repository:
git clone https://github.com/Tencent-Hunyuan/HY-Embodied
cd HY-Embodied/- Install dependencies:
pip install -r requirements.txt- Run inference:
python inference.pyThe example script demonstrates both single generation and batch generation capabilities.
Model Download
The code automatically downloads the model tencent/HY-Embodied-0.5 from Hugging Face Hub. Ensure you have sufficient disk space (8 GB) for the model weights.
Hardware Requirements
- GPU: Recommended for optimal performance (NVIDIA GPU with at least 16GB VRAM)
- CPU: Supported but slower
- Memory: At least 16GB RAM recommended
- Storage: 20GB+ free space for model and dependencies
๐ Quick Start with Transformers
Basic Inference Example
import os
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
# Load model & processor
MODEL_PATH = "tencent/HY-Embodied-0.5"
DEVICE = "cuda"
THINKING_MODE = False
TEMPERATURE = 0.8
processor = AutoProcessor.from_pretrained(MODEL_PATH)
# Load chat template if available
chat_template_path = os.path.join(MODEL_PATH, "chat_template.jinja")
if os.path.exists(chat_template_path):
processor.chat_template = open(chat_template_path).read()
model = AutoModelForImageTextToText.from_pretrained(MODEL_PATH, torch_dtype=torch.bfloat16)
model.to(DEVICE).eval()
# Prepare input messages
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "./figures/example.jpg"},
{"type": "text", "text": "Describe the image in detail."},
],
}
]
# Process and generate
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
enable_thinking=THINKING_MODE,
).to(model.device)
with torch.no_grad():
generated_ids = model.generate(
**inputs,
max_new_tokens=32768,
use_cache=True,
temperature=TEMPERATURE,
do_sample=TEMPERATURE > 0,
)
output_ids = [out[len(inp):] for inp, out in zip(inputs.input_ids, generated_ids)]
print(processor.batch_decode(output_ids, skip_special_tokens=True)[0])Batch Inference
import os
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
# Load model & processor
MODEL_PATH = "tencent/HY-Embodied-0.5"
DEVICE = "cuda"
THINKING_MODE = False
TEMPERATURE = 0.8
processor = AutoProcessor.from_pretrained(MODEL_PATH)
# Load chat template if available
chat_template_path = os.path.join(MODEL_PATH, "chat_template.jinja")
if os.path.exists(chat_template_path):
processor.chat_template = open(chat_template_path).read()
model = AutoModelForImageTextToText.from_pretrained(MODEL_PATH, torch_dtype=torch.bfloat16)
model.to(DEVICE).eval()
# Batch Inference (multiple prompts at once)
messages_batch = [
# Sample A: image + text
[
{
"role": "user",
"content": [
{"type": "image", "image": "./figures/example.jpg"},
{"type": "text", "text": "Describe the image in detail."},
],
}
],
# Sample B: text only
[
{
"role": "user",
"content": [
{"type": "text", "text": "How to open a fridge?"},
],
}
],
]
# Process each message independently
all_inputs = []
for msgs in messages_batch:
inp = processor.apply_chat_template(
msgs,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
enable_thinking=THINKING_MODE,
)
all_inputs.append(inp)
# Left-pad and batch
batch = processor.pad(all_inputs, padding=True, padding_side="left").to(model.device)
with torch.no_grad():
batch_generated_ids = model.generate(
**batch,
max_new_tokens=32768,
use_cache=True,
temperature=TEMPERATURE,
do_sample=TEMPERATURE > 0,
)
# Decode: strip the padded input portion
padded_input_len = batch["input_ids"].shape[1]
for i, msgs in enumerate(messages_batch):
out_ids = batch_generated_ids[i][padded_input_len:]
print(f"\n--- Sample {i} ---")
print(processor.decode(out_ids, skip_special_tokens=True))๐ Evaluation
Visual Perception
Note: We evaluated HY-Embodied-0.5 MoT-2B across 22 embodied-relevant benchmarks against models of similar size. For detailed performance metrics and methodology, please refer to our technical report.
Note: We observed that small models from the Qwen3.5 series produce repetitive thinking patterns in some benchmarks, which leads to lower overall results. Therefore, we compare against Qwen3-VL models in our evaluations.
Embodied Understanding
Spatial Understanding
Note: Results for HY-Embodied-0.5 MoT-2B are reported in thinking mode, while for all other models, we report the better performance between non-thinking and thinking modes.
๐ Citation
If you find it useful for your research and applications, please cite our paper using this BibTeX:
@article{tencent2026hyembodied05,
title={HY-Embodied-0.5: Embodied Foundation Models for Real-World Agents},
author={Tencent Robotics X and HY Vision Team},
journal={arXiv preprint arXiv:2604.07430},
year={2026}
}๐ Acknowledgements
We thank the Hugging Face community for their support and the open-source contributions that made this implementation possible.
