Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Safe mode breaks Tinker training, loopback-only hosts crash at deploy, checkpoints unusable from stock Tinker SDK

Đang mở
#298 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, python

Hướng nghiên cứu

Three separate problems are reported, so split them before starting. Begin with check_unsafe in src/twinkle/infra/init.py near line 573 and the TWINKLE_TRUST_REMOTE_CODE path, then find_node_ip() in src/twinkle/utils/network.py and the MASTER_ADDR use in ray_helper.py, then checkpoint_manager.py for the twinkle:// paths. Done means forward_backward works with trust off, a loopback-only host deploys, and returned sampler paths are usable by the stock SDK.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug
  • I have searched existing issues, and this is a new bug report.
Bug Description

Three problems when running Twinkle 0.5.1 in an isolated container and using it from the stock Tinker SDK (source links at v0.5.1):

  1. Safe mode breaks Tinker training.
    • With TWINKLE_TRUST_REMOTE_CODE=0, every forward_backward fails with Twinkle does not support Callable or Type inputs in safe mode. The check is check_unsafe on the remote-call path (infra/init.py#L573).
    • So operators can't turn remote-code trust off, and it defaults to on.
  2. Loopback-only hosts crash at deploy.
    • Under e.g. docker run --network none, find_node_ip() skips every 127.* address and returns None (utils/network.py#L15-L28).
    • That None becomes MASTER_ADDR (ray_helper.py#L336), and the deployment fails with TypeError: runtime_env['env_vars'] must be of type Dict[str, str].
    • Also, .locks is created in the CWD (utils/parallel.py#L9), which fails when the CWD is read-only.
  3. Checkpoints can't be used from the stock Tinker SDK.
    • save_weights_for_sampler() returns twinkle://... paths, which the unpatched SDK rejects (ValueError: Invalid tinker path). There's also no archive/download endpoint.
    • name is ignored, and each save deletes the previous sampler weights (checkpoint_manager.py#L241-L285), so earlier returned paths go stale.
How to Reproduce
  1. Set TWINKLE_TRUST_REMOTE_CODE: "0" in the model deployment's env_vars, then call forward_backward(data, "cross_entropy").
  2. Start ray start --head --node-ip-address=127.0.0.1 and twinkle-server launch inside a --network none container.
  3. With tinker==0.16.1, call get_checkpoint_archive_url_from_tinker_path(tc.save_weights_for_sampler(name="x").result().path).
Additional Information

Suggested fixes:

  1. Exempt Twinkle's built-in loss and template classes from check_unsafe.
  2. In find_node_ip(), fall back to 127.0.0.1 (or the Ray node IP), and put .locks under TWINKLE_HOME or the temp dir.
  3. Return tinker://-compatible paths, add the Tinker archive endpoint, and honour name. That would let separate evaluators load trained adapters without patching the SDK.

Environment: twinkle-kit 0.5.1, ray 2.58.0, Ubuntu 24.04 container, tinker 0.16.1.

Ngôn ngữ chính
Python
Star
260
Fork
55
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
15

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của modelscope/twinkle

Tất cả issue của modelscope/twinkle

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.