Skip to main content

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:

  1. GPT Family:

    • gpt2
    • gpt2-medium
    • gpt2-large
    • gpt2-xl
  2. LLaMA Family:

    • llama
    • llama2
    • llama2-7b
    • llama2-13b
    • llama2-70b
  3. BERT Family:

    • bert-base-uncased
    • bert-large-uncased
    • roberta-base
    • roberta-large
  4. T5 Family:

    • t5-small
    • t5-base
    • t5-large
  5. BART Family:

    • facebook/bart-base
    • facebook/bart-large
  6. GPT-Neo Family:

    • EleutherAI/gpt-neo-125M
    • EleutherAI/gpt-neo-1.3B
    • EleutherAI/gpt-neo-2.7B
  7. GPT-J Family:

    • EleutherAI/gpt-j-6B
  8. OPT Family:

    • facebook/opt-125m
    • facebook/opt-350m
    • facebook/opt-1.3b
  9. BLOOM Family:

    • bigscience/bloom-560m
    • bigscience/bloom-1b1
    • bigscience/bloom-1b7
  10. 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-tuning
  • code: Optimize for code generation tasks
  • specific_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quickllm-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

quickllm-0.1.0-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file quickllm-0.1.0.tar.gz.

File metadata

  • Download URL: quickllm-0.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for quickllm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 22124335f4762fbc99f8b2a5ceb8c7e5c610f6298a44439f34d77462fc55d0d5
MD5 d298435a5fda72b7bc6947ca8acc2055
BLAKE2b-256 d2ffc927e51a40b7efe5834c8042af17f87f95e74e28444fefb4bc955a5f2d0a

See more details on using hashes here.

File details

Details for the file quickllm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: quickllm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for quickllm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7bc093a5df8c78218e3c8f04fb8286df8b0adb8617084737f483270eeb96ed97
MD5 b3cc62cca436d47384f14c1f04b278ab
BLAKE2b-256 fd14623d90d5982090e20db01b9f8ecd5297e539b7b57b6b5fe4b34e0e31d53d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page