[feat] Track Exact Fast-LLM Version in Training Outputs and wandb Logs
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- git, python
- Lĩnh vực
- devtools, machine-learning
Hướng nghiên cứu
The payload names no source files, so start by finding where training output directories are created and where the wandb run is initialized. Derive the version from git describe --tags --dirty with a commit-hash fallback, then write it to fast_llm_version.txt, add it to the wandb config and a tag, and print it at startup. Done means a run's output directory and wandb run both show the version string. The thread has had no reply for about 646 days, so confirm the approach with maintainers before starting.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
🧐 Problem Description
The version of Fast-LLM used for training is currently not easily accessible. While training job specs (e.g., Toolkit, Kubeflow) provide the image path/URL, references like ghcr.io/servicenow/fast-llm:latest don't indicate which commit or tagged version was used. This makes it difficult to trace back to the exact codebase version for a training run.
💡 Proposed Solution
Include a version string in the output directory of each training run and log it to wandb for visibility.
Details:
- For tagged release commits, use the semantic version (e.g.,
v1.2.3). - For non-tagged commits, include the commit hash (e.g.,
abcdef1) and mark the build as "dirty" if uncommitted changes exist (e.g.,abcdef1-dirty). - Example formats:
- Tagged release:
v1.2.3 - Non-tagged commit:
abcdef1 - Modified tagged release:
v1.2.3-dirty
- Tagged release:
This version string should:
- Be written to a file in the training output directory (e.g.,
fast_llm_version.txt). - Be logged to wandb:
- As part of the run configuration (
wandb.init(config=...)). - As a standalone field (
wandb.log). - Optionally, as a tag for easier filtering (
wandb.init(tags=...)).
- As part of the run configuration (
- Be shown in stdout logs.
🔄 Alternatives Considered
- Using container image tags in job specs:
- Problem: Tags like
latestare ambiguous. Job descriptions may not persist (e.g., they could be garbage-collected or lost when a Kubernetes instance is decommissioned).
- Problem: Tags like
📈 Potential Benefits
- Reproducibility: Trace models back to the exact version of Fast-LLM used.
- Transparency: Facilitates auditing and debugging of training runs.
- Usability: Avoids manual tracking of version information.
📝 Additional Context
This feature aligns with best practices for software versioning and reproducibility. Common formats like semantic versioning (semver) and commit hashes are widely supported and easy to interpret.
Relevant references:
- Semantic Versioning
- Git documentation on describing tags.
- wandb documentation on logging custom metrics and tags.
- Ngôn ngữ chính
- Python
- Star
- 337
- Fork
- 52
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ServiceNow/Fast-LLM
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
ServiceNow/Fast-LLM#556 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
ServiceNow/Fast-LLM#538 ·
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
ServiceNow/Fast-LLM#533 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
ServiceNow/Fast-LLM#510 · 1 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 12/100
ServiceNow/Fast-LLM#507 ·
Tất cả issue của ServiceNow/Fast-LLM
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
vllm-project/vllm#64845 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
dekobon/big-code-analysis#1729 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Add `openai_safety_identifier`, the replacement for the `user` field that `openai_user` sendsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
pydantic/pydantic-ai#12091 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100