Manan17
5ca623a166
fixing gguf export for gemma with text
2026-03-11 00:58:22 +00:00
Manan17
bc5a72dd8c
fix: local directory dataset loading
2026-03-10 21:29:51 +00:00
Manan Shah
f696ef81e8
Merge branch 'nightly' into feat/embedding-models
2026-03-10 14:16:05 -07:00
Roland Tannous
08d9c84f1f
Merge pull request #359 from unslothai/fix/stream-manual-slice-dataset
...
fix: stream HF dataset when manual slice is specified
2026-03-11 01:13:51 +04:00
Manan17
3b0b002b34
fixing logging for each step
2026-03-10 20:32:40 +00:00
Roland Tannous
21ef22a9ff
fix: skip streaming when dataset_slice_start > dataset_slice_end
...
Prevents training on the wrong row range when start exceeds end by
falling back to full download where existing clamping handles it.
2026-03-10 20:21:34 +00:00
Roland Tannous
226f251589
fix: guard against negative dataset_slice_end before streaming
...
Fall back to full download when dataset_slice_end is negative,
avoiding an empty stream.take(0) that would produce a broken dataset.
2026-03-10 20:12:42 +00:00
Roland Tannous
970a029108
fix: stream HF dataset when manual slice is specified
...
Instead of downloading the full dataset and then slicing, use
streaming mode to only fetch the rows needed (up to slice_end + 1)
when a manual dataset slice is configured.
2026-03-10 19:50:53 +00:00
Roland Tannous
c986174c56
fix: preserve zero-valued dataset slice boundaries in embedding worker
...
Use explicit None checks instead of falsy `or` for slice_start and
slice_end so that a valid slice_end=0 is not replaced with the full
dataset length.
2026-03-10 19:33:10 +00:00
Roland Tannous
b84202e8db
fix: restrict shard siblings to exact basename and total count
...
startswith(prefix) could match unrelated split variants whose names
extend the selected file's prefix (e.g. model-Q8_0-v2-00001-of-...).
Now builds an exact regex from the chosen file's base prefix and shard
total so only true siblings are downloaded.
2026-03-10 19:28:26 +00:00
Roland Tannous
b8678a3ed6
fix: pass hf_token for gated embedding models and key cache by token
...
- Forward hf_token to FastSentenceTransformer.from_pretrained() so
private/gated embedding repos authenticate correctly
- Key _embedding_detection_cache by (model_name, hf_token) tuple so
unauthenticated lookups don't shadow subsequent authenticated ones
2026-03-10 19:20:12 +00:00
Roland Tannous
d635846b8d
fix: use exact variant matching and shard-prefix discovery for split GGUFs
...
Substring matching (e.g. "Q8_0" in filename) could match superset
variants like "IQ8_0", causing wrong quantizations to be downloaded.
Now uses word-boundary regex for variant matching and discovers split
shards by shared filename prefix rather than treating all variant
matches as shards.
2026-03-10 19:13:03 +00:00
Roland Tannous
d6ae910edc
fix: propagate is_embedding into worker subprocess config
...
start_training() cherry-picks kwargs into a config dict but was missing
is_embedding, so config.get("is_embedding", False) in worker.py always
returned False and embedding training never ran.
2026-03-10 19:05:47 +00:00
Roland Tannous
defa761fb2
fix: download all GGUF shards for split models (e.g. 7B Q8_0)
...
LlamaCppBackend.load_model() only downloaded the first matching GGUF
file. For split models (e.g. 7B Q8_0 with 3 shards), llama-server
needs all shards present. Now collects and downloads all matching files.
2026-03-10 19:04:10 +00:00
Roland Tannous
5a086353ab
feat: add embedding model training support
...
Add end-to-end embedding/sentence-transformer training pipeline using
FastSentenceTransformer, SentenceTransformerTrainer, and
MultipleNegativesRankingLoss with BatchSamplers.NO_DUPLICATES.
Backend:
- Add is_embedding_model() detection via HF tags + pipeline_tag
- Add /check-embedding/ API route and EmbeddingCheckResponse
- Extend derive_model_type() to return "embeddings"
- Add _run_embedding_training() in worker.py with progress callbacks,
stop handling, LoRA (task_type=FEATURE_EXTRACTION), and model saving
- Add is_embedding field to TrainingStartRequest and ModelDetails
- Add YAML configs for 5 models: all-MiniLM-L6-v2, bge-m3,
embeddinggemma-300m, gte-modernbert-base, Qwen3-Embedding-0.6B
Frontend:
- Wire isEmbeddingModel flag through store, API types, and mappers
- Force packing=false, train_on_completions=false, warmup_ratio=0.03
- Hide packing and train_on_completions checkboxes for embedding models
- Auto-set modelType to "embeddings" from backend model_type response
2026-03-10 18:10:09 +00:00
Roland Tannous
a26a5cc6be
Merge pull request #352 from unslothai/fix/cancel-training
...
Fix/cancel training
2026-03-10 14:38:30 +04:00
Manan17
fd7ca8bda8
distinguish cancel and stop for force terminate
2026-03-10 02:35:32 +00:00
Manan17
9be55f0c1b
fixing cancel training
2026-03-10 02:20:56 +00:00
Roland Tannous
daa50d0756
Revert "Merge pull request #347 from unslothai/feature/studio-storage-roots"
...
This reverts commit 6b43e33ff1 , reversing
changes made to 9edadaf21f .
2026-03-10 01:52:47 +00:00
Shine1i
5301514775
feat(studio): studio storage roots path utilities
2026-03-09 23:48:31 +00:00
Roland Tannous
d882678fe4
Add AGPL-3.0 SPDX headers to all source files
2026-03-09 20:17:45 +00:00
Shine1i
2ccb75f2b7
Merge remote-tracking branch 'origin/nightly' into feature/fixes-client
2026-03-09 19:07:42 +01:00
Roland Tannous
b6811bc5c4
Merge pull request #342 from unslothai/local-dataset
...
dataset upload
2026-03-09 21:22:23 +04:00
Roland Tannous
41351e1566
fix: split dataset 80/20 when eval split matches train split
2026-03-09 16:36:44 +00:00
Shine1i
542d9126cc
chore(data-recipe): bump data-designer to 0.5.2 and pin duckdb<1.5
2026-03-09 17:27:02 +01:00
Roland Tannous
2a11e79b8b
fix: restore eval_enabled early signal for subprocess training
2026-03-09 15:35:49 +00:00
Roland Tannous
c3185d5d98
fix: allow eval-only progress events through worker callback filter
2026-03-09 14:39:49 +00:00
Roland Tannous
56412f2362
include all candidate files when scanning a directory, not just the first
2026-03-09 13:52:45 +00:00
Roland Tannous
91dd7fc762
merge nightly, resolve conflict in use-chat-model-runtime
2026-03-09 13:19:17 +00:00
Roland Tannous
c719f1ba54
training: restore YAML fallback for trust_remote_code (no UI toggle)
2026-03-09 13:10:24 +00:00
Roland Tannous
7989cd4567
respect trust_remote_code toggle, return helpful error when required
2026-03-09 13:06:55 +00:00
Manan17
a49638c504
dataset upload
2026-03-09 05:50:18 +00:00
Shine1i
3b1663b1e9
feat(recipe-studio, datasets): improve dataset handling and update metadata logic
2026-03-09 02:47:32 +01:00
samit
662cb1c440
Adding trust_remote_code to the orchestrator and worker
2026-03-08 16:44:41 -07:00
Shine1i
a2dde15367
merge nightly
2026-03-09 00:32:33 +01:00
samit
86e94b5844
exposed trust_remote_code through the UI
2026-03-08 16:28:56 -07:00
Roland Tannous
a1778d6655
fix: replace is_dataset_multimodal with is_dataset_image/is_dataset_audio in training orchestrator
2026-03-08 19:40:00 +00:00
Manan17
80b704d7b7
Audio_VLM bug fix
2026-03-08 19:14:07 +00:00
Roland Tannous
7ee81dd7df
feat: route audio inference (TTS, ASR, Whisper) through orchestrator/worker subprocess
2026-03-08 18:25:27 +00:00
Roland Tannous
1435dbaf59
merge nightly into audio branch (mock test)
2026-03-08 10:23:44 +00:00
Manan17
ef714f010e
adding export support
2026-03-08 04:18:20 +00:00
Roland Tannous
a7c34b42be
fix: clear stale model state on failed inference subprocess reload
2026-03-07 23:32:53 +00:00
Roland Tannous
4f766bbe25
fix: reset checkpoint metadata on failed export checkpoint reload
2026-03-07 23:29:34 +00:00
Manan17
6487f81113
check fir gated repo
2026-03-07 21:32:50 +00:00
Roland Tannous
8454e6dd2b
fix: scope dataloader_num_workers=0 to Windows + transformers 5.x only
2026-03-07 17:55:59 +00:00
Roland Tannous
ef9184c731
fix: prevent training hang on Windows by adding triton-windows support
2026-03-07 17:53:36 +00:00
Roland Tannous
e25705a211
fix: propagate PYTHONPATH to child subprocesses, revert tokenizer patching
2026-03-07 11:28:24 +00:00
Roland Tannous
9330588015
fix: patch TokenizersBackend in export output after save_pretrained
2026-03-07 10:57:51 +00:00
Roland Tannous
76c78afb8f
fix: patch TokenizersBackend by model name - Qwen3.5→Qwen2Tokenizer, GLM→PreTrainedTokenizer
2026-03-07 10:29:59 +00:00
Roland Tannous
d60cd2843f
fix: patch Qwen3.5 broken tokenizer_class TokenizersBackend across all backends
2026-03-07 09:43:25 +00:00