What are Small language Models?
Tags: machinelearning, llm, slm
Published: 2024-03-02 12:46:54


The emergence of Large Language models like GPT, Claude, and more have proved to be a transformative step in the field of AI and have completely revolutionized and made ML models much more powerful in nature in general and have definitely played a significant role in transforming the AI ecosystem causing everybody in the ecosystem to make dynamic changes to adapt to this new powerful architecture.

However, the deployment of these models especially when they have their parameters in billons is very complex and proves to be quite a challenging task. LLMs in general demand a high amount of compute and energy along with significant requirements of memory capacity.

These requirements can render LLM applications to be quite impractical for small-scale use cases and can often not be used as effectively by individuals or companies who possess only a limited amount of processing power or in environments where energy is expensive or scarce to acquire in general.

In response to these limitations, the Small Language Models have now shown up.

## Introduction

Small Language models are models that are designed to be much more compact and efficient than LLMs addressing the need for AI solutions that are viable in resource-constrained environments. 

Small language Models or SLM's represent an intriguing subsegment of this LLM ecosystem space as a whole. Why? This is because unlike their larger counterparts, GPT-4 and Lllama 2 which boast billions of parameters and sometimes even trillions, these models tend to operate on a smaller parameter scale of thousands to a few millions.

This relatively smaller size makes these models more efficient and they demand lower amounts of computing making lesser-sized language models accessible, and feasible and will act like a boon for organizations or researchers who might not have the resources to handle the more substantial amount of computational load that LLMs demand in general.

## How can these models perform or outperform in comparison to LLMs?

Now, for the people in this space, you may be wondering how exactly these models can perform as well as LLM Models considering how there is an AI arms race or a competition among companies and researchers and organizations as well to continue increasing the amount of parameters and the context window of these LLM Models as in general, the higher both of these are the better the models tend to perform in general leading to higher accurate responses. However, there are several reasons why SLMs can also do the job. 

SLMs in general are trained with different techniques like transfer learning allowing these smaller models to be able to make use of the pre-existing knowledge thus making them more malleable in nature and also efficient for some specific tasks. This is done through the process of a knowledge transfer from a very large LLM Model into them to perform specific tasks in an optimal manner and this leads to a reduction in the amount of computing and storage resources required to train these models as compared to LLMs in general.

LLMs tend to be more general in nature and will often not be specific to your use case and often it has been noticed that LLMs do not work that well for very specific use cases due to the large amounts of data they have been trained on often leading to superficial and also hallucinated answers on domain-specific questions and this is where SLMs when trained with only the domain knowledge, tend to shine and overpower these Large Language Models. For example, a healthcare-specific Small Language Model could potentially overpower a general-purpose LLM in understanding medical terminology and making accurate diagnoses as it is quite specifically trained keeping in mind the use case while removing all of the excess data that is not useful.


## Motivations for Small Language Models

**Efficiency:** SLMs are computationally more efficient than large models like GPT-3. They are faster in inference speed, require less memory and storage space, and can be trained with smaller datasets. These efficiency advantages lead to cost savings.

**Customizability:** SLMs are highly customizable. They can be adapted to more narrow domains and specialized applications through pretraining, fine-tuning, prompt-based learning, and architecture modifications. These customization processes are increasingly arduous for large models.

## SLMs vs Fine Tuning LLMs, What should you choose?

A lot of you guys may be wondering when an SLM should be deployed and used instead of fine-tuning an already powerful LLM Model based on your specific use case. Now, this will depend on several factors including the nature of your use case, the availability of data, resource constraints and the desired level of customization and control over the model.

**1. When to choose SLMs -**

**1.1 Specific Use Case**  : If your use case is very specific and cannot be adequately addressed by general-purpose models, SLMs are a better fit. They are designed to be tailored for specific tasks and datasets, making them more efficient and cost-effective for specialized applications.

**1.2 Fast Time to Value** : These models are often much faster due to their smaller size and offer a quicker path to training and deployment of a model as well during the SDLC.
   
**1.3 Ownership and Security** : These Models are in full control of you because the data they are trained on is often proprietary and specific to your use case ensuring that there are no data leaks. This is a big requirement for organizations that follow a security-first approach and often have compliance in place.
   
