Files
unstuck-qwen2.5-0.5b-steps/README.md
ModelHub XC d340fec526 初始化项目,由ModelHub XC社区提供模型
Model: art87able/unstuck-qwen2.5-0.5b-steps
Source: Original Platform
2026-09-08 03:43:17 +08:00

60 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
license: apache-2.0
base_model: Qwen/Qwen2.5-0.5B-Instruct
library_name: transformers
pipeline_tag: text-generation
tags:
- unstuck
- task-breakdown
- adhd
- lora
- build-small-hackathon
- small-models
language:
- en
---
# Unstuck — Qwen2.5-0.5B fine-tuned for ADHD task breakdowns
A tiny (0.5B) instruct model fine-tuned to turn one overwhelming task into **tiny, timed, categorised steps** in the exact JSON schema used by [Unstuck](https://huggingface.co/spaces/build-small-hackathon/unstuck) (HF Build Small Hackathon, Backyard AI track).
It powers Unstuck's `UNSTUCK_BACKEND=finetuned` path — a fully local, serverless-free option that runs the same `generate(prompt) -> str` seam as the app's other backends.
## What it does
Given an overwhelming task, it returns only:
```json
{"steps":[{"text":"Open a trash bag and collect visible rubbish","category":"admin","est_minutes":5}, ...]}
```
- each step a single concrete action starting with an imperative verb,
- one category from `admin · creative · errand · deep-work`,
- a positive-integer minute estimate, **never above 25** (a hard app rule).
## How it was built
- **Base:** `Qwen/Qwen2.5-0.5B-Instruct`.
- **Data:** 130 schema-valid breakdowns **distilled** from a strong serverless model (`Qwen/Qwen3-30B-A3B-Instruct-2507` on Nebius Token Factory), each filtered through Unstuck's own validator so only on-contract examples survive. Purely synthetic — no user data.
- **Method:** LoRA (r=16, α=32, dropout 0.05; q/k/v/o projections), 3 epochs, lr 2e-4, merged into the base. Final train loss ≈ 0.21.
- **Compute:** a single **Modal** A10G GPU. Full pipeline (distill → train → verify): [`scripts/finetune/`](https://github.com/art87able/unstuck/tree/main/scripts/finetune).
## Usage
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("art87able/unstuck-qwen2.5-0.5b-steps")
model = AutoModelForCausalLM.from_pretrained("art87able/unstuck-qwen2.5-0.5b-steps")
# Feed it Unstuck's breakdown prompt (see unstuck.prompts.breakdown_prompt) and parse the JSON.
```
Or in the app: `UNSTUCK_BACKEND=finetuned python app.py`.
## Limitations
A 0.5B model specialised for one narrow JSON task — it is not a general chat model. Outputs should still be schema-validated (the app does one repair retry on failure). Estimates are starting points; Unstuck recalibrates them to *your* real timings client-side.
- **Source:** https://github.com/art87able/unstuck
- **Live app:** https://huggingface.co/spaces/build-small-hackathon/unstuck