A library for quick fine-tuning and interaction with popular language models
Project description
QuickLLM: Fast and Easy Fine-tuning for Popular Language Models
QuickLLM is a Python library that simplifies the process of fine-tuning and interacting with popular language models. With QuickLLM, you can quickly adapt pre-trained models to your specific tasks and chat with them effortlessly.
Features
- Fine-tune popular language models on custom datasets
- Optimize models for specific tasks like chat, code generation, or domain-specific conversations
- Visualize model parameters and training progress
- Interactive chat interface with fine-tuned models
- Support for a wide range of popular language models
Installation
You can install QuickLLM using pip:
pip install quickllm
Quick Start
Here's a simple example to get you started with QuickLLM:
from quickllm import QuickLLM
# Initialize QuickLLM
llm = QuickLLM(model_name="gpt2", input_file="path/to/your/data.csv", output_dir="path/to/output")
# Fine-tune the model
llm.finetune(objective="chat", epochs=3, learning_rate=2e-5)
# Chat with the fine-tuned model
response = llm.chat("Hello, how are you?")
print(response)
# Visualize the model
llm.visualize()
# Start an interactive chat session
from quickllm.chat import start_chat_interface
start_chat_interface(llm.finetuned_model)
Supported Models
QuickLLM supports a wide range of popular language models. Here's a list of currently available models:
-
GPT Family:
- gpt2
- gpt2-medium
- gpt2-large
- gpt2-xl
-
LLaMA Family:
- llama
- llama2
- llama2-7b
- llama2-13b
- llama2-70b
-
BERT Family:
- bert-base-uncased
- bert-large-uncased
- roberta-base
- roberta-large
-
T5 Family:
- t5-small
- t5-base
- t5-large
-
BART Family:
- facebook/bart-base
- facebook/bart-large
-
GPT-Neo Family:
- EleutherAI/gpt-neo-125M
- EleutherAI/gpt-neo-1.3B
- EleutherAI/gpt-neo-2.7B
-
GPT-J Family:
- EleutherAI/gpt-j-6B
-
OPT Family:
- facebook/opt-125m
- facebook/opt-350m
- facebook/opt-1.3b
-
BLOOM Family:
- bigscience/bloom-560m
- bigscience/bloom-1b1
- bigscience/bloom-1b7
-
Other Models:
- microsoft/DialoGPT-medium
- facebook/blenderbot-400M-distill
You can use any of these models by specifying the model name when initializing QuickLLM. More comming soon
Fine-tuning Objectives
QuickLLM supports different fine-tuning objectives to optimize the model for specific tasks:
chat
: General conversational fine-tuningcode
: Optimize for code generation tasksspecific_chat
: Fine-tune for domain-specific conversations based on your input data
Visualization
QuickLLM provides built-in visualization tools to help you understand your fine-tuned model:
- Model architecture visualization
- Parameter size distribution
- Training loss curves (if available)
Contributing
We welcome contributions to QuickLLM! Please feel free to submit issues, fork the repository and send pull requests!
License
QuickLLM is released under the MIT License. See the LICENSE file for more details.
Contact
If you have any questions, feel free to reach out to me at supersidhant10@gmail.com or open an issue on our GitHub repository.
Happy fine-tuning!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file quickllm-0.1.8.tar.gz
.
File metadata
- Download URL: quickllm-0.1.8.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae3ccf14a4ba3adc968ca786c63c7c6d0990392b67703ea585ae18cf25bcaada |
|
MD5 | 033704ec34139736853943c70c83fabb |
|
BLAKE2b-256 | c6eb267e5962282112c6e7136f565be55c5b07be9a6d6122c80c0a91f1f24e9e |
File details
Details for the file quickllm-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: quickllm-0.1.8-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba8a8beefe905e37decfb4616ab40d0e69c8a888b10b2eb8b90a91d52cfb55e9 |
|
MD5 | fc6e3e917051b47d68d1dca51312f5da |
|
BLAKE2b-256 | 68e173891e162241c47bcab5e8d9f86505565250ad35ce9c94d3400bf03d30d4 |