Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync Fork #206

Closed
wants to merge 171 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
bf2b7c3
Classification (#5)
mikecovlee Feb 1, 2024
79d2af7
fix dispatcher
mikecovlee Feb 1, 2024
c426801
fix bug, add dropout
mikecovlee Feb 1, 2024
6c70379
add arc tests
mikecovlee Feb 5, 2024
0ca47e9
update
mikecovlee Feb 5, 2024
4b927c3
fix bug, add dropout (#6)
mikecovlee Feb 7, 2024
851921a
support lora+
mikecovlee Feb 28, 2024
3197c04
Merge branch 'main' into arc_tests
mikecovlee Mar 1, 2024
271f67c
fix trainer
mikecovlee Mar 4, 2024
187709e
Merge branch 'main' into arc_tests
mikecovlee Mar 4, 2024
dd8a7a9
add boolq test
mikecovlee Mar 4, 2024
97f7c47
remove passage of boolq
mikecovlee Mar 5, 2024
4876030
add obqa benchmark
mikecovlee Mar 6, 2024
fbce886
rearrange codes
mikecovlee Mar 7, 2024
ee1500f
integrate evaluators
mikecovlee Mar 7, 2024
1319a2d
change name
mikecovlee Mar 7, 2024
d9ebc3c
add mmlu scorer
mikecovlee Mar 7, 2024
6d22049
update data prepare
mikecovlee Mar 7, 2024
04d9de0
remove old evaluator
mikecovlee Mar 7, 2024
6766af8
add PIQA
mikecovlee Mar 7, 2024
84de785
update prompts
mikecovlee Mar 7, 2024
360bff6
support qwen2
mikecovlee Mar 7, 2024
d87ddc2
fix inference
mikecovlee Mar 8, 2024
4dd6707
fix quantization
mikecovlee Mar 8, 2024
b9ceaf7
sync with main
mikecovlee Mar 8, 2024
295b777
improve RoPE precision, add safety check
mikecovlee Mar 8, 2024
c45950c
fix PIQA
mikecovlee Mar 12, 2024
3d7cbe4
Merge pull request #7 from mikecovlee/evaluate
mikecovlee Mar 13, 2024
04e818c
add expert lora settings, add patch to mixtral routing
mikecovlee Mar 15, 2024
826f013
update with tudb:main, remove old componments
mikecovlee Mar 16, 2024
b6e0067
Merge branch 'sync_main' into mixlora
mikecovlee Mar 16, 2024
edffa6e
Merge pull request #8 from mikecovlee/sync_main
mikecovlee Mar 16, 2024
f3ce43e
integrate common sense tasks
mikecovlee Mar 17, 2024
a490ab4
add arc
mikecovlee Mar 17, 2024
4b20ce7
add boolq
mikecovlee Mar 17, 2024
f24b3a8
add piqa
mikecovlee Mar 17, 2024
057468b
delete original evaluators
mikecovlee Mar 17, 2024
c84f0e7
allow multiple tasks
mikecovlee Mar 17, 2024
8bbe0be
allow casual tasks
mikecovlee Mar 17, 2024
f5cecc6
launcher -> launch
mikecovlee Mar 17, 2024
1ba3604
update readme
mikecovlee Mar 17, 2024
7dc23a8
fix run bug
mikecovlee Mar 17, 2024
8a242b4
support dora
mikecovlee Mar 18, 2024
e9d3d65
improve performance
mikecovlee Mar 18, 2024
129e518
fix mixlora with dora
mikecovlee Mar 18, 2024
f8956c9
fix lint error, add demo unit test
mikecovlee Mar 18, 2024
fc0f712
Merge pull request #11 from mikecovlee/dora
mikecovlee Mar 18, 2024
c1f93c9
Merge pull request #9 from mikecovlee/mixlora
mikecovlee Mar 18, 2024
2e49ca6
Merge branch 'main' into evaluate
mikecovlee Mar 18, 2024
1876853
fix lint error
mikecovlee Mar 18, 2024
742d50e
support dora
mikecovlee Mar 19, 2024
eca3df6
support dora
mikecovlee Mar 20, 2024
4d89dbc
supporting export the evaluation results
mikecovlee Mar 20, 2024
c568627
fix PIQA
mikecovlee Mar 22, 2024
bf7a77b
add separated evaluator
mikecovlee Mar 22, 2024
388faf6
fix piqa
mikecovlee Mar 22, 2024
2e17c83
improve dora performance
mikecovlee Mar 23, 2024
b365e4d
Merge pull request #12 from mikecovlee/improve_dora
mikecovlee Mar 23, 2024
3d1069f
Merge branch 'main' into evaluate
mikecovlee Mar 23, 2024
eb5af1c
add deterministic and tf32 trigger
mikecovlee Mar 24, 2024
3869dd8
sync useful changes from improve_mixlora
mikecovlee Mar 25, 2024
c1432c5
Merge pull request #13 from mikecovlee/patch_mixlora
mikecovlee Mar 25, 2024
a502436
remove chatglm config
mikecovlee Mar 25, 2024
c3d5d3b
support expert use dora
mikecovlee Mar 25, 2024
4437cd7
fix dora with quantization
mikecovlee Mar 25, 2024
594bc1f
fix lint error, rearrange arguments of entry point
mikecovlee Mar 25, 2024
ea72518
change dummy.json
mikecovlee Mar 25, 2024
4610076
Merge pull request #14 from mikecovlee/bugfix
mikecovlee Mar 25, 2024
f76abae
Merge branch 'main' into evaluate
mikecovlee Mar 25, 2024
3540036
sync with main
mikecovlee Mar 25, 2024
f85a67f
update notation
mikecovlee Mar 25, 2024
0d28a20
Merge branch 'main' into evaluate
mikecovlee Mar 25, 2024
56fbd50
update launch.py
mikecovlee Mar 25, 2024
11c3d33
Merge remote-tracking branch 'refs/remotes/origin/evaluate' into eval…
mikecovlee Mar 25, 2024
e1327c0
add logging to dataloader
mikecovlee Mar 26, 2024
80c1dfb
interrupt running process based on exit code
mikecovlee Mar 26, 2024
e7a72f4
update templates
mikecovlee Mar 26, 2024
ab1ce1e
change default batch size of evaluator
mikecovlee Mar 26, 2024
8d70191
support profiling router loading
mikecovlee Mar 28, 2024
c2c33f1
support multi task
mikecovlee Mar 29, 2024
68a7b68
support multi task evaluation
mikecovlee Mar 31, 2024
091ba93
Merge pull request #10 from mikecovlee/evaluate
mikecovlee Apr 1, 2024
88b486c
Merge branch 'main' into lora_plus
mikecovlee Apr 1, 2024
fef1e63
refractor trainer
mikecovlee Apr 1, 2024
b0dbc41
Merge pull request #15 from mikecovlee/lora_plus
mikecovlee Apr 1, 2024
0800de1
support rslora and gaussian initializer
mikecovlee Apr 1, 2024
6c0450d
align task_type with peft
mikecovlee Apr 1, 2024
9ab39f7
support mixlora with expert lora config
mikecovlee Apr 1, 2024
3d7b9d0
add verbose
mikecovlee Apr 1, 2024
dccc1dc
update config
mikecovlee Apr 1, 2024
0953087
make lint happy
mikecovlee Apr 1, 2024
8d55f77
Merge pull request #16 from mikecovlee/lora_variance
mikecovlee Apr 1, 2024
5ff5ddf
update docs and launcher
mikecovlee Apr 1, 2024
40d3617
refractor config classes
mikecovlee Apr 1, 2024
d770796
fix bug
mikecovlee Apr 1, 2024
338d132
separate attention layer
mikecovlee Apr 1, 2024
989ce69
support flash attention
mikecovlee Apr 1, 2024
fca72a1
add docs of flash attn
mikecovlee Apr 1, 2024
2d6c33a
separate xformers attention
mikecovlee Apr 2, 2024
7487bf5
update dummy.json
mikecovlee Apr 2, 2024
f7e1fe4
update dependencies, add peft generation test, fix flash attention wi…
mikecovlee Apr 2, 2024
638d096
refractor attn_impl args
mikecovlee Apr 2, 2024
76d96e3
fix attention mask of flash attention
mikecovlee Apr 2, 2024
a505bf0
sync args of mlora to launcher
mikecovlee Apr 2, 2024
341fdbe
Add SWA flag
mikecovlee Apr 2, 2024
89b96d7
fix lint error
mikecovlee Apr 2, 2024
1941725
Merge pull request #17 from mikecovlee/refractor_attn
mikecovlee Apr 3, 2024
4abfc66
support apple mps
mikecovlee Apr 3, 2024
f5205c8
rearrange codes
mikecovlee Apr 3, 2024
a2191f0
fix issues in linux
mikecovlee Apr 3, 2024
f6ee9d3
update readme, add minimal dummy config
mikecovlee Apr 3, 2024
fa03799
fix bug
mikecovlee Apr 3, 2024
e1d841d
fix issues causing quantization error
mikecovlee Apr 3, 2024
b9d29cf
fix issues of mps nan
mikecovlee Apr 3, 2024
feb42fb
fix eager attention
mikecovlee Apr 3, 2024
9536abb
update requirements
mikecovlee Apr 3, 2024
deae3da
sync linux requirements
mikecovlee Apr 3, 2024
dd7cb50
improve eager attention
mikecovlee Apr 4, 2024
1e67b30
update config
mikecovlee Apr 4, 2024
4a1afef
fix mixlora on mps
mikecovlee Apr 4, 2024
7e1b5e4
fix input precision
mikecovlee Apr 4, 2024
68c7081
migrate mmlu evaluator to new APIs
mikecovlee Apr 4, 2024
7842db9
fix lint error
mikecovlee Apr 4, 2024
4df69db
Merge pull request #18 from mikecovlee/mps_support
mikecovlee Apr 4, 2024
4384eed
fix mps checkpoint
mikecovlee Apr 5, 2024
2aeb158
fix precision bug
mikecovlee Apr 5, 2024
32f846d
Merge pull request #19 from scukdde-llm/fix_mps_checkpoint
mikecovlee Apr 5, 2024
662c39d
update docs
mikecovlee Apr 5, 2024
d67d3d0
update readme
mikecovlee Apr 5, 2024
c7792e3
add installation docs
mikecovlee Apr 6, 2024
17111bb
migrate urls
mikecovlee Apr 6, 2024
2f3d88c
add setup_logging
mikecovlee Apr 6, 2024
2b35320
Merge pull request #20 from scukdde-llm/update-doc
mikecovlee Apr 6, 2024
0d29b5a
fix cuda init on windows
mikecovlee Apr 6, 2024
f757c85
change to built-in impls
mikecovlee Apr 6, 2024
331e134
set allocation limit to mps devices
mikecovlee Apr 6, 2024
c27d615
update docs
mikecovlee Apr 6, 2024
0ac2ee9
Merge branch 'main' into win_support
mikecovlee Apr 6, 2024
65aa3c2
migrate LoraFunction from tudb:main
mikecovlee Apr 6, 2024
aaa2bc3
fix errors
mikecovlee Apr 6, 2024
a0ed6d7
fix in mps
mikecovlee Apr 6, 2024
6608abc
Merge pull request #21 from scukdde-llm/win_support
mikecovlee Apr 6, 2024
1593e5c
fix pyproject.toml
mikecovlee Apr 6, 2024
1d24d37
update install.md
mikecovlee Apr 6, 2024
735f5da
sync with main
mikecovlee Apr 6, 2024
18eae98
Merge pull request #22 from scukdde-llm/lora_op
mikecovlee Apr 6, 2024
9384c80
Fix CI Scripts (#24)
mikecovlee Apr 6, 2024
a5772bb
add docker instructions
mikecovlee Apr 7, 2024
4d26f98
add release tag
mikecovlee Apr 7, 2024
2618eff
fix pyproject.toml, add blank docs
mikecovlee Apr 7, 2024
82ba381
Support Phi and Gemma models, refactoring framework (#29)
mikecovlee Apr 9, 2024
4786dd5
Support cpu as backend (#32)
mikecovlee Apr 9, 2024
35b53ed
Reads hidden act from configuration (#31)
mikecovlee Apr 9, 2024
da2a725
rearrange entrance of backends
mikecovlee Apr 9, 2024
c11371b
fix launch.py on macOS
mikecovlee Apr 9, 2024
492c972
add version check
mikecovlee Apr 9, 2024
af6c37e
add template of phi models
mikecovlee Apr 9, 2024
e8f601f
improve inference experience (#33)
mikecovlee Apr 10, 2024
c716825
Fix Tokenizer (#34)
mikecovlee Apr 11, 2024
0368667
fix mmlu evaluator (#38)
mikecovlee Apr 16, 2024
1d08c4e
Fix bugs (#39)
mikecovlee Apr 16, 2024
0b2c539
support llama-3 (#42)
mikecovlee Apr 23, 2024
01b2704
fix tokenizer (#43)
mikecovlee Apr 25, 2024
ac9fe84
Support More LoRA MoEs (#44)
mikecovlee Apr 27, 2024
9358771
fix dora precision
mikecovlee May 5, 2024
74b4fc7
fix dora, improve efficiency
mikecovlee May 5, 2024
3c5a351
Support SIQA, HellaSwag and WinoGrande Dataset (#47)
mikecovlee May 6, 2024
75a4700
Fix Load Balance Loss of MixLoRA (#46)
mikecovlee May 6, 2024
aa641b1
Fix CI and update docs (#48)
mikecovlee May 7, 2024
c807cef
Support Medical QA Datasets (#50)
mikecovlee May 12, 2024
0cfc150
Optimize the Performance of MixLoRA (#51)
mikecovlee May 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 0 additions & 56 deletions .github/workflows/ci_script.py

This file was deleted.

55 changes: 55 additions & 0 deletions .github/workflows/mlora-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Test LLM Models

on: [push, pull_request]

jobs:
test-llama:
runs-on: self-hosted
container:
image: mikecovlee/mlora:0.3.1
volumes:
- /home/lab/models:/host_models/
options: --gpus "device=1"
steps:
- uses: actions/checkout@v3
- name: finetune lora
run: |
python launch.py gen --template lora --tasks ./data/dummy_data.json --micro_batch_size 4
python launch.py train --base_model /host_models/TinyLlama-1.1B-intermediate-step-1431k-3T --attn_impl eager --dtype fp16
- name: inference with lora
run: |
python generate.py --base_model /host_models/TinyLlama-1.1B-intermediate-step-1431k-3T --template "./template/alpaca.json" --lora_weights "./casual_0" --instruction "What is m-LoRA?" --max_seq_len 64

test-gemma:
runs-on: self-hosted
container:
image: mikecovlee/mlora:0.3.1
volumes:
- /home/lab/models:/host_models/
options: --gpus "device=1"
steps:
- uses: actions/checkout@v3
- name: finetune lora
run: |
python launch.py gen --template lora --tasks ./data/dummy_data.json --micro_batch_size 4
python launch.py train --base_model /host_models/gemma-2b --attn_impl eager --dtype fp16
- name: inference with lora
run: |
python generate.py --base_model /host_models/gemma-2b --template "./template/alpaca.json" --lora_weights "./casual_0" --instruction "What is m-LoRA?" --max_seq_len 64

test-phi:
runs-on: self-hosted
container:
image: mikecovlee/mlora:0.3.1
volumes:
- /home/lab/models:/host_models/
options: --gpus "device=1"
steps:
- uses: actions/checkout@v3
- name: finetune lora
run: |
python launch.py gen --template lora_phi --tasks ./data/dummy_data.json --micro_batch_size 4
python launch.py train --base_model /host_models/phi-2 --attn_impl eager --dtype fp16
- name: inference with lora
run: |
python generate.py --base_model /host_models/phi-2 --template "./template/alpaca.json" --lora_weights "./casual_0" --instruction "What is m-LoRA?" --max_seq_len 64
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash

flake8 . --count --show-source --statistics --max-line-length=127 --max-complexity 15 --ignore=E722,W504
flake8 . --count --show-source --statistics --max-line-length=127 --max-complexity 15 --ignore=E722,W504,W503

pytest
39 changes: 0 additions & 39 deletions .github/workflows/python-test-main.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Test on Development Branches
name: Test on Main

on:
push:
branches:
- '*_dev'
on: [push, pull_request]

permissions:
contents: read
Expand Down
56 changes: 0 additions & 56 deletions .github/workflows/run_on_dev.yml

This file was deleted.

7 changes: 6 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,11 @@ template/*
!data/dummy_data.json
!template/test_data_demo.json
!template/template_demo.json
data_train.json

# macOS junk files
.DS_Store
.DS_Store

# LoRA adapters
adapter_model.bin
adapter_config.json
35 changes: 35 additions & 0 deletions .launcher/lora.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"cutoff_len": 512,
"save_step": 1000,
"train_lora_candidate_num": 2,
"train_lora_simultaneously_num": 2,
"train_strategy": "optim",
"lora": [
{
"name": "lora",
"task_name": "",
"optim": "adamw",
"scheduler_type": "constant",
"warmup_steps": 0,
"lr": 2e-4,
"batch_size": 16,
"micro_batch_size": 8,
"test_batch_size": 32,
"num_epochs": 2,
"r": 80,
"lora_alpha": 160,
"lora_dropout": 0.05,
"target_modules": {
"q_proj": true,
"k_proj": true,
"v_proj": true,
"o_proj": true,
"w1_proj": true,
"w2_proj": true,
"w3_proj": true
},
"group_by_length": false,
"expand_side": "right"
}
]
}
34 changes: 34 additions & 0 deletions .launcher/lora_phi.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"cutoff_len": 512,
"save_step": 1000,
"train_lora_candidate_num": 2,
"train_lora_simultaneously_num": 2,
"train_strategy": "optim",
"lora": [
{
"name": "lora",
"task_name": "",
"optim": "adamw",
"scheduler_type": "constant",
"warmup_steps": 0,
"lr": 2e-4,
"batch_size": 16,
"micro_batch_size": 8,
"test_batch_size": 32,
"num_epochs": 2,
"r": 80,
"lora_alpha": 160,
"lora_dropout": 0.05,
"target_modules": {
"q_proj": true,
"k_proj": true,
"v_proj": true,
"dense": true,
"fc1": true,
"fc2": true
},
"group_by_length": false,
"expand_side": "right"
}
]
}
38 changes: 38 additions & 0 deletions .launcher/mixlora.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"cutoff_len": 512,
"save_step": 1000,
"train_lora_candidate_num": 2,
"train_lora_simultaneously_num": 2,
"train_strategy": "optim",
"lora": [
{
"name": "mixlora",
"task_name": "",
"optim": "adamw",
"scheduler_type": "constant",
"warmup_steps": 0,
"lr": 2e-4,
"batch_size": 16,
"micro_batch_size": 8,
"test_batch_size": 32,
"num_epochs": 2,
"r": 16,
"lora_alpha": 32,
"lora_dropout": 0.05,
"target_modules": {
"q_proj": true,
"k_proj": true,
"v_proj": true,
"o_proj": true,
"w1_proj": true,
"w2_proj": true,
"w3_proj": true
},
"routing_strategy": "mixtral",
"num_experts": 8,
"top_k": 2,
"group_by_length": false,
"expand_side": "right"
}
]
}
37 changes: 37 additions & 0 deletions .launcher/mixlora_phi.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"cutoff_len": 512,
"save_step": 1000,
"train_lora_candidate_num": 2,
"train_lora_simultaneously_num": 2,
"train_strategy": "optim",
"lora": [
{
"name": "mixlora",
"task_name": "",
"optim": "adamw",
"scheduler_type": "constant",
"warmup_steps": 0,
"lr": 2e-4,
"batch_size": 16,
"micro_batch_size": 8,
"test_batch_size": 32,
"num_epochs": 2,
"r": 16,
"lora_alpha": 32,
"lora_dropout": 0.05,
"target_modules": {
"q_proj": true,
"k_proj": true,
"v_proj": true,
"dense": true,
"fc1": true,
"fc2": true
},
"routing_strategy": "mixtral",
"num_experts": 8,
"top_k": 2,
"group_by_length": false,
"expand_side": "right"
}
]
}
Loading