Giter VIP home page Giter VIP logo

gither-muna / llm-powerhouse-a-curated-guide-for-large-language-models-with-custom-training-and-inferencing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ghimiresunil/llm-powerhouse-a-curated-guide-for-large-language-models-with-custom-training-and-inferencing

0.0 0.0 0.0 4.22 MB

LLM-PowerHouse: Unleash LLMs' potential through curated tutorials, best practices, and ready-to-use code for custom training and inferencing.

License: MIT License

Python 0.99% Jupyter Notebook 99.01%

llm-powerhouse-a-curated-guide-for-large-language-models-with-custom-training-and-inferencing's Introduction

LLM-PowerHouse: A Curated Guide for Large Language Models with Custom Training and Inferencing

Welcome to LLM-PowerHouse, your ultimate resource for unleashing the full potential of Large Language Models (LLMs) with custom training and inferencing. This GitHub repository is a comprehensive and curated guide designed to empower developers, researchers, and enthusiasts to harness the true capabilities of LLMs and build intelligent applications that push the boundaries of natural language understanding.

Table of contents

In-Depth Articles

NLP

Article Resources
LLMs Overview ๐Ÿ”—
NLP Embeddings ๐Ÿ”—
Sampling ๐Ÿ”—
Tokenization ๐Ÿ”—

Models

Article Resources
Generative Pre-trained Transformer (GPT) ๐Ÿ”—

Training

Article Resources
Activation Function ๐Ÿ”—
Fine Tuning Models ๐Ÿ”—
Enhancing Model Compression: Inference and Training Optimization Strategies ๐Ÿ”—
Model Summary ๐Ÿ”—
Splitting Datasets ๐Ÿ”—
Train Loss > Val Loss ๐Ÿ”—
Parameter Efficient Fine-Tuning ๐Ÿ”—
Gradient Descent and Backprop ๐Ÿ”—
Overfitting And Underfitting ๐Ÿ”—
Gradient Accumulation and Checkpointing ๐Ÿ”—

Evaluation Metrics

Article Resources
Classification ๐Ÿ”—
Regression ๐Ÿ”—
Generative Text Models ๐Ÿ”—

Open LLMs

Article Resources
Open Source LLM Space for Commercial Use ๐Ÿ”—
Open Source LLM Space for Research Use ๐Ÿ”—
LLM Training Frameworks ๐Ÿ”—
Effective Deployment Strategies for Language Models ๐Ÿ”—
Tutorials about LLM ๐Ÿ”—
Courses about LLM ๐Ÿ”—

Cost Analysis

Article Resources
Lambda Labs vs AWS Cost Analysis ๐Ÿ”—

Codebase Mastery: Building with Perfection

Title Repository
Instruction based data prepare using OpenAI ๐Ÿ”—
Optimal Fine-Tuning using the Trainer API: From Training to Model Inference ๐Ÿ”—
Efficient Fine-tuning and inference LLMs with PEFT and LoRA ๐Ÿ”—
Efficient Fine-tuning and inference LLMs Accelerate ๐Ÿ”—
Efficient Fine-tuning with T5 ๐Ÿ”—
Train Large Language Models with LoRA and Hugging Face ๐Ÿ”—
Fine-Tune Your Own Llama 2 Model in a Colab Notebook ๐Ÿ”—
Guanaco Chatbot Demo with LLaMA-7B Model ๐Ÿ”—
PEFT Finetune-Bloom-560m-tagger ๐Ÿ”—
Finetune_Meta_OPT-6-1b_Model_bnb_peft ๐Ÿ”—
Finetune Falcon-7b with BNB Self Supervised Training ๐Ÿ”—
FineTune LLaMa2 with QLoRa ๐Ÿ”—
Stable_Vicuna13B_8bit_in_Colab ๐Ÿ”—
GPT-Neo-X-20B-bnb2bit_training ๐Ÿ”—
MPT-Instruct-30B Model Training ๐Ÿ”—
RLHF_Training_for_CustomDataset_for_AnyModel ๐Ÿ”—
Fine_tuning_Microsoft_Phi_1_5b_on_custom_dataset(dialogstudio) ๐Ÿ”—
Finetuning OpenAI GPT3.5 Turbo ๐Ÿ”—
Finetuning Mistral-7b FineTuning Model using Autotrain-advanced ๐Ÿ”—
RAG LangChain Tutorial ๐Ÿ”—
Mistral DPO Trainer ๐Ÿ”—

What I am learning

After immersing myself in the recent GenAI text-based language model hype for nearly a month, I have made several observations about its performance on my specific tasks.

Please note that these observations are subjective and specific to my own experiences, and your conclusions may differ.

  • We need a minimum of 7B parameter models (<7B) for optimal natural language understanding performance. Models with fewer parameters result in a significant decrease in performance. However, using models with more than 7 billion parameters requires a GPU with greater than 24GB VRAM (>24GB).
  • Benchmarks can be tricky as different LLMs perform better or worse depending on the task. It is crucial to find the model that works best for your specific use case. In my experience, MPT-7B is still the superior choice compared to Falcon-7B.
  • Prompts change with each model iteration. Therefore, multiple reworks are necessary to adapt to these changes. While there are potential solutions, their effectiveness is still being evaluated.
  • For fine-tuning, you need at least one GPU with greater than 24GB VRAM (>24GB). A GPU with 32GB or 40GB VRAM is recommended.
  • Fine-tuning only the last few layers to speed up LLM training/finetuning may not yield satisfactory results. I have tried this approach, but it didn't work well.
  • Loading 8-bit or 4-bit models can save VRAM. For a 7B model, instead of requiring 16GB, it takes approximately 10GB or less than 6GB, respectively. However, this reduction in VRAM usage comes at the cost of significantly decreased inference speed. It may also result in lower performance in text understanding tasks.
  • Those who are exploring LLM applications for their companies should be aware of licensing considerations. Training a model with another model as a reference and requiring original weights is not advisable for commercial settings.
  • There are three major types of LLMs: basic (like GPT-2/3), chat-enabled, and instruction-enabled. Most of the time, basic models are not usable as they are and require fine-tuning. Chat versions tend to be the best, but they are often not open-source.
  • Not every problem needs to be solved with LLMs. Avoid forcing a solution around LLMs. Similar to the situation with deep reinforcement learning in the past, it is important to find the most appropriate approach.
  • I have tried but didn't use langchains and vector-dbs. I never needed them. Simple Python, embeddings, and efficient dot product operations worked well for me.
  • LLMs do not need to have complete world knowledge. Humans also don't possess comprehensive knowledge but can adapt. LLMs only need to know how to utilize the available knowledge. It might be possible to create smaller models by separating the knowledge component.
  • The next wave of innovation might involve simulating "thoughts" before answering, rather than simply predicting one word after another. This approach could lead to significant advancements.

Contributing

Contributions are welcome! If you'd like to contribute to this project, feel free to open an issue or submit a pull request.

llm-powerhouse-a-curated-guide-for-large-language-models-with-custom-training-and-inferencing's People

Contributors

ghimiresunil avatar arunism avatar sids07 avatar fusesid avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.