Prompt Engineering, RAG, and Fine-tuning: Benefits and When to Use

Поділитися
Вставка
  • Опубліковано 17 жов 2023
  • Explore the difference between Prompt Engineering, Retrieval-augmented Generation (RAG), and Fine-tuning in this detailed overview.
    01:14 Prompt Engineering + RAG
    02:50 How Retrieval Augmented Generation Works - Step-by-step
    06:23 What is fine-tuning?
    08:25 Fine-tuning misconceptions debunked
    09:53 Fine-tuning strategies
    13:25 Putting it all together
    13:44 Final review and comparison of techniques
    Prompt engineering is a powerful tool to steer a large language model's behavior by providing instructions and examples directly in the prompt. RAG, a type of knowledge retrieval, grounds the model's responses to reality by pulling in dynamic and trusted external data sources. Fine tuning trains the model on your own examples to narrow and customize its outputs.
    Each approach has its strengths. Prompt engineering is fast and intuitive, while RAG connects real-time data. Fine-tuning bakes in your style, tone, and formatting. The good news is they can all work together! Use prompt engineering to rapidly prototype, RAG to leverage your knowledge base, and fine-tuning to improve speed, cost, and quality.
    In this video, Mark Hennings explains the unique value of each technique and shows how you can combine them for the best of all worlds. See examples of few-shot learning prompts and how they can be upgraded with fine-tuning datasets. Learn the specific fine-tuning strategies for optimizing cost, speed and quality.
    There's something for everyone here. Whether you have experience with machine learning or just starting out with AI, this video will expand your understanding and give you ideas for improving your generative AI projects.
    Join our next Fine-tuning Masterclass at www.entrypointai.com/masterclass
  • Наука та технологія

