LeRobot documentation

Wall-OSS-0.5

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Wall-OSS-0.5

Wall-OSS-0.5 là mô hình thị giác-ngôn ngữ-hành động 4B từ XSquare Robot. Nó kết hợp bộ khung thị giác-ngôn ngữ Qwen2.5-VL với chuyên gia hành động khớp dòng liên tục.

LeRobot cung cấp Wall-OSS-0.5 thông qua loại policy wall_oss_05 và checkpoint lerobot/wall-oss-0.5.

wall_oss_05 và chính sách wall_x hiện có nhắm đến các bản phát hành WALL khác nhau. Sử dụng wall_oss_05 với checkpoint Wall-OSS-0.5.

Tổng quan về Mô hình

Wall-OSS-0.5 điều kiện hóa việc tạo hành động dựa trên quan sát từ camera, trạng thái robot và tác vụ bằng ngôn ngữ tự nhiên. Chính sách dự đoán một khối các hành động liên tục bằng flow matching. Chuyên gia thị giác-ngôn ngữ của nó cũng có thể tạo văn bản cho chú thích, trả lời câu hỏi thị giác, grounding và các tác vụ con về ngôn ngữ.

Mô hình đã phát hành sử dụng:

  • biểu diễn trạng thái và hành động chính tắc 26 chiều;
  • các khối hành động 32 bước;
  • chuẩn hóa theo khoảng q01/q99;
  • bộ lấy mẫu luồng 10 bước;
  • Qwen2.5-VL cho đầu vào thị giác và ngôn ngữ.

Checkpoint cơ bản được thiết kế để tinh chỉnh trên bộ dữ liệu robot và tác vụ đích trước khi triển khai.

Những gì Tích hợp LeRobot Bao Gồm

  • Cấu hình policy.type=wall_oss_05 chuẩn và tải checkpoint từ Hub.
  • Xử lý thị giác-ngôn ngữ Qwen2.5-VL bản địa và các chuyên gia hành động Wall.
  • Huấn luyện luồng dự đoán x liên tục và lấy mẫu Euler 10 bước.
  • Tối ưu hóa chéo entropy văn bản và tinh chỉnh kết hợp văn bản/hành động dựa trên công thức.
  • Tạo văn bản gốc cho các tác vụ VQA, grounding, chú thích và các tác vụ con về ngôn ngữ.
  • Tạo văn bản trực tiếp thông qua rollout tương tác của LeRobot.
  • Đầu vào trạng thái và hành động 26D chuẩn hóa bằng bộ xử lý q01/q99 của LeRobot.
  • Fine-tuning bằng lerobot-train và suy luận thông qua các API chính sách tiêu chuẩn.

Yêu cầu cài đặt

Wall-OSS-0.5 yêu cầu GPU NVIDIA có CUDA. Cài đặt LeRobot với các phụ thuộc của policy:

pip install "lerobot[wall_oss_05]"

Đối với bản checkout mã nguồn LeRobot:

uv sync --extra wall_oss_05

Chính sách này được triển khai bản địa trong LeRobot. Phụ thuộc duy nhất cụ thể cho chính sách là Transformers; không cần checkout Wall-X riêng biệt. Xử lý dựa trên Recipe cũng yêu cầu phần mở rộng dataset. Đối với truy vấn ngôn ngữ hoặc huấn luyện, hãy cài đặt uv sync --extra wall_oss_05 --extra training (huấn luyện bao gồm hỗ trợ dataset). Đặt --policy.recipe=null để xử lý chỉ hành động mà không cần phần mở rộng dataset.

Điểm kiểm tra

Biến thểLeCheckpoint của LeRobotMục đích sử dụng
Base 4Blerobot/wall-oss-0.5Tinh chỉnh và triển khai 26D chuẩn

Checkpoint bao gồm cấu hình chính sách, bộ xử lý và tokenizer Qwen, trọng số mô hình, bộ tiền xử lý/sau xử lý LeRobot đã lưu, thống kê chuẩn hóa và metadata chuyển đổi. Đây là checkpoint cơ sở: hãy tinh chỉnh nó trên robot và tác vụ đích trước khi báo cáo kết quả ở cấp độ tác vụ.

Cách sử dụng

Chọn chính sách với:

--policy.type=wall_oss_05

Khởi tạo từ checkpoint LeRobot với:

--policy.path=lerobot/wall-oss-0.5

Sử dụng --policy.path=your-org/your-finetuned-checkpoint khi đánh giá hoặc triển khai một checkpoint LeRobot đã lưu.

Văn bản và VQA

Wall-OSS-0.5 sử dụng hợp đồng văn bản chính sách chung. Runtime cung cấp query_kind và query_text, sau đó chạy bộ xử lý đầu vào chính sách thông thường:

request = {
    **observation,
    "query_kind": "vqa",
    "query_text": "Which object is closest to the right gripper?",
}
processed_batch = preprocessor(request)
answer = policy.generate_text(processed_batch)

