Chapter 5. Model Domain Adaptation for LLM-Based Applications
In the previous chapter, we discussed different architectures for model deployment. In this chapter, we will talk about how to do domain adaptation for your models. Practitioners frequently refer to domain adaptation as “fine-tuning,” but fine-tuning is actually just one of many ways to make a model work well in your domain.
In this chapter, we will look at several model adaptation methods, including prompt engineering, fine-tuning, and retrieval augmented generation (RAG).
We will also look at how to optimize LLMs to run them in resource-constrained environments that require model compression. Finally, we will discuss best practices and scaling laws to show you how to determine how much data your LLMs need to run effectively.
Training LLMs from Scratch
Training LLMs from scratch can be simple or resource intensive, depending on your application. For most applications, it makes sense to use an existing open source LLM or proprietary LLM. On the other hand, there’s no better way to learn how an LLM works than to train one from scratch.
Training an LLM from scratch is a complex, resource-intensive task requiring a comprehensive pipeline that necessitates data preparation, model architecture selection, training configuration, and monitoring. Let’s walk through a structured approach to training an LLM from scratch.
Step 1: Pick a Task
Determine why you’re building this model, the domain it will serve, and the tasks it ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access