File size: 1,762 Bytes
fd0b01f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
.PHONY: help sync data train evaluate export benchmark pack push all smoke clean

RUN_ID ?= run-$(shell date -u +%Y%m%d-%H%M%S)
LR ?=
EPOCHS ?=

help:
	@echo "make sync                  install dependencies via uv"
	@echo "make data                  01: download disfluencyspeech, build injection pairs"
	@echo "make train RUN_ID=r1       02: lora sft on qwen2.5-0.5b-instruct"
	@echo "make evaluate RUN_ID=r1    03: raw vs base vs fine-tune on the real held-out test"
	@echo "make export RUN_ID=r1      04: merge lora and export fp32 + int8 onnx"
	@echo "make benchmark RUN_ID=r1   05: cpu latency (run locally for the truth)"
	@echo "make pack RUN_ID=r1        06: tar the run, print sha256 and the scp line"
	@echo "make push RUN_ID=r1        publish to the hf hub (uses HF_TOKEN in .env.local)"
	@echo "make all RUN_ID=r1         the whole pipeline end to end (no push, no benchmark)"
	@echo "make smoke                 tiny cpu run, no gpu needed, validates wiring"

sync:
	uv sync

data:
	uv run python scripts/01_download.py

train:
	uv run python scripts/02_train.py --run-id $(RUN_ID) $(if $(LR),--lr $(LR),) $(if $(EPOCHS),--epochs $(EPOCHS),)

evaluate:
	uv run python scripts/03_evaluate.py --run-id $(RUN_ID)

export:
	uv run python scripts/04_export.py --run-id $(RUN_ID)

benchmark:
	uv run python scripts/05_benchmark.py --run-id $(RUN_ID)

pack:
	uv run python scripts/06_pack_and_ship.py --run-id $(RUN_ID)

push:
	uv run python scripts/push_to_hub.py --run-id $(RUN_ID)

all: sync data train evaluate export pack

smoke:
	uv run python scripts/01_download.py --smoke
	uv run python scripts/02_train.py --run-id smoke --smoke
	uv run python scripts/03_evaluate.py --run-id smoke --smoke

clean:
	rm -rf runs/*
	rm -rf data/pairs
	rm -rf dist/*