**2. When to choose Fine-tuning -**

   **2.1 General Purpose:**  If you are looking for a model that can handle a wide range of tasks with high performance, fine-tuning an LLM might be the better option. LLMs are trained on vast datasets and can perform a wide array of tasks, making them suitable for general-purpose applications.
   
   **2.2 Fine-Tuning Advantages:** Fine-Tuning lets you adapt a pre-trained model for your specific needs by training it on your domain-specific data. This can result in a model that excels at your specific task without the need to develop a model from scratch [an SLM for example].
   
   **2.3 Ease of Use:** For those who are not resource-constrained, fine-tuning an LLM can be a straightforward way to leverage existing models without the need for extensive data science expertise or infrastructure.
   
   
**3. Decision Factors:**

**3.1 Data Availability** : The availability and quality of your data will influence your choice. 	If you have a large, high-quality dataset, fine-tuning an LLM might be feasible. However, if your data is small or very specialized, SLMs might be a better choice.
	
**3.2 Resource Constraints** : Consider the computational resources and time required for training and deploying models. SLMs generally require less computational power and time, making them more accessible for smaller teams or organizations.

**3.3 Control and Customization** : If having full control over the model and its data is crucial for your use case, SLMs offer the advantage of being fully owned and deployed within your infrastructure.

In summary, if your use case is highly specialized, you need fast deployment, or you have strict data privacy and security requirements, SLMs might be the best choice. On the other hand, if you are looking for a general-purpose model with the capability to perform a wide range of tasks, or if you have the resources and time to fine-tune an LLM, then fine-tuning an LLM could be the better option.

## Differences between LLMs and SLMs

There are several differences between LLMs and SLMs, which are - 

**1. Efficiency:** SLMs prove to be much more efficient than LLMs which means that they can run much faster and cheaper while consuming less energy and carbon footprint and provide accurate results which are reasonable.

**2. Size:** These models have a smaller amount of parameters than LLMs often being 1/10th their size making them computationally much more inefficient to train as compared to LLMs.

**3. Data:** These models are in general trained on small subsets of data depending on the use case, unlike large language models which are trained on a ton of diverse data. SLMs can also reduce bias and noise leading to better accuracy.

**4. Performance:** While LLM Models can reason much better because of their context window and parameters, SLMs prove to be one of the best for specific requirements.

**5. Customization:** SLMs are much more customizable. Through the process of training them on specific or the required amount of data, these models can give you well-tailored and specific outputs on your data without a lot of hallucination making them far more accurate and the ease of changing the source data to improve their accuracy is also very easy to achieve in this case as compared to LLMs.

**6. Security:** SLMs have smaller codebases and parameters than LLMs making them less complex and this minimizes potential attacks from malicious actors. This is a big plus point considering how SLMs are used quite a bit mainly to train for enterprise use cases which often have classified data.

**7. High Transparency:** LLMs are still said to be black boxes because it becomes tricky to see how exactly they infer and understand your request and give you an accurate response while in the case of SLMs, the model being catered to your specific needs is a lot more transparent and it enables better understanding and auditing of the model's inference and decision-making processes which can make the process of mitigating security risks due to their smaller sizes much easier.

**8. High Privacy:** Due to their smaller size, these models tend to give you an advantage of your training data from not being able to enter into the outside world and these models will often give you enough control of the data they have been trained on. This approach also helps protect the training data preventing any security breaches or a breach in the privacy of the company's data.

## Choosing Between SLMs and LLMs

**The choice between SLMs and LLMs depends on several factors:**

**Task Requirements:** The complexity and specific needs of the task at hand. SLMs may suffice for generating short text snippets, while LLMs are better suited for more complex tasks requiring deeper understanding and context.

**Available Resources:** The computational power, memory, and budget constraints. SLMs are preferable if resources are limited due to their efficiency and lower cost.
Domain Specificity: If the task is highly domain-specific, fine-tuning a small language model for that domain can yield better results than a large, generic model

## Applications of SLMs

