Name suggestions are very welcome.
After cloning the repo, cd
to repo directory and run ./start-dev.sh
. This will create a virtual environment, install requirements and setup git hooks.
Running start-dev.sh
will install requirements. If you wish to setup your environment manually, python3 -m pip install -r requirements.txt
should work. Be sure to use a virtualenv.
Run a single local experiment with python3 -m lizrd.train.bert_train TESTING
. The flag TESTING
will disable ClearML, and run a smaller model.
If you use ClearML, you must have clearml config in your home directory. Note that if you don't use srun.sbatch on entropy, you won't have access to GPU.
To run a single experiment on entropy, write your shell script based on run_train.sh
, and run it either by:
srun --partition=common --qos=24gpu7d --gres=gpu:titanv:1 run_time.sh
or sbatch lizrd/scripts/run_train.sh
.
To run multiple experiment, modify gen_run_trains.py and run:
python3 -m lizrd.scripts.gen_run_trains.py --prefix=SWPB --real --sleep=70
To just generate configs without scheduling jobs, run:
python3 -m lizrd.scripts.gen_run_trains.py --prefix=SWP --test --sleep=0
By directories:
lizrd
- main librarycore
- core codebert.py
- main layers, bert model- in the future, this should be split into layers, models, and some of it should be moved to research
misc.py
- miscellanous functionsnn.py
- base Module layer, and classes from torch.nn
datasets
- data processingwikibookdata.py
- data processing of standard BERT training datasets
scripts
- scripts for running experimentsgen_run_trains.py
- generate shell scripts for running experimentsrun_train.sh
- shell script for running a single experiment
support
- support codeash.py
- Assert Shapes on tensorsmetrics.py
- logging metrics during trainingprofile.py
- for profiling models and layerstest_utils.py
- testing utilities
train
- training codebert_train.py
- main training script
research
- experimental codearchived_code
- probably should be removedinitialization
- research on better initialization schemetiming
- tests with profiling the main codeconditional
- research on conditional computation (to be split fromcore
)nonlinearities
- research on smaller neuronsreinitialization
- research on recycling neurons
This project is licensed under the terms of the Apache License, Version 2.0.
Copyright 2023 LLM-Random Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.