Kubeflow Pipelines
Purpose
The purpose of this repository is a place to learn new things. From infrastructure to new LLM training techniques.
State
Data: Currently I have a functional transformer pipeline which learns common n-grams in human speech. This is due to the lack of data primarily.
Model: The transformer model is tested, and has been compared to other implementation. It's prediction time is sensible and small enough for my local hardware.
Future Work
Improved ML: Currently only supervised learning is employed, I expect the performance will plateau without reinforcement learning with human feedback (RLHF). This is to be added to the reddit pipeline.
Improved Logging: After training I'd like a set of input output pairs logged to MlFlow for increased transparency to output deficiencies.
Pipelines
- Reddit Iteratively learning to create engaging posts with reddit data.
Baremetal Usage
- Run notebook
notebooks/reddit_training.ipynb- Define hyperparameters that make sense for your system
- Metrics are recorded locally and can be observed with locally running mlflow or with the
verbose=trueoptions, test examples are printed tostandard out
Kubeflow Usage
- Upload notebook
notebooks/reddit_pipeline.ipynb - Define environment variables
- Run cells defining training pipeline
- Run/Schedule pipeline
Pipeline Description
The pipeline is ran each day. In this process this is done:
- New data is downloaded
- The current best model is downloaded and evaluated
- If the model has degraded or is not proficient, training is ran
At the time of writing this I only have 500 samples in training set, so a test BLEU score of 0 is expected, though I hope in the coming days it will improve.
The pipeline records metrics in mlflow and records the hyperparameters/logs/outputs of each run.
Metadata
Release files for ajperry-pipeline 0.1.23
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ajperry_pipeline-0.1.23.tar.gz | 13.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ajperry_pipeline-0.1.23-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.0 kB
Release files / ajperry_pipeline-0.1.23.tar.gz
| Download URL | ajperry_pipeline-0.1.23.tar.gz |
|---|---|
| Size | 13.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03120a98c4c51e58df681eda088f43249e2d72375dde3b0c8b6915166f39a4e1
|
|
BLAKE2b-256 checksum How to use checksums |
b4cecc7e195ad9db69ef64a1808212db60dac58032e85e2ff8242a14aa5feaf3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.10.18 Linux/6.11.0-1018-azure
|
Release files / ajperry_pipeline-0.1.23-py3-none-any.whl
| Download URL | ajperry_pipeline-0.1.23-py3-none-any.whl |
|---|---|
| Size | 19.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ed1fa7f0675840b581fc2934736dde6637409869c8931e2e4774854d1369054
|
|
BLAKE2b-256 checksum How to use checksums |
665f59cf61d5fb688d8a3521aeb08fbb6227ec12338ad3f10fc193acfa537fba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.1.4 CPython/3.10.18 Linux/6.11.0-1018-azure
|