**1. Enhancing Q & A Within Organizations:** Since SLMs can be trained on company-specific data, they can often be utilized to create tutorials or also answer questions about any of the company's sophisticated products or processes which they have for new employees and existing employees as well making them much more productive and efficient in nature. Consider them to be like your own personal chatbot for helping your employees navigate through the company's complex processes and products.

**2. Customer Service Automation:** These models can prove to be very good at automating customer service requests from customers provided they are trained on the company's data making them solid at resolving customer queries at a very rapid pace. This frees up the human representatives to answer very specific questions that the model has no context of or if the customer has a much bigger request than a simple question.

**3. Tailored Marketing Campaigns:** SLMs can be used for tailored marketing campaigns for your company like company-specific email campaigns and product recommendations empowering businesses to streamline their sales and marketing outreach tactics.

## Case Study of Microsoft Phi-2 Model and its benchmarks

Now, we will be analyzing how exactly Microsoft's small language model which is trained on 2.7 billion parameters was able to match or even surpass the capabilities of LLMs.

The model showcases remarkable performance on various benchmarks, even surpassing the capabilities of larger models. This model is part of a suite of small language models (SLMs) developed by Microsoft Research, following the success of Phi-1 and Phi-1.5, which demonstrated state-of-the-art performance on specific tasks like Python coding and common sense reasoning.

**1. Key Features and Capabilities:**

**1.1 Transformer-based Model:** Phi-2 is based on the Transformer architecture, utilizing a next-word prediction objective for training. This architecture is known for its effectiveness in natural language processing tasks.

**1.2 Training Data:** It was trained on 1.4 trillion tokens from a mixture of synthetic and web datasets, focusing on NLP and coding. This dataset includes "textbook-quality" data, synthetic textbooks, and exercises generated with GPT-3.5, aiming to enhance the model's robustness and competence across various domains.

**1.3 Performance:** Despite its smaller size, Phi-2 matches or outperforms models up to 25x larger on complex benchmarks. It surpasses the performance of Mistral and Llama-2 models at 7B and 13B parameters on various aggregated benchmarks. Notably, it achieves better performance compared to the 25x larger Llama-2-70B model on multi-step reasoning tasks, such as coding and math.

**1.4 Evaluation and Benchmarks:** Phi-2's performance has been evaluated across several academic benchmarks, including commonsense reasoning, language understanding, math, and coding. It has shown superior performance compared to other models like Mistral and Llama-2, and even matches or exceeds the performance of Google's Gemini Nano 2, despite being smaller in size.

**2. Advantages over Large Language Models (LLMs):**

**2.1 Cost-Effectiveness:** Training Phi-2 is more straightforward and cost-effective than training larger models like GPT-4, which reportedly takes around 90-100 days to train using tens of thousands of A100 Tensor Core GPUs.

**2.2 Versatility:** Beyond language processing, Phi-2 can solve complex mathematical equations and physics problems, identify errors in student calculations, and even be prompted in a QA format, chat format, and code format, demonstrating its versatility in various applications.

**2.3 Safety and Bias:** Despite not undergoing reinforcement learning from human feedback (RLHF) or fine-tuning, Phi-2 exhibits improved behavior concerning toxicity and bias compared to existing open-source models that went through alignment. This is attributed to Microsoft's tailored data curation techniques.

**3. Limitations**

The Model for now at least generates verbose responses and may also produce responses which are irrelevant to the question posed often giving answers that have text in it that are irrelevant to the user's request the model is currently trained only in English and it has limited capabilities when asked questions in other languages and is not able to understand them as effectively.

## Conclusion

To conclude, SLMs as compared to LLMs due to their efficiency and their ability to work on very specific data making them very catered to the particular use case of the individual or the company have made them a popular tool for companies to apply for any form of support systems which companies have and due to the ability of these models to act like an internal knowledge base has also helped employees gain information about the internal processes of their companies in a much faster pace. LLMs being more general tend to not work out for a lot of very specific use cases and that's where SLMs can 100% shine and outperform them with lower memory requirements.

Finally, SLMs and LLMs serve different purposes and have distinct advantages and limitations. The choice between them should be based on the specific requirements of the task, the available resources, and the desired level of performance and generalization.