vqa giữ nguyên câu hỏi của người gọi. next_subtask áp dụng công thức do WallOSS05Config sở hữu. Chính sách kế thừa generate_text(processed_batch) và ghi đè supports_text_generation cùng generate_text. Quá trình sinh sử dụng đầu từ vựng Qwen được liên kết trong checkpoint và chuyên gia ngôn ngữ-thị giác; nó không gọi một VLM riêng biệt.

Runtime ngôn ngữ có thể tạo ra một tác vụ con và sau đó điều kiện hóa dự đoán hành động của Wall dựa trên nó:

lerobot-rollout \
  --policy.path=your-org/your-finetuned-wall-oss-0.5 \
  --policy.device=cuda \
  --task="clear the table" \
  --interactive=true

Sau /start, hãy sử dụng /vqa <question>, /autosteer <goal> hoặc /subtask <text>.

Wall giữ lại các khả năng VQA và grounding hữu ích, nhưng nó được chuyên biệt hóa cho quan sát của robot và không được thiết kế để thay thế một VLM đa dụng.

Yêu cầu về dữ liệu

Wall-OSS-0.5 hoạt động bên trong dựa trên bố cục trạng thái và hành động chuẩn 26D. Các đặc trưng trạng thái và hành động hẹp hơn được chuẩn hóa bằng thống kê của bộ dữ liệu gốc, sau đó được đệm bằng số 0 lên 26D cho mô hình. Các chiều hành động được đệm sẽ bị loại khỏi tổn thất huấn luyện. Đầu ra được cắt xén theo chiều rộng hành động của bộ dữ liệu trước khi khử chuẩn hóa: một trạng thái 8D với hành động 7D sẽ trả về hành động 7D. postprocess_action_dim có thể áp dụng một lần cắt xén đầu ra bổ sung. Việc đệm không ánh xạ lại tọa độ khớp hoặc quy ước bộ điều khiển; hãy cung cấp các giá trị tương thích.

Cấu hình đầu vào hình ảnh bằng camera_key_mapping. Bản ánh xạ này liên kết mỗi đặc trưng hình ảnh LeRobot với một khe camera Wall. Điểm kiểm tra mặc định sử dụng face_view và right_wrist_view.

Chuỗi nhiệm vụ của tập dữ liệu được truyền cho chính sách dưới dạng chỉ dẫn ngôn ngữ. Sử dụng các mô tả nhiệm vụ nhất quán khi ghi lại, huấn luyện và đánh giá.

Chuẩn hóa trạng thái và hành động q01/q99 được xử lý bởi bộ tiền xử lý và hậu xử lý LeRobot đã lưu. Khi suy luận, các thống kê được lưu cùng checkpoint sẽ được khôi phục. Khi tinh chỉnh với lerobot-train, thống kê của tập dữ liệu huấn luyện sẽ thay thế thống kê của bộ xử lý được huấn luyện trước và được lưu cùng checkpoint mới.

Checkpoint đã công bố sử dụng từ điển trạng thái chính sách LeRobot gốc và định dạng tiền xử lý/sau xử lý hiện tại. Trọng số được nạp và lưu thông qua mã lưu trữ chính sách dùng chung, bao gồm cả việc thu thập phân tán và cổng ghi của tiến trình chính. Cấu hình giữ nguyên tham chiếu tài sản tokenizer ổn định và có thể được nạp từ bất kỳ thư mục làm việc nào.

Huấn luyện

Tinh chỉnh checkpoint gốc với lệnh huấn luyện LeRobot tiêu chuẩn:

Ví dụ lệnh huấn luyện

lerobot-train \
  --dataset.repo_id=your-org/your-dataset \
  --policy.path=lerobot/wall-oss-0.5 \
  --policy.repo_id=your-org/wall-oss-0.5-your-task \
  --output_dir=outputs/train/wall_oss_05 \
  --job_name=wall_oss_05_finetune \
  --policy.device=cuda \
  --batch_size=1 \
  --steps=20000

Bắt đầu với kích thước lô nhỏ vì Wall-OSS-0.5 là mô hình 4B tham số. Tăng kích thước lô theo bộ nhớ GPU khả dụng, hoặc sử dụng tích lũy gradient thông qua cấu hình huấn luyện phân tán của bạn.

Đối với các bộ dữ liệu có tên camera khác nhau, hãy ánh xạ các khóa đặc trưng của chúng vào các vị trí camera Wall. Ví dụ, thêm tùy chọn sau cho top và wrist:

--policy.camera_key_mapping='{"observation.images.top":"face_view","observation.images.wrist":"right_wrist_view"}'

Fine-tuning xác định hình dạng camera và chiều rộng state/action từ dataset, bao gồm cả khi nạp checkpoint gốc với --policy.path.

Huấn luyện với chú thích ngôn ngữ

