gfxstream_deqp_vk
Build, run, debug, and iterate on Linux deqp-vk Vulkan CTS tests over Gfxstream (guest vulkan.ranchu.so + host kumquat_virtio + Lavapipe) without an Android guest image. Use this skill whenever running dEQP-VK tests against Gfxstream, diagnosing Vulkan CTS failures, collecting guest/host/QPA logs, or making iterative fixes to Gfxstream guest (external/mesa3d), Gfxstream host (hardware/google/gfxstream), or dEQP (external/deqp). This skill assumes a certain checkout structure to locate gfxstream, mesa3d, and deqp folders relative to the workspace root.
- License 许可
- Apache-2.0
- 所属仓库
- google/gfxstream
- 最近更新
- 2026-11-09
- Stars
- ★ 65
- Forks
- 50
01 前言 Front Matter
- name
- ml-evaluation-and-tracking
- author
- Hermes Agent
- license
- MIT
- version
- 1.0.0
- metadata
- { "hermes": { "tags": [ "ml", "evaluation", "benchmarking", "wandb", "experiment-tracking", "llm" ], "related_skills": [ "llm-inference-and-serving", "huggingface-hub" ] } }
- platforms
- [ "linux", "macos", "windows" ]
- description
- Benchmark and track machine learning experiments: lm-eval-harness for LLM benchmarks and Weights & Biases for experiment logging.
03 SKILL.md 正文
ML Evaluation and Tracking
Evaluating LLMs (lm-eval-harness)
Run standardized benchmarks (MMLU, GSM8K, HellaSwag, etc.) against any HuggingFace-compatible model or local API endpoint.
Install
git clone https://github.com/EleutherAI/lm-evaluation-harness
cd lm-evaluation-harness
pip install -e .
Run a Benchmark
lm_eval --model hf --model_args pretrained=meta-llama/Llama-2-7b-hf --tasks mmlu,gsm8k --batch_size 8 --device cuda
Tasks Available
| Task | Measures |
|---|---|
mmlu |
Multi-subject knowledge |
gsm8k |
Grade-school math reasoning |
hellaswag |
Commonsense inference |
arc_challenge |
Science questions |
truthfulqa_mc |
Truthfulness |
Output Formats
lm_eval ... --output_path ./results --log_samples
# Produces JSON with aggregated scores and per-sample details
Custom Tasks
Add YAML task definitions to lm_eval/tasks/:
dataset_path: json
validation_split: validation
process_docs: !function utils.process
doc_to_text: "{{question}}\nA. {{choices[0]}}\nB. {{choices[1]}}"
doc_to_target: "{{answer}}"
metric:
- accuracy
API Models
lm_eval --model local-completions --model_args base_url=http://localhost:8000/v1/completions,num_concurrent=8 --tasks mmlu
Weights & Biases (W&B)
Log experiments, track metrics, manage model registry, and build dashboards.
Setup
pip install wandb
wandb login
Basic Logging
import wandb
wandb.init(project="my-project", config={"lr": 0.001, "epochs": 10})
for epoch in range(10):
loss = train_step()
wandb.log({"loss": loss, "epoch": epoch})
wandb.finish()
Artifacts (Model Versioning)
artifact = wandb.Artifact("model", type="model")
artifact.add_dir("./checkpoints")
wandb.log_artifact(artifact)
Sweeps (Hyperparameter Search)
# sweep.yaml
program: train.py
method: bayes
metric:
name: val_loss
goal: minimize
parameters:
lr:
distribution: uniform
min: 0.0001
max: 0.01
wandb sweep sweep.yaml
wandb agent sweep-id
Common Pitfalls
lm-eval-harnesstask names are case-sensitive- W&B offline mode requires
wandb synclater; don't forget - Large batch sizes in lm-eval can OOM on consumer GPUs — start with 1 and scale up
- Always pin
lm-eval-harnessto a specific git commit for reproducibility