КОМЕНТАРІ • 78

  • @XXCDMXX
    @XXCDMXX 5 місяців тому +41

    it's really fresh and accurate that u say "LLMs don't store facts, they just store probabilities". BTW, it's a very excellent video with wonderful backstage and straightforward script and presentation.

  • @steve_wk
    @steve_wk 6 місяців тому +23

    This is a very high quality explanation of the relationships between prompts, RAG and fine tuning. Really well done - thanks for taking the time to make this very clear.

  • @abtix
    @abtix 6 місяців тому +21

    These are some solid information you are providing in this video, I'm actually surprised that this video has such low amount of views. Just know, for those who are seeking information regarding the things you covered, these are very well presented and explained, and I really appreciate that.

  • @JoshVonSchaumburg
    @JoshVonSchaumburg 20 днів тому +1

    I work in technical presales and delivery management. I probably watched 10 UA-cam videos to try to better understand RAG vs. fine tuning (which I'm now calling TAG :)). This was by far the best explanation. I'm sending to all my coworkers!

  • @BorHouse
    @BorHouse 8 днів тому

    Tomorrow I have a presentation on RAG and you are like an angel to me right now 😅

  • @lifechamp007
    @lifechamp007 6 місяців тому +2

    Finally I understood RAG and fine tuning so clearly - Thank you for awesome video !!

  • @jong-keyongkim565
    @jong-keyongkim565 2 місяці тому

    The most efficient and informative content on those terms and their respective usage. 👍

  • @linluxv2275
    @linluxv2275 6 місяців тому +3

    Thank you for explaining the differences between Prompt Engineering ,RAG and Fine-tuning.Your explanation is easy to understand, which is very helpful for those who are new to AI. I will continue to follow your updates!

  • @darrin.jahnel
    @darrin.jahnel Місяць тому +1

    This is one of the best AI videos I've seen (and I've watched hundreds). Great job!

  • @marksaunders8430
    @marksaunders8430 2 місяці тому

    Hands down, the best video I've found for this topic

  • @user-ll6mn8ky8d
    @user-ll6mn8ky8d 4 місяці тому

    This channel will be super useful in coming days

  • @altrubalag
    @altrubalag 6 місяців тому +2

    This is simple and super useful. Remember, putting it in simpler terms is not an easy job. Simplicity is the ultimate sophistication! 👏

  • @Mel-lp4hz
    @Mel-lp4hz 22 дні тому +1

    Very nice and clear explanation, thanks!

  • @neiltaggart1
    @neiltaggart1 Місяць тому

    Very clear & simple - well done!👏

  • @andrewsuttar
    @andrewsuttar 5 місяців тому

    Superb video man! This is exactly the content that fits what I've been aiming to achieve. And I love the RAGTAG acronym 😂👍

  • @scottt9382
    @scottt9382 3 місяці тому +1

    I work in this field - he did an exceptional job here. I would have liked to see FLARE in here an an extension of RAG.

  • @Aspect0529
    @Aspect0529 17 днів тому

    Fantastically done!

  • @Aishakamath
    @Aishakamath 2 місяці тому

    This was really really helpful! Thanks for the video😊

  • @user-ks9sf5hm8j
    @user-ks9sf5hm8j 5 місяців тому

    Awesome explanation man, like perfect, clears all confusion regarding LLM ES in 15 mins. All the very best for Entrypoint AI. Keep rocking.

  • @Franchise-infoCa
    @Franchise-infoCa 5 місяців тому +1

    Very nice explanation. Thanks

  • @robertomeers
    @robertomeers 5 місяців тому +1

    Excelente info. Muy concreta y clara. los ejemplos muy sencillos pero propicios para cada caso.
    RAGTAG team 👍
    Suscrito 🔔

  • @past_life_project
    @past_life_project 4 місяці тому

    Wowzer ! that was brilliant ! Subscribed !

  • @funkyflorion
    @funkyflorion 3 дні тому

    Good summary, thanks!

  • @aldotanca9430
    @aldotanca9430 5 місяців тому +1

    Very clear, thanks!

  • @saraswathisripada
    @saraswathisripada 2 місяці тому

    Very well explained, thank you.

  • @CodersArch
    @CodersArch 5 місяців тому +1

    Thank you for an educational video

  • @SarabjitMadan
    @SarabjitMadan 3 місяці тому

    This was just brilliant. Thanks so much.

  • @jachymdolezal5103
    @jachymdolezal5103 7 місяців тому +2

    Great video thanks!

  • @bernard2735
    @bernard2735 4 місяці тому

    Great explanation, thank you.

  • @hernandosierra8759
    @hernandosierra8759 3 місяці тому

    Excelente. Gracias.

  • @thunken
    @thunken 2 місяці тому

    Nice explanation! I signed up for the masterclass, but, its 4am my time; might be a challenge

  • @coachdennis6139
    @coachdennis6139 7 місяців тому +2

    Nice. Thanks.

  • @windhusky4009
    @windhusky4009 5 місяців тому +1

    This is really good!

  • @tunairaiol
    @tunairaiol 4 місяці тому

    Perfect video, thank you.

  • @RolandoLopezNieto
    @RolandoLopezNieto 2 місяці тому

    Great video sir

  • @Blogservice-Fuerth
    @Blogservice-Fuerth Місяць тому

    Great Content 🙏🏽

  • @martynstrydom9904
    @martynstrydom9904 4 місяці тому

    Brilliant bro -- so good actually

  • @sivavenu5100
    @sivavenu5100 2 місяці тому

    very clear explanation,

  • @dilippalwekar1223
    @dilippalwekar1223 5 місяців тому

    loved it

  • @cprashanthreddy
    @cprashanthreddy 4 місяці тому

    Good video... 😀

  • @italoaguiar
    @italoaguiar 8 днів тому

    Excellent video!! Congrats and thanks! +1 subscriber ;)

  • @bryanbimantaka
    @bryanbimantaka 2 місяці тому

    Thank you! This is what I need for my thesis. You explained it in an easy yet precise way.
    If I may make a request, could you provide a video of designing/building a closed-domain chatbot (using RAG for prompting) and employing a pre-trained LLM like GPT, BERT, or LLAMA? please 😅
    Anyway, subscribed!

    • @EntryPointAI
      @EntryPointAI  2 місяці тому

      Glad you found it helpful! That sounds like a fun topic, I will try to get to it eventually. It might be a while, though :)

  • @brianhauk8136
    @brianhauk8136 3 місяці тому +1

    Thank you so much for your clear and useful explanation of the relationships between prompts, RAG and fine tuning. How affordable is fully-fledged RAG retrieval for a chatbot, say, for a dental office website using GTP-4? And is it likely to be fast enough going through many steps to provide site visitors with quality information before they give up waiting and leave the site? Maybe we need to first provide them with a quick, useful, partial answer while letting them know that additional information will be available in approximately 15 seconds? I'm concerned visitors will abandon the site and that compute costs may be too high for most business owners. Does anyone have experience with this?

    • @EntryPointAI
      @EntryPointAI  3 місяці тому +1

      It depends on how many steps you need to optimize the RAG workflow. Each step adds latency. If you also need to do a quality-check (eg LLM self-review) before responding with the answer, that means you can't stream tokens in real-time, which makes it feel much slower. However, lots of people are doing this for chatbots and the basic retrieval lookup should be pretty blazing fast since it's essentially just a database query.
      For a dental office website, I would not try to build RAG from scratch unless it was a nationwide chain because I think you'd need either a dev team or a really good developer and cost could add up fast. Either way, I'd start with the simplest solution, trying to leverage something that has already been built. Fixie has some cool solutions you could look into for off-the-shelf RAG www.fixie.ai/

    • @brianhauk8136
      @brianhauk8136 3 місяці тому

      ​ @EntryPointAI I didn't know that building RAG from scratch today requires a dev team or really good developer to get specific responses. In your video you say to include required specific information in the prompt so responses stay grounded (in the reality contained in the documents) and true to that. Can fine tuning provide similar, grounded responses, or is our only option to use very long, expensive prompts?
      And is there any reliable approach to getting these specific, accurate responses when querying hundreds or thousands of documents? My understanding is that ChatGPT-4 allows up to only 20 documents, and that most LLMs aren't good at accurately retrieving and using content in the middle of longer context windows and documents. Also, are other methods of training models doing more than using prompt/completion pairs more effective?

    • @EntryPointAI
      @EntryPointAI  3 місяці тому +1

      Fine-tuning can help prevent the model from answering questions that are out of scope for it's task. It can also teach it how to respond to certain inquiries, in a "customer service" type of tone. It depends on the nature of the task and how much domain-specific knowledge is required if fine-tuning can handle it. 99.9% of all model knowledge is learned during pretraining, so if you can quiz the LLM and get back accurate results without RAG then fine-tuning can be sufficient to customize for your use case or task.
      The documents get split into chunks and stored in a database, so they are split and logically separated has a big impact on how well your retrieval works. You can also train a custom embeddings model or experiment with different off-the-shelf embeddings models to try to improve the retrieval results. OpenAI just came out with some new ones.
      I am sure there are other training methods out there but the primary way to train LLMs is with prompt completion pairs. With chat-based models, you can also train on multi-turn chat, but all they are doing under the hood here is inserting special tokens between each chat message and labeling them (ChatML for example is the markup language OpenAI uses).

  • @micbab-vg2mu
    @micbab-vg2mu 6 місяців тому

    nice

  • @trackerprince6773
    @trackerprince6773 6 місяців тому

    Clear and simple 👍. For gpt3.5 turbo fine-tuning do you always need a user role value or does it make sense to sometimes just provide the system and the assistant value? Curious if all you want to fine tune on is tone and style , doesnt it make sense to provide how the ai should respond without the user input words haveing any weight.

    • @EntryPointAI
      @EntryPointAI  6 місяців тому +1

      I haven’t tried this specifically, but it is possible to pass empty prompts (system and user) and teach the model to learn output style given no information. Usually what I do is have a minimal system prompt (longer for smaller training datasets) and then use GPT-4 to generate user inputs from my assistant completions in the way I would want to ultimately use and prompt the model (generally minimalist inputs or in the form of rough notes for a given output). Note that the model isn’t learning much if anything from your input in terms of style and formatting, its just using it for context for what kind of output to generate. Prompt learning rate is usually 0 or a nominal value like 0.01

    • @trackerprince6773
      @trackerprince6773 6 місяців тому

      @@EntryPointAI would def like to test if the style or tone differs. Since my assumption is to some extent the input context should have some effect. But maybe for many use cases having an input(even synthetic generated) may be better. But I was watching another video( ua-cam.com/video/MJm49TAyz5w/v-deo.htmlfeature=shared ) where a podcast transcript was used to train for capturing host tone and style. the creator found the style to be more similar to the host when the sentence spoken from the guest was removed in training.

  • @zebirdman
    @zebirdman 2 місяці тому

    Love this video - thank you! Question: When RAG is used you say it shows up in the context window (i.e., where the user types in the prompt). However, my understanding / experience has been that once the knowledge is provided to the LLM via a vector database, the user can just type the prompt/query and nothing else is needed. Can you provide an example of a user's prompt/query when using RAG?

    • @EntryPointAI
      @EntryPointAI  2 місяці тому

      The knowledge has to be retrieved for each new user inquiry, and inserted into a prompt alongside it each time.

  • @devtest202
    @devtest202 2 місяці тому

    Excellent material, I want to ask you a question, try to train the gpt2 (fine tuning) model for these purposes, do you see it as valid? On the other hand, do you have examples of how you have trained the model? It is very interesting what you say about how with a few examples you can see good results, for example if I want to train him so that he acts like a salesperson and that if he is asked about a certain type of product he always responds with a particular logic. I think it's great in the final part when you say that the great model would be a rag with only variables and the promt is somehow already trained

    • @EntryPointAI
      @EntryPointAI  2 місяці тому

      I haven’t tried GPT 2, I would stick to more recent models for best results. For a sales agent that might be a good one to combine with RAG, to where relevant product info is looked up and inserted into the prompt, and then fine-tuning teaches the model how to “sell” it.

  • @VerdonTrigance
    @VerdonTrigance 2 місяці тому

    Hey! Nice and concise explanation of different technics. But I didn't get one moment. Whenever I want a big LLM to deal better with my specific task which is answering open question about the content of the book (for example Lord of the Rings) and if I want to fine-tune it, should I always provide a structured data in form of question and answer? In case of book it seems like impossible task to prepare such kind of input data. This is what I want to grab from the model, because I don't know it, right? So question is, can a LLM be fine-tuned just by giving a new content to it (like book chapters one by one)?

    • @EntryPointAI
      @EntryPointAI  2 місяці тому

      You can but its not a practical way to teach knowledge. More likely it will learn the writing style but not give it the ability to retrieve specific facts. LLMs learn almost all their knowledge during pretraining.

  • @FernandoOtt
    @FernandoOtt 23 дні тому

    Awesome content Mark. A Question. I need to create an AI psychologist and I need to store college data, but this college data is kind of a guide of what to speak, and not the content itself.
    In that case, what is the best approach, RAG or Fine-tuning?

    • @EntryPointAI
      @EntryPointAI  23 дні тому

      If it’s “how” to deliver the content, most likely fine-tuning.

    • @FernandoOtt
      @FernandoOtt 22 дні тому

      Tks Mark. I still question if fine-tuning works for that cause isn't the "how" for like personality but it is for something like "use the technique X or Y" to continue the interaction. Do you think it is still a fine-tuning approach?

  • @user-js6ed4io9u
    @user-js6ed4io9u 4 місяці тому

    this is really informative and a well organised presentation. could you pls guide me a material or link to now how to implement RAG-TAG? and also i'm wondering what amount of data should we provide for Fine-tuning in case of RAG-TAG?

    • @EntryPointAI
      @EntryPointAI  4 місяці тому +2

      I don't have a more detailed guide to implement RAGTAG, but I will take this as a request to prepare one 🤙 If you can prepare 24-48 high quality and diverse examples, that's enough to see benefits from fine-tuning. See this paper: arxiv.org/abs/2305.11206
      Video on "How much data do you need for fine-tuning?" coming soon!

    • @user-js6ed4io9u
      @user-js6ed4io9u 4 місяці тому

      cool 👍thanks alot🙏🙏@@EntryPointAI

  • @PopeCap
    @PopeCap 5 місяців тому

    I love the idea of TAG, but had a question. I'm not quite sure what you mean by taking all the examples out of the prompt and into a data set. Don't they still land in the prompt? Your graphic at 12:00 implies they're in a DB somewhere, but then isn't this just RAG again?

    • @EntryPointAI
      @EntryPointAI  5 місяців тому

      Thanks for your question! The database icons might be misleading there. The intent on that slide is to show a training dataset that is used to fine-tune a model on examples of the task.

    • @PopeCap
      @PopeCap 5 місяців тому

      Ahh ok - so that goes into a separate model that's separate from an LLM?@@EntryPointAI

  • @trackerprince6773
    @trackerprince6773 6 місяців тому +1

    Whats the diff between custom gpts & fine-tuning gpt?

    • @EntryPointAI
      @EntryPointAI  6 місяців тому +2

      Custom GPTs do not re-train the underlying model in any way, they use prompt engineering and RAG if you upload documents.

  • @lpalbou
    @lpalbou 5 місяців тому

    are you using the apple vision to record yourself ?

    • @EntryPointAI
      @EntryPointAI  5 місяців тому

      Nope, Canon R6 Mk II

    • @lpalbou
      @lpalbou 5 місяців тому

      @@EntryPointAI ok, i was asking as it seems there are some heavy post processing.. but could be the results of something else. Cheers

  • @gehdochnicht
    @gehdochnicht 4 місяці тому

    Those eyes though 😍

  • @tanveeriqbal6680
    @tanveeriqbal6680 2 місяці тому

    Very clear explanation in its simple form, thanks @entrypointai

  • @Jas.in-bx3eg
    @Jas.in-bx3eg 25 днів тому

    Uncanny, avatar moderator.

  • @FunnyVideos-ni4iu
    @FunnyVideos-ni4iu 2 місяці тому

    very helpful! thanks