ml-explore / ml-explore/mlx-examples
LoRA training really slow
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 9k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
around 1 token per second, each evaluation take 30 minutes
There are long lines (2000 words) in custom train.jsonl
Please help, give a clue. Thanks!
log:
Iter 1: Val loss 2.612, Val took 1822.826s
Iter 10: Train loss 3.608, It/sec 0.015, Tokens/sec 1.425
Iter 20: Train loss 3.508, It/sec 0.013, Tokens/sec 1.522
Iter 30: Train loss 3.524, It/sec 0.014, Tokens/sec 1.024
Iter 40: Train loss 3.352, It/sec 0.014, Tokens/sec 1.383
Iter 50: Train loss 3.298, It/sec 0.014, Tokens/sec 1.062
Iter 60: Train loss 3.141, It/sec 0.013, Tokens/sec 1.233
Iter 70: Train loss 2.889, It/sec 0.013, Tokens/sec 1.389
Iter 80: Train loss 2.708, It/sec 0.013, Tokens/sec 0.986
Iter 90: Train loss 2.332, It/sec 0.013, Tokens/sec 1.236
Iter 100: Train loss 2.168, It/sec 0.013, Tokens/sec 1.405
Iter 110: Train loss 2.099, It/sec 0.013, Tokens/sec 1.363
Iter 120: Train loss 1.986, It/sec 0.013, Tokens/sec 3.075
Iter 130: Train loss 1.606, It/sec 0.013, Tokens/sec 1.458
Iter 140: Train loss 1.749, It/sec 0.013, Tokens/sec 1.634
Iter 150: Train loss 1.804, It/sec 0.012, Tokens/sec 2.393
Iter 160: Train loss 1.583, It/sec 0.013, Tokens/sec 1.546
Iter 170: Train loss 1.434, It/sec 0.013, Tokens/sec 1.145
Iter 180: Train loss 1.559, It/sec 0.013, Tokens/sec 1.303
Iter 190: Train loss 1.774, It/sec 0.013, Tokens/sec 1.381
Iter 200: Train loss 1.555, It/sec 0.013, Tokens/sec 1.169
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the LoRA training entry point and inspecting how custom train.jsonl is loaded and evaluated, using the reported validation duration and tokens-per-second logs as the baseline. Reproduce the slowdown with the long 2000-word lines, then identify and verify a documented or code-level improvement that brings evaluation and training performance to an expected range.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100