Công thức do WallOSS05Config sở hữu sử dụng các cột ngôn ngữ tùy chọn của LeRobot theo mặc định. Công thức con tác vụ khớp của nó giám sát phản hồi của trợ lý và khối hành động liên tục trong một chuỗi nhân quả duy nhất:

lerobot-train \
  --dataset.repo_id=your-org/your-language-annotated-dataset \
  --policy.path=lerobot/wall-oss-0.5 \
  --policy.use_language_recipe=true \
  --policy.text_loss_weight=0.1 \
  --policy.flow_loss_weight=1.0 \
  --policy.device=cuda \
  --batch_size=1 \
  --steps=20000

Các luồng công thức xác định các mục tiêu nào được thực thi cho mỗi mẫu:

  • một lượt phản hồi của trợ lý được nhắm mục tiêu nhận entropy chéo của văn bản token tiếp theo;
  • một lượt low_level nhận được sự giám sát liên tục về dòng hành động; và
  • Một công thức low_level với lượt phản hồi của trợ lý được nhắm mục tiêu sẽ nhận cả hai tổn thất, trong đó các token hành động chú ý đến văn bản được giám sát.

Chỉ payload của assistant được nhắm mục tiêu và token <|im_end|> của nó được sử dụng làm nhãn ngôn ngữ. Prompt của user, padding, hình ảnh, proprioception và các token action-query liên tục được che (mask) khỏi cross-entropy của text. Các dòng không có chú thích sẽ giữ nguyên prompt và loss chỉ dành cho action. Đặt use_language_recipe=false để vô hiệu hóa việc render chú thích, hoặc recipe=null để vô hiệu hóa cả hai bộ render recipe. Một recipe_path rõ ràng sẽ ghi đè lên recipe tích hợp sẵn. Fine-tuning mới sẽ xây dựng lại processors từ recipe đó và thống kê huấn luyện; huấn luyện tiếp tục và rollout sẽ khôi phục processors và thống kê đã lưu trong checkpoint.

Xem Các cột ngôn ngữ và công thức để biết về schema chú thích và cấu trúc công thức. recipe_path có thể trỏ đến một tệp YAML ghi đè bên ngoài cụ thể; LeRobot không cung cấp các tệp công thức mặc định chung.

Các tham số cấu hình chính

Tham sốMặc địnhMô tả
pretrained_name_or_pathlerobot/wall-oss-0.5Nguồn tài sản tokenizer và image-processor
tokenizer_revisionNoneBản ghim tokenizer cơ sở tùy chọn, tách biệt khỏi bản sửa đổi trọng số
chunk_size32Số lượng hành động được dự đoán cho mỗi khối
n_action_steps32Số lượng hành động dự đoán được thực hiện trước khi lập kế hoạch lại
camera_key_mappinggóc nhìn mặt và cổ tay phảiGán các khóa tính năng hình ảnh với các vị trí camera của mô hình
use_language_recipetrueBật công thức được lưu trong cấu hình chính sách
recipe_pathNoneGhi đè công thức bên ngoài rõ ràng tùy chọn
text_loss_weight0.1Trọng số cho entropy chéo của token trợ lý có giám sát
flow_loss_weight1.0Trọng số cho tổn thất hành động-luồng liên tục
tokenizer_max_length1000Độ dài tối đa của chuỗi token kết hợp thị giác-ngôn ngữ-hành động
deviceautoSử dụng cuda cho Wall-OSS-0.5

Đánh giá và Suy luận

Sử dụng checkpoint đã fine-tune với các quy trình đánh giá LeRobot chuẩn hoặc robot rollout bằng cách truyền repository Hub hoặc thư mục cục bộ của nó làm đường dẫn policy.

Wall-OSS-0.5 tạo ra các khối hành động liên tục bằng trình lấy mẫu luồng của nó. Chính sách hiện tại hỗ trợ nhánh luồng liên tục; nhánh hành động tự hồi quy không được công bố.

Mỗi chunk mã hóa ảnh camera của nó và prefill tiền tố quan sát/văn bản một lần. Mười bước Euler tái sử dụng các key và value của tiền tố và chỉ giải mã các token hành động. Bộ nhớ đệm được xây dựng lại cho mỗi quan sát mới.

Đối với trình mô phỏng được hỗ trợ, hãy cung cấp checkpoint đã tinh chỉnh và các tùy chọn cụ thể cho môi trường thông qua lerobot-eval:

lerobot-eval \
  --policy.path=your-org/your-finetuned-wall-oss-0.5 \
  --policy.device=cuda \
  --env.type=<environment> \
  --env.task=<task> \
  --eval.batch_size=1 \
  --eval.n_episodes=10

Không đánh giá checkpoint gốc như thể nó là một chính sách dành riêng cho tác vụ. Biểu diễn chính tắc, thống kê chuẩn hóa và phân phối tác vụ phải khớp với checkpoint đã tinh chỉnh.

Tham khảo

Giấy phép

Wall-OSS-0.5 và Wall-X được phát hành theo Giấy phép Apache 2.0.

Update